From 7f913f1cc2eeac032727da42852c493eeb627c33 Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Sat, 5 Apr 2025 07:46:02 +0100 Subject: [PATCH] Fix speed up during overhang slowdown when curled perimeters is enabled. (#9215) --- src/libslic3r/GCode/ExtrusionProcessor.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libslic3r/GCode/ExtrusionProcessor.hpp b/src/libslic3r/GCode/ExtrusionProcessor.hpp index dd0065247d..62a01db11e 100644 --- a/src/libslic3r/GCode/ExtrusionProcessor.hpp +++ b/src/libslic3r/GCode/ExtrusionProcessor.hpp @@ -442,6 +442,10 @@ public: }; float extrusion_speed = std::min(calculate_speed(curr.distance), calculate_speed(next.distance)); + // ORCA: Clamp resulting speed to lowest of calculated speed based on the overhang values and the current speed + // Fixes bug where resulting overhang speed is higher than the current speed due to (for example) volumetric flow limits. + extrusion_speed = std::min(extrusion_speed, original_speed); + if(slowdown_for_curled_edges) { float curled_speed = calculate_speed(artificial_distance_to_curled_lines); extrusion_speed = std::min(curled_speed, extrusion_speed); // adjust extrusion speed based on what is smallest - the calculated overhang speed or the artificial curled speed