From 083e7cd3d561ceebddb88362a69589e6a7491255 Mon Sep 17 00:00:00 2001 From: Ioannis Giannakas <59056762+igiannakas@users.noreply.github.com> Date: Sun, 11 Feb 2024 03:56:20 +0000 Subject: [PATCH] Decouple filament minimum print speed from overhang slowdown (#3859) --- src/libslic3r/GCode.cpp | 5 ++--- src/libslic3r/PrintConfig.cpp | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index b307a6c1709..e2a8cb476ca 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -4978,7 +4978,6 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, double e_per_mm = m_writer.extruder()->e_per_mm3() * _mm3_per_mm; - double min_speed = double(m_config.slow_down_min_speed.get_at(m_writer.extruder()->id())); // set speed if (speed == -1) { int overhang_degree = path.get_overhang_degree(); @@ -5364,7 +5363,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, } } } else { - double last_set_speed = std::max((float)EXTRUDER_CONFIG(slow_down_min_speed), new_points[0].speed) * 60.0; + double last_set_speed = new_points[0].speed * 60.0; gcode += m_writer.set_speed(last_set_speed, "", comment); Vec2d prev = this->point_to_gcode_quantized(new_points[0].p); @@ -5408,7 +5407,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, } const double line_length = (p - prev).norm(); - double new_speed = std::max((float)EXTRUDER_CONFIG(slow_down_min_speed), pre_processed_point.speed) * 60.0; + double new_speed = pre_processed_point.speed * 60.0; if (last_set_speed != new_speed) { gcode += m_writer.set_speed(new_speed, "", comment); last_set_speed = new_speed; diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 0e24a821fba..128da3c75b6 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -2941,7 +2941,8 @@ def = this->add("filament_loading_speed", coFloats); def = this->add("slow_down_min_speed", coFloats); def->label = L("Min print speed"); - def->tooltip = L("The minimum printing speed for the filament when slow down for better layer cooling is enabled, when printing overhangs and when feature speeds are not specified explicitly."); + def->tooltip = L("The minimum printing speed that the printer will slow down to to attempt to maintain the minimum layer time " + "above, when slow down for better layer cooling is enabled."); def->sidetext = L("mm/s"); def->min = 0; def->mode = comAdvanced;