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

@ -41,6 +41,26 @@ sub set_extruders {
$self->multiple_extruders(max(@$extruder_ids) > 0);
}
sub preamble {
my ($self) = @_;
my $gcode = "";
if ($self->config->gcode_flavor ne 'makerware') {
$gcode .= "G21 ; set units to millimeters\n";
$gcode .= "G90 ; use absolute coordinates\n";
}
if ($self->config->gcode_flavor =~ /^(?:reprap|teacup)$/) {
if ($self->config->use_relative_e_distances) {
$gcode .= "M83 ; use relative distances for extrusion\n";
} else {
$gcode .= "M82 ; use absolute distances for extrusion\n";
}
$gcode .= $self->reset_e(1);
}
return $gcode;
}
sub set_temperature {
my ($self, $temperature, $wait, $tool) = @_;