From 7346d3ef42b9e4e61d79891c401a4943fb21d1ae Mon Sep 17 00:00:00 2001 From: igiannakas <59056762+igiannakas@users.noreply.github.com> Date: Sun, 10 Sep 2023 11:42:48 +0100 Subject: [PATCH] Overhang perimeter handling Updated code to handle overhang perimeters as an overhang and not as a bridge. --- src/libslic3r/GCode.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 9f6181f713..e9d94e04f1 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -4529,7 +4529,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, std::vector new_points {}; if (m_config.enable_overhang_speed && !m_config.overhang_speed_classic && !this->on_first_layer() && - (is_bridge(path.role()) || is_perimeter(path.role()))) { + is_perimeter(path.role())) { double out_wall_ref_speed = m_config.get_abs_value("outer_wall_speed"); ConfigOptionPercents overhang_overlap_levels({75, 50, 25, 13, 12.99, 0}); ConfigOptionFloatsOrPercents dynamic_overhang_speeds( @@ -4545,8 +4545,13 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, (m_config.get_abs_value("overhang_4_4_speed") < 0.5) ? FloatOrPercent{100, true} : FloatOrPercent{m_config.get_abs_value("overhang_4_4_speed") * 100 / out_wall_ref_speed, true}, - FloatOrPercent{m_config.get_abs_value("bridge_speed") * 100 / out_wall_ref_speed, true}, - FloatOrPercent{m_config.get_abs_value("bridge_speed") * 100 / out_wall_ref_speed, true}}); + (m_config.get_abs_value("overhang_4_4_speed") < 0.5) ? + FloatOrPercent{100, true} : + FloatOrPercent{m_config.get_abs_value("overhang_4_4_speed") * 100 / out_wall_ref_speed, true}, + (m_config.get_abs_value("overhang_4_4_speed") < 0.5) ? + FloatOrPercent{100, true} : + FloatOrPercent{m_config.get_abs_value("overhang_4_4_speed") * 100 / out_wall_ref_speed, true} + }); if (out_wall_ref_speed == 0) out_wall_ref_speed = EXTRUDER_CONFIG(filament_max_volumetric_speed) / _mm3_per_mm;