Convert Extruder object (mostly) to C++ with lots of fields.

This commit is contained in:
Y. Sapir 2014-04-08 02:42:29 +03:00
parent 2738a304e8
commit 66d23a2416
9 changed files with 237 additions and 35 deletions
lib/Slic3r

View file

@ -508,8 +508,8 @@ sub retract {
$gcode .= $self->G1(@$lift);
}
}
$self->extruder->retracted($self->extruder->retracted + $length);
$self->extruder->restart_extra($restart_extra);
$self->extruder->set_retracted($self->extruder->retracted + $length);
$self->extruder->set_restart_extra($restart_extra);
$self->lifted($self->_retract_lift) if $lift;
# reset extrusion distance during retracts
@ -547,8 +547,8 @@ sub unretract {
$gcode .= " ; compensate retraction" if $self->print_config->gcode_comments;
$gcode .= "\n";
}
$self->extruder->retracted(0);
$self->extruder->restart_extra(0);
$self->extruder->set_retracted(0);
$self->extruder->set_restart_extra(0);
}
return $gcode;
@ -558,7 +558,7 @@ sub reset_e {
my ($self) = @_;
return "" if $self->print_config->gcode_flavor =~ /^(?:mach3|makerware|sailfish)$/;
$self->extruder->E(0) if $self->extruder;
$self->extruder->set_E(0) if $self->extruder;
return sprintf "G92 %s0%s\n", $self->_extrusion_axis, ($self->print_config->gcode_comments ? ' ; reset extrusion distance' : '')
if $self->_extrusion_axis && !$self->print_config->use_relative_e_distances;
}