mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-30 20:31:09 +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)
28 lines
561 B
JSON
28 lines
561 B
JSON
{
|
|
"type": "machine",
|
|
"name": "Qidi X-Max 4 0.2 nozzle",
|
|
"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": [
|
|
"QIDI PLA Rapido @Qidi X-Max 4 0.2 nozzle"
|
|
],
|
|
"default_print_profile": "0.10mm Standard @X-Max 4 0.2 nozzle",
|
|
"max_layer_height": [
|
|
"0.14"
|
|
],
|
|
"min_layer_height": [
|
|
"0.04"
|
|
],
|
|
"nozzle_diameter": [
|
|
"0.2"
|
|
],
|
|
"retraction_length": [
|
|
"0.4"
|
|
],
|
|
"support_box_temp_control": "1"
|
|
}
|