mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-30 22:32:07 +00:00
fix: treat renamed printer presets as compatible aliases (#14504)
# 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)
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"setting_id": "QgiXsDkRCjIHtpEa",
|
||||
"name": "Qidi X-Max 4 0.2 nozzle",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "Qidi X-Max 4 0.4 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "QgiXsDkRCjIHtpEa",
|
||||
"instantiation": "true",
|
||||
"printer_model": "Qidi X-Max 4",
|
||||
"printer_variant": "0.2",
|
||||
"default_filament_profile": [
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"box_id": "3",
|
||||
"type": "machine",
|
||||
"setting_id": "uzcPSO0U1ZQCXXNN",
|
||||
"name": "Qidi X-Max 4 0.4 nozzle",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_machine_x_common",
|
||||
"from": "system",
|
||||
"setting_id": "uzcPSO0U1ZQCXXNN",
|
||||
"instantiation": "true",
|
||||
"box_id": "3",
|
||||
"printer_model": "Qidi X-Max 4",
|
||||
"gcode_flavor": "klipper",
|
||||
"default_print_profile": "0.20mm Standard @X-Max 4",
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"setting_id": "Ict0ZAEiGgYeu7AJ",
|
||||
"name": "Qidi X-Max 4 0.6 nozzle",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "Qidi X-Max 4 0.4 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "Ict0ZAEiGgYeu7AJ",
|
||||
"instantiation": "true",
|
||||
"default_filament_profile": [
|
||||
"QIDI PLA Rapido @Qidi X-Max 4 0.6 nozzle"
|
||||
],
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"setting_id": "pJbz2SGfvEar8cGh",
|
||||
"name": "Qidi X-Max 4 0.8 nozzle",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"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"
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user