First layer temperature. #134
This commit is contained in:
parent
f1f0545209
commit
dccd7d19a9
@ -115,6 +115,8 @@ The author is Alessandro Ranellucci (me).
|
|||||||
very little need to change this value, which is only useful to
|
very little need to change this value, which is only useful to
|
||||||
compensate for filament packing (default: 1)
|
compensate for filament packing (default: 1)
|
||||||
--temperature Extrusion temperature in degree Celsius, set 0 to disable (default: 200)
|
--temperature Extrusion temperature in degree Celsius, set 0 to disable (default: 200)
|
||||||
|
--first-layer-temperature Extrusion temperature for the first layer, in degree Celsius,
|
||||||
|
set 0 to disable (default: same as --temperature)
|
||||||
|
|
||||||
Speed options:
|
Speed options:
|
||||||
--travel-speed Speed of non-print moves in mm/s (default: 130)
|
--travel-speed Speed of non-print moves in mm/s (default: 130)
|
||||||
|
@ -61,6 +61,7 @@ our $gcode_comments = 0;
|
|||||||
our $filament_diameter = 3; # mm
|
our $filament_diameter = 3; # mm
|
||||||
our $extrusion_multiplier = 1;
|
our $extrusion_multiplier = 1;
|
||||||
our $temperature = 200;
|
our $temperature = 200;
|
||||||
|
our $first_layer_temperature;
|
||||||
|
|
||||||
# speed options
|
# speed options
|
||||||
our $travel_speed = 130; # mm/s
|
our $travel_speed = 130; # mm/s
|
||||||
|
@ -91,6 +91,11 @@ our $Options = {
|
|||||||
type => 'f',
|
type => 'f',
|
||||||
aliases => [qw(filament_packing_density)],
|
aliases => [qw(filament_packing_density)],
|
||||||
},
|
},
|
||||||
|
'first_layer_temperature' => {
|
||||||
|
label => 'First layer temperature (°C)',
|
||||||
|
cli => 'fisrt-layer-temperature=i',
|
||||||
|
type => 'i',
|
||||||
|
},
|
||||||
'temperature' => {
|
'temperature' => {
|
||||||
label => 'Temperature (°C)',
|
label => 'Temperature (°C)',
|
||||||
cli => 'temperature=i',
|
cli => 'temperature=i',
|
||||||
@ -594,6 +599,7 @@ sub validate {
|
|||||||
$Slic3r::small_perimeter_speed ||= $Slic3r::perimeter_speed;
|
$Slic3r::small_perimeter_speed ||= $Slic3r::perimeter_speed;
|
||||||
$Slic3r::bridge_speed ||= $Slic3r::infill_speed;
|
$Slic3r::bridge_speed ||= $Slic3r::infill_speed;
|
||||||
$Slic3r::solid_infill_speed ||= $Slic3r::infill_speed;
|
$Slic3r::solid_infill_speed ||= $Slic3r::infill_speed;
|
||||||
|
$Slic3r::first_layer_temperature //= $Slic3r::temperature; #/
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
@ -25,7 +25,7 @@ sub new {
|
|||||||
},
|
},
|
||||||
filament => {
|
filament => {
|
||||||
title => 'Filament',
|
title => 'Filament',
|
||||||
options => [qw(filament_diameter extrusion_multiplier temperature)],
|
options => [qw(filament_diameter extrusion_multiplier temperature first_layer_temperature)],
|
||||||
},
|
},
|
||||||
print_speed => {
|
print_speed => {
|
||||||
title => 'Print speed',
|
title => 'Print speed',
|
||||||
|
@ -587,8 +587,8 @@ sub export_gcode {
|
|||||||
|
|
||||||
# write start commands to file
|
# write start commands to file
|
||||||
printf $fh "M104 %s%d ; set temperature\n",
|
printf $fh "M104 %s%d ; set temperature\n",
|
||||||
($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::temperature
|
($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::first_layer_temperature
|
||||||
if $Slic3r::temperature;
|
if $Slic3r::first_layer_temperature;
|
||||||
print $fh "$Slic3r::start_gcode\n";
|
print $fh "$Slic3r::start_gcode\n";
|
||||||
printf $fh "M109 %s%d ; wait for temperature to be reached\n",
|
printf $fh "M109 %s%d ; wait for temperature to be reached\n",
|
||||||
($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::temperature
|
($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::temperature
|
||||||
@ -622,6 +622,12 @@ sub export_gcode {
|
|||||||
|
|
||||||
# write gcode commands layer by layer
|
# write gcode commands layer by layer
|
||||||
foreach my $layer (@{ $self->layers }) {
|
foreach my $layer (@{ $self->layers }) {
|
||||||
|
if ($layer->id == 1) {
|
||||||
|
printf $fh "M104 %s%d ; set temperature\n",
|
||||||
|
($Slic3r::gcode_flavor eq 'mach3' ? 'P' : 'S'), $Slic3r::temperature
|
||||||
|
if $Slic3r::temperature && $Slic3r::temperature != $Slic3r::first_layer_temperature;
|
||||||
|
}
|
||||||
|
|
||||||
# go to layer
|
# go to layer
|
||||||
print $fh $extruder->change_layer($layer);
|
print $fh $extruder->change_layer($layer);
|
||||||
|
|
||||||
|
@ -133,6 +133,8 @@ Usage: slic3r.pl [ OPTIONS ] file.stl
|
|||||||
very little need to change this value, which is only useful to
|
very little need to change this value, which is only useful to
|
||||||
compensate for filament packing (default: $Slic3r::extrusion_multiplier)
|
compensate for filament packing (default: $Slic3r::extrusion_multiplier)
|
||||||
--temperature Extrusion temperature in degree Celsius, set 0 to disable (default: $Slic3r::temperature)
|
--temperature Extrusion temperature in degree Celsius, set 0 to disable (default: $Slic3r::temperature)
|
||||||
|
--first-layer-temperature Extrusion temperature for the first layer, in degree Celsius,
|
||||||
|
set 0 to disable (default: same as --temperature)
|
||||||
|
|
||||||
Speed options:
|
Speed options:
|
||||||
--travel-speed Speed of non-print moves in mm/s (default: $Slic3r::travel_speed)
|
--travel-speed Speed of non-print moves in mm/s (default: $Slic3r::travel_speed)
|
||||||
|
Loading…
Reference in New Issue
Block a user