From da3819f52f5454075342e8565fe9020773aa25ef Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Thu, 20 Mar 2025 15:16:33 +0800 Subject: [PATCH] FIX: fix the error wipe path jira: none Change-Id: I34af54711531b208049cbbc3883bca92328b9b5a --- src/libslic3r/GCode.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 27c24d353..5d47126cf 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -688,6 +688,8 @@ static std::vector get_path_of_change_filament(const Print& print) end_filament_gcode_str = nozzle_change_gcode_trans + end_filament_gcode_str; } + end_filament_gcode_str = toolchange_retract_str + end_filament_gcode_str; + if (! change_filament_gcode.empty()) { DynamicConfig config; int old_filament_id = gcodegen.writer().filament() ? (int)gcodegen.writer().filament()->id() : -1; @@ -855,8 +857,6 @@ static std::vector get_path_of_change_filament(const Print& print) std::string toolchange_unretract_str = gcodegen.unretract(); check_add_eol(toolchange_unretract_str); - toolchange_gcode_str = toolchange_retract_str + toolchange_gcode_str + toolchange_unretract_str; - gcodegen.placeholder_parser().set("current_extruder", new_filament_id); gcodegen.placeholder_parser().set("retraction_distance_when_cut", gcodegen.m_config.retraction_distances_when_cut.get_at(new_filament_id)); gcodegen.placeholder_parser().set("long_retraction_when_cut", gcodegen.m_config.long_retractions_when_cut.get_at(new_filament_id)); @@ -872,6 +872,8 @@ static std::vector get_path_of_change_filament(const Print& print) check_add_eol(start_filament_gcode_str); } + start_filament_gcode_str = start_filament_gcode_str + toolchange_unretract_str; + // Insert the end filament, toolchange, and start filament gcode into the generated gcode. DynamicConfig config; config.set_key_value("filament_end_gcode", new ConfigOptionString(end_filament_gcode_str));