Rename standby_temperature to ooze_prevention. #1523

This commit is contained in:
Alessandro Ranellucci 2013-11-15 16:01:15 +01:00
parent 5e78f8a0b0
commit beb7939e22
7 changed files with 28 additions and 17 deletions

View File

@ -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

View File

@ -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,
},

View File

@ -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;

View File

@ -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)],
},
]);

View File

@ -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}) {

View File

@ -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);

View File

@ -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]);