Commit Graph

7563 Commits

Author SHA1 Message Date
46a14abbaa Added default object color in MMU segmentation according to the default extruder color for printing the object. 2021-05-04 08:13:04 +02:00
781e6607c8 Fixed updating of extruders list in MMU segmentation gizmo after adding extruders and reloading 3MF with different extruder count and colors. 2021-05-04 07:59:16 +02:00
71c60a5187 Follow-up of 168b4afbc2: Replaced forgotten lslices in the top and bottom layer propagation in MMU segmentation. 2021-05-03 22:11:04 +02:00
cd5fea8b42 Fixed compiler warnings 2021-05-03 21:50:40 +02:00
2d3eef4e84 Fixed possible warnings 2021-05-03 21:13:13 +02:00
fa8c319721 Fixed MMU segmentation for cases when a contour was whole colored by one color and a hole was whole colored by a different color. 2021-05-03 21:06:46 +02:00
5bfdaa7ac8 Parallelization of regions merging for MMU segmentation. 2021-05-03 21:01:52 +02:00
2e9f0d6eaf Fixed a few cases of missing colored segments in MMU segmentation.
Occasionally, some input polygons contained self-intersections that caused problems with Voronoi diagrams and consequently with the extraction of colored segments by function extract_colored_segments.
Also, occasionally input polygons contained several points very close together (distance between points is 1 or so). Such close points sometimes caused that the Voronoi diagram has self-intersecting edges around these vertices. This consequently leads to issues with the extraction of colored segments by function extract_colored_segments.
2021-05-03 20:56:39 +02:00
168b4afbc2 Fixed MMU segmentation for multi-volume objects.
MMU segmentation no longer works directly on lslices, instead of it works on custom merged regions. So lslices in PrintObject are no longer overwritten because of MMU segmentation.
All regions are scaled by SCALED_EPSILON before merging and shrunk back by SCALED_EPSILON after merging. That fixed issues with multi-volume objects when very close regions weren't merged.
Also, small expolygons and holes are filtered out that fixed missing segmentation at the boundary of two volumes in the case of multi-volume objects.
2021-05-03 20:37:14 +02:00
0a8a3f6d8c Fixed build on Windows. 2021-04-30 15:40:27 +02:00
d11d15aa1e Rework of MMU segmentation gizmo to support more than three colors. 2021-04-30 15:58:25 +02:00
576c5b78e9 Added seed fill for MMU segmentation 2021-04-27 06:48:09 +02:00
be1b4ce18c Fixed compiler warnings 2021-04-27 00:41:20 +02:00
8a19cf9d64 Extended support of MMU segmentation backed for more than three colors.
Serialization and deserialization in TriangleSelector were extended to support up to 16 materials (3 unused states left for possible later extension). These changes also affect the encoding of data from custom supports and seams, but it is backward compatible with the previous encoding. And for custom supports and seams, it is produced exactly the same data encoding as before.
2021-04-27 00:37:49 +02:00
db55bd706e Fixed case in MMU segmentation when the infinity-edge in the Voronoi diagram has vertex0(), and vertex1() equals nullptr. 2021-04-27 00:36:22 +02:00
1b144e80bd Added hiding of MMU segmentation gizmo when it is selected printer with only one extruder. 2021-04-27 00:35:43 +02:00
38bb7d2950 1) New methods PrintObject::num_regions() and ::has_region() to make
the code more readable and to highlight where PrintObject::region_volumes
   are actually set and consumed.
2) Replaced Slic3r::clamp() with std::clamp(). They differ in the order
   of their parameters, thus hopefully no new bugs were introduced.
