Commit Graph

8562 Commits

Author SHA1 Message Date
8c865adbc0 PrintRegion refactoring: Getting rid of the Print pointer. 2021-05-05 14:17:36 +02:00
9314856372 Fixing unit tests. 2021-05-05 13:19:01 +02:00
f5fe1c04ee Project dirty state manager -> Fixed crash when loading/saving a 3mf file 2021-05-05 13:17:20 +02:00
e9aaea38eb Fix of safety_offset() after ClipperUtils refactoring.
Fixes Solid infill where there should be none #6482
Also the safety offsetting was revised to be enabled only where needed,
the "do safety offset" is now easy to discover by
a new ApplySafetyOffset::Yes enum, and safety offset over union, which
is better done by offset() / offset_ex() has been replaced with
new union_safety_offset() / union_safety_offset_ex() functions, which
better convey their meaning and which could be better optimized than
union() with the safety offset applied.
2021-05-05 12:16:47 +02:00
f9f99662a8 Tech ENABLE_ALLOW_NEGATIVE_Z-> Synchronize sinking instances 2021-05-05 11:53:24 +02:00
bd08251cf5 Tech ENABLE_ALLOW_NEGATIVE_Z-> Added button in object manipulator to drop to bed a sinking object 2021-05-05 09:15:33 +02:00
a192525c2d Fixed alignment of sparse infill over multiple layers of the same region,
which was broken with 68666de521b1cb15e41ac6728c0e8d3b4b0d4ed0
"Reworked the "new" bridging to respect the bridge_flow_ratio
by maintaining extrusion spacing, but modifying the extrusion width
and / or height."
2021-05-04 18:27:53 +02:00
6d0adedc4c Fixing compilation on clang in debug mode. 2021-05-04 16:13:40 +02:00
f073fbf2f9 Implemented generic mechanism for executing tasks on UI thread synchronously
from the background slicing thread, that supports cancellation.
The generic mechanism is used for generating thumbnails into G-code and
Fixes Fix deadlock when canceling the slicing while gcode is creating thumbnails #6476
Thanks @supermerill for pointing out the issue.
2021-05-04 16:07:32 +02:00
04ea32e884 Tech ENABLE_ALLOW_NEGATIVE_Z-> Keep sinking objects and instances as sinking after copy/paste or add instance commands 2021-05-04 14:48:30 +02:00
2ca2b8d4bd ObjectList: Fixed update of the selection, when some gizmo in 3D-Scene is activated 2021-05-04 14:20:19 +02:00
1552641824 Follow-up of 15c32d636d -> Small refactoring 2021-05-04 13:31:07 +02:00
0b01436982 Seams detection for gcode saved with other slicers 2021-05-04 12:45:51 +02:00
ada8b8dd8c Fixed compilation with GCC 2021-05-04 11:22:38 +02:00
c8e2824a99 Fixing thread-safe StaticConfig creations #6477
fix un-threadsafe code for creating config enum hashtable. #6475
2021-05-04 11:03:26 +02:00
a935389c1b 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
0d7eada5dc 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
94364508d1 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
53f6d451ff Fixed compiler warnings 2021-05-03 21:50:40 +02:00
60a1eecd6e Fixed possible warnings 2021-05-03 21:13:13 +02:00
00b369c54c 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
0f7bbd626e Parallelization of regions merging for MMU segmentation. 2021-05-03 21:01:52 +02:00
ea73c79293 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
ff250f5d36 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
a138446ed2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_project_dirty_state 2021-05-03 16:05:22 +02:00
cfe4c11d89 Tech ENABLE_ALLOW_NEGATIVE_Z -> Keep sinking objects as sinking after reload from disk 2021-05-03 16:02:06 +02:00
eafaa7accf Tech ENABLE_ALLOW_NEGATIVE_Z-> Fixed build on non-Windows OS 2021-05-03 15:47:16 +02:00
ac4c3080e4 One more fix after merge. 2021-05-03 15:30:10 +02:00
7d9cca600c Fixing after merge. 2021-05-03 15:28:03 +02:00
c1ab2bcbd9 Merge branch 'vb_clipper_optimization' 2021-05-03 15:24:04 +02:00
187adc6dfa Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2021-05-03 15:23:57 +02:00
bd85c499ac Fixing compiler warnings 2021-05-03 15:00:23 +02:00
a6d2fc1331 Tech ENABLE_ALLOW_NEGATIVE_Z-> Layers height editing related fixes 2021-05-03 14:28:55 +02:00
65ceff0883 Another fix for C++ conformant compilers 2021-05-03 11:55:23 +02:00
7954641779 Fixing compilation on C++ conforming compilers 2021-05-03 11:50:05 +02:00
f191b4611d Further rework of ClipperUtils: Replaced many to_polygons() /
to_expolygons() calls with templated ClipperUtils variants to avoid
memory allocation and copying.
2021-05-03 11:39:53 +02:00
8e4b0ac6fd Added missing include (GCC 11.1) 2021-05-01 22:33:59 +02:00
ac7b40d695 Fixed a bug with selection from the 3D-scene when ObjectSettings item is selected in ObjectList
Steps to repro:
1. Add 2 objects, add Settings for some of object -> Object Settings item is selected
2. In the 3D-scene select another object -> BUG: no changes in the ObjectList
2021-04-30 16:56:18 +02:00
a9009b3218 OSX specific: Fixed scale of the frequently settings, when extra display is connected 2021-04-30 16:49:13 +02:00
547fef9c58 Fixed build on Windows. 2021-04-30 15:40:27 +02:00
cf78d2a9dc Rework of MMU segmentation gizmo to support more than three colors. 2021-04-30 15:58:25 +02:00
868c1ecd41 Fixed conflicts after merge with master 2021-04-30 14:54:58 +02:00
2e4b7c2c07 Improved MM priming lines placement on circular beds (#6459) 2021-04-30 13:11:33 +02:00
96a7a52715 Clipper optimization:
1) Removed the already commented-out scaling / unscaling when doing
   "safe offsetting"
2) Removed some of the "safe offsetting" at calls where it never was used.
3) Reworked Clipper & ClipperUtils to pass Polygons / ExPolygons / Surfaces
   as input parameters without conversion to ClipperLib::Paths. This
   should save a lot of memory allocation and copying.
4) Reworked conversions from ClipperLib::Paths & PolyTree to Polygons /
   ExPolygons to use the move operator to avoid many unnecessary allocations.
5) Reworked some "union with safe ofsetting" to "offset_ex", which should
   be cheaper.
2021-04-30 11:49:57 +02:00
849d7f2460 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_gcode_detection 2021-04-29 11:07:47 +02:00
c901b60aa4 Layer::make_perimeters() - when merging regions, use OffsetEx instead
of safety offset of UnionEx, which may not be robust.
2021-04-29 11:05:11 +02:00
0f36a792a7 Fixed missing ending cap for toolpaths having a single segment 2021-04-29 09:09:49 +02:00
681737a3d6 Follow-up of 2c6472ebc3 -> Ensure backward compatibility 2021-04-28 16:06:49 +02:00
0ffa875093 Tech ENABLE_ALLOW_NEGATIVE_Z->Keep as sinking objects saved in project files 2021-04-28 16:02:51 +02:00
bd70aebfee Changed order of rendering of sidebar hints to avoid artifacts due to depth buffer cleanup made by gizmo renderers 2021-04-28 13:58:16 +02:00