From 4481525169fc338f8ccd0da6a13a6290ecd87777 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20=C5=A0ach?= Date: Thu, 25 Jan 2024 10:29:49 +0100 Subject: [PATCH] Fix wipe tower deretraction string. Return the previous behaviour for non priming toolchanges and handle priming toolchanges separately. --- src/libslic3r/GCode/WipeTowerIntegration.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/GCode/WipeTowerIntegration.cpp b/src/libslic3r/GCode/WipeTowerIntegration.cpp index 8493a4e8ef..2f37ecbb06 100644 --- a/src/libslic3r/GCode/WipeTowerIntegration.cpp +++ b/src/libslic3r/GCode/WipeTowerIntegration.cpp @@ -93,7 +93,8 @@ std::string WipeTowerIntegration::append_tcr(GCodeGenerator &gcodegen, const Wip gcodegen.m_wipe.reset_path(); // We don't want wiping on the ramming lines. toolchange_gcode_str = gcodegen.set_extruder(new_extruder_id, tcr.print_z); // TODO: toolchange_z vs print_z if (gcodegen.config().wipe_tower) { - deretraction_str += gcodegen.writer().get_travel_to_z_gcode(tcr.print_z, "restore layer Z"); + const double retract_to_z = tcr.priming ? tcr.print_z + gcodegen.config().z_offset.value : z; + deretraction_str += gcodegen.writer().get_travel_to_z_gcode(retract_to_z, "restore layer Z"); deretraction_str += gcodegen.unretract(); } }