disable_rapid_cooling_fan_first_layers

This commit is contained in:
sunsets
2023-09-22 09:40:56 +08:00
parent d1902fa3d5
commit 3e70923483
6 changed files with 30 additions and 6 deletions

View File

@@ -764,6 +764,11 @@ std::string CoolingBuffer::apply_layer_cooldown(
std::pair<int, int> custom_fan_speed_limits{fan_speed_new, 100 };
int disable_fan_first_layers = EXTRUDER_CONFIG(disable_fan_first_layers);
//B39
int disable_rapid_cooling_fan_first_layers = EXTRUDER_CONFIG(disable_rapid_cooling_fan_first_layers);
// Is the fan speed ramp enabled?
int full_fan_speed_layer = EXTRUDER_CONFIG(full_fan_speed_layer);
if (disable_fan_first_layers <= 0 && full_fan_speed_layer > 0) {
@@ -810,8 +815,8 @@ std::string CoolingBuffer::apply_layer_cooldown(
fan_gcode << "M106 P2 S" << 255.0 * enable_auxiliary_fan / 100.0 << "\n";
new_gcode += fan_gcode.str();
}
//B25
if (int(layer_id) == disable_fan_first_layers && enable_volume_fan != 0 && fan_speed_new != m_fan_speed) {
//B25 //B39
if (int(layer_id) == disable_rapid_cooling_fan_first_layers && enable_volume_fan != 0 ) {
std::ostringstream fan_gcode;
fan_gcode << "M106 P3 S" << 255.0 * enable_volume_fan / 100.0 << "\n";
new_gcode += fan_gcode.str();

View File

@@ -516,7 +516,9 @@ static std::vector<std::string> s_Preset_filament_options {
//B26
"advance_pressure",
//B26
"smooth_time"
"smooth_time",
//B39
"disable_rapid_cooling_fan_first_layers"
};
static std::vector<std::string> s_Preset_machine_limits_options {

View File

@@ -78,6 +78,8 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
"default_acceleration",
"deretract_speed",
"disable_fan_first_layers",
//B39
"disable_rapid_cooling_fan_first_layers",
"duplicate_distance",
"end_gcode",
"end_filament_gcode",

View File

@@ -778,6 +778,17 @@ void PrintConfigDef::init_fff_params()
def->mode = comExpert;
def->set_default_value(new ConfigOptionInts { 3 });
//B39
def = this->add("disable_rapid_cooling_fan_first_layers", coInts);
def->label = L("Disable rapid cooling fan for the first");
def->tooltip = L("You can set this to a positive value to disable rapid cooling fan at all "
"during the first layers, so that it does not make adhesion worse.");
def->sidetext = L("layers");
def->min = 0;
def->max = 1000;
def->mode = comExpert;
def->set_default_value(new ConfigOptionInts { 3 });
def = this->add("dont_support_bridges", coBool);
def->label = L("Don't support bridges");
def->category = L("Support material");
@@ -1368,7 +1379,7 @@ void PrintConfigDef::init_fff_params()
//B36
def = this->add("first_layer_travel_speed", coFloat);
def->label = L("First layer travel");
def->tooltip = L("Speed for travel moves (jumps between distant extrusion points).");
def->tooltip = L("Speed for travel moves of the first layer (jumps between distant extrusion points).");
def->sidetext = L("mm/s");
def->aliases = {"travel_feed_rate"};
def->min = 1;
@@ -1378,9 +1389,9 @@ void PrintConfigDef::init_fff_params()
//B37
def = this->add("first_layer_external_perimeter_speed", coFloat);
def->label = L("First layer external perimeters");
def->tooltip = L("Speed for travel moves (jumps between distant extrusion points).");
def->tooltip = L("Speed for external perimeters of the first layer (jumps between distant extrusion points).");
def->sidetext = L("mm/s");
def->aliases = {"travel_feed_rate"};
def->aliases = {"external_perimeter_speed"};
def->min = 1;
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(130));

View File

@@ -788,6 +788,8 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE(
((ConfigOptionInts, enable_auxiliary_fan))
((ConfigOptionFloat, default_acceleration))
((ConfigOptionInts, disable_fan_first_layers))
//B39
((ConfigOptionInts, disable_rapid_cooling_fan_first_layers))
((ConfigOptionEnum<DraftShield>, draft_shield))
((ConfigOptionFloat, duplicate_distance))
((ConfigOptionFloat, external_perimeter_acceleration))

View File

@@ -2104,6 +2104,8 @@ void TabFilament::build()
//B25
optgroup->append_single_option_line("enable_volume_fan", category_path + "fan-settings");
optgroup->append_single_option_line("disable_fan_first_layers", category_path + "fan-settings");
//B39
optgroup->append_single_option_line("disable_rapid_cooling_fan_first_layers", category_path + "fan-settings");
optgroup->append_single_option_line("full_fan_speed_layer", category_path + "fan-settings");
optgroup = page->new_optgroup(L("Dynamic fan speeds"), 25);