From 64aa4e63fe09087ff367d47be5b40233af6ad42f Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Tue, 24 Dec 2024 17:51:52 +0800 Subject: [PATCH] FIX: the speed of wipe tower wall is incorrect after nozzle change gcode(for old wipe tower) jira: none Change-Id: Ifa4d27d112c180ab9fb9c6ef39f95b28a5f8c55a --- src/libslic3r/GCode/WipeTower.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index 017b6916e..289fab4b9 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -836,6 +836,8 @@ WipeTower::ToolChangeResult WipeTower::tool_change(size_t tool, bool extrude_per writer.speed_override_backup(); writer.speed_override(100); + float feedrate = is_first_layer() ? std::min(m_first_layer_speed * 60.f, 5400.f) : std::min(60.0f * m_filpar[m_current_tool].max_e_speed / m_extrusion_flow, 5400.f); + // Increase the extruder driver current to allow fast ramming. //BBS //if (m_set_extruder_trimpot) @@ -909,7 +911,7 @@ WipeTower::ToolChangeResult WipeTower::tool_change(size_t tool, bool extrude_per writer.set_initial_position(pos, m_wipe_tower_width, m_wipe_tower_depth, m_internal_rotation); wt_box = align_perimeter(wt_box); - writer.rectangle(wt_box); + writer.rectangle(wt_box, feedrate); } writer.travel(initial_position); @@ -921,7 +923,7 @@ WipeTower::ToolChangeResult WipeTower::tool_change(size_t tool, bool extrude_per m_layer_info->depth + m_perimeter_width); // align the perimeter wt_box = align_perimeter(wt_box); - writer.rectangle(wt_box); + writer.rectangle(wt_box, feedrate); } writer.append(";" + GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Wipe_Tower_End) + "\n");