diff --git a/src/libslic3r/ClipperUtils.cpp b/src/libslic3r/ClipperUtils.cpp index cc91ce050..431c4ed0f 100644 --- a/src/libslic3r/ClipperUtils.cpp +++ b/src/libslic3r/ClipperUtils.cpp @@ -598,6 +598,10 @@ ClipperLib::PolyTree _clipper_do_pl(const ClipperLib::ClipType clipType, const P // read input ClipperLib::Paths input_subject = Slic3rMultiPoints_to_ClipperPaths(subject); ClipperLib::Paths input_clip = Slic3rMultiPoints_to_ClipperPaths(clip); + + // perform safety offset (before scaling because it scale & unscale) + if (safety_offset_) safety_offset(&input_clip); + //scale to have some more precision to do some Y-bugfix scaleClipperPolygons(input_subject); scaleClipperPolygons(input_clip); @@ -614,9 +618,6 @@ ClipperLib::PolyTree _clipper_do_pl(const ClipperLib::ClipType clipType, const P lasty = pt.Y; } } - - // perform safety offset - if (safety_offset_) safety_offset(&input_clip); // init Clipper ClipperLib::Clipper clipper;