Files
OrcaSlicer/resources/profiles/Qidi/filament/Bambu PLA @0.2 nozzle.json
SoftFever feeea3e651 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)
2026-07-06 12:27:46 +08:00

27 lines
470 B
JSON

{
"type": "filament",
"name": "Bambu PLA @0.2 nozzle",
"inherits": "Bambu PLA",
"from": "system",
"setting_id": "xY62JrDaYjjSb3lh",
"filament_id": "GFL99",
"instantiation": "true",
"filament_flow_ratio": [
"0.98"
],
"slow_down_layer_time": [
"8"
],
"enable_pressure_advance": [
"1"
],
"filament_max_volumetric_speed": [
"2"
],
"compatible_printers": [
"Qidi X-Smart 3 0.2 nozzle",
"Qidi X-Plus 3 0.2 nozzle",
"Qidi X-Max 3 0.2 nozzle"
]
}