Change bed temperature type to use highest temp by default (#12486)

## Summary
- Change default bed temperature type from "By First filament" to "By Highest Temp"
- Move `bed_temperature_formula` option from develop mode to advanced mode for better accessibility
- Relocate UI control from "Basic Information - Advanced" to "Multimaterial Setup" section where it's more relevant for multi-filament printing
Using the highest temperature of all printed filaments is generally safer for bed adhesion than using the first filament's temperature, especially in multi-material prints where different filaments may require different bed temperatures.

<img width="390" height="239" alt="Screenshot 2026-02-26 at 18 44 56" src="https://github.com/user-attachments/assets/0fe9f8c7-062a-4a7a-8ab3-c52df7e74b26" />
This commit is contained in:
SoftFever 2026-02-26 21:05:54 +08:00
parent f91971baf9
commit 1162b101b8
2 changed files with 3 additions and 3 deletions

View file

@ -2405,13 +2405,13 @@ void PrintConfigDef::init_fff_params()
def = this->add("bed_temperature_formula", coEnum);
def->label = L("Bed temperature type");
def->tooltip = L("This option determines how the bed temperature is set during slicing: based on the temperature of the first filament or the highest temperature of the printed filaments.");
def->mode = comDevelop;
def->mode = comAdvanced;
def->enum_keys_map = &ConfigOptionEnum<BedTempFormula>::get_enum_values();
def->enum_values.push_back("by_first_filament");
def->enum_values.push_back("by_highest_temp");
def->enum_labels.push_back(L("By First filament"));
def->enum_labels.push_back(L("By Highest Temp"));
def->set_default_value(new ConfigOptionEnum<BedTempFormula>(BedTempFormula::btfFirstFilament));
def->set_default_value(new ConfigOptionEnum<BedTempFormula>(BedTempFormula::btfHighestTemp));
def = this->add("nozzle_flush_dataset", coInts);
def->nullable = true;

View file

@ -4406,7 +4406,6 @@ void TabPrinter::build_fff()
optgroup->append_single_option_line("use_relative_e_distances", "printer_basic_information_advanced#use-relative-e-distances");
optgroup->append_single_option_line("use_firmware_retraction", "printer_basic_information_advanced#use-firmware-retraction");
optgroup->append_single_option_line("bed_temperature_formula", "printer_basic_information_advanced#bed-temperature-type");
// optgroup->append_single_option_line("spaghetti_detector");
optgroup->append_single_option_line("time_cost", "printer_basic_information_advanced#time-cost");
@ -4891,6 +4890,7 @@ if (is_marlin_flavor)
});
};
optgroup->append_single_option_line("manual_filament_change", "printer_multimaterial_setup#manual-filament-change");
optgroup->append_single_option_line("bed_temperature_formula", "printer_multimaterial_setup#bed-temperature-type");
optgroup = page->new_optgroup(L("Wipe tower"), "param_tower");
optgroup->append_single_option_line("purge_in_prime_tower", "printer_multimaterial_wipe_tower#purge-in-prime-tower");