diff --git a/lib/Slic3r/Perimeter.pm b/lib/Slic3r/Perimeter.pm index b5e1d437..17a82f03 100644 --- a/lib/Slic3r/Perimeter.pm +++ b/lib/Slic3r/Perimeter.pm @@ -115,6 +115,7 @@ sub make_perimeter { } foreach my $hole (@holes) { + $hole->reverse; push @{ $layer->perimeters }, Slic3r::ExtrusionLoop->new(polygon => $hole, role => 'perimeter'); } diff --git a/lib/Slic3r/Polygon.pm b/lib/Slic3r/Polygon.pm index 040580e5..caed2ff4 100644 --- a/lib/Slic3r/Polygon.pm +++ b/lib/Slic3r/Polygon.pm @@ -30,6 +30,11 @@ sub clone { return (ref $self)->new(map $_->clone, @$self); } +sub reverse { + my $self = shift; + @$self = reverse @$self; +} + sub lines { my $self = shift; return map Slic3r::Line->new($_), polygon_lines($self);