Commit Graph
100 Commits
Author SHA1 Message Date
Lukas Matena b30a6d5883 Unify Delete/Backspace behaviour in gizmos with the rest of slicer. Also,
backspace on macOS in SLA gizmo now deletes points and not the whole object,
which was quite unexpected.
2021-05-31 11:50:00 +02:00
Lukas Matena 0d721bfb07 Slightly reworded 'missing layers' warning, to reflect that it is no longer considered an error 2021-05-31 11:16:28 +02:00
Lukas Matena 3cb8232e81 Merge branch 'lm_libglu_eradication_rebased' 2021-05-28 16:44:45 +02:00
Lukas Matena 8c560522a3 Fixed rendering of gizmo grabbers 2021-05-28 16:44:13 +02:00
Lukas Matena 2e24e689fa Grabbers and support points appearence tweaking, some refactoring 2021-05-28 16:44:13 +02:00
Lukas Matena 846afdf7f3 Removed last GLU call, removed libGLU from CMakeLists 2021-05-28 16:44:13 +02:00
Lukas Matena fd024eadcd Removed gluProject and gluUnProject calls 2021-05-28 16:44:13 +02:00
Lukas Matena 97b7ef7dc0 Removed GLU calls from all the gizmos 2021-05-28 16:44:13 +02:00
Lukas Matena 429eda5666 Merge branch 'lm_clocales' 2021-05-24 12:24:29 +02:00
Lukas Matena afca744d37 Fixed a bug when reverting to an old value with comma-separated doubles 2021-05-24 12:23:44 +02:00
Lukas Matena 4960b125c5 Fixed incorrect locales handling in the UI (Field, ObjectManipulation, etc) 2021-05-24 12:23:39 +02:00
Lukas Matena c05b8210f2 Fixed several locales issues on file import/export 2021-05-24 12:22:00 +02:00
Lukas Matena 4a7f078527 Fixed debug build 2021-05-24 12:20:29 +02:00
Lukas Matena 6b6b086948 Fixed tests and windows build 2021-05-24 12:20:29 +02:00
Lukas Matena c5c6f51ae0 Fixed third batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena fef385cd6b Fixed second batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena 9ee2fc8275 Fixed first batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena 5a1441f9b7 Created a RAII class to switch LC_NUMERIC to "C" and back 2021-05-24 12:20:29 +02:00
Lukas Matena 707ce9d3d4 Added a missing include (gcc) 2021-05-12 17:04:36 +02:00
Lukas Matena 95f5b82d6a Improved MM priming lines placement on circular beds (#6459) 2021-04-30 13:11:33 +02:00
Lukas Matena da702ab135 Fixed a memory leak when repairing an external stl 2021-04-26 20:45:43 +02:00
Lukas Matena 978b359492 Fix normal direction when exporting STL (#6406)
The export function does not depend on Model/ModelObject::mesh() family of functions,
changing them might break the already too brittle code.
2021-04-26 19:58:08 +02:00
Lukas Matena 5783cc62fb Wipe tower priming lines are placed at origin with custom bed shapes
Custom shapes were previously detected as circular and the lines were placed off the bed
2021-04-26 09:21:18 +02:00
Lukas Matena bf1fc7d436 Info in ObjectList: Added variable layer height 2021-04-20 15:07:05 +02:00
Lukas Matena e48bc7a5e8 Info in ObjectList: Settings should be above the new info items, info items are selectable 2021-04-20 15:07:05 +02:00
Lukas Matena 61528cbdc8 Show info about custom supports and seam in ObjectList
Slight refactoring in GLGizmosManager so it is easier to open a gizmo from the ObjectList
2021-04-20 15:07:05 +02:00
Lukas Matena ffe036df1f Merge branch 'lm_info_in_object_list' 2021-04-19 16:11:58 +02:00
Lukas Matena dfe926ef63 Info in ObjectList: Added variable layer height 2021-04-19 16:10:40 +02:00
Lukas Matena df3fb31268 Info in ObjectList: Settings should be above the new info items, info items are selectable 2021-04-19 16:10:40 +02:00
Lukas Matena 548ceb7acc Show info about custom supports and seam in ObjectList
Slight refactoring in GLGizmosManager so it is easier to open a gizmo from the ObjectList
2021-04-19 16:10:40 +02:00
Lukas Matena 8845b0245a Fixed build against wxWidgets 3.0 2021-04-14 07:05:12 +02:00
Lukas Matena e1619e2ff1 Fixed a typo in an error message (--sw_renderer -> --sw-renderer) 2021-04-12 09:15:28 +02:00
Lukas Matena 2418b3dbeb Merge branch 'lm_marlin_split' (#1089, #1234) 2021-04-06 15:46:02 +02:00
Lukas Matena 9660d35f8c An attempt to fix time estimates for 'Marlin (legacy)' flavor
Old M204 S sets both printing and travel accelerations, which must be
accounted for now when the latter was separated.
2021-04-06 15:45:49 +02:00
Lukas Matena 8c89bf748b Implemented new acceleration control behaviour for the new Marlin firmware flavor:
- show extra travel acceleration settings in 'Machine limits' page in Printer Settings
    when the new firmware flavor is selected

- updated tooltips on the config values (they were basically wrong even in the current version)

- 'Marlin (legacy)' firmware flavor behaviour should not change: it exports M204 Pa Rb Ta
    (where a, b are the values from machine limits) at the beginning of gcode and it uses
    M204 S... for feature type dependent acceleration settings (legacy variant of M204 P.. T..)

- new Marlin Firmware exports M204 Pa Rb Tc (where a,b,c are the values from machine limits).
    Feature type dependent acceleration is set using M204 P..., not overriding the travel acceleration.
2021-04-06 15:45:49 +02:00
Lukas Matena f0e9ad46ec Renamed the gcfMarlin enum value to gcfMarlinLegacy so we never mistake it for the new one
There should be no functional change.
2021-04-06 15:45:49 +02:00
Lukas Matena 151a76ee92 Duplicated Marlin firmware flavor to 'Marlin (legacy)' and 'Marlin Firmware'
The two flavors should be identical after this commit, except that GCodeProcessor.cpp was not updated. This shall be done in a later step.
2021-04-06 15:45:49 +02:00
Lukas Matena 7fb9610d3a Merge branch 'lm_wipe_tower_improvements' 2021-04-06 15:45:36 +02:00
Lukas Matena 58a811a638 Wipe tower: correctly detect first layer even with 'No sparse layers' option enabled 2021-04-06 15:37:39 +02:00
Lukas Matena 43d9e38325 Wipe tower: reorder extruders so first layer starts with soluble if possible
That way it will not be wiped on first layer
2021-04-06 15:37:39 +02:00
Lukas Matena 5d636ab853 Wipe tower: respect first_layer_speed 2021-04-06 15:37:39 +02:00
Lukas Matena 3459231111 Wipe tower: set travel feedrate for a move from custom toolchange position to the wipe tower (#5483) 2021-04-05 23:39:27 +02:00
Lukas Matena 67bc2e472f Wipe tower: fix wipe moves after recent changes 2021-04-05 23:39:27 +02:00
Lukas Matena a6ddab856b Wipe tower: refactoring of brim and solid infill on first layer 2021-04-05 23:39:27 +02:00
Lukas Matena f6de946dd7 Wipe tower: don't use soluble filament for perimeters, sparse infill or first layer 2021-04-05 23:39:27 +02:00
Lukas Matena 3ed68ac28a Wipe tower: slightly changed finish_layer logic so it can be called after any toolchange 2021-04-05 23:39:27 +02:00
Lukas Matena cc7ef40e20 Wipe tower: remove unfinished square wipe tower option 2021-04-05 23:39:27 +02:00
Lukas Matena 97c4c02001 Wipe tower: don't do sparse infill when there is a soluble filament above it 2021-04-05 23:39:27 +02:00
Lukas Matena 7007bf665c Added a missing include for gcc 2021-03-30 23:04:42 +02:00
Lukas Matena cafa5b26a8 Compilation fixes 2021-03-23 12:40:29 +01:00
Lukas Matena fc7762e465 Added a missing include (Linux) 2021-03-16 07:25:31 +01:00
Lukas Matena c18ad5f9d6 Added a missing include (gcc)
Removed several includes, hopefully they're not needed on any other platform.
2021-03-12 11:31:05 +01:00
Lukas Matena 1efa9a06f6 Adjustable wipe tower brim 2021-03-05 16:41:02 +01:00
Lukas Matena c25c435d52 Added a new placeholder for custom toolchange gcode (toolchange_z)
This always contains the actual print_z of the toolchange, while layer_z contains the print_z
of the print. The two differ in case that wipe tower without sparse layers is used.

Related to #3834.
2021-03-05 13:58:45 +01:00
Lukas Matena c8fdd837ae Added a missing include for gcc 2021-03-05 11:27:25 +01:00
Lukas Matena 70573484c2 Show an error notification when attempting to save 3MF while editing SLA support points
The notification disappears when it is no longer valid.
2021-03-04 09:35:41 +01:00
Lukas Matena abd5a9a46e Add a notification when custom support enforcers are not used due to supports being off
It is now emitted from Print::validate and has a hyperlink to enable supports
2021-03-04 09:35:22 +01:00
Lukas Matena 92a2951b23 Fix build caused by missing returns 2021-03-02 08:17:27 +01:00
Lukas Matena 3f1299c9b7 Fix build against wxWidgets older than 3.1.1 2021-03-01 10:03:49 +01:00
Lukas Matena b10d064a24 Added an empty category icon for Fuzzy Skin to prevent crashes in ObjectList
The icon should later be replaced by a proper one.
2021-02-26 16:08:51 +01:00
Lukas Matena 19cfeb1a78 Fix of a crash when using active_step_add_warning on PrintObjects
PrintObjectBase::status_update_warnings called PrintBase::status_update_warnings, which in turn set
SlicingStatus flag to UPDATE_PRINT_STEP_WARNINGS (instead of UPDATE_PRINT_OBEJCT_STEP_WARNINGS) and
saved its own ObjectID. This led to spurious and hard to read thread-unsafe crashes.
2021-02-26 10:07:11 +01:00
Lukas Matena 3fd36f08e0 Show a notification when attempting to slice during SLA support points editing
This should also fix #5736 and a similar crash when deleting an object during manual editing (which was introduced between 2.2.0 and 2.3.0)
2021-02-22 16:26:16 +01:00
Lukas Matena 1904b7b904 Bugfix: custom seam did not work for triangles that were exactly vertical
The projection algorithm was originally made for custom supports, so vertical triangles
were not interesting. They are for seam. Instead of rewriting the algorithm and risking
more bugs, the edge case is detected and the triangle is tilted slightly.
2021-02-22 16:26:16 +01:00
Lukas Matena bd2cbea202 Fix aligned seam when sequential printing is enabled 2021-02-22 16:26:16 +01:00
Lukas Matena 2cb3754af4 Fixed a typo in TriangleSelector.cpp (probably not causing any bug, just a warning) 2021-02-11 07:32:22 +01:00
Lukas Matena 8fbafbea87 Merge branch 'lm_warnings': Fixes lots of Clang warnings 2021-02-08 18:04:36 +01:00
Lukas Matena a7728634f0 Clang: silence -Wdeprecated-declarations for now
RPi: hopefully silence a warning
2021-02-08 17:52:29 +01:00
Lukas Matena 1834ebe981 Fixing Clang warnings 3 2021-02-08 17:52:29 +01:00
Lukas Matena b85de89751 Fixing Clang warnings 2 2021-02-08 17:52:29 +01:00
Lukas Matena 0ff0444dcc Fixing Clang warnings 1 2021-02-08 17:52:29 +01:00
Lukas Matena cd1322ce3f FDM supports gizmo 'autoset by angle' improvements:
- Extra dialog for autosetting by angle in FDM supports gizmo was removed
- Highlighting facets by angle is now controlled by a slider in the main gizmo dialog
- User is allowed to paint even when using the slope highlighter
- The button to turn highlighted facets to blockers was removed, it made no sense
- Highlighted facets are now rendered in light blue
2021-02-08 17:49:36 +01:00
Lukas Matena d001195ebd Restoring custom supports/seams after reload from disk
Until now, the custom data were lost.
2021-02-08 09:51:49 +01:00
Lukas Matena f3c4888291 Added a missing include 2021-02-08 08:13:22 +01:00
Lukas Matena 53539a5993 Added a missing include 2021-02-08 08:10:14 +01:00
Lukas Matena dc4bdad84a Fixed some more GCC warnings 2021-01-29 15:17:03 +01:00
Lukas Matena df634a715d Merge branch 'lm_warnings_gcc' 2021-01-29 11:07:47 +01:00
Lukas Matena d9c9de8eee Fixing GCC warnings 3 2021-01-29 10:47:02 +01:00
Lukas Matena 2d32c80b75 Fixing GCC warnings 2 2021-01-29 10:46:52 +01:00
Lukas Matena b5280fbed9 Fixing GCC warnings 1 2021-01-29 10:46:33 +01:00
Lukas Matena a5dc3c4b66 Bugfix: CLI slicer should slice in FDM mode when no printer_technology is provided.
This was broken between 2.2.0 and 2.3.0 (1bffc2b) and changed the CLI behaviour.
Also related to 5029.
2021-01-19 10:29:35 +01:00
Lukas Matena aa19870c54 Updated doc/Localization_guide.md 2021-01-15 11:53:42 +01:00
Lukas Matena e733565031 Fix of #5632 (painter gizmos not working correctly with scaled objects)
This was broken since 8bcdbb7.
2021-01-05 17:06:05 +01:00
Lukas Matena 30c8592b10 Do not use ironing extrusions for autospeed calculations (#5082) 2021-01-04 14:21:24 +01:00
Lukas Matena 837070a246 Hotfix of a crash with raft and one-layer object (#5652)
The problem is that PrintObject support generator is only run when m_layers.size() > 1, so one-layer object will skip it.
It apparently never worked, after recent refactoring (probably 8bfc986) it started to crash in GCode generator.
This commit fixes the crash, but not the problem. The raft is still not generated (like in all versions since 2.0.0 at least).
2021-01-04 14:21:24 +01:00
Lukas Matena 6cf47f3e61 Use monospace font in placeholder parser error messages (Linux fix)
Previous implementation did not use monospace font on Linux. According to a note
from @wavexx in ba7f39a: "wxSYS_ANSI_FIXED_FONT use the same as DEFAULT in wxGtk".
This commit uses the same workaround by actually loading the font from GUI_App.
2021-01-04 14:21:24 +01:00
Lukas Matena 1d25630508 Fix of #5606 (Force invalidation when object settings are deleted) 2021-01-04 14:21:24 +01:00
Lukas Matena 6c2ce4b6b6 Escape special xml characters when writing metadata into the model file
This should fix #5577
2021-01-04 14:21:24 +01:00
Lukas Matena d2b45c282e Bumped up version number to 2.3.0-rc2 2020-12-22 17:26:55 +01:00
Lukas Matena 78a3d8b63e Fixed ASCII folding for non-foldable non-ASCII characters
Problem: Add an object, name it using cyrilic, Slice, click Export: the proposed name is mangled. Affects all platforms, 2.2.0 was fine.

Cause: It is mangled during ASCII folding, which was broken with 28c0880 when it was generalized to be used from the fuzzy matcher.
    fold_to_ascii(wchar_t c, char *out) relies on narrowing char = wchar_t assignment, the old one used std::back_insert_iterator<std::wstring>.
    It is thus unable to leave a character alone even when it should (it should, right?).

Solution:
    1. Typed the fold_to_ascii function so it works on wchar_t only, which should mimic the old behaviour.
    2. Changed the respective call in fts_fuzzy_match.h. That function also works with wide char C-strings.

Cleanup:
    1. Removed the unused fold_utf8_to_ascii(const char *src) overload to avoid code duplication.
    2. Untemplated the fold_to_ascii(wchar_t c, std::back_insert_iterator<std::wstring>& out) function, it was never called with a different type.
    3. The function is now static in ASCIIFolding.cpp, nobody else needs to know.
2020-12-21 10:31:37 +01:00
Lukas Matena 1f5ac7d2f7 Fix of a crash on startup when creating physical printer profiles from 2.2 configs (#5513, #5074)
The issue is that opening the wxMessageDialog in GUI_App::check_printer_presets  fires wxEVT_IDLE event (on Linux at least).
At that point it is already bound to our lambda which will in turn call post_init prematurely.
The solution is to move the Bind at the very end of the initialization. The post_init that it calls assumes that init has been finished anyway.
2020-12-21 10:27:35 +01:00
Lukas Matena b0115dca60 Fixed encoding issue in ConfigWizard on Windows (#5422) 2020-12-18 15:35:30 +01:00
Lukas Matena 1cbe2bd87e Added a missing translation macro 2020-12-18 13:04:28 +01:00
Lukas Matena 8f3baeb1c9 Fix of #5410 (Ironing untick/tick bug)
This is a follow-up of commit b1b7a5a which fixed several similar bugs
2020-12-18 12:44:24 +01:00
Lukas Matena 5bd1a57650 Bumped up version number to 2.3.0-rc1 2020-12-17 18:07:35 +01:00
Lukas Matena aa69730bc2 Revert recent changes in PresetUpdater error reporting
This reverts commits:
57ba953 ("PresetUpdater - exceptions reformatted, not throwing an exception")
03028bb ("Improved exception throwing at copy file in preset updater")
2020-12-17 16:08:51 +01:00
Lukas Matena 6e3b4b6fd8 Random seam: optimization and fix of a possible infinite loop 2020-12-17 15:48:25 +01:00
Lukas Matena 20aa8d65bf Fix through Netfabb notification - remove 'undo' hypertext for now and
refuse to fix when a gizmo is opened (because of missing updates)
This is a follow-up of 1249fdb
2020-12-16 17:33:55 +01:00
Lukas Matena acb7d66577 Linux locales detection: reject unexpected formatting 2020-12-14 22:59:11 +01:00
Lukas Matena 1249fdb71d Remove custom supports/seams after mesh repair
The repair can remove some of the triangles, so the custom data would make no sense.
This will hopefully fix #5458

Also, show a notification with a hyperlink to undo just before the repair.
2020-12-14 22:59:02 +01:00
Lukas Matena 5553762d9c Do not remove custom supports/seams when converting units to imperial 2020-12-14 20:27:19 +01:00