#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.
This commit is contained in:
remi durand 2021-01-18 01:46:02 +01:00
parent 02646d2611
commit 87c671877d
3 changed files with 7 additions and 3 deletions

View File

@ -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())

View File

@ -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

View File

@ -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;