From 87c671877de73dc6874aa580abd5eeb62c294578 Mon Sep 17 00:00:00 2001 From: remi durand Date: Mon, 18 Jan 2021 01:46:02 +0100 Subject: [PATCH] #882 Volumetric autospeed now respect the linear speed limit Also removed the gapfill speed 0 as kill switch. Now use the box in perimeter tab. --- src/libslic3r/GCode.cpp | 6 +++++- src/libslic3r/PerimeterGenerator.cpp | 2 +- src/libslic3r/PrintConfig.cpp | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index a0b5ed116..985175194 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -3710,8 +3710,12 @@ std::string GCode::_before_extrude(const ExtrusionPath &path, const std::string speed = speed * factor + (1.f - factor) * small_speed; } } - if (m_volumetric_speed != 0. && speed == 0) + if (m_volumetric_speed != 0. && speed == 0) { + //if m_volumetric_speed, use the max size for thinwall & gapfill, to avoid variations speed = m_volumetric_speed / path.mm3_per_mm; + if (speed > m_config.max_print_speed.value) + speed = m_config.max_print_speed.value; + } if (speed == 0) // this code shouldn't trigger as if it's 0, you have to get a m_volumetric_speed speed = m_config.max_print_speed.value; if (this->on_first_layer()) diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index f89b1c5d1..fdd552f1c 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -558,7 +558,7 @@ void PerimeterGenerator::process() next_onion = offset_ex(last, double( - good_spacing)); } // look for gaps - if (this->config->gap_fill_speed.value > 0 && this->config->gap_fill + if (this->config->gap_fill //check if we are going to have an other perimeter && (i <= loop_number || has_overhang || next_onion.empty())) // not using safety offset here would "detect" very narrow gaps diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index dc6c244f5..0be6108fa 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1815,7 +1815,7 @@ void PrintConfigDef::init_fff_params() def->full_label = L("Gap fill speed"); def->category = OptionCategory::speed; def->tooltip = L("Speed for filling small gaps using short zigzag moves. Keep this reasonably low " - "to avoid too much shaking and resonance issues. Set zero to disable gaps filling."); + "to avoid too much shaking and resonance issues."); def->sidetext = L("mm/s"); def->min = 0; def->mode = comAdvanced;