Apply only_retract_when_crossing_perimeters to all infills

This commit is contained in:
Alessandro Ranellucci 2013-03-04 23:37:58 +01:00
parent b36ed0538d
commit 70092a9cf5
2 changed files with 8 additions and 1 deletions

View File

@ -93,6 +93,13 @@ sub endpoints {
sub is_printable { 1 }
sub is_fill {
my $self = shift;
return $self->role == EXTR_ROLE_FILL
|| $self->role == EXTR_ROLE_SOLIDFILL
|| $self->role == EXTR_ROLE_TOPSOLIDFILL;
}
sub split_at_acute_angles {
my $self = shift;

View File

@ -198,7 +198,7 @@ sub extrude_path {
# note that we're only considering the current object's islands, while we should
# build a more complete configuration space
$travel->translate(-$self->shift_x, -$self->shift_y);
if (!$Slic3r::Config->only_retract_when_crossing_perimeters || $path->role != EXTR_ROLE_FILL || !first { $_->encloses_line($travel, scaled_epsilon) } @{$self->layer->slices}) {
if (!$Slic3r::Config->only_retract_when_crossing_perimeters || !$path->is_fill || !first { $_->encloses_line($travel, scaled_epsilon) } @{$self->layer->slices}) {
$gcode .= $self->retract(travel_to => $path->points->[0]);
}
}