Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVojtech Bubnik <bubnikv@gmail.com>2021-10-28 16:07:29 +0300
committerVojtech Bubnik <bubnikv@gmail.com>2021-10-28 16:07:29 +0300
commitb6c4e94d815dcb772be265134bf1e57e7beef6bd (patch)
treee0270095ca1ca11fac3e76021260a1c58f6b2b25 /src/libslic3r/PrintObject.cpp
parent93e91bcacb5c079198f186cbc78a3a781586f280 (diff)
Fixing projection of bottom surfaces in MM segmentation and for
support blockers / enforcers. All slicing functions shall produce consistent results with the same mesh, same transformation matrix and slicing parameters. Namely, slice_mesh_slabs() shall produce consistent results with slice_mesh() and slice_mesh_ex() in the sense, that projections made by slice_mesh_slabs() shall fall onto slicing planes produced by slice_mesh(). Before this commit, slice_mesh_slabs() projected bottom facing faces upwards to its coplanar slicing plane, which is different from how slice_mesh() or slice_mesh_ex() work, leading to ignored support enforcer / blocker strokes.
Diffstat (limited to 'src/libslic3r/PrintObject.cpp')
-rw-r--r--src/libslic3r/PrintObject.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp
index cd973ac9d..eee0c2aba 100644
--- a/src/libslic3r/PrintObject.cpp
+++ b/src/libslic3r/PrintObject.cpp
@@ -2284,6 +2284,7 @@ void PrintObject::project_and_append_custom_facets(
seam, out);
else {
std::vector<Polygons> projected;
+ // Support blockers or enforcers. Project downward facing painted areas upwards to their respective slicing plane.
slice_mesh_slabs(custom_facets, zs_from_layers(this->layers()), this->trafo_centered() * mv->get_matrix(), nullptr, &projected, [](){});
// Merge these projections with the output, layer by layer.
assert(! projected.empty());