mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-16 18:12:10 +00:00
Add more granular control over exhaust fan speed during print and on completion (#13228)
# Description This commit adds the enhancement of https://github.com/OrcaSlicer/OrcaSlicer/issues/13116 - Adds checkboxes to enable or disable the fan speed override during print or after printing is completed. This allows users to, for example, only override the fan speed during printing whilst leaving the fan speed as is set in the machine gcode at the end. - Two new flags are added for this: `activate_air_filtration_during_print[extruder]` and `activate_air_filtration_on_completion[extruder]`. These can be used to more finely control machine gcode - Current filament settings remain as they are: `activate_air_filtration[extruder]` settings are unaffected and by default both new flags are set to true, ensuring the same set behavior as before. # Screenshots/Recordings/Graphs <img width="856" height="208" alt="Screenshot From 2026-04-09 18-57-14" src="https://github.com/user-attachments/assets/e71e7de3-2def-4046-b5dc-55bf3b516ce5" /> As you can see there are now checkboxes left of the fan speeds. They have their own tooltip too, which also helps identify the correct flags for users who want to adjust their machine gcode. ## Tests I have thoroughly tested this on my own computer (CachyOS) and on my printer. I have also carefully checked the gcode in every possible state this is in and ensured that the unsaved changes dialog properly displays the labels for these settings. Flags are set properly, sliced files properly use the flags if you check for them in machine gcode and default behavior is unaffected for those who have already changed settings for air filtration. From what I can see, this does exactly what it should be doing without any issues.
This commit is contained in:
@@ -4018,16 +4018,18 @@ void TabFilament::build()
|
||||
|
||||
optgroup = page->new_optgroup(L("Exhaust fan"),L"param_cooling_exhaust");
|
||||
|
||||
optgroup->append_single_option_line("activate_air_filtration", "material_cooling#activate-air-filtration");
|
||||
optgroup->append_single_option_line("activate_air_filtration", "material_cooling#activate-air-filtration", 0);
|
||||
|
||||
line = {L("During print"), ""};
|
||||
line.append_option(optgroup->get_option("during_print_exhaust_fan_speed"));
|
||||
line.append_option(optgroup->get_option("activate_air_filtration_during_print", 0));
|
||||
line.append_option(optgroup->get_option("during_print_exhaust_fan_speed", 0));
|
||||
line.label_path = "material_cooling#during-print";
|
||||
optgroup->append_line(line);
|
||||
|
||||
|
||||
line = {L("Complete print"), ""};
|
||||
line.append_option(optgroup->get_option("complete_print_exhaust_fan_speed"));
|
||||
line.append_option(optgroup->get_option("activate_air_filtration_on_completion", 0));
|
||||
line.append_option(optgroup->get_option("complete_print_exhaust_fan_speed", 0));
|
||||
line.label_path = "material_cooling#complete-print";
|
||||
optgroup->append_line(line);
|
||||
//BBS
|
||||
@@ -4195,6 +4197,12 @@ void TabFilament::toggle_options()
|
||||
|
||||
toggle_option("additional_cooling_fan_speed", cfg.opt_bool("auxiliary_fan"));
|
||||
|
||||
bool activate_air_filtration = m_config->opt_bool("activate_air_filtration", 0);
|
||||
toggle_option("activate_air_filtration_during_print", activate_air_filtration, 0);
|
||||
toggle_option("activate_air_filtration_on_completion", activate_air_filtration, 0);
|
||||
toggle_option("during_print_exhaust_fan_speed", activate_air_filtration && m_config->opt_bool("activate_air_filtration_during_print", 0), 0);
|
||||
toggle_option("complete_print_exhaust_fan_speed", activate_air_filtration && m_config->opt_bool("activate_air_filtration_on_completion", 0), 0);
|
||||
|
||||
// Orca: toggle dont slow down for external perimeters if
|
||||
bool has_slow_down_for_layer_cooling = m_config->opt_bool("slow_down_for_layer_cooling", 0);
|
||||
toggle_option("dont_slow_down_outer_wall", has_slow_down_for_layer_cooling);
|
||||
|
||||
Reference in New Issue
Block a user