mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-11-02 20:51:23 -07: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