3) Some refactoring of MultiMaterialSegmentation for efficiency.
2021-04-22 11:41:26 +02:00
4f950343c8 MMU segmentation refactoring: Most of the MMU segmentation code
was extracted to its own file.
2021-04-20 15:07:05 +02:00
bf1fc7d436 Info in ObjectList: Added variable layer height 2021-04-20 15:07:05 +02:00
e48bc7a5e8 Info in ObjectList: Settings should be above the new info items, info items are selectable 2021-04-20 15:07:05 +02:00
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
40d9e51b5e WIP: Added support for top and bottom layers for MMU segmentation. 2021-04-19 19:21:06 +02:00
368b48b0a0 WIP: Allows regions of MMU segmentation to be trimmed by chosen width. 2021-04-19 07:12:42 +02:00
f49ceb1e0f WIP: MMU segmentation without top and bottom layers 2021-04-19 07:04:50 +02:00
e3c33844d5 WIP: Duplicated the FDM support gizmo for the MMU segmentation 2021-04-19 07:01:11 +02:00
4da8de5f49 Removed mutable members from class GLToolbar 2021-04-16 15:49:37 +02:00
4c464b35f9 Removed mutable members from class Selection 2021-04-16 15:25:03 +02:00
a393df59d7 Further refactoring into struct Camera 2021-04-16 14:05:55 +02:00
074a44833e Removed mutable members from struct Camera 2021-04-16 13:44:01 +02:00
dabac92755 Fixed flickering of 3D scene GUI when the scene's bounding box gets very big 2021-04-16 12:49:57 +02:00
66f6c8c786 Fixed conversion to utf8 of strings entered using Custom G-code dialog 2021-04-16 09:48:22 +02:00
48a93e40fb After issuing the color change custom G-code, which is most likely
just M600, reset the internal retract counter, so that a retract
will happen after the firmware returns from M600 to the initial position.

Fixes "Blobs on print after manual color change #6362"
2021-04-15 16:29:30 +02:00
eb428d48fc Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-04-15 13:48:29 +02:00
d5ddf8b00e RemovableManager on OSX: Testing for dictionary values for nullness.
Hopefully it fixes Can not start slicer on mac Bigsur #5719
2021-04-15 13:48:20 +02:00
64ec319017 Fix for arrange crash when geometry has zero length segments
fixes #5749
2021-04-15 13:23:35 +02:00
1e69e6def1 Follow-up of 526233ca47 -> Take in account original instances scale factor 2021-04-15 08:41:20 +02:00
526233ca47 Modified version of automatic downscale on load of objects too big 2021-04-14 14:46:49 +02:00
0625788583 Fixed obvious bug in move operator, discovered by clang lint ran by Tamas. 2021-04-14 14:25:30 +02:00
8845b0245a Fixed build against wxWidgets 3.0 2021-04-14 07:05:12 +02:00
29cd8aac26 WIP: Fix of arrangement after reducing ClipperLib::cInt
from int64_t to int32_t
2021-04-13 16:35:46 +02:00
c1179fc2c7 Marked the unsafe ClipperUtils offset functions with CLIPPERUTILS_UNSAFE_OFFSET
Replaced some of the unsafe offset functions with safe variants.
Please test the
1) print bed from STL function
2) concentric infill
2021-04-13 13:28:37 +02:00
e8643125d8 Clipper / ClipperUtils:
1) Let Clipper use int32_t for representing its coordinates. This
   reduces memory and allows to skip conversion between Slic3r Polygon
   and Clipper polygon.
2) Disable additional offset before executing the Clipper Offset algorithm.
   We don't see any reason for that and it required 64bit Clipper coordinates,
   which were disabled with 1).
2021-04-13 11:31:54 +02:00
dbd1c09523 FDM snug supports: New parameter "closing radius", inspired by Cura's
support_join_distance
2021-04-12 14:56:36 +02:00
e1619e2ff1 Fixed a typo in an error message (--sw_renderer -> --sw-renderer) 2021-04-12 09:15:28 +02:00
558deca789 Configs should point to PrusaSlicer-alpha, not beta in alpha stage. 2021-04-09 08:11:40 +02:00
ef6ce8792d Fix of brim under supports 2021-04-08 16:36:52 +02:00
8fd731f7a0 New FDM support sparse infill zig-zag algorithm.
Fixed some old support and infill issues.

Fixes support problem #4295
Fixes Parts of interface layer extends beyond supports and cannot be printed
Fixes support missing under horizontal overhang #6058
Fixes Slicer double-traces small sections of Rectilinear Supports, causes
Fixes plastic buildup and nozzle crashes #4951
Fixes Add "Angle Interface layers" #2969
2021-04-08 15:29:40 +02:00
08ca5b29f0 Fix slow cancellation of rasterization step
fixes #6253
2021-04-08 14:36:37 +02:00
e8af080346 Merge remote-tracking branch 'origin/tm_sl1_import_fix' 2021-04-07 13:56:14 +02:00
9b47fb512e Remove right click menu item for "optimize orientation" 2021-04-07 12:51:02 +02:00