24469 Commits

Author SHA1 Message Date
enricoturri1966
f6027deca9 SPE-1814: Fixed legend not automatically switching to color print view when color change is set in layer height bar for mmu printers 2024-02-09 11:09:49 +01:00
enricoturri1966
542397140a SPE-1813: Do not force object to stay on top of bed when scaling a single volume from an instance 2024-02-09 11:08:44 +01:00
Lukas Matena
11f61037a4 Merge branch 'lm_invalid_3mf_crash_SPE-2135' into master_27x 2024-02-08 16:23:00 +01:00
Filip Sykala - NTB T15p
ee87330859 Add check on existing exactly one .model file in 3mf 2024-02-08 16:22:45 +01:00
Lukas Matena
83a98d43bf Fixed crash when loading invalid 3MFs (SPE-2135)
The crash was introduced in 040a846, which completely threw away handling of the return value
of the importer.load_model_from_file function and replaced it with weaker condition. The purpose
of that change was to solve #8401 (missing error message when loading different invalid 3MF).

This commit reverts that change (and reintroduces #8401). Handling of 3MF loading errors
should be inside the importer.load_model_from_file function, where the check should be
added later.
2024-02-08 16:22:45 +01:00
Lukáš Hejl
054e932d34 Merge branch 'lh_voronoi_refactoring' into master_27x 2024-02-08 15:41:02 +01:00
Lukáš Hejl
76435e7add SPE-1840: Rework multi-material segmentation to work directly on the Voronoi diagram without creating a copy of it.
Previous algorithms assume that they can get an invalid Voronoi diagram. Because of that, during the multi-material segmentation, a copy of the Voronoi diagram was created, and there were several attempts to fix missing vertices and edges. But as it shows, this wasn't a good enough approach and sometimes led to several issues like bleeding layers.

After generalization, our approach for detection and repairs of invalid Voronoi diagrams from Arachne, we could assume that multi-material segmentation gets non-invalid Voronoi diagrams.
With this assumption, we reimplement multi-materials segmentation to work directly on the Voronoi diagram. That should make multi-material segmentation more stable.

So, this should fix several issues like bleeding layers. Also, memory consumption should decrease by a lot. Also, there should be some speedup of multi-materials segmentation.
2024-02-08 15:40:20 +01:00
Lukáš Hejl
24a497e445 Make the VoronoiUtils::compute_segment_cell_range() function to take a constant reference to VoronoiDiagram::cell_type instead of a mutable reference. 2024-02-08 15:40:20 +01:00
Lukáš Hejl
8784ca0ecf SPE-1729: Try to compute the Voronoi diagram again on modified ExPolygon when an invalid Voronoi diagram is produced during the calculation of the medial axis.
There are several ExPolygons with very thin lines and holes formed by very close (1-5nm) vertices that are on the edge of our resolution. Those thin lines and holes are both unprintable and cause the Voronoi diagram to be invalid.
So, we filtered out such thin lines and holes and tried to compute the Voronoi diagram again.
2024-02-08 15:40:20 +01:00
Lukáš Hejl
a358f13de2 Generalize fixing of invalid Voronoi diagram by rotating back and forth.
Now, this fixing operation can be applied to any Voronoi diagram constructed from segments.
2024-02-08 15:40:02 +01:00
Lukáš Hejl
227e82a6ba Generalize all detection on invalid Voronoi diagrams to not depend on Arachne data structures.
Also, all detections are moved from SkeletalTrapezoidation.cpp to Voronoi class.
2024-02-08 15:40:02 +01:00
Lukáš Hejl
78108e647c Generalize VoronoiUtilsCgal to not depend on Arachne data structures. 2024-02-08 15:40:02 +01:00
Lukáš Hejl
ac33876796 Generalize all functions in VoronoiUtils to not depend on Arachne data structures.
Also, move VoronoiUtils from Arachne namespace to Geometry namespace.
2024-02-08 15:40:02 +01:00
Lukáš Hejl
23b7c41857 Move ColoredLine struct and related boost traits into the header file of MultiMaterialSegmentation. 2024-02-08 15:40:02 +01:00
Lukáš Hejl
fb84f3113a Introduce wrapper class around boost::polygon::voronoi_diagram. 2024-02-08 15:40:02 +01:00
Lukáš Hejl
4b6a6379fc Refactoring of VoronoiUtils::discretizeParabola() to remove PointMatrix. 2024-02-08 15:40:02 +01:00
Lukáš Hejl
5f37d422f0 Switch orientation of passed into Voronoi generator, because previously were opposite.
So previously, SOURCE_CATEGORY_SEGMENT_START_POINT and SOURCE_CATEGORY_SEGMENT_END_POINT were swapped.
2024-02-08 15:40:02 +01:00
rtyr
530f3b93d2
Sync with PrusaSlicer-settings. 2024-02-08 14:36:21 +01:00
rtyr
0773b5c766
Resources for X3 and X4 2024-02-08 14:35:25 +01:00
Lukas Matena
3ef556f43c Fix of missing invalidation on object name change (#8059, #12193, SPE-2139) 2024-02-08 09:27:27 +01:00
Filip Sykala - NTB T15p
8dc1d70d85 Fix SPE-2129
https://github.com/prusa3d/PrusaSlicer/issues/12157

(cherry picked from commit 309ec8c5fbcc0754f165b51e39e7c291da13ab77)
2024-02-07 14:27:23 +01:00
Martin Šach
f64aea6499 Fix: Cap speed by max_volumetric_speed even for dynamic overhangs. 2024-02-07 10:12:43 +01:00
YuSanka
78f4a6febb Fix for #11991 - Filament selections do not appear on custom printer
(SPE-2094)
2024-02-07 10:00:36 +01:00
Lukas Matena
69808c3b12 Fixed arrange which put the wipe tower slightly out of bed (#11367, #11410, SPE-1966) 2024-02-07 09:59:41 +01:00
Lukas Matena
7fa632f8ef Merge branch 'lm_wipe_tower_weight' into master_27x 2024-02-07 09:59:24 +01:00
Lukas Matena
601d61ca86 Fixed placeholders extruded_volume and similar: wipe tower was not included 2024-02-07 09:55:37 +01:00
Lukas Matena
642535eecb Added const Print backpointer into GCodeGenerator 2024-02-07 09:55:37 +01:00
Lukas Matena
e4030321f7 Calculate wipe tower filament consumption per layer 2024-02-07 09:55:37 +01:00
rtyr
c3ab2a2f22
Sync with PrusaSlicer-settings. Added MK3.5. 2024-02-06 15:21:42 +01:00
rtyr
89dd19b223
MK3.5 resources 2024-02-06 15:19:34 +01:00
Lukáš Hejl
ad61f74e3f Merge branch 'lh_m600' into master_27x 2024-02-06 11:27:04 +01:00
Lukáš Hejl
8ce089c6ff SPE-2098: Pick a required extruder before a color change for multi-extruder printers.
When we need to perform a color change on an extruder that isn’t used within the layer, we perform a tool change to select the correct extruder. Then, we perform the color change, and finally, we perform another tool change to switch back to the original extruder.
2024-02-06 11:23:09 +01:00
Lukáš Hejl
1071645967 Separate color change handing from emit_custom_color_change_gcode_per_print_z() into emit_custom_color_change_gcode_per_print_z(). 2024-02-06 11:23:09 +01:00
Lukáš Hejl
145fb92e07 SPE-2098: Emit M600 instead of M601 for multi-tool printers. 2024-02-06 11:23:09 +01:00
Lukáš Hejl
ff3612840c SPE-2098: Pass color_change_extruder also into Color Change G-code.
Some minor refactoring of ProcessLayer::emit_custom_gcode_per_print_z();
2024-02-06 11:23:09 +01:00
Lukáš Hejl
a85a0a8191 SPE-2098: Show color_change_extruder in Custom G-code editor. 2024-02-06 11:23:09 +01:00
YuSanka
91323230e6 Merge branch 'ys_sla_overrides' into master_27x 2024-02-05 17:00:08 +01:00
YuSanka
a3bb0265b0 Check of compatibilities for support_head_penetration<->support_head_width and
support_head_front_diameter<->support_pillar_diameter is moved to sla_print.validation()
2024-02-05 16:59:09 +01:00
tamasmeszaros
78995013be Fixing all-enabled sla overwrites after loading older output archive 2024-02-05 16:59:09 +01:00
tamasmeszaros
d51eab637f Prevent crash when importing config bundle 2024-02-05 16:59:09 +01:00
tamasmeszaros
ae23ae4320 Fix crash when switching printer profile
while having "support point density" overridden
2024-02-05 16:59:09 +01:00
tamasmeszaros
9f21ffb8b4 Fix unregistered pinhead diameter for branching supports 2024-02-05 16:59:09 +01:00
tamasmeszaros
7380f3f1ec Fix unregistered relative correction override 2024-02-05 16:59:09 +01:00
tamasmeszaros
76439c2ba7 Fix crash when switching printer profile 2024-02-05 16:59:09 +01:00
tamasmeszaros
3160b00d5a Fixed crash when checking an integer nullable param on a config tab 2024-02-05 16:59:09 +01:00
YuSanka
e8214901d4 SLA overrides: Fixed preset update, when config is loaded from old PS
+ Config.cpp: Fixed comparison of nil values
2024-02-05 16:59:09 +01:00
tamasmeszaros
91e67e2e16 Fixing float nullable config vals and sla override apply func 2024-02-05 16:59:09 +01:00
tamasmeszaros
7143190779 Making progress with eliminating exceptions
+ Fixed : SpinCtrl for nullable int still does not work
2024-02-05 16:59:08 +01:00
YuSanka
ef3493d7ea WIP: SLA material overrides (UI part) 2024-02-05 16:59:08 +01:00
tamasmeszaros
94fd937dbb WIP on sla overwrites 2024-02-05 16:59:08 +01:00