mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 19:01:02 +00:00
# Description Fixes user filament presets that reference an old printer preset name in `compatible_printers`, even when the current system printer preset correctly declares that old name in `renamed_from`. ## Core Issue `PresetCollection::find_preset()` was updated to resolve `renamed_from`, but this specific failure does not go through `find_preset()`. For root user filament presets with empty `inherits`, Orca infers `compatible_printers` from the filament name suffix after `@`. For example: ```json "ELEGOO PLA Base @Elegoo Neptune 4 Pro (0.4 nozzle)" ``` loads with: ```json "compatible_printers": ["Elegoo Neptune 4 Pro (0.4 nozzle)"] ``` The current system printer preset is named: ```text Elegoo Neptune 4 Pro 0.4 nozzle ``` and has: ```json "renamed_from": "Elegoo Neptune 4 Pro (0.4 nozzle)" ``` However, filament compatibility was doing a direct string comparison against the active printer name. Since that compatibility path does not call `find_preset()`, the `renamed_from` mapping was never considered. ## Fix Teach printer compatibility checks to treat `active_printer.preset.renamed_from` entries as aliases of the active printer name. This preserves existing user preset JSON and avoids rewriting `compatible_printers`, while allowing old printer suffixes to remain compatible with renamed system printer presets. ## Tests <!-- > A guide for users on how to download the artifacts from this PR. --> [How to Download Pull Requests Artifacts for Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
31 lines
601 B
JSON
31 lines
601 B
JSON
{
|
|
"type": "machine",
|
|
"name": "Qidi X-Max 4 0.8 nozzle",
|
|
"inherits": "Qidi X-Max 4 0.4 nozzle",
|
|
"from": "system",
|
|
"setting_id": "pJbz2SGfvEar8cGh",
|
|
"instantiation": "true",
|
|
"default_filament_profile": [
|
|
"QIDI PLA Rapido @Qidi X-Max 4 0.8 nozzle"
|
|
],
|
|
"default_print_profile": "0.40mm Standard @X-Max 4 0.8 nozzle",
|
|
"max_layer_height": [
|
|
"0.56"
|
|
],
|
|
"min_layer_height": [
|
|
"0.16"
|
|
],
|
|
"nozzle_diameter": [
|
|
"0.8"
|
|
],
|
|
"printer_model": "Qidi X-Max 4",
|
|
"printer_variant": "0.8",
|
|
"retract_length_toolchange": [
|
|
"3"
|
|
],
|
|
"retraction_length": [
|
|
"3"
|
|
],
|
|
"support_box_temp_control": "1"
|
|
}
|