From c7d16699a4515c202dc7edbd33754f5abdc5be64 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Tue, 11 Jul 2017 11:41:23 +0200 Subject: [PATCH] When setting an override extruder in the Object Settings dialog, don't apply this extruder to supports. This did not make sense as the new "don't change tool (0)" extruder choice fits well for non-soluble and the soluble supports should not be overriden as well. --- xs/src/libslic3r/PrintConfig.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/xs/src/libslic3r/PrintConfig.cpp b/xs/src/libslic3r/PrintConfig.cpp index 01bb71cc1..4d1479a68 100644 --- a/xs/src/libslic3r/PrintConfig.cpp +++ b/xs/src/libslic3r/PrintConfig.cpp @@ -256,7 +256,7 @@ PrintConfigDef::PrintConfigDef() def->gui_type = "i_enum_open"; def->label = "Extruder"; def->category = "Extruders"; - def->tooltip = "The extruder to use (unless more specific extruder settings are specified)."; + def->tooltip = "The extruder to use (unless more specific extruder settings are specified). This value overrides perimeter and infill extruders, but not the support extruders."; def->cli = "extruder=i"; def->min = 0; // 0 = inherit defaults def->enum_labels.push_back("default"); // override label for item 0 @@ -1668,10 +1668,13 @@ DynamicPrintConfig::normalize() { this->option("infill_extruder", true)->setInt(extruder); if (!this->has("perimeter_extruder")) this->option("perimeter_extruder", true)->setInt(extruder); - if (!this->has("support_material_extruder")) - this->option("support_material_extruder", true)->setInt(extruder); - if (!this->has("support_material_interface_extruder")) - this->option("support_material_interface_extruder", true)->setInt(extruder); + // Don't propagate the current extruder to support. + // For non-soluble supports, the default "0" extruder means to use the active extruder, + // for soluble supports one certainly does not want to set the extruder to non-soluble. + // if (!this->has("support_material_extruder")) + // this->option("support_material_extruder", true)->setInt(extruder); + // if (!this->has("support_material_interface_extruder")) + // this->option("support_material_interface_extruder", true)->setInt(extruder); } }