Bugfix: crash when skirt was contained in brim area. Includes regression test. #2058

master
Alessandro Ranellucci 2014-05-27 13:38:41 +02:00
parent 98b8936ee2
commit ce1e736b6b
2 changed files with 11 additions and 2 deletions

View File

@ -783,7 +783,7 @@ sub make_brim {
# if brim touches skirt, make it around skirt too
# 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) {
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 = ();

View File

@ -1,4 +1,4 @@
use Test::More tests => 2;
use Test::More tests => 3;
use strict;
use warnings;
@ -69,4 +69,13 @@ use Slic3r::Test;
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__