diff --git a/lib/Slic3r/Skein.pm b/lib/Slic3r/Skein.pm index 879495956..f4a7f2c46 100644 --- a/lib/Slic3r/Skein.pm +++ b/lib/Slic3r/Skein.pm @@ -169,33 +169,32 @@ sub export_svg { print $fh sprintf <<"EOF", unscale($print->total_x_length), unscale($print->total_y_length); - + + EOF my $print_polygon = sub { - my ($polygon, $fill) = @_; - printf $fh qq{ }, - (join ' ', map { join ',', map unscale $_, @$_ } @$polygon), $fill; + my ($polygon, $type) = @_; + printf $fh qq{ \n}, + $type, (join ' ', map { join ',', map unscale $_, @$_ } @$polygon), + ($type eq 'contour' ? 'black' : 'white'); }; foreach my $layer (@{$print->layers}) { - printf $fh qq{ \n}, $layer->id; + printf $fh qq{ \n}, $layer->id, unscale $layer->slice_z; # sort slices so that the outermost ones come first my @slices = sort { $a->expolygon->contour->encloses_point($b->expolygon->contour->[0]) ? 0 : 1 } @{$layer->slices}; foreach my $slice (@slices) { - $print_polygon->($slice->expolygon->contour, 'black'); - $print_polygon->($_, 'white') for $slice->expolygon->holes; + $print_polygon->($slice->expolygon->contour, 'contour'); + $print_polygon->($_, 'hole') for $slice->expolygon->holes; } print $fh qq{ \n}; } - print $fh <<"EOF"; - - -EOF + print $fh "\n"; close $fh; print "Done.\n"; }