diff --git a/lib/Slic3r/Print.pm b/lib/Slic3r/Print.pm index 5bcc4b92..1ca8ef38 100644 --- a/lib/Slic3r/Print.pm +++ b/lib/Slic3r/Print.pm @@ -680,8 +680,9 @@ sub make_brim { for my $i (reverse 1 .. $num_loops) { # JT_SQUARE ensures no vertex is outside the given offset distance # -0.5 because islands are not represented by their centerlines - # TODO: we need the offset inwards/offset outwards logic to avoid overlapping extrusions - push @loops, offset2(\@islands, ($i - 1.5) * $flow->scaled_spacing, +1.0 * $flow->scaled_spacing, undef, JT_SQUARE); + # (first offset more, then step back - reverse order than the one used for + # perimeters because here we're offsetting outwards) + push @loops, offset2(\@islands, ($i + 1.0) * $flow->scaled_spacing, -1.5 * $flow->scaled_spacing, undef, JT_SQUARE); } @{$self->brim} = map Slic3r::ExtrusionLoop->pack(