Bug: Corrected monotonic lines not respecting user infill / wall overlap setting (#3388)

Bug: Correct monotonic lines not respecting user infill / wall overlap setting

Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
Ioannis Giannakas 2024-01-06 05:44:33 +00:00 committed by GitHub
parent 67de85ba43
commit 5aae123cbb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3113,10 +3113,15 @@ void FillMonotonicLineWGapFill::fill_surface_extrusion(const Surface* surface, c
params2.dont_adjust = true; params2.dont_adjust = true;
//BBS: always use no overlap expolygons to avoid overflow in top surface //BBS: always use no overlap expolygons to avoid overflow in top surface
for (const ExPolygon &rectilinear_area : this->no_overlap_expolygons) { //for (const ExPolygon &rectilinear_area : this->no_overlap_expolygons) {
rectilinear_surface.expolygon = rectilinear_area; // rectilinear_surface.expolygon = rectilinear_area;
fill_surface_by_lines(&rectilinear_surface, params2, polylines_rectilinear); // fill_surface_by_lines(&rectilinear_surface, params2, polylines_rectilinear);
} //}
// Orca: The above causes pockmarks in top layer surfaces with a properly calibrated printer with PA and EM tuned.
// Revert implementation to the prusa slicer approach that respects the infill/wall overlap setting
// while retaining the gap fill logic below. The user can adjust the overlap calue to reduce overflow if needed.
fill_surface_by_lines(surface, params2, polylines_rectilinear);
ExPolygons unextruded_areas; ExPolygons unextruded_areas;
Flow new_flow = params.flow; Flow new_flow = params.flow;
if (!polylines_rectilinear.empty()) { if (!polylines_rectilinear.empty()) {