mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-08 07:27:41 -06:00
ENH: Re-open support independent layer height
Allow user to disable support independent layer height when prime tower closed. Fix wrong WIKI link jumping. JIRA: STUDIO-1685 JIRA: STUDIO-2308 Change-Id: I894fdd37b707c53e17fd4ad7d1518897f307e557 (cherry picked from commit e10d31e123306a0893087ea03693303768a2daf6)
This commit is contained in:
parent
ee3e8fc515
commit
4cb8b1e125
5 changed files with 17 additions and 7 deletions
|
@ -725,7 +725,7 @@ static std::vector<std::string> s_Preset_print_options {
|
|||
"raft_layers", "raft_first_layer_density", "raft_first_layer_expansion", "raft_contact_distance", "raft_expansion",
|
||||
"support_base_pattern", "support_base_pattern_spacing", "support_expansion", "support_style",
|
||||
// BBS
|
||||
//"independent_support_layer_height",
|
||||
"independent_support_layer_height",
|
||||
"support_angle", "support_interface_top_layers", "support_interface_bottom_layers",
|
||||
"support_interface_pattern", "support_interface_spacing", "support_interface_loop_pattern",
|
||||
"support_top_z_distance", "support_on_build_plate_only","support_critical_regions_only", "bridge_no_support", "thick_bridges", "max_bridge_length", "print_sequence",
|
||||
|
|
|
@ -203,7 +203,8 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|
|||
steps.emplace_back(psWipeTower);
|
||||
steps.emplace_back(psSkirtBrim);
|
||||
} else if (opt_key == "filament_soluble"
|
||||
|| opt_key == "filament_is_support") {
|
||||
|| opt_key == "filament_is_support"
|
||||
|| opt_key == "independent_support_layer_height") {
|
||||
steps.emplace_back(psWipeTower);
|
||||
// Soluble support interface / non-soluble base interface produces non-soluble interface layers below soluble interface layers.
|
||||
// Thus switching between soluble / non-soluble interface layer material may require recalculation of supports.
|
||||
|
|
|
@ -2694,7 +2694,8 @@ void PrintConfigDef::init_fff_params()
|
|||
def = this->add("independent_support_layer_height", coBool);
|
||||
def->label = L("Independent support layer height");
|
||||
def->category = L("Support");
|
||||
def->tooltip = L("Support layer uses layer height independent with object layer. This is to support customizing z-gap and save print time.");
|
||||
def->tooltip = L("Support layer uses layer height independent with object layer. This is to support customizing z-gap and save print time."
|
||||
"This option will be invalid when the prime tower is enabled.");
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(true));
|
||||
|
||||
|
@ -4031,10 +4032,12 @@ void DynamicPrintConfig::normalize_fdm(int used_filaments)
|
|||
//if (alh_opt)
|
||||
// alh_opt->value = false;
|
||||
}
|
||||
/* BBS: MusangKing - not sure if this is still valid, just comment it out cause "Independent support layer height" is re-opened.
|
||||
else {
|
||||
if (islh_opt)
|
||||
islh_opt->value = true;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4120,6 +4123,7 @@ t_config_option_keys DynamicPrintConfig::normalize_fdm_2(int num_objects, int us
|
|||
// //alh_opt->value = false;
|
||||
//}
|
||||
}
|
||||
/* BBS:MusangKing - use "global->support->Independent support layer height" widget to replace previous assignment
|
||||
else {
|
||||
if (islh_opt) {
|
||||
if (!islh_opt->value) {
|
||||
|
@ -4129,6 +4133,7 @@ t_config_option_keys DynamicPrintConfig::normalize_fdm_2(int num_objects, int us
|
|||
//islh_opt->value = true;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
return changed_keys;
|
||||
|
|
|
@ -594,7 +594,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
|
|||
"bridge_no_support", "max_bridge_length", "support_top_z_distance", "support_bottom_z_distance",
|
||||
//BBS: add more support params to dependent of enable_support
|
||||
"support_type", "support_on_build_plate_only", "support_critical_regions_only",
|
||||
"support_object_xy_distance", "independent_support_layer_height"})
|
||||
"support_object_xy_distance"/*, "independent_support_layer_height"*/})
|
||||
toggle_field(el, have_support_material);
|
||||
toggle_field("support_threshold_angle", have_support_material && is_auto(support_type));
|
||||
//toggle_field("support_closing_radius", have_support_material && support_style == smsSnug);
|
||||
|
@ -648,6 +648,9 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
|
|||
for (auto el : {"flush_into_infill", "flush_into_support", "flush_into_objects"})
|
||||
toggle_field(el, have_prime_tower);
|
||||
|
||||
// BBS: MusangKing - Hide "Independent support layer height" option
|
||||
toggle_line("independent_support_layer_height", have_support_material && !have_prime_tower);
|
||||
|
||||
bool have_avoid_crossing_perimeters = config->opt_bool("reduce_crossing_wall");
|
||||
toggle_line("max_travel_detour_distance", have_avoid_crossing_perimeters);
|
||||
|
||||
|
|
|
@ -1466,7 +1466,7 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value)
|
|||
if (is_support_filament(interface_filament_id) && !(m_config->opt_float("support_top_z_distance") == 0 && m_config->opt_float("support_interface_spacing") == 0 &&
|
||||
m_config->opt_enum<SupportMaterialInterfacePattern>("support_interface_pattern") == SupportMaterialInterfacePattern::smipConcentric)) {
|
||||
wxString msg_text = _L("When using support material for the support interface, We recommend the following settings:\n"
|
||||
"0 top z distance, 0 interface spacing, concentric pattern.");
|
||||
"0 top z distance, 0 interface spacing, concentric pattern and disable independent support layer height");
|
||||
msg_text += "\n\n" + _L("Change these settings automatically? \n"
|
||||
"Yes - Change these settings automatically\n"
|
||||
"No - Do not change these settings for me");
|
||||
|
@ -1476,6 +1476,7 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value)
|
|||
new_conf.set_key_value("support_top_z_distance", new ConfigOptionFloat(0));
|
||||
new_conf.set_key_value("support_interface_spacing", new ConfigOptionFloat(0));
|
||||
new_conf.set_key_value("support_interface_pattern", new ConfigOptionEnum<SupportMaterialInterfacePattern>(SupportMaterialInterfacePattern::smipConcentric));
|
||||
new_conf.set_key_value("independent_support_layer_height", new ConfigOptionBool(false));
|
||||
m_config_manipulation.apply(m_config, &new_conf);
|
||||
}
|
||||
wxGetApp().plater()->update();
|
||||
|
@ -1978,10 +1979,10 @@ void TabPrint::build()
|
|||
optgroup->append_single_option_line("support_expansion", "support#base-pattern");
|
||||
//optgroup->append_single_option_line("support_interface_loop_pattern");
|
||||
|
||||
optgroup->append_single_option_line("support_object_xy_distance", "support#supportobject-xy-distance");
|
||||
optgroup->append_single_option_line("support_object_xy_distance", "support");
|
||||
optgroup->append_single_option_line("bridge_no_support", "support#base-pattern");
|
||||
optgroup->append_single_option_line("max_bridge_length", "support#base-pattern");
|
||||
//optgroup->append_single_option_line("independent_support_layer_height");
|
||||
optgroup->append_single_option_line("independent_support_layer_height", "support");
|
||||
|
||||
page = add_options_page(L("Others"), "advanced");
|
||||
optgroup = page->new_optgroup(L("Bed adhension"), L"param_adhension");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue