Rename standby_temperature to ooze_prevention. #1523
This commit is contained in:
parent
5e78f8a0b0
commit
beb7939e22
@ -347,6 +347,12 @@ The author of the Silk icon set is Mark James.
|
||||
Extruder to use for support material (1+, default: 1)
|
||||
--support-material-interface-extruder
|
||||
Extruder to use for support material interface (1+, default: 1)
|
||||
--ooze-prevention Drop temperature and park extruders outside a full skirt for automatic wiping
|
||||
(default: no)
|
||||
--standby-temperature-delta
|
||||
Temperature difference to be applied when an extruder is not active and
|
||||
--ooze-prevention is enabled (default: -5)
|
||||
|
||||
|
||||
If you want to change a preset file, just do
|
||||
|
||||
|
@ -226,10 +226,10 @@ our $Options = {
|
||||
},
|
||||
|
||||
# multiple extruder options
|
||||
'standby_temperature' => {
|
||||
'ooze_prevention' => {
|
||||
label => 'Enable',
|
||||
tooltip => 'This option will drop the temperature of the inactive extruders to prevent oozing. It will enable a tall skirt automatically and move extruders outside such skirt when changing temperatures.',
|
||||
cli => 'standby-temperature!',
|
||||
cli => 'ooze-prevention!',
|
||||
type => 'bool',
|
||||
default => 0,
|
||||
},
|
||||
|
@ -648,7 +648,7 @@ sub set_extruder {
|
||||
}
|
||||
|
||||
# set the current extruder to the standby temperature
|
||||
if ($self->config->standby_temperature && defined $self->extruder) {
|
||||
if ($self->config->ooze_prevention && defined $self->extruder) {
|
||||
# move to the nearest standby point
|
||||
$gcode .= $self->travel_to($self->last_pos->nearest_point($self->standby_points));
|
||||
|
||||
@ -673,7 +673,7 @@ sub set_extruder {
|
||||
$gcode .= $self->reset_e;
|
||||
|
||||
# set the new extruder to the operating temperature
|
||||
if ($self->config->standby_temperature) {
|
||||
if ($self->config->ooze_prevention) {
|
||||
my $temp = defined $self->layer && $self->layer->id == 0
|
||||
? $self->extruder->first_layer_temperature
|
||||
: $self->extruder->temperature;
|
||||
|
@ -534,8 +534,8 @@ sub build {
|
||||
options => [qw(perimeter_extruder infill_extruder support_material_extruder support_material_interface_extruder)],
|
||||
},
|
||||
{
|
||||
title => 'Standby Temperature',
|
||||
options => [qw(standby_temperature standby_temperature_delta)],
|
||||
title => 'Ooze prevention',
|
||||
options => [qw(ooze_prevention standby_temperature_delta)],
|
||||
},
|
||||
]);
|
||||
|
||||
|
@ -275,9 +275,9 @@ sub init_extruders {
|
||||
));
|
||||
}
|
||||
|
||||
# enforce tall skirt if using standby_temperature
|
||||
# NOTE: this is not idempotent (i.e. switching standby_temperature off will not revert skirt settings)
|
||||
if ($self->config->standby_temperature) {
|
||||
# enforce tall skirt if using ooze_prevention
|
||||
# NOTE: this is not idempotent (i.e. switching ooze_prevention off will not revert skirt settings)
|
||||
if ($self->config->ooze_prevention && @{$self->extruders} > 1) {
|
||||
$self->config->set('skirt_height', 9999999999);
|
||||
$self->config->set('skirts', 1) if $self->config->skirts == 0;
|
||||
}
|
||||
@ -574,7 +574,7 @@ EOF
|
||||
sub make_skirt {
|
||||
my $self = shift;
|
||||
return unless $Slic3r::Config->skirts > 0
|
||||
|| ($Slic3r::Config->standby_temperature && @{$self->extruders} > 1);
|
||||
|| ($Slic3r::Config->ooze_prevention && @{$self->extruders} > 1);
|
||||
|
||||
# collect points from all layers contained in skirt height
|
||||
my @points = ();
|
||||
@ -744,7 +744,7 @@ sub write_gcode {
|
||||
return if $Slic3r::Config->start_gcode =~ /M(?:109|104)/i;
|
||||
for my $t (0 .. $#{$self->extruders}) {
|
||||
my $temp = $self->extruders->[$t]->first_layer_temperature;
|
||||
$temp += $self->config->standby_temperature_delta if $self->config->standby_temperature;
|
||||
$temp += $self->config->standby_temperature_delta if $self->config->ooze_prevention;
|
||||
printf $fh $gcodegen->set_temperature($temp, $wait, $t) if $temp > 0;
|
||||
}
|
||||
};
|
||||
@ -801,7 +801,7 @@ sub write_gcode {
|
||||
}
|
||||
|
||||
# calculate wiping points if needed
|
||||
if ($self->config->standby_temperature) {
|
||||
if ($self->config->ooze_prevention) {
|
||||
my $outer_skirt = Slic3r::Polygon->new(@{convex_hull([ map $_->pp, map @$_, @{$self->skirt} ])});
|
||||
my @skirts = ();
|
||||
foreach my $extruder (@{$self->extruders}) {
|
||||
|
13
slic3r.pl
13
slic3r.pl
@ -419,12 +419,17 @@ $j
|
||||
--extruder-offset Offset of each extruder, if firmware doesn't handle the displacement
|
||||
(can be specified multiple times, default: 0x0)
|
||||
--perimeter-extruder
|
||||
Extruder to use for perimeters (1+, default: 1)
|
||||
--infill-extruder Extruder to use for infill (1+, default: 1)
|
||||
Extruder to use for perimeters (1+, default: $config->{perimeter_extruder})
|
||||
--infill-extruder Extruder to use for infill (1+, default: $config->{infill_extruder})
|
||||
--support-material-extruder
|
||||
Extruder to use for support material (1+, default: 1)
|
||||
Extruder to use for support material (1+, default: $config->{support_material_extruder})
|
||||
--support-material-interface-extruder
|
||||
Extruder to use for support material interface (1+, default: 1)
|
||||
Extruder to use for support material interface (1+, default: $config->{support_material_interface_extruder})
|
||||
--ooze-prevention Drop temperature and park extruders outside a full skirt for automatic wiping
|
||||
(default: no)
|
||||
--standby-temperature-delta
|
||||
Temperature difference to be applied when an extruder is not active and
|
||||
--ooze-prevention is enabled (default: $config->{standby_temperature_delta})
|
||||
|
||||
EOF
|
||||
exit ($exit_code || 0);
|
||||
|
@ -18,7 +18,7 @@ use Slic3r::Test;
|
||||
$config->set('raft_layers', 2);
|
||||
$config->set('infill_extruder', 2);
|
||||
$config->set('support_material_extruder', 3);
|
||||
$config->set('standby_temperature', 1);
|
||||
$config->set('ooze_prevention', 1);
|
||||
$config->set('extruder_offset', [ [0,0], [20,0], [0,20] ]);
|
||||
$config->set('temperature', [200, 180, 170]);
|
||||
$config->set('first_layer_temperature', [206, 186, 166]);
|
||||
|
Loading…
Reference in New Issue
Block a user