From 48b8fc16e0e08d22b66e7c26bfd00299c46cf733 Mon Sep 17 00:00:00 2001 From: remi durand Date: Wed, 23 Jun 2021 17:43:23 +0200 Subject: [PATCH] fix missing gapfill supermerill/SuperSlicer#1351 --- src/libslic3r/PerimeterGenerator.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index d8974e153..33e675082 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -930,10 +930,8 @@ void PerimeterGenerator::process() min = std::max(min, double(Flow::new_from_spacing(EPSILON, (float)nozzle_diameter, (float)this->layer->height, false).scaled_width())); double max = 2.2 * perimeter_spacing; //remove areas that are too big (shouldn't occur...) - ExPolygons gaps_ex_to_test = diff_ex( - gaps, - offset2_ex(gaps, double(-max / 2), double(+max / 2)), - true); + ExPolygons too_big = offset2_ex(gaps, double(-max / 2), double(+max / 2)); + ExPolygons gaps_ex_to_test = too_big.empty()? gaps : diff_ex(gaps,too_big,true); ExPolygons gaps_ex; const double minarea = scale_(scale_(this->config->gap_fill_min_area.get_abs_value(unscaled((double)perimeter_width)*unscaled((double)perimeter_width)))); // check each gapfill area to see if it's printable.