From 257837c07176e416a72bd1b58ae37bda7170922d Mon Sep 17 00:00:00 2001 From: PavelMikus Date: Tue, 14 Mar 2023 11:38:16 +0100 Subject: [PATCH] Fix one and zero perimeter case - no bridging was generated --- src/libslic3r/PrintObject.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 5efad85b7..8dbf96b26 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -2090,7 +2090,7 @@ void PrintObject::bridge_over_infill() if (area_to_be_bridge.empty()) continue; - Polygons boundary_area = union_(expansion_area, expand(area_to_be_bridge, flow.scaled_spacing())); + Polygons boundary_area = union_(expansion_area, area_to_be_bridge); Polylines boundary_plines = to_polylines(boundary_area); double bridging_angle = 0; Polygons tmp_expanded_area = expand(area_to_be_bridge, 3.0 * flow.scaled_spacing()); @@ -2118,7 +2118,7 @@ void PrintObject::bridge_over_infill() Polygons bridging_area = construct_anchored_polygon(area_to_be_bridge, to_lines(boundary_plines), flow, bridging_angle); bridging_area = intersection(bridging_area, boundary_area); bridging_area = opening(bridging_area, flow.scaled_spacing()); - expansion_area = diff(expansion_area, bridging_area); + expansion_area = diff(expansion_area, bridging_area); #ifdef DEBUG_BRIDGE_OVER_INFILL debug_draw(std::to_string(lidx) + "_" + std::to_string(cluster_idx) + "_" + std::to_string(job_idx) +