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)
|
Extruder to use for support material (1+, default: 1)
|
||||||
--support-material-interface-extruder
|
--support-material-interface-extruder
|
||||||
Extruder to use for support material interface (1+, default: 1)
|
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
|
If you want to change a preset file, just do
|
||||||
|
|
||||||
|
@ -226,10 +226,10 @@ our $Options = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
# multiple extruder options
|
# multiple extruder options
|
||||||
'standby_temperature' => {
|
'ooze_prevention' => {
|
||||||
label => 'Enable',
|
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.',
|
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',
|
type => 'bool',
|
||||||
default => 0,
|
default => 0,
|
||||||
},
|
},
|
||||||
|
@ -648,7 +648,7 @@ sub set_extruder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# set the current extruder to the standby temperature
|
# 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
|
# move to the nearest standby point
|
||||||
$gcode .= $self->travel_to($self->last_pos->nearest_point($self->standby_points));
|
$gcode .= $self->travel_to($self->last_pos->nearest_point($self->standby_points));
|
||||||
|
|
||||||
@ -673,7 +673,7 @@ sub set_extruder {
|
|||||||
$gcode .= $self->reset_e;
|
$gcode .= $self->reset_e;
|
||||||
|
|
||||||
# set the new extruder to the operating temperature
|
# 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
|
my $temp = defined $self->layer && $self->layer->id == 0
|
||||||
? $self->extruder->first_layer_temperature
|
? $self->extruder->first_layer_temperature
|
||||||
: $self->extruder->temperature;
|
: $self->extruder->temperature;
|
||||||
|
@ -534,8 +534,8 @@ sub build {
|
|||||||
options => [qw(perimeter_extruder infill_extruder support_material_extruder support_material_interface_extruder)],
|
options => [qw(perimeter_extruder infill_extruder support_material_extruder support_material_interface_extruder)],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title => 'Standby Temperature',
|
title => 'Ooze prevention',
|
||||||
options => [qw(standby_temperature standby_temperature_delta)],
|
options => [qw(ooze_prevention standby_temperature_delta)],
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
@ -275,9 +275,9 @@ sub init_extruders {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
# enforce tall skirt if using standby_temperature
|
# enforce tall skirt if using ooze_prevention
|
||||||
# NOTE: this is not idempotent (i.e. switching standby_temperature off will not revert skirt settings)
|
# NOTE: this is not idempotent (i.e. switching ooze_prevention off will not revert skirt settings)
|
||||||
if ($self->config->standby_temperature) {
|
if ($self->config->ooze_prevention && @{$self->extruders} > 1) {
|
||||||
$self->config->set('skirt_height', 9999999999);
|
$self->config->set('skirt_height', 9999999999);
|
||||||
$self->config->set('skirts', 1) if $self->config->skirts == 0;
|
$self->config->set('skirts', 1) if $self->config->skirts == 0;
|
||||||
}
|
}
|
||||||
@ -574,7 +574,7 @@ EOF
|
|||||||
sub make_skirt {
|
sub make_skirt {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return unless $Slic3r::Config->skirts > 0
|
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
|
# collect points from all layers contained in skirt height
|
||||||
my @points = ();
|
my @points = ();
|
||||||
@ -744,7 +744,7 @@ sub write_gcode {
|
|||||||
return if $Slic3r::Config->start_gcode =~ /M(?:109|104)/i;
|
return if $Slic3r::Config->start_gcode =~ /M(?:109|104)/i;
|
||||||
for my $t (0 .. $#{$self->extruders}) {
|
for my $t (0 .. $#{$self->extruders}) {
|
||||||
my $temp = $self->extruders->[$t]->first_layer_temperature;
|
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;
|
printf $fh $gcodegen->set_temperature($temp, $wait, $t) if $temp > 0;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -801,7 +801,7 @@ sub write_gcode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# calculate wiping points if needed
|
# 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 $outer_skirt = Slic3r::Polygon->new(@{convex_hull([ map $_->pp, map @$_, @{$self->skirt} ])});
|
||||||
my @skirts = ();
|
my @skirts = ();
|
||||||
foreach my $extruder (@{$self->extruders}) {
|
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
|
--extruder-offset Offset of each extruder, if firmware doesn't handle the displacement
|
||||||
(can be specified multiple times, default: 0x0)
|
(can be specified multiple times, default: 0x0)
|
||||||
--perimeter-extruder
|
--perimeter-extruder
|
||||||
Extruder to use for perimeters (1+, default: 1)
|
Extruder to use for perimeters (1+, default: $config->{perimeter_extruder})
|
||||||
--infill-extruder Extruder to use for infill (1+, default: 1)
|
--infill-extruder Extruder to use for infill (1+, default: $config->{infill_extruder})
|
||||||
--support-material-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
|
--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
|
EOF
|
||||||
exit ($exit_code || 0);
|
exit ($exit_code || 0);
|
||||||
|
@ -18,7 +18,7 @@ use Slic3r::Test;
|
|||||||
$config->set('raft_layers', 2);
|
$config->set('raft_layers', 2);
|
||||||
$config->set('infill_extruder', 2);
|
$config->set('infill_extruder', 2);
|
||||||
$config->set('support_material_extruder', 3);
|
$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('extruder_offset', [ [0,0], [20,0], [0,20] ]);
|
||||||
$config->set('temperature', [200, 180, 170]);
|
$config->set('temperature', [200, 180, 170]);
|
||||||
$config->set('first_layer_temperature', [206, 186, 166]);
|
$config->set('first_layer_temperature', [206, 186, 166]);
|
||||||
|
Loading…
Reference in New Issue
Block a user