mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Yet another experimental parameter to adjust the initial loading speed of a newly loaded filament
This commit is contained in:
		
							parent
							
								
									2fe84fc199
								
							
						
					
					
						commit
						28c8e176b5
					
				
					 7 changed files with 31 additions and 12 deletions
				
			
		|  | @ -879,10 +879,15 @@ void WipeTowerPrusaMM::toolchange_Load( | |||
| 
 | ||||
|     writer.append("; CP TOOLCHANGE LOAD\n") | ||||
| 		  .suppress_preview() | ||||
| 		  .load_move_x_advanced(turning_point, 0.2f * edist, 0.3f * m_filpar[m_current_tool].loading_speed)  // Acceleration
 | ||||
| 		  /*.load_move_x_advanced(turning_point, 0.2f * edist, 0.3f * m_filpar[m_current_tool].loading_speed)  // Acceleration
 | ||||
| 		  .load_move_x_advanced(oldx,          0.5f * edist,        m_filpar[m_current_tool].loading_speed)  // Fast phase
 | ||||
| 		  .load_move_x_advanced(turning_point, 0.2f * edist, 0.3f * m_filpar[m_current_tool].loading_speed)  // Slowing down
 | ||||
| 		  .load_move_x_advanced(oldx,          0.1f * edist, 0.1f * m_filpar[m_current_tool].loading_speed)  // Super slow
 | ||||
| 		  .load_move_x_advanced(oldx,          0.1f * edist, 0.1f * m_filpar[m_current_tool].loading_speed)  // Super slow*/
 | ||||
| 
 | ||||
|           .load(0.2f * edist, 60.f * m_filpar[m_current_tool].loading_speed_start) | ||||
|           .load_move_x_advanced(turning_point, 0.7f * edist,        m_filpar[m_current_tool].loading_speed)  // Fast phase
 | ||||
| 		  .load_move_x_advanced(oldx,          0.1f * edist, 0.1f * m_filpar[m_current_tool].loading_speed)  // Super slow*/
 | ||||
| 
 | ||||
|           .travel(oldx, writer.y()) // in case last move was shortened to limit x feedrate
 | ||||
| 		  .resume_preview(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -65,7 +65,7 @@ public: | |||
| 
 | ||||
| 
 | ||||
| 	// Set the extruder properties.
 | ||||
| 	void set_extruder(size_t idx, material_type material, int temp, int first_layer_temp, float loading_speed, | ||||
| 	void set_extruder(size_t idx, material_type material, int temp, int first_layer_temp, float loading_speed, float loading_speed_start, | ||||
|                       float unloading_speed, float unloading_speed_start, float delay, int cooling_moves, | ||||
|                       float cooling_initial_speed, float cooling_final_speed, std::string ramming_parameters, float nozzle_diameter) | ||||
| 	{ | ||||
|  | @ -76,6 +76,7 @@ public: | |||
|         m_filpar[idx].temperature = temp; | ||||
|         m_filpar[idx].first_layer_temperature = first_layer_temp; | ||||
|         m_filpar[idx].loading_speed = loading_speed; | ||||
|         m_filpar[idx].loading_speed_start = loading_speed_start; | ||||
|         m_filpar[idx].unloading_speed = unloading_speed; | ||||
|         m_filpar[idx].unloading_speed_start = unloading_speed_start; | ||||
|         m_filpar[idx].delay = delay; | ||||
|  | @ -217,6 +218,7 @@ private: | |||
|         int  			    temperature = 0; | ||||
|         int  			    first_layer_temperature = 0; | ||||
|         float               loading_speed = 0.f; | ||||
|         float               loading_speed_start = 0.f; | ||||
|         float               unloading_speed = 0.f; | ||||
|         float               unloading_speed_start = 0.f; | ||||
|         float               delay = 0.f ; | ||||
|  |  | |||
|  | @ -200,6 +200,7 @@ bool Print::invalidate_state_by_config_options(const std::vector<t_config_option | |||
|             || opt_key == "filament_soluble" | ||||
|             || opt_key == "first_layer_temperature" | ||||
|             || opt_key == "filament_loading_speed" | ||||
|             || opt_key == "filament_loading_speed_start" | ||||
|             || opt_key == "filament_unloading_speed" | ||||
|             || opt_key == "filament_unloading_speed_start" | ||||
|             || opt_key == "filament_toolchange_delay" | ||||
|  | @ -1124,6 +1125,7 @@ void Print::_make_wipe_tower() | |||
|             this->config.temperature.get_at(i), | ||||
|             this->config.first_layer_temperature.get_at(i), | ||||
|             this->config.filament_loading_speed.get_at(i), | ||||
|             this->config.filament_loading_speed_start.get_at(i), | ||||
|             this->config.filament_unloading_speed.get_at(i), | ||||
|             this->config.filament_unloading_speed_start.get_at(i), | ||||
|             this->config.filament_toolchange_delay.get_at(i), | ||||
|  |  | |||
|  | @ -473,6 +473,14 @@ PrintConfigDef::PrintConfigDef() | |||
|     def->min = 0; | ||||
|     def->default_value = new ConfigOptionFloats { 28. }; | ||||
| 
 | ||||
|     def = this->add("filament_loading_speed_start", coFloats); | ||||
|     def->label = L("EXPERIMENTAL: Loading speed at the start"); | ||||
|     def->tooltip = L("Speed used at the very beginning of loading phase. "); | ||||
|     def->sidetext = L("mm/s"); | ||||
|     def->cli = "filament-loading-speed-start=f@"; | ||||
|     def->min = 0; | ||||
|     def->default_value = new ConfigOptionFloats { 9. }; | ||||
| 
 | ||||
|     def = this->add("filament_unloading_speed", coFloats); | ||||
|     def->label = L("Unloading speed"); | ||||
|     def->tooltip = L("Speed used for unloading the filament on the wipe tower (does not affect " | ||||
|  |  | |||
|  | @ -528,6 +528,7 @@ public: | |||
|     ConfigOptionFloats              filament_cost; | ||||
|     ConfigOptionFloats              filament_max_volumetric_speed; | ||||
|     ConfigOptionFloats              filament_loading_speed; | ||||
|     ConfigOptionFloats              filament_loading_speed_start; | ||||
|     ConfigOptionFloats              filament_load_time; | ||||
|     ConfigOptionFloats              filament_unloading_speed; | ||||
|     ConfigOptionFloats              filament_unloading_speed_start; | ||||
|  | @ -595,6 +596,7 @@ protected: | |||
|         OPT_PTR(filament_cost); | ||||
|         OPT_PTR(filament_max_volumetric_speed); | ||||
|         OPT_PTR(filament_loading_speed); | ||||
|         OPT_PTR(filament_loading_speed_start); | ||||
|         OPT_PTR(filament_load_time); | ||||
|         OPT_PTR(filament_unloading_speed); | ||||
|         OPT_PTR(filament_unloading_speed_start); | ||||
|  |  | |||
|  | @ -313,13 +313,12 @@ const std::vector<std::string>& Preset::filament_options() | |||
| {     | ||||
|     static std::vector<std::string> s_opts { | ||||
|         "filament_colour", "filament_diameter", "filament_type", "filament_soluble", "filament_notes", "filament_max_volumetric_speed", | ||||
|         "extrusion_multiplier", "filament_density", "filament_cost",  | ||||
|         "filament_loading_speed", "filament_load_time", "filament_unloading_speed", "filament_unloading_speed_start", "filament_unload_time", | ||||
|         "filament_toolchange_delay", "filament_cooling_moves", "filament_cooling_initial_speed", "filament_cooling_final_speed", "filament_ramming_parameters", | ||||
|         "filament_minimal_purge_on_wipe_tower", "temperature", "first_layer_temperature", "bed_temperature", "first_layer_bed_temperature", | ||||
|         "fan_always_on", "cooling", "min_fan_speed", "max_fan_speed", "bridge_fan_speed", "disable_fan_first_layers", "fan_below_layer_time", | ||||
|         "slowdown_below_layer_time", "min_print_speed", "start_filament_gcode", "end_filament_gcode","compatible_printers", "compatible_printers_condition", | ||||
|         "inherits" | ||||
|         "extrusion_multiplier", "filament_density", "filament_cost", "filament_loading_speed", "filament_loading_speed_start", "filament_load_time", | ||||
|         "filament_unloading_speed", "filament_unloading_speed_start", "filament_unload_time", "filament_toolchange_delay", "filament_cooling_moves", | ||||
|         "filament_cooling_initial_speed", "filament_cooling_final_speed", "filament_ramming_parameters", "filament_minimal_purge_on_wipe_tower", | ||||
|         "temperature", "first_layer_temperature", "bed_temperature", "first_layer_bed_temperature", "fan_always_on", "cooling", "min_fan_speed", | ||||
|         "max_fan_speed", "bridge_fan_speed", "disable_fan_first_layers", "fan_below_layer_time", "slowdown_below_layer_time", "min_print_speed", | ||||
|         "start_filament_gcode", "end_filament_gcode","compatible_printers", "compatible_printers_condition", "inherits" | ||||
|     }; | ||||
|     return s_opts; | ||||
| } | ||||
|  |  | |||
|  | @ -1290,9 +1290,10 @@ void TabFilament::build() | |||
| 		optgroup->append_line(line); | ||||
| 
 | ||||
|         optgroup = page->new_optgroup(_(L("Toolchange parameters with single extruder MM printers"))); | ||||
| 		optgroup->append_single_option_line("filament_loading_speed"); | ||||
|         optgroup->append_single_option_line("filament_unloading_speed"); | ||||
| 		optgroup->append_single_option_line("filament_loading_speed_start"); | ||||
|         optgroup->append_single_option_line("filament_loading_speed"); | ||||
|         optgroup->append_single_option_line("filament_unloading_speed_start"); | ||||
|         optgroup->append_single_option_line("filament_unloading_speed"); | ||||
| 		optgroup->append_single_option_line("filament_load_time"); | ||||
| 		optgroup->append_single_option_line("filament_unload_time"); | ||||
|         optgroup->append_single_option_line("filament_toolchange_delay"); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lukas Matena
						Lukas Matena