mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 19:28:14 -06:00
Add Lift Z only Above/Below, On Surface (e.g. Only on Top) (#1562)
* Added config options for Enforce Lift Z (from SS, doesn't affect Gcode yet) * working, minus first layer override; also fixed m_last_extrusion_role not being set * fixed logic to match SS * minimize to just one config * removed first layer override * Cleaned up logic, working as intended * added lift above z, lift below z; somehow broke filament overrides * fixed overrides not working, but lift above/below and enforce don't override * fixed filament overrides --------- Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
parent
777c7c68f9
commit
7a3971eca5
8 changed files with 127 additions and 22 deletions
|
@ -2560,7 +2560,10 @@ void TabFilament::add_filament_overrides_page()
|
|||
|
||||
for (const std::string opt_key : { "filament_retraction_length",
|
||||
"filament_z_hop",
|
||||
"filament_z_hop_types",
|
||||
"filament_z_hop_types",
|
||||
"filament_retract_lift_above",
|
||||
"filament_retract_lift_below",
|
||||
"filament_retract_lift_enforce",
|
||||
"filament_retraction_speed",
|
||||
"filament_deretraction_speed",
|
||||
"filament_retract_restart_extra",
|
||||
|
@ -2594,7 +2597,10 @@ void TabFilament::update_filament_overrides_page()
|
|||
|
||||
std::vector<std::string> opt_keys = { "filament_retraction_length",
|
||||
"filament_z_hop",
|
||||
"filament_z_hop_types",
|
||||
"filament_z_hop_types",
|
||||
"filament_retract_lift_above",
|
||||
"filament_retract_lift_below",
|
||||
"filament_retract_lift_enforce",
|
||||
"filament_retraction_speed",
|
||||
"filament_deretraction_speed",
|
||||
"filament_retract_restart_extra",
|
||||
|
@ -3507,6 +3513,11 @@ void TabPrinter::build_unregular_pages(bool from_initial_build/* = false*/)
|
|||
optgroup->append_single_option_line("wipe_distance", "", extruder_idx);
|
||||
optgroup->append_single_option_line("retract_before_wipe", "", extruder_idx);
|
||||
|
||||
optgroup = page->new_optgroup(L("Lift Z Enforcement"), L"param_retraction", -1, true);
|
||||
optgroup->append_single_option_line("retract_lift_above", "", extruder_idx);
|
||||
optgroup->append_single_option_line("retract_lift_below", "", extruder_idx);
|
||||
optgroup->append_single_option_line("retract_lift_enforce", "", extruder_idx);
|
||||
|
||||
optgroup = page->new_optgroup(L("Retraction when switching material"), L"param_retraction", -1, true);
|
||||
optgroup->append_single_option_line("retract_length_toolchange", "", extruder_idx);
|
||||
optgroup->append_single_option_line("retract_restart_extra_toolchange", "", extruder_idx);
|
||||
|
@ -3707,6 +3718,12 @@ void TabPrinter::toggle_options()
|
|||
for (auto el : vec)
|
||||
toggle_option(el, retraction, i);
|
||||
|
||||
// retract lift above / below + enforce only applies if using retract lift
|
||||
vec.resize(0);
|
||||
vec = {"retract_lift_above", "retract_lift_below", "retract_lift_enforce"};
|
||||
for (auto el : vec)
|
||||
toggle_option(el, retraction && (m_config->opt_float("z_hop", i) > 0), i);
|
||||
|
||||
// some options only apply when not using firmware retraction
|
||||
vec.resize(0);
|
||||
vec = { "retraction_speed", "deretraction_speed", "retract_before_wipe", "retract_restart_extra", "wipe", "wipe_distance" };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue