Accept either absolute or relative values for --bottom-layer-speed. #151
This commit is contained in:
parent
aedb6cc35f
commit
91ffb74429
@ -131,9 +131,8 @@ The author is Alessandro Ranellucci.
|
|||||||
--infill-speed Speed of print moves in mm/s (default: 60)
|
--infill-speed Speed of print moves in mm/s (default: 60)
|
||||||
--solid-infill-speed Speed of print moves for solid surfaces in mm/s (default: 60)
|
--solid-infill-speed Speed of print moves for solid surfaces in mm/s (default: 60)
|
||||||
--bridge-speed Speed of bridge print moves in mm/s (default: 60)
|
--bridge-speed Speed of bridge print moves in mm/s (default: 60)
|
||||||
--bottom-layer-speed-ratio
|
--bottom-layer-speed Speed of print moves for bottom layer, expressed either as an absolute
|
||||||
Factor to increase/decrease speeds on bottom
|
value or as a percentage over normal speeds (default: 30%)
|
||||||
layer by (default: 0.3)
|
|
||||||
|
|
||||||
Accuracy options:
|
Accuracy options:
|
||||||
--layer-height Layer height in mm (default: 0.4)
|
--layer-height Layer height in mm (default: 0.4)
|
||||||
|
@ -83,7 +83,7 @@ our $small_perimeter_speed = 30; # mm/s
|
|||||||
our $infill_speed = 60; # mm/s
|
our $infill_speed = 60; # mm/s
|
||||||
our $solid_infill_speed = 60; # mm/s
|
our $solid_infill_speed = 60; # mm/s
|
||||||
our $bridge_speed = 60; # mm/s
|
our $bridge_speed = 60; # mm/s
|
||||||
our $bottom_layer_speed_ratio = 0.3;
|
our $bottom_layer_speed = '30%'; # mm/s or %
|
||||||
|
|
||||||
# acceleration options
|
# acceleration options
|
||||||
our $acceleration = 0;
|
our $acceleration = 0;
|
||||||
|
@ -157,9 +157,9 @@ our $Options = {
|
|||||||
type => 'f',
|
type => 'f',
|
||||||
aliases => [qw(bridge_feed_rate)],
|
aliases => [qw(bridge_feed_rate)],
|
||||||
},
|
},
|
||||||
'bottom_layer_speed_ratio' => {
|
'bottom_layer_speed' => {
|
||||||
label => 'Bottom layer speed ratio',
|
label => 'Bottom layer speed (mm/s or %)',
|
||||||
cli => 'bottom-layer-speed-ratio=f',
|
cli => 'bottom-layer-speed=f',
|
||||||
type => 'f',
|
type => 'f',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -182,7 +182,11 @@ sub extrude_path {
|
|||||||
|
|
||||||
if ($Slic3r::cooling) {
|
if ($Slic3r::cooling) {
|
||||||
my $path_time = unscale($path_length) / $self->speeds->{$self->last_speed} * 60;
|
my $path_time = unscale($path_length) / $self->speeds->{$self->last_speed} * 60;
|
||||||
$path_time /= $Slic3r::bottom_layer_speed_ratio if $self->layer->id == 0;
|
if ($self->layer->id == 0) {
|
||||||
|
$path_time = $Slic3r::bottom_layer_speed =~ /^(\d+(?:\.\d+)?)%$/
|
||||||
|
? $path_time / ($1/100)
|
||||||
|
: unscale($path_length) / $Slic3r::bottom_layer_speed * 60;
|
||||||
|
}
|
||||||
$self->elapsed_time($self->elapsed_time + $path_time);
|
$self->elapsed_time($self->elapsed_time + $path_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -318,11 +322,6 @@ sub _Gx {
|
|||||||
my ($gcode, $e, $comment) = @_;
|
my ($gcode, $e, $comment) = @_;
|
||||||
my $dec = $self->dec;
|
my $dec = $self->dec;
|
||||||
|
|
||||||
# apply the speed reduction for print moves on bottom layer
|
|
||||||
my $speed_multiplier = $e && $self->layer->id == 0 && $comment !~ /retract/
|
|
||||||
? $Slic3r::bottom_layer_speed_ratio
|
|
||||||
: 1;
|
|
||||||
|
|
||||||
# determine speed
|
# determine speed
|
||||||
my $speed = ($e ? $self->speed : 'travel');
|
my $speed = ($e ? $self->speed : 'travel');
|
||||||
|
|
||||||
@ -335,7 +334,15 @@ sub _Gx {
|
|||||||
} elsif ($self->last_speed eq 'bridge') {
|
} elsif ($self->last_speed eq 'bridge') {
|
||||||
$append_bridge_off = 1;
|
$append_bridge_off = 1;
|
||||||
}
|
}
|
||||||
$gcode .= sprintf " F%.${dec}f", $self->speeds->{$speed} * $speed_multiplier;
|
|
||||||
|
# apply the speed reduction for print moves on bottom layer
|
||||||
|
my $speed_f = $self->speeds->{$speed};
|
||||||
|
if ($e && $self->layer->id == 0 && $comment !~ /retract/) {
|
||||||
|
$speed_f = $Slic3r::bottom_layer_speed =~ /^(\d+(?:\.\d+)?)%$/
|
||||||
|
? ($speed_f * $1/100)
|
||||||
|
: $Slic3r::bottom_layer_speed;
|
||||||
|
}
|
||||||
|
$gcode .= sprintf " F%.${dec}f", $speed_f;
|
||||||
$self->last_speed($speed);
|
$self->last_speed($speed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ sub new {
|
|||||||
},
|
},
|
||||||
speed => {
|
speed => {
|
||||||
title => 'Other speed settings',
|
title => 'Other speed settings',
|
||||||
options => [qw(travel_speed bottom_layer_speed_ratio)],
|
options => [qw(travel_speed bottom_layer_speed)],
|
||||||
},
|
},
|
||||||
accuracy => {
|
accuracy => {
|
||||||
title => 'Accuracy',
|
title => 'Accuracy',
|
||||||
|
@ -175,9 +175,8 @@ $j
|
|||||||
--infill-speed Speed of print moves in mm/s (default: $Slic3r::infill_speed)
|
--infill-speed Speed of print moves in mm/s (default: $Slic3r::infill_speed)
|
||||||
--solid-infill-speed Speed of print moves for solid surfaces in mm/s (default: $Slic3r::solid_infill_speed)
|
--solid-infill-speed Speed of print moves for solid surfaces in mm/s (default: $Slic3r::solid_infill_speed)
|
||||||
--bridge-speed Speed of bridge print moves in mm/s (default: $Slic3r::bridge_speed)
|
--bridge-speed Speed of bridge print moves in mm/s (default: $Slic3r::bridge_speed)
|
||||||
--bottom-layer-speed-ratio
|
--bottom-layer-speed Speed of print moves for bottom layer, expressed either as an absolute
|
||||||
Factor to increase/decrease speeds on bottom
|
value or as a percentage over normal speeds (default: $Slic3r::bottom_layer_speed)
|
||||||
layer by (default: $Slic3r::bottom_layer_speed_ratio)
|
|
||||||
|
|
||||||
Accuracy options:
|
Accuracy options:
|
||||||
--layer-height Layer height in mm (default: $Slic3r::layer_height)
|
--layer-height Layer height in mm (default: $Slic3r::layer_height)
|
||||||
|
Loading…
Reference in New Issue
Block a user