New --extrusion-axis option; removed --no-extrusion

This commit is contained in:
Alessandro Ranellucci 2011-12-01 22:34:21 +01:00
parent 830965fc0b
commit 52c9897eda
7 changed files with 14 additions and 12 deletions

View file

@ -25,10 +25,10 @@ our $Options = {
cli => 'use-relative-e-distances',
type => 'bool',
},
'no_extrusion' => {
label => 'No extrusion',
cli => 'no-extrusion',
type => 'bool',
'extrusion_axis' => {
label => 'Extrusion axis',
cli => 'extrusion_axis',
type => 's',
},
'z_offset' => {
label => 'Z offset',

View file

@ -181,7 +181,7 @@ sub retract {
# reset extrusion distance during retracts
# this makes sure we leave sufficient precision in the firmware
if (!$Slic3r::use_relative_e_distances) {
$gcode .= "G92 E0\n";
$gcode .= "G92 " . $Slic3r::extrusion_axis . "0\n";
$self->extrusion_distance(0);
}
@ -278,10 +278,10 @@ sub _Gx {
}
# output extrusion distance
if ($e && !$Slic3r::no_extrusion) {
if ($e && $Slic3r::extrusion_axis) {
$self->extrusion_distance(0) if $Slic3r::use_relative_e_distances;
$self->extrusion_distance($self->extrusion_distance + $e);
$gcode .= sprintf " E%.5f", $self->extrusion_distance;
$gcode .= sprintf " %s%.5f", $Slic3r::extrusion_axis, $self->extrusion_distance;
}
$gcode .= sprintf " ; %s", $comment if $comment;

View file

@ -17,7 +17,7 @@ sub new {
my %panels = (
printer => {
title => 'Printer',
options => [qw(nozzle_diameter print_center use_relative_e_distances no_extrusion z_offset)],
options => [qw(nozzle_diameter print_center use_relative_e_distances extrusion_axis z_offset)],
},
filament => {
title => 'Filament',

View file

@ -472,7 +472,7 @@ sub export_gcode {
printf $fh "M109 S%d ; wait for temperature to be reached\n", $Slic3r::temperature if $Slic3r::temperature;
print $fh "G90 ; use absolute coordinates\n";
print $fh "G21 ; set units to millimeters\n";
print $fh "G92 E0 ; reset extrusion distance\n" if !$Slic3r::no_extrusion;
printf $fh "G92 %s0 ; reset extrusion distance\n", $Slic3r::extrusion_axis if $Slic3r::extrusion_axis;
if ($Slic3r::use_relative_e_distances) {
print $fh "M83 ; use relative distances for extrusion\n";
} else {