From 96e827ca7f9341496f8ed12ecbe4565ce33738da Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Fri, 9 Sep 2022 10:34:48 +0800 Subject: [PATCH] FIX: the tree support use interface materials Change-Id: I6c61c427095bf8157a2e29a8bb81a1754b6fd980 (cherry picked from commit 4b6d5c25599ca8c97184fd977a3bac2f278f8896) --- src/libslic3r/GCode.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 358656b17..c157cd859 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2666,7 +2666,29 @@ GCode::LayerResult GCode::process_layer( } } - if (support_dontcare || interface_dontcare) { + if (interface_dontcare) { + int extruder_override = wiping_extrusions.get_support_interface_extruder_overrides(&object); + if (extruder_override >= 0) { + interface_extruder = extruder_override; + interface_dontcare = false; + } + } + + // BBS: try to print support base with a filament other than interface filament + if (support_dontcare && !interface_dontcare) { + unsigned int dontcare_extruder = first_extruder_id; + for (unsigned int extruder_id : layer_tools.extruders) { + if (print.config().filament_soluble.get_at(extruder_id)) continue; + + if (extruder_id == interface_extruder) continue; + + dontcare_extruder = extruder_id; + break; + } + + if (support_dontcare) support_extruder = dontcare_extruder; + } + else if (support_dontcare || interface_dontcare) { // Some support will be printed with "don't care" material, preferably non-soluble. // Is the current extruder assigned a soluble filament? unsigned int dontcare_extruder = first_extruder_id;