diff --git a/lib/Slic3r/ExPolygon.pm b/lib/Slic3r/ExPolygon.pm index cee973e15..1dacdbacb 100644 --- a/lib/Slic3r/ExPolygon.pm +++ b/lib/Slic3r/ExPolygon.pm @@ -149,7 +149,11 @@ sub medial_axis { my $expolygon = $self->clone; my @points = (); foreach my $polygon (@$expolygon) { - Slic3r::Geometry::polyline_remove_short_segments($polygon, $width / 2); + { + my $p = $polygon->pp; + Slic3r::Geometry::polyline_remove_short_segments($p, $width / 2); + $polygon = Slic3r::Polygon->new(@$p); + } # subdivide polygon segments so that we don't have anyone of them # being longer than $width / 2 diff --git a/lib/Slic3r/Print.pm b/lib/Slic3r/Print.pm index 9f08d4428..30e57b251 100644 --- a/lib/Slic3r/Print.pm +++ b/lib/Slic3r/Print.pm @@ -674,7 +674,7 @@ sub make_brim { # -0.5 because islands are not represented by their centerlines # (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 + 0.5) * $flow->scaled_spacing, -1.0 * $flow->scaled_spacing, undef, JT_SQUARE)}; + push @loops, @{offset2(\@islands, ($i + 0.5) * $flow->scaled_spacing, -1.0 * $flow->scaled_spacing, 100000, JT_SQUARE)}; } @{$self->brim} = map Slic3r::ExtrusionLoop->new( diff --git a/t/shells.t b/t/shells.t index 1077260dc..7120c0e7c 100644 --- a/t/shells.t +++ b/t/shells.t @@ -1,4 +1,4 @@ -use Test::More tests => 10; +use Test::More tests => 11; use strict; use warnings;