From 2f2018f9ee93b4c79fca42bfd51c04f35ab28ed7 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Fri, 12 Sep 2025 00:24:03 +0800 Subject: [PATCH] Fix logic for precise_outer_wall condition in PerimeterGenerator to only apply when wall_sequence is set to InnerOuter. --- src/libslic3r/PerimeterGenerator.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index 421cdd48b6..2d7c23b0a9 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -1129,7 +1129,7 @@ void PerimeterGenerator::process_classic() coord_t ext_perimeter_spacing = this->ext_perimeter_flow.scaled_spacing(); coord_t ext_perimeter_spacing2; // Orca: ignore precise_outer_wall if wall_sequence is not InnerOuter - if(config->precise_outer_wall && config->wall_sequence != WallSequence::InnerOuter) + if(config->precise_outer_wall && config->wall_sequence == WallSequence::InnerOuter) ext_perimeter_spacing2 = scaled(0.5f * (this->ext_perimeter_flow.width() + this->perimeter_flow.width())); else ext_perimeter_spacing2 = scaled(0.5f * (this->ext_perimeter_flow.spacing() + this->perimeter_flow.spacing())); @@ -2124,7 +2124,7 @@ void PerimeterGenerator::process_arachne() if (is_topmost_layer && loop_number > 0 && config->only_one_wall_top) loop_number = 0; - auto apply_precise_outer_wall = config->precise_outer_wall && config->wall_sequence != WallSequence::InnerOuter; + auto apply_precise_outer_wall = config->precise_outer_wall && config->wall_sequence == WallSequence::InnerOuter; // Orca: properly adjust offset for the outer wall if precise_outer_wall is enabled. ExPolygons last = offset_ex(surface.expolygon.simplify_p(surface_simplify_resolution), apply_precise_outer_wall? -float(ext_perimeter_width - ext_perimeter_spacing )