Sync Elegoo profiles (#13790)

* Sync Elegoo profiles from ElegooSlicer

Update vendor Elegoo.json, filament/machine/process trees, and OrcaFilamentLibrary
Elegoo entries. Align machine default material names with existing filament preset names.

* feat: expose filament_name for G-code export filename format

Derive from filament_settings_id for the first active extruder and strip the suffix after @, matching ElegooSlicer so filename_format can use {filament_name}.

* chore: reorder Elegoo entries in OrcaFilamentLibrary

Group Elegoo @base profiles and bump library version to 02.03.02.62.

* sync OrcaFilamentLibrary.json with Elegoo filament profiles

* fix: clean up Elegoo process renamed_from for profile validation

Add single renamed_from only where preset names changed from legacy Orca
names; remove duplicate Rapid @System library entries that conflicted with
ECC2 vendor presets.

* fix(profiles): add missing Elegoo renamed_from for profile validation

CI custom-preset tests still inherit legacy Orca preset names that no
longer exist after the Elegoo bundle update. Add renamed_from on process,
Neptune 4 machines, OrcaFilamentLibrary filaments, and Giga profiles so
inherits resolve again, without changing print parameters.
This commit is contained in:
wujie
2026-05-27 22:58:39 +08:00
committed by GitHub
parent b230a97a50
commit 5b071d5013
772 changed files with 15462 additions and 19601 deletions

View File

@@ -3499,6 +3499,24 @@ std::string Print::output_filename(const std::string &filename_base) const
config.set_key_value("plate_number", new ConfigOptionString(get_plate_number_formatted()));
config.set_key_value("model_name", new ConfigOptionString(get_model_name()));
// the same type of filament contains multiple names, support exporting according to the filament name
auto full_print_config = this->full_print_config();
const ConfigOptionStrings* filament_settings_id = full_print_config.option<ConfigOptionStrings>("filament_settings_id");
std::string filament_name = "";
auto extruders = this->extruders(true);
if(!extruders.empty()) {
// first extruder is the default extruder
int extruder_id = extruders.front();
if(filament_settings_id->values.size() > extruder_id) {
filament_name = filament_settings_id->values[extruder_id];
}
}
size_t end_pos = filament_name.find_first_of("@");
if (end_pos != std::string::npos) {
filament_name = filament_name.substr(0, end_pos);
}
config.set_key_value("filament_name", new ConfigOptionString(filament_name));
return this->PrintBase::output_filename(m_config.filename_format.value, ".gcode", filename_base, &config);
}