When the support extruders are set to 0, support is printed with the current material without a tool change.

A fix of support path generator.
This commit is contained in:
bubnikv 2017-01-30 19:56:46 +01:00
parent 4e90ae9a28
commit 4ab972b87a
7 changed files with 77 additions and 53 deletions

View file

@ -480,7 +480,9 @@ sub process_layer {
# and also because we avoid travelling on other things when printing it
if ($layer->isa('Slic3r::Layer::Support')) {
if ($layer->support_interface_fills->count > 0) {
$gcode .= $self->_gcodegen->set_extruder($object->config->support_material_interface_extruder-1);
# Don't change extruder if the extruder is set to 0. Use the current extruder instead.
$gcode .= $self->_gcodegen->set_extruder($object->config->support_material_interface_extruder-1)
if ($object->config->support_material_interface_extruder > 0);
for my $path (@{$layer->support_interface_fills->chained_path_from($self->_gcodegen->last_pos, 0)}) {
if ($path->isa('Slic3r::ExtrusionMultiPath')) {
$gcode .= $self->_gcodegen->extrude_multipath($path, 'support material interface', $object->config->get_abs_value('support_material_interface_speed'));
@ -490,7 +492,9 @@ sub process_layer {
}
}
if ($layer->support_fills->count > 0) {
$gcode .= $self->_gcodegen->set_extruder($object->config->support_material_extruder-1);
# Don't change extruder if the extruder is set to 0. Use the current extruder instead.
$gcode .= $self->_gcodegen->set_extruder($object->config->support_material_extruder-1)
if ($object->config->support_material_extruder > 0);
for my $path (@{$layer->support_fills->chained_path_from($self->_gcodegen->last_pos, 0)}) {
if ($path->isa('Slic3r::ExtrusionMultiPath')) {
$gcode .= $self->_gcodegen->extrude_multipath($path, 'support material', $object->config->get_abs_value('support_material_speed'));