diff --git a/MANIFEST b/MANIFEST index 4081339c..6e59ce2e 100644 --- a/MANIFEST +++ b/MANIFEST @@ -72,6 +72,7 @@ t/retraction.t t/serialize.t t/shells.t t/slice.t +t/support.t t/vibrationlimit.t utils/amf-to-stl.pl utils/file_info.pl diff --git a/lib/Slic3r/Polyline.pm b/lib/Slic3r/Polyline.pm index 4d7fbe90..1df68e80 100644 --- a/lib/Slic3r/Polyline.pm +++ b/lib/Slic3r/Polyline.pm @@ -86,10 +86,11 @@ sub length { sub grow { my $self = shift; - return Slic3r::Geometry::Clipper::offset( - [ Slic3r::Polygon->new(@$self, CORE::reverse @$self[1..($#$self-1)]) ], - @_, - ); + return map Slic3r::Polygon->new($_), + Slic3r::Geometry::Clipper::offset( + [ Slic3r::Polygon->new(@$self, CORE::reverse @$self[1..($#$self-1)]) ], + @_, + ); } sub nearest_point_to { diff --git a/t/support.t b/t/support.t new file mode 100644 index 00000000..1e9a24a6 --- /dev/null +++ b/t/support.t @@ -0,0 +1,21 @@ +use Test::More tests => 1; +use strict; +use warnings; + +BEGIN { + use FindBin; + use lib "$FindBin::Bin/../lib"; +} + +use Slic3r; +use Slic3r::Test; + +{ + my $config = Slic3r::Config->new_from_defaults; + $config->set('raft_layers', 3); + $config->set('brim_width', 6); + my $print = Slic3r::Test::init_print('20mm_cube', config => $config); + ok Slic3r::Test::gcode($print), 'no conflict between raft/support and brim'; +} + +__END__