diff --git a/README.markdown b/README.markdown index 3662860a2..a7b6b13cd 100644 --- a/README.markdown +++ b/README.markdown @@ -131,7 +131,7 @@ The author is Alessandro Ranellucci. --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) --bridge-speed Speed of bridge print moves in mm/s (default: 60) - --bottom-layer-speed Speed of print moves for bottom layer, expressed either as an absolute + --first-layer-speed Speed of print moves for bottom layer, expressed either as an absolute value or as a percentage over normal speeds (default: 30%) Accuracy options: diff --git a/lib/Slic3r.pm b/lib/Slic3r.pm index d5b32dc60..4cb84906c 100644 --- a/lib/Slic3r.pm +++ b/lib/Slic3r.pm @@ -83,7 +83,7 @@ our $small_perimeter_speed = 30; # mm/s our $infill_speed = 60; # mm/s our $solid_infill_speed = 60; # mm/s our $bridge_speed = 60; # mm/s -our $bottom_layer_speed = '30%'; # mm/s or % +our $first_layer_speed = '30%'; # mm/s or % # acceleration options our $acceleration = 0; diff --git a/lib/Slic3r/Config.pm b/lib/Slic3r/Config.pm index 5cd7a56d5..8b51f7dea 100644 --- a/lib/Slic3r/Config.pm +++ b/lib/Slic3r/Config.pm @@ -157,9 +157,9 @@ our $Options = { type => 'f', aliases => [qw(bridge_feed_rate)], }, - 'bottom_layer_speed' => { - label => 'Bottom layer speed (mm/s or %)', - cli => 'bottom-layer-speed=f', + 'first_layer_speed' => { + label => 'First layer speed (mm/s or %)', + cli => 'first-layer-speed=f', type => 'f', }, @@ -522,6 +522,7 @@ sub load { next if $ignore{$key}; if ($key =~ /^(?:extrusion_width|bottom_layer_speed)_ratio$/) { $key = $1; + $key =~ s/^bottom_layer_speed$/first_layer_speed/; $val = $val =~ /^\d+(\.\d+)?$/ ? ($val*100) . "%" : 0; } diff --git a/lib/Slic3r/Extruder.pm b/lib/Slic3r/Extruder.pm index 78acd29ff..f58bb2ab9 100644 --- a/lib/Slic3r/Extruder.pm +++ b/lib/Slic3r/Extruder.pm @@ -183,9 +183,9 @@ sub extrude_path { if ($Slic3r::cooling) { my $path_time = unscale($path_length) / $self->speeds->{$self->last_speed} * 60; if ($self->layer->id == 0) { - $path_time = $Slic3r::bottom_layer_speed =~ /^(\d+(?:\.\d+)?)%$/ + $path_time = $Slic3r::first_layer_speed =~ /^(\d+(?:\.\d+)?)%$/ ? $path_time / ($1/100) - : unscale($path_length) / $Slic3r::bottom_layer_speed * 60; + : unscale($path_length) / $Slic3r::first_layer_speed * 60; } $self->elapsed_time($self->elapsed_time + $path_time); } @@ -338,9 +338,9 @@ sub _Gx { # 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 = $Slic3r::first_layer_speed =~ /^(\d+(?:\.\d+)?)%$/ ? ($speed_f * $1/100) - : $Slic3r::bottom_layer_speed; + : $Slic3r::first_layer_speed; } $gcode .= sprintf " F%.${dec}f", $speed_f; $self->last_speed($speed); diff --git a/lib/Slic3r/GUI/SkeinPanel.pm b/lib/Slic3r/GUI/SkeinPanel.pm index 65c52732f..6ea6f6dd6 100644 --- a/lib/Slic3r/GUI/SkeinPanel.pm +++ b/lib/Slic3r/GUI/SkeinPanel.pm @@ -36,7 +36,7 @@ sub new { }, speed => { title => 'Other speed settings', - options => [qw(travel_speed bottom_layer_speed)], + options => [qw(travel_speed first_layer_speed)], }, accuracy => { title => 'Accuracy', diff --git a/slic3r.pl b/slic3r.pl index a1540ff82..8dcd9a983 100755 --- a/slic3r.pl +++ b/slic3r.pl @@ -175,8 +175,8 @@ $j --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) --bridge-speed Speed of bridge print moves in mm/s (default: $Slic3r::bridge_speed) - --bottom-layer-speed Speed of print moves for bottom layer, expressed either as an absolute - value or as a percentage over normal speeds (default: $Slic3r::bottom_layer_speed) + --first-layer-speed Speed of print moves for bottom layer, expressed either as an absolute + value or as a percentage over normal speeds (default: $Slic3r::first_layer_speed) Accuracy options: --layer-height Layer height in mm (default: $Slic3r::layer_height)