Files
OrcaSlicer/resources/profiles/Qidi/filament/fdm_filament_abs.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

110 lines
1.5 KiB
JSON

{
"type": "filament",
"name": "fdm_filament_abs",
"inherits": "fdm_filament_common",
"from": "system",
"instantiation": "false",
"activate_chamber_temp_control": [
"0"
],
"cool_plate_temp": [
"80"
],
"eng_plate_temp": [
"90"
],
"hot_plate_temp": [
"90"
],
"textured_plate_temp": [
"90"
],
"cool_plate_temp_initial_layer": [
"80"
],
"eng_plate_temp_initial_layer": [
"90"
],
"hot_plate_temp_initial_layer": [
"90"
],
"textured_plate_temp_initial_layer": [
"90"
],
"slow_down_for_layer_cooling": [
"1"
],
"close_fan_the_first_x_layers": [
"3"
],
"fan_cooling_layer_time": [
"30"
],
"filament_max_volumetric_speed": [
"20"
],
"filament_type": [
"ABS"
],
"filament_density": [
"1.24"
],
"filament_cost": [
"20"
],
"nozzle_temperature_initial_layer": [
"250"
],
"reduce_fan_stop_start_freq": [
"1"
],
"fan_max_speed": [
"50"
],
"fan_min_speed": [
"20"
],
"overhang_fan_threshold": [
"25%"
],
"overhang_fan_speed": [
"80"
],
"nozzle_temperature": [
"270"
],
"temperature_vitrification": [
"100"
],
"nozzle_temperature_range_low": [
"240"
],
"nozzle_temperature_range_high": [
"270"
],
"activate_air_filtration": [
"1"
],
"during_print_exhaust_fan_speed": [
"40"
],
"slow_down_min_speed": [
"10"
],
"slow_down_layer_time": [
"4"
],
"supertack_plate_temp": [
"80"
],
"textured_cool_plate_temp": [
"80"
],
"supertack_plate_temp_initial_layer": [
"80"
],
"textured_cool_plate_temp_initial_layer": [
"80"
]
}