Commit Graph

22 Commits

Author SHA1 Message Date
Vojtech Bubnik
ef90d1b109 Fixed update of slicing back-end with MMU-painted objects after change
of a printer from MMU to non-MMU (when number of extruders changes).
Also slightly optimized in case a MMU-painted object is sliced in
single extruder mode.
2021-08-20 16:19:00 +02:00
Vojtech Bubnik
3cce6652dd Fix of Some FDM supports fail to generate due to wrongly-translated enforcer polygons. #6739
Thanks @n8bot for finding the bug.
Also removed some dead code in MM segmentation.
2021-08-10 09:41:28 +02:00
Lukáš Hejl
71cd429e70 XY size compensation is ignored when the object is also painted using the multi-material painting gizmo. A user is also notified about it. 2021-08-03 13:03:06 +02:00
Vojtech Bubnik
69ffe12fd2 Renamed create_face_neighbors_index() to its_face_edge_ids().
Renamed its_create_neighbors_index() / its_create_neighbors_index_par() to its_face_neighbors() / its_face_neighbors_par().
New variant of its_face_edge_ids() to create edge IDs from face neighbors.
Fixed some incorrect use of _NDEBUG, it should be NDEBUG.
PrintObject::slice_support_volumes() returns newly Polygons, which are cheaper than ExPolygons.
Updated SeamPlacer and SupportMaterial to use regions defined as Polygons, not ExPolygons.
TriangleSelector::get_facets_strict() returning a patch with T-joints retriangulated.
New slice_mesh_slabs() - slicing projections of a triangle patch into top / bottom layers of slices, for MMU top / bottom segmentation.
TriangleMeshSlicer - use 64 mutexes instead of one when scattering sliced triangles into layers. This makes a big difference on modern many core desktop computers.
When applying MM segmented regions to input regions, the split regions are now re-merged with 10x higher positive offset epsilon to avoid creating gaps.
When testing for existence of paint-on supports or seam, use a more efficient has_facets() test, which does not deserialize into the expensive TriangleSelector tree structure.
GLIndexedVertexArray newly uses Eigen::AlignedBox<float, 3> for efficiency instead of our double based BoundingBoxf3.
Improved MMU painting refresh speed by optimizing generation of the vertex buffers.
Refactored MMU segmentation - projection of painted surfaces from top / bottom.
	1) Parallelized.
	2) Using the new slice_mesh_slabs() instead of projecting one triangle by the other and merging them with Clipper.
2021-06-20 15:21:12 +02:00
Vojtech Bubnik
da95f2a753 New parameter "Slicing Mode" for supporting 3DLabPrint airplane models.
S3D's strategy for merging self intersecting models is "Even / Odd"
which PrusaSlicer now supports as an alternative to "Positive" rule.
Also added a "Close Holes" option to fill in all internal structures.
3D-Labprint Models aren't sliceable (till years) #3062 #3708
2021-06-01 11:10:12 +02:00
Vojtech Bubnik
1c4684abb4 Fixed some compiler warnings 2021-05-31 14:48:26 +02:00
Lukáš Hejl
0ea67565d6 Cleaned up of 0a6490bab9 2021-05-28 17:36:56 +02:00
Vojtech Bubnik
f2e0cd1557 Bugfixes after PrintRegion refactoring. 2021-05-28 15:14:34 +02:00
Lukáš Hejl
1005c0d28a Added missing includes (GCC 9.3) 2021-05-27 16:47:31 +02:00
Vojtech Bubnik
03d7686d8d Refactored the ModelVolume bounding box to Eigen::AlignedBox<float>,
separated splitting of LayerRegions by MMU segmentation to its own
function.
2021-05-27 16:12:34 +02:00
Vojtech Bubnik
a9dd568efc WIP: Integration of MMU painting into the slicing back-end. 2021-05-27 14:29:51 +02:00
Vojtech Bubnik
08935fb858 WIP PrintRegion refactoring: Another round of bug fixing, negative volumes
seem to work.
2021-05-26 12:41:06 +02:00
Vojtech Bubnik
4e275f0472 Fixed another compiler warning 2021-05-25 21:17:07 +02:00
Vojtech Bubnik
8ac1d7f263 Fixing some compiler warnings 2021-05-25 20:46:31 +02:00
Vojtech Bubnik
5fe95a9065 Fixing another clang complaint 2021-05-25 20:03:05 +02:00
Vojtech Bubnik
cb95849b4d Fixing an OSX clang quirk. 2021-05-25 19:27:20 +02:00
Vojtech Bubnik
f422b85d01 WIP: Rework of PrintRegions, bunch of bug fixes. 2021-05-25 18:12:38 +02:00
Vojtech Bubnik
4790bc039c Two more bugs squished. 2021-05-24 18:07:12 +02:00
Vojtech Bubnik
9803df6576 WIP PrintRegion refactoring: Squashed some bugs. 2021-05-24 16:55:34 +02:00
Vojtech Bubnik
7c8caa0a09 WIP: PrintRegion refactoring, it finally compiles!
Config/PrintConfig refactoring to support operator< for StaticPrintConfig
derived containers.
2021-05-24 14:10:04 +02:00
Vojtech Bubnik
5ba44d3128 WIP: Refactoring of PrintRegions. It nearly compiles! 2021-05-21 17:57:37 +02:00
Vojtech Bubnik
11e02fcd44 WIP: Refactoring of PrintRegions 2021-05-19 09:38:51 +02:00