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,13 +900,20 @@ 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;
not_filled_exp, if (min_perimeter_infill_spacing / 2 > infill_peri_overlap)
-inset - infill_gap - min_perimeter_infill_spacing / 2, polyWithoutOverlap = offset2_ex(
(float) min_perimeter_infill_spacing / 2); not_filled_exp,
-inset - infill_gap - min_perimeter_infill_spacing / 2 + infill_peri_overlap,
(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;
stri << this->layer->id() << "_2_end_makeperimeter_" << this->layer->id() << ".svg"; stri << this->layer->id() << "_2_end_makeperimeter_" << this->layer->id() << ".svg";
@ -919,7 +926,6 @@ void PerimeterGenerator::process()
svg.draw(to_polylines(top_infill_exp), "orange"); svg.draw(to_polylines(top_infill_exp), "orange");
svg.Close(); svg.Close();
}*/ }*/
}
} }
} // for each island } // for each island
} }