diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index c1a2b6aa30..488f836cfc 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -1641,7 +1641,7 @@ void PerimeterGenerator::process_classic() //BBS: refer to superslicer //store surface for top infill if only_one_wall_top - if (i == 0 && i!=loop_number && config->only_one_wall_top && this->upper_slices != NULL) { + if (i == 0 && i!=loop_number && config->only_one_wall_top && !surface.is_bridge() && this->upper_slices != NULL) { this->split_top_surfaces(last, top_fills, last, fill_clip); } @@ -1912,7 +1912,7 @@ void PerimeterGenerator::process_arachne() std::vector out_shell; ExPolygons top_fills; ExPolygons fill_clip; - if (loop_number > 0 && config->only_one_wall_top && this->upper_slices != nullptr) { + if (loop_number > 0 && config->only_one_wall_top && !surface.is_bridge() && this->upper_slices != nullptr) { // Check if current layer has surfaces that are not covered by upper layer (i.e., top surfaces) ExPolygons non_top_polygons; this->split_top_surfaces(last, top_fills, non_top_polygons, fill_clip);