Bugfix: only_retract_when_crossing_perimeters was not triggering retraction when moving between islands that are covered/bridged on the above layer. #1308
This commit is contained in:
parent
fe94e31bda
commit
c69edf27e9
1 changed files with 5 additions and 1 deletions
|
@ -350,8 +350,12 @@ sub travel_to {
|
||||||
# build a more complete configuration space
|
# build a more complete configuration space
|
||||||
$travel->translate(-$self->shift_x, -$self->shift_y);
|
$travel->translate(-$self->shift_x, -$self->shift_y);
|
||||||
|
|
||||||
|
# skip retraction if the travel move is contained in an island in the current layer
|
||||||
|
# *and* in an island in the upper layer (so that the ooze will not be visible)
|
||||||
if ($travel->length < scale $self->extruder->retract_before_travel
|
if ($travel->length < scale $self->extruder->retract_before_travel
|
||||||
|| ($self->config->only_retract_when_crossing_perimeters && first { $_->encloses_line($travel, scaled_epsilon) } @{$self->layer->upper_layer_slices})
|
|| ($self->config->only_retract_when_crossing_perimeters
|
||||||
|
&& (first { $_->encloses_line($travel, scaled_epsilon) } @{$self->layer->upper_layer_slices})
|
||||||
|
&& (first { $_->encloses_line($travel, scaled_epsilon) } @{$self->layer->slices}))
|
||||||
|| ($role == EXTR_ROLE_SUPPORTMATERIAL && $self->layer->support_islands_enclose_line($travel))
|
|| ($role == EXTR_ROLE_SUPPORTMATERIAL && $self->layer->support_islands_enclose_line($travel))
|
||||||
) {
|
) {
|
||||||
$self->straight_once(0);
|
$self->straight_once(0);
|
||||||
|
|
Loading…
Reference in a new issue