Bugfix: double lift at toolchange. #953

This commit is contained in:
Alessandro Ranellucci 2013-03-11 17:06:05 +01:00
parent 0326962d11
commit b73c301c55
2 changed files with 10 additions and 7 deletions

View file

@ -350,7 +350,7 @@ sub retract {
# prepare moves
$self->speed('retract');
my $retract = [undef, undef, -$length, $comment];
my $lift = ($self->extruder->retract_lift == 0 || defined $params{move_z})
my $lift = ($self->extruder->retract_lift == 0 || defined $params{move_z}) && !$self->lifted
? undef
: [undef, $self->z + $self->extruder->retract_lift, 0, 'lift plate during travel'];
@ -371,12 +371,14 @@ sub retract {
$gcode .= $self->G0(@$travel);
} else {
$gcode .= $self->G1(@$retract);
if (defined $params{move_z} && $self->extruder->retract_lift > 0) {
my $travel = [undef, $params{move_z} + $self->extruder->retract_lift, 0, 'move to next layer (' . $self->layer->id . ') and lift'];
$gcode .= $self->G0(@$travel);
$self->lifted($self->extruder->retract_lift);
} elsif ($lift) {
$gcode .= $self->G1(@$lift);
if (!$self->lifted) {
if (defined $params{move_z} && $self->extruder->retract_lift > 0) {
my $travel = [undef, $params{move_z} + $self->extruder->retract_lift, 0, 'move to next layer (' . $self->layer->id . ') and lift'];
$gcode .= $self->G0(@$travel);
$self->lifted($self->extruder->retract_lift);
} elsif ($lift) {
$gcode .= $self->G1(@$lift);
}
}
}
$self->extruder->retracted($self->extruder->retracted + $length);