More refactoring to GCode.pm: make writer() public and fix usage of Slic3r::GCode without a Slic3r::Layer object

This commit is contained in:
Alessandro Ranellucci 2014-10-28 21:47:09 +01:00
parent a38ec14cb1
commit 268de5c8e5
6 changed files with 97 additions and 84 deletions

View file

@ -21,10 +21,10 @@ sub pre_toolchange {
if ($gcodegen->config->standby_temperature_delta != 0) {
my $temp = defined $gcodegen->layer && $gcodegen->layer->id == 0
? $gcodegen->config->get_at('first_layer_temperature', $gcodegen->extruder->id)
: $gcodegen->config->get_at('temperature', $gcodegen->extruder->id);
? $gcodegen->config->get_at('first_layer_temperature', $gcodegen->writer->extruder->id)
: $gcodegen->config->get_at('temperature', $gcodegen->writer->extruder->id);
# we assume that heating is always slower than cooling, so no need to block
$gcode .= $gcodegen->set_temperature($temp + $gcodegen->config->standby_temperature_delta, 0);
$gcode .= $gcodegen->writer->set_temperature($temp + $gcodegen->config->standby_temperature_delta, 0);
}
return $gcode;
@ -37,9 +37,9 @@ sub post_toolchange {
if ($gcodegen->config->standby_temperature_delta != 0) {
my $temp = defined $gcodegen->layer && $gcodegen->layer->id == 0
? $gcodegen->config->get_at('first_layer_temperature', $gcodegen->extruder->id)
: $gcodegen->config->get_at('temperature', $gcodegen->extruder->id);
$gcode .= $gcodegen->set_temperature($temp, 1);
? $gcodegen->config->get_at('first_layer_temperature', $gcodegen->writer->extruder->id)
: $gcodegen->config->get_at('temperature', $gcodegen->writer->extruder->id);
$gcode .= $gcodegen->writer->set_temperature($temp, 1);
}
return $gcode;