From f05444dc94bc325a4eef1ec1dafc33e1331caec9 Mon Sep 17 00:00:00 2001 From: Valerii Bokhan <80919135+valerii-bokhan@users.noreply.github.com> Date: Fri, 21 Aug 2026 15:50:58 +0200 Subject: [PATCH] Fix unstable contours from triangulated planar faces (redone) (#15316) --- src/libslic3r/TriangleMeshSlicer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/libslic3r/TriangleMeshSlicer.cpp b/src/libslic3r/TriangleMeshSlicer.cpp index 2c1c0da23f..c403a6bd92 100644 --- a/src/libslic3r/TriangleMeshSlicer.cpp +++ b/src/libslic3r/TriangleMeshSlicer.cpp @@ -1499,6 +1499,13 @@ static std::vector make_loops( Polygons &polygons = layers[line_idx]; polygons = make_loops(lines[line_idx]); + // Orca: A planar quad represented by two triangles contributes a point where the + // slicing plane crosses the shared diagonal. After rounding to coord_t this + // point may be very slightly off the otherwise straight contour edge. Apart + // from being redundant, such points make the subsequent contour + // simplification depend on the slice height (and may move seam candidates). + remove_collinear(polygons); + auto this_mode = line_idx < params.slicing_mode_normal_below_layer ? params.mode_below : params.mode; if (! polygons.empty()) { if (this_mode == MeshSlicingParams::SlicingMode::Positive) {