From 145fb92e078fb4bb1db975f0e6ce6c4cacc2148f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hejl?= Date: Thu, 25 Jan 2024 16:36:22 +0100 Subject: [PATCH] SPE-2098: Emit M600 instead of M601 for multi-tool printers. --- src/libslic3r/GCode.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 769cfe37f6..e50fd3b82b 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -1924,6 +1924,9 @@ namespace ProcessLayer // we should add or not colorprint_change in respect to nozzle_diameter count instead of really used extruders count if (color_change || tool_change) { + const bool single_extruder_multi_material = config.single_extruder_multi_material; + const bool single_extruder_printer = config.nozzle_diameter.size() == 1; + int color_change_extruder = -1; if (color_change && custom_gcode->extruder > 0) color_change_extruder = custom_gcode->extruder - 1; @@ -1935,7 +1938,7 @@ namespace ProcessLayer DynamicConfig cfg; cfg.set_key_value("color_change_extruder", new ConfigOptionInt(color_change_extruder)); - if (!single_extruder_printer && color_change_extruder >= 0 && first_extruder_id != unsigned(color_change_extruder)) { + if (single_extruder_multi_material && !single_extruder_printer && color_change_extruder >= 0 && first_extruder_id != unsigned(color_change_extruder)) { //! FIXME_in_fw show message during print pause // FIXME: Why is pause_print_gcode here? Why is it supplied "color_change_extruder"? gcode += gcodegen.placeholder_parser_process("pause_print_gcode", config.pause_print_gcode, current_extruder_id, &cfg);