From b468b0da0e5ab8b560a238c8edfd25c51b0bd5bf Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Tue, 27 Sep 2022 15:14:08 +0800 Subject: [PATCH] FIX: wipe tower lose step in the printing process Change-Id: I17b72dd2fb7332a39859a5c3727b34d14ff827d8 (cherry picked from commit dbdd71f0b89e3d4d188e4937cdb1db1510b5f208) --- src/libslic3r/GCode/WipeTower.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index 5a17525c9..62a964a20 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -1083,7 +1083,7 @@ WipeTower::ToolChangeResult WipeTower::finish_layer(bool extrude_perimeter, bool // Slow down on the 1st layer. bool first_layer = is_first_layer(); // BBS: speed up perimeter speed to 90mm/s for non-first layer - float feedrate = first_layer ? std::min(m_first_layer_speed * 60.f, 5400.f) : 5400.f; + float feedrate = first_layer ? std::min(m_first_layer_speed * 60.f, 5400.f) : std::min(m_filpar[m_current_tool].max_e_speed, 5400.f); float fill_box_y = m_layer_info->toolchanges_depth() + m_perimeter_width; box_coordinates fill_box(Vec2f(m_perimeter_width, fill_box_y), m_wipe_tower_width - 2 * m_perimeter_width, m_layer_info->depth - fill_box_y); @@ -1541,7 +1541,6 @@ WipeTower::ToolChangeResult WipeTower::only_generate_out_wall() { size_t old_tool = m_current_tool; - m_extrusion_flow = 0.038f; // hard code WipeTowerWriter writer(m_layer_height, m_perimeter_width, m_gcode_flavor, m_filpar); writer.set_extrusion_flow(m_extrusion_flow) .set_z(m_z_pos) @@ -1551,7 +1550,7 @@ WipeTower::ToolChangeResult WipeTower::only_generate_out_wall() // Slow down on the 1st layer. bool first_layer = is_first_layer(); // BBS: speed up perimeter speed to 90mm/s for non-first layer - float feedrate = first_layer ? std::min(m_first_layer_speed * 60.f, 5400.f) : 5400.f; + float feedrate = first_layer ? std::min(m_first_layer_speed * 60.f, 5400.f) : std::min(m_filpar[m_current_tool].max_e_speed, 5400.f); float fill_box_y = m_layer_info->toolchanges_depth() + m_perimeter_width; box_coordinates fill_box(Vec2f(m_perimeter_width, fill_box_y), m_wipe_tower_width - 2 * m_perimeter_width, m_layer_info->depth - fill_box_y);