From 053ec48ff12711b4d5a6a75dd472b1e31ad25827 Mon Sep 17 00:00:00 2001 From: supermerill Date: Wed, 15 Dec 2021 19:13:33 +0100 Subject: Fix Concentric (Filled) infill: honour gap_fill_min_area supermerill/SuperSlicer#2052 --- src/libslic3r/Fill/FillConcentric.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/libslic3r/Fill/FillConcentric.cpp b/src/libslic3r/Fill/FillConcentric.cpp index c8616f42f..fd3270663 100644 --- a/src/libslic3r/Fill/FillConcentric.cpp +++ b/src/libslic3r/Fill/FillConcentric.cpp @@ -78,6 +78,8 @@ FillConcentricWGapFill::fill_surface_extrusion( const FillParams ¶ms, ExtrusionEntitiesPtr &out) const { + double min_gapfill_area = double(params.flow.scaled_width()) * double(params.flow.scaled_width()); + if (params.config != nullptr) min_gapfill_area = scale_d(params.config->gap_fill_min_area.get_abs_value(params.flow.width)) * double(params.flow.scaled_width()); // Perform offset. Slic3r::ExPolygons expp = offset_ex(surface->expolygon, double(scale_(0 - 0.5 * this->get_spacing()))); // Create the infills for each of the regions. @@ -149,7 +151,7 @@ FillConcentricWGapFill::fill_surface_extrusion( for (const ExPolygon &ex : gaps_ex) { //remove too small gaps that are too hard to fill. //ie one that are smaller than an extrusion with width of min and a length of max. - if (ex.area() > min*max) { + if (ex.area() > min_gapfill_area) { MedialAxis{ ex, coord_t(max), coord_t(min), coord_t(params.flow.height) }.build(polylines); } } -- cgit v1.2.3