mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Set flowrate per object
This commit is contained in:
		
							parent
							
								
									fb0b7f7b54
								
							
						
					
					
						commit
						7e1a2840e5
					
				
					 6 changed files with 27 additions and 2 deletions
				
			
		|  | @ -3689,7 +3689,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, | |||
|     } | ||||
| 
 | ||||
|     // calculate extrusion length per distance unit
 | ||||
|     double e_per_mm = m_writer.extruder()->e_per_mm3() * path.mm3_per_mm; | ||||
|     double e_per_mm = m_writer.extruder()->e_per_mm3() * path.mm3_per_mm * this->config().print_flow_ratio.get_abs_value(1); | ||||
| 
 | ||||
|     double min_speed = double(m_config.slow_down_min_speed.get_at(m_writer.extruder()->id())); | ||||
|     // set speed
 | ||||
|  |  | |||
|  | @ -748,9 +748,12 @@ static std::vector<std::string> s_Preset_print_options { | |||
|      "timelapse_type", "internal_bridge_support_thickness", | ||||
|      "wall_generator", "wall_transition_length", "wall_transition_filter_deviation", "wall_transition_angle", | ||||
|      "wall_distribution_count", "min_feature_size", "min_bead_width", | ||||
|      // SoftFever
 | ||||
|      "small_perimeter_speed", "small_perimeter_threshold","bridge_angle", "filter_out_gap_fill", "travel_acceleration","inner_wall_acceleration", | ||||
|      "default_jerk", "outer_wall_jerk", "inner_wall_jerk", "top_surface_jerk", "initial_layer_jerk","travel_jerk", | ||||
|      "top_solid_infill_flow_ratio","bottom_solid_infill_flow_ratio","only_one_wall_first_layer" | ||||
|      "top_solid_infill_flow_ratio","bottom_solid_infill_flow_ratio","only_one_wall_first_layer", | ||||
|      "print_flow_ratio" | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| static std::vector<std::string> s_Preset_filament_options { | ||||
|  |  | |||
|  | @ -1149,6 +1149,17 @@ void PrintConfigDef::init_fff_params() | |||
|     def->mode = comAdvanced; | ||||
|     def->set_default_value(new ConfigOptionFloats { 1. }); | ||||
| 
 | ||||
|     def = this->add("print_flow_ratio", coPercent); | ||||
|     def->label = L("Flow ratio"); | ||||
|     def->tooltip = L("The material may have volumetric change after switching between molten state and crystalline state. " | ||||
|                      "This setting changes all extrusion flow of this filament in gcode proportionally. " | ||||
|                      "Recommended value range is between 0.95 and 1.05. " | ||||
|                      "Maybe you can tune this value to get nice flat surface when there has slight overflow or underflow"); | ||||
|     def->sidetext = L("%"); | ||||
|     def->mode = comAdvanced; | ||||
|     def->min = 2; | ||||
|     def->set_default_value(new ConfigOptionPercent(100)); | ||||
| 
 | ||||
|     def = this->add("enable_pressure_advance", coBools); | ||||
|     def->label = L("Enable pressure advance"); | ||||
|     def->tooltip = L("Enable pressure advance, auto calibration result will be overwriten once enabled."); | ||||
|  |  | |||
|  | @ -742,6 +742,8 @@ PRINT_CONFIG_CLASS_DEFINE( | |||
|     ((ConfigOptionFloat,                overhang_4_4_speed)) | ||||
|     ((ConfigOptionBool,                 only_one_wall_top)) | ||||
|     ((ConfigOptionBool,                 only_one_wall_first_layer)) | ||||
|     //SoftFever
 | ||||
|     ((ConfigOptionPercent,              print_flow_ratio)) | ||||
| ) | ||||
| 
 | ||||
| PRINT_CONFIG_CLASS_DEFINE( | ||||
|  |  | |||
|  | @ -598,6 +598,14 @@ void ParamsPanel::set_active_tab(wxPanel* tab) | |||
|         wxString title = cur_tab->type() == Preset::TYPE_FILAMENT ? _L("Filament settings") : _L("Printer settings"); | ||||
|         dialog->SetTitle(title); | ||||
|     } | ||||
|     if (cur_tab == m_tab_print) { | ||||
|         if (cur_tab) | ||||
|             cur_tab->toggle_line("print_flow_ratio", false); | ||||
|     } | ||||
|     else { | ||||
|         if (cur_tab) | ||||
|             cur_tab->toggle_line("print_flow_ratio", false); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| bool ParamsPanel::is_active_and_shown_tab(wxPanel* tab) | ||||
|  |  | |||
|  | @ -1801,6 +1801,7 @@ void TabPrint::build() | |||
| 
 | ||||
|         optgroup = page->new_optgroup(L("Advanced"), L"param_advanced"); | ||||
|         optgroup->append_single_option_line("wall_infill_order"); | ||||
|         optgroup->append_single_option_line("print_flow_ratio"); | ||||
|         optgroup->append_single_option_line("bridge_flow"); | ||||
|         optgroup->append_single_option_line("top_solid_infill_flow_ratio"); | ||||
|         optgroup->append_single_option_line("bottom_solid_infill_flow_ratio"); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 SoftFever
						SoftFever