mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-05-04 04:24:04 +08:00
Bugfix: failure when exporting SVG from object containing multiple islands. Includes regression test. #2050
This commit is contained in:
parent
0decbbf910
commit
7ea09a0071
@ -580,7 +580,7 @@ EOF
|
|||||||
|
|
||||||
my @current_layer_slices = ();
|
my @current_layer_slices = ();
|
||||||
# sort slices so that the outermost ones come first
|
# sort slices so that the outermost ones come first
|
||||||
my @slices = sort { $a->contour->encloses_point($b->contour->[0]) ? 0 : 1 } @{$layer->slices};
|
my @slices = sort { $a->contour->contains_point($b->contour->[0]) ? 0 : 1 } @{$layer->slices};
|
||||||
foreach my $copy (@{$layer->object->copies}) {
|
foreach my $copy (@{$layer->object->copies}) {
|
||||||
foreach my $slice (@slices) {
|
foreach my $slice (@slices) {
|
||||||
my $expolygon = $slice->clone;
|
my $expolygon = $slice->clone;
|
||||||
|
14
t/svg.t
14
t/svg.t
@ -1,4 +1,4 @@
|
|||||||
use Test::More tests => 1;
|
use Test::More tests => 2;
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
@ -17,7 +17,19 @@ use Slic3r::Test;
|
|||||||
$print->print->export_svg(output_fh => $fh, quiet => 1);
|
$print->print->export_svg(output_fh => $fh, quiet => 1);
|
||||||
$fh->close;
|
$fh->close;
|
||||||
};
|
};
|
||||||
|
die $@ if $@;
|
||||||
ok !$@, 'successful SVG export';
|
ok !$@, 'successful SVG export';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
my $print = Slic3r::Test::init_print('two_hollow_squares');
|
||||||
|
eval {
|
||||||
|
my $fh = IO::Scalar->new(\my $gcode);
|
||||||
|
$print->print->export_svg(output_fh => $fh, quiet => 1);
|
||||||
|
$fh->close;
|
||||||
|
};
|
||||||
|
die $@ if $@;
|
||||||
|
ok !$@, 'successful SVG export of object with two islands';
|
||||||
|
}
|
||||||
|
|
||||||
__END__
|
__END__
|
||||||
|
Loading…
x
Reference in New Issue
Block a user