Fix ooze prevention bug

This commit is contained in:
SoftFever 2024-07-12 23:03:07 +08:00
parent 2fe68edc85
commit 4bca54873d
3 changed files with 5 additions and 5 deletions

View file

@ -258,7 +258,7 @@ static std::vector<Vec2d> get_path_of_change_filament(const Print& print)
unsigned int extruder_id = gcodegen.writer().extruder()->id();
const auto& filament_idle_temp = gcodegen.config().idle_temperature;
if (filament_idle_temp.get_at(extruder_id) > 0) {
if (filament_idle_temp.get_at(extruder_id) == 0) {
// There is no idle temperature defined in filament settings.
// Use the delta value from print config.
if (gcodegen.config().standby_temperature_delta.value != 0) {

View file

@ -1162,10 +1162,10 @@ StringObjectException Print::validate(StringObjectException *warning, Polygons*
if (! m_config.use_relative_e_distances)
return { L("The Wipe Tower is currently only supported with the relative extruder addressing (use_relative_e_distances=1).") };
if (m_config.ooze_prevention)
return { L("Ooze prevention is currently not supported with the prime tower enabled.") };
// BBS: remove following logic and _L()
if (m_config.ooze_prevention && m_config.single_extruder_multi_material)
return {L("Ooze prevention is only supported with the wipe tower when 'single_extruder_multi_material' is off.")};
#if 0
if (m_config.gcode_flavor != gcfRepRapSprinter && m_config.gcode_flavor != gcfRepRapFirmware &&
m_config.gcode_flavor != gcfRepetier && m_config.gcode_flavor != gcfMarlinLegacy && m_config.gcode_flavor != gcfMarlinFirmware)

View file

@ -4073,7 +4073,7 @@ void PrintConfigDef::init_fff_params()
// TRN PrintSettings : "Ooze prevention" > "Temperature variation"
def->tooltip = L("Temperature difference to be applied when an extruder is not active. "
"The value is not used when 'idle_temperature' in filament settings "
"is defined.");
"is set to non zero value.");
def->sidetext = "∆°C";
def->min = -max_temp;
def->max = max_temp;