mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-09-17 20:33:13 +08:00
Make 'retraction when tool is disabled' parameters overriddable in Filament Overrides
This commit is contained in:
parent
b66402c62d
commit
c6a8b01073
@ -474,7 +474,7 @@ static std::vector<std::string> s_Preset_filament_options {
|
|||||||
"overhang_fan_speed_0", "overhang_fan_speed_1", "overhang_fan_speed_2", "overhang_fan_speed_3",
|
"overhang_fan_speed_0", "overhang_fan_speed_1", "overhang_fan_speed_2", "overhang_fan_speed_3",
|
||||||
// Retract overrides
|
// Retract overrides
|
||||||
"filament_retract_length", "filament_retract_lift", "filament_retract_lift_above", "filament_retract_lift_below", "filament_retract_speed", "filament_deretract_speed", "filament_retract_restart_extra", "filament_retract_before_travel",
|
"filament_retract_length", "filament_retract_lift", "filament_retract_lift_above", "filament_retract_lift_below", "filament_retract_speed", "filament_deretract_speed", "filament_retract_restart_extra", "filament_retract_before_travel",
|
||||||
"filament_retract_layer_change", "filament_wipe", "filament_retract_before_wipe",
|
"filament_retract_layer_change", "filament_wipe", "filament_retract_before_wipe", "filament_retract_length_toolchange", "filament_retract_restart_extra_toolchange",
|
||||||
// Profile compatibility
|
// Profile compatibility
|
||||||
"filament_vendor", "compatible_prints", "compatible_prints_condition", "compatible_printers", "compatible_printers_condition", "inherits"
|
"filament_vendor", "compatible_prints", "compatible_prints_condition", "compatible_printers", "compatible_printers_condition", "inherits"
|
||||||
};
|
};
|
||||||
|
@ -3376,7 +3376,8 @@ void PrintConfigDef::init_fff_params()
|
|||||||
// Declare retract values for filament profile, overriding the printer's extruder profile.
|
// Declare retract values for filament profile, overriding the printer's extruder profile.
|
||||||
for (const char *opt_key : {
|
for (const char *opt_key : {
|
||||||
// floats
|
// floats
|
||||||
"retract_length", "retract_lift", "retract_lift_above", "retract_lift_below", "retract_speed", "deretract_speed", "retract_restart_extra", "retract_before_travel",
|
"retract_length", "retract_lift", "retract_lift_above", "retract_lift_below", "retract_speed",
|
||||||
|
"deretract_speed", "retract_restart_extra", "retract_before_travel", "retract_length_toolchange", "retract_restart_extra_toolchange",
|
||||||
// bools
|
// bools
|
||||||
"retract_layer_change", "wipe",
|
"retract_layer_change", "wipe",
|
||||||
// percents
|
// percents
|
||||||
@ -3415,10 +3416,12 @@ void PrintConfigDef::init_extruder_option_keys()
|
|||||||
"retract_before_wipe",
|
"retract_before_wipe",
|
||||||
"retract_layer_change",
|
"retract_layer_change",
|
||||||
"retract_length",
|
"retract_length",
|
||||||
|
"retract_length_toolchange",
|
||||||
"retract_lift",
|
"retract_lift",
|
||||||
"retract_lift_above",
|
"retract_lift_above",
|
||||||
"retract_lift_below",
|
"retract_lift_below",
|
||||||
"retract_restart_extra",
|
"retract_restart_extra",
|
||||||
|
"retract_restart_extra_toolchange",
|
||||||
"retract_speed",
|
"retract_speed",
|
||||||
"wipe"
|
"wipe"
|
||||||
};
|
};
|
||||||
|
@ -1903,6 +1903,13 @@ void TabFilament::add_filament_overrides_page()
|
|||||||
"filament_retract_before_wipe"
|
"filament_retract_before_wipe"
|
||||||
})
|
})
|
||||||
create_line_with_near_label_widget(optgroup, opt_key, extruder_idx);
|
create_line_with_near_label_widget(optgroup, opt_key, extruder_idx);
|
||||||
|
|
||||||
|
optgroup = page->new_optgroup(L("Retraction when tool is disabled"));
|
||||||
|
for (const std::string opt_key : { "filament_retract_length_toolchange",
|
||||||
|
"filament_retract_restart_extra_toolchange"
|
||||||
|
})
|
||||||
|
create_line_with_near_label_widget(optgroup, opt_key, extruder_idx);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabFilament::update_filament_overrides_page()
|
void TabFilament::update_filament_overrides_page()
|
||||||
@ -1911,7 +1918,7 @@ void TabFilament::update_filament_overrides_page()
|
|||||||
return;
|
return;
|
||||||
Page* page = m_active_page;
|
Page* page = m_active_page;
|
||||||
|
|
||||||
const auto og_it = std::find_if(page->m_optgroups.begin(), page->m_optgroups.end(), [](const ConfigOptionsGroupShp og) { return og->title == "Retraction"; });
|
auto og_it = std::find_if(page->m_optgroups.begin(), page->m_optgroups.end(), [](const ConfigOptionsGroupShp og) { return og->title == "Retraction"; });
|
||||||
if (og_it == page->m_optgroups.end())
|
if (og_it == page->m_optgroups.end())
|
||||||
return;
|
return;
|
||||||
ConfigOptionsGroupShp optgroup = *og_it;
|
ConfigOptionsGroupShp optgroup = *og_it;
|
||||||
@ -1939,6 +1946,16 @@ void TabFilament::update_filament_overrides_page()
|
|||||||
bool is_checked = opt_key=="filament_retract_length" ? true : have_retract_length;
|
bool is_checked = opt_key=="filament_retract_length" ? true : have_retract_length;
|
||||||
update_line_with_near_label_widget(optgroup, opt_key, extruder_idx, is_checked);
|
update_line_with_near_label_widget(optgroup, opt_key, extruder_idx, is_checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
og_it = std::find_if(page->m_optgroups.begin(), page->m_optgroups.end(), [](const ConfigOptionsGroupShp og) { return og->title == "Retraction when tool is disabled"; });
|
||||||
|
if (og_it == page->m_optgroups.end())
|
||||||
|
return;
|
||||||
|
optgroup = *og_it;
|
||||||
|
|
||||||
|
for (const std::string& opt_key : {"filament_retract_length_toolchange", "filament_retract_restart_extra_toolchange"})
|
||||||
|
update_line_with_near_label_widget(optgroup, opt_key, extruder_idx);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabFilament::create_extruder_combobox()
|
void TabFilament::create_extruder_combobox()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user