mirror of https://github.com/vitalif/Slic3r
Bugfix: crash when skirt was contained in brim area. Includes regression test. #2058
parent
98b8936ee2
commit
ce1e736b6b
|
@ -783,7 +783,7 @@ sub make_brim {
|
||||||
# if brim touches skirt, make it around skirt too
|
# if brim touches skirt, make it around skirt too
|
||||||
# TODO: calculate actual skirt width (using each extruder's flow in multi-extruder setups)
|
# TODO: calculate actual skirt width (using each extruder's flow in multi-extruder setups)
|
||||||
if ($self->config->skirt_distance + (($self->config->skirts - 1) * $flow->spacing) <= $self->config->brim_width) {
|
if ($self->config->skirt_distance + (($self->config->skirts - 1) * $flow->spacing) <= $self->config->brim_width) {
|
||||||
push @islands, map @{$_->split_at_first_point->polyline->grow($grow_distance)}, @{$self->skirt};
|
push @islands, map @{$_->polygon->split_at_first_point->grow($grow_distance)}, @{$self->skirt};
|
||||||
}
|
}
|
||||||
|
|
||||||
my @loops = ();
|
my @loops = ();
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use Test::More tests => 2;
|
use Test::More tests => 3;
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
|
@ -69,4 +69,13 @@ use Slic3r::Test;
|
||||||
is scalar(grep $_, values %layers_with_brim), 1, "brim is generated";
|
is scalar(grep $_, values %layers_with_brim), 1, "brim is generated";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
my $config = Slic3r::Config->new_from_defaults;
|
||||||
|
$config->set('skirts', 1);
|
||||||
|
$config->set('brim_width', 10);
|
||||||
|
|
||||||
|
my $print = Slic3r::Test::init_print('20mm_cube', config => $config);
|
||||||
|
ok Slic3r::Test::gcode($print), 'successful G-code generation when skirt is smaller than brim width';
|
||||||
|
}
|
||||||
|
|
||||||
__END__
|
__END__
|
||||||
|
|
Loading…
Reference in New Issue