fix regression on enforce_full_fill_volume (since 72d6cdc3)

This commit is contained in:
supermerill 2020-09-05 17:56:48 +02:00
parent 8e9810ea0e
commit 7e1d236890

View File

@ -900,12 +900,19 @@ void PerimeterGenerator::process()
this->fill_surfaces->append(infill_exp, stPosInternal | stDensSparse); this->fill_surfaces->append(infill_exp, stPosInternal | stDensSparse);
if (infill_peri_overlap != 0) { if (infill_peri_overlap != 0) {
ExPolygons polyWithoutOverlap = offset2_ex( ExPolygons polyWithoutOverlap;
if (min_perimeter_infill_spacing / 2 > infill_peri_overlap)
polyWithoutOverlap = offset2_ex(
not_filled_exp, not_filled_exp,
-inset - infill_gap - min_perimeter_infill_spacing / 2, -inset - infill_gap - min_perimeter_infill_spacing / 2 + infill_peri_overlap,
(float) min_perimeter_infill_spacing / 2); (float)min_perimeter_infill_spacing / 2 - infill_peri_overlap);
else
polyWithoutOverlap = offset_ex(
not_filled_exp,
-inset - infill_gap);
if (!top_fills.empty()) { if (!top_fills.empty()) {
polyWithoutOverlap = union_ex(polyWithoutOverlap, top_infill_exp); polyWithoutOverlap = union_ex(polyWithoutOverlap, top_infill_exp);
}
this->fill_no_overlap.insert(this->fill_no_overlap.end(), polyWithoutOverlap.begin(), polyWithoutOverlap.end()); this->fill_no_overlap.insert(this->fill_no_overlap.end(), polyWithoutOverlap.begin(), polyWithoutOverlap.end());
/*{ /*{
std::stringstream stri; std::stringstream stri;
@ -920,7 +927,6 @@ void PerimeterGenerator::process()
svg.Close(); svg.Close();
}*/ }*/
} }
}
} // for each island } // for each island
} }