Allow nozzle variants to specify different cooling parameters (#16007)

# Description

Include variant-aware validation, temperature and pressure controls,
named nozzle selection, and filament sidebar refresh.

## Support nozzle-specific filament cooling and tuning

Filament presets can require different cooling and tuning for Standard
and High Flow nozzle variants. This change makes part and auxiliary
cooling, pressure advance, temperature limits, and multitool ramming
settings follow the selected variant, with matching UI controls and
profile validation.

The Snapmaker U1 profiles in #15755 / Snorca illustrate why this
matters:

| Profile | Standard cooling | High Flow cooling |
|---|---|---|
| Snapmaker ABS | Part fan: 15–15% | Part fan: 10–60% |
| Snapmaker PETG HF, 0.4 mm | Part fan: 20–40% | Part fan: 30–60% |
| Snapmaker PETG-CF | Part fan: 0–20%; auxiliary: 0% | Part fan: 5–40%;
auxiliary: 20% |
| Snapmaker PLA Matte | Auxiliary: 80% | Auxiliary: 100% |

These differences need to survive variant selection, editing, and
slicing. Shared single values continue to apply across variants, and
short filament arrays fall back to element zero, matching the loader.

### Additional changes

- Preserve named nozzle selections when refreshing the diameter
selector.
- Enable or disable the pressure-advance input for the selected variant.
- Initialize profile-validation slicing with the printer’s declared
nozzle volume type.
- Refresh filament controls after preset loading.

Profile changes remain separate in `u1-hf`.

### Validation

- All 13 focused variant-tool tests passed.
- Broader checks encountered an existing Windows path-separator
assertion failure, reproduced with upstream code.
- C++ build and GUI validation have not been run.

[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
This commit is contained in:
SoftFever
2026-10-01 13:53:22 +08:00
committed by GitHub
796 changed files with 2389 additions and 110 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "Bambulab",
"url": "http://www.bambulab.com/Parameters/vendor/BBL.json",
"version": "02.08.00.11",
"version": "02.08.00.12",
"force_update": "0",
"description": "the initial version of BBL configurations",
"machine_model_list": [
@@ -21,9 +21,11 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60"
],
"fan_min_speed": [
"40",
"40"
],
"filament_change_length": [
@@ -21,6 +21,8 @@
"0.3341"
],
"fan_max_speed": [
"60",
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,7 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60"
],
"filament_change_length": [
@@ -21,6 +21,8 @@
"0.3341"
],
"fan_max_speed": [
"60",
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,7 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,8 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60",
"60"
],
"filament_change_length": [
@@ -21,6 +21,7 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,8 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60",
"60"
],
"filament_change_length": [
@@ -9,6 +9,7 @@
"65"
],
"fan_max_speed": [
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"65"
],
"fan_max_speed": [
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"65"
],
"fan_max_speed": [
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"65"
],
"fan_max_speed": [
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -21,9 +21,11 @@
"0.3341"
],
"fan_max_speed": [
"60",
"60"
],
"fan_min_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,8 @@
"0.3341"
],
"fan_max_speed": [
"60",
"60",
"60"
],
"filament_change_length": [
@@ -21,6 +21,7 @@
"0.3341"
],
"fan_max_speed": [
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,8 @@
"0.3341"
],
"fan_max_speed": [
"60",
"60",
"60"
],
"filament_change_length": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00_38",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_deretraction_speed": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00_39",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_deretraction_speed": [
@@ -25,6 +25,7 @@
"0.0241"
],
"fan_min_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,8 @@
"0.3341"
],
"fan_max_speed": [
"60",
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -25,6 +25,7 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -26,6 +26,8 @@
"0.3341"
],
"fan_max_speed": [
"60",
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00_00",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_long_retractions_when_cut": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00_40",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_long_retractions_when_cut": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00_01",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_long_retractions_when_cut": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_deretraction_speed": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00_05",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_long_retractions_when_cut": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00_06",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_long_retractions_when_cut": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB00_04",
"instantiation": "true",
"fan_max_speed": [
"60",
"60"
],
"filament_long_retractions_when_cut": [
@@ -21,6 +21,9 @@
"0.0241"
],
"fan_min_speed": [
"80",
"80",
"80",
"80"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,11 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60",
"60",
"60",
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,9 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60",
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,11 @@
"0.0241"
],
"fan_max_speed": [
"60",
"60",
"60",
"60",
"60",
"60"
],
"filament_cooling_before_tower": [
@@ -25,9 +25,11 @@
"-0.0092"
],
"fan_max_speed": [
"60",
"60"
],
"fan_min_speed": [
"30",
"30"
],
"filament_cooling_before_tower": [
@@ -26,6 +26,8 @@
"0.2258"
],
"fan_min_speed": [
"25",
"25",
"25"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,7 @@
"-0.0092"
],
"fan_min_speed": [
"25",
"25"
],
"filament_cooling_before_tower": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB01_04",
"instantiation": "true",
"fan_min_speed": [
"25",
"25"
],
"filament_long_retractions_when_cut": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB01_00",
"instantiation": "true",
"fan_min_speed": [
"25",
"25"
],
"filament_long_retractions_when_cut": [
@@ -6,6 +6,7 @@
"setting_id": "GFSB01_05",
"instantiation": "true",
"fan_min_speed": [
"25",
"25"
],
"filament_long_retractions_when_cut": [
@@ -21,6 +21,9 @@
"-0.0092"
],
"fan_min_speed": [
"25",
"25",
"25",
"25"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,11 @@
"-0.0092"
],
"fan_min_speed": [
"25",
"25",
"25",
"25",
"25",
"25"
],
"filament_cooling_before_tower": [
@@ -12,9 +12,13 @@
"5"
],
"fan_max_speed": [
"30",
"30",
"30"
],
"fan_min_speed": [
"10",
"10",
"10"
],
"filament_cooling_before_tower": [
@@ -17,9 +17,13 @@
"5"
],
"fan_max_speed": [
"30",
"30",
"30"
],
"fan_min_speed": [
"10",
"10",
"10"
],
"filament_cooling_before_tower": [
@@ -9,9 +9,11 @@
"5"
],
"fan_max_speed": [
"30",
"30"
],
"fan_min_speed": [
"10",
"10"
],
"filament_flow_ratio": [
@@ -12,9 +12,11 @@
"5"
],
"fan_max_speed": [
"30",
"30"
],
"fan_min_speed": [
"10",
"10"
],
"filament_flow_ratio": [
@@ -15,9 +15,19 @@
"5"
],
"fan_max_speed": [
"30",
"30",
"30",
"30",
"30",
"30"
],
"fan_min_speed": [
"10",
"10",
"10",
"10",
"10",
"10"
],
"filament_cooling_before_tower": [
@@ -15,9 +15,19 @@
"5"
],
"fan_max_speed": [
"30",
"30",
"30",
"30",
"30",
"30"
],
"fan_min_speed": [
"10",
"10",
"10",
"10",
"10",
"10"
],
"filament_cooling_before_tower": [
@@ -21,9 +21,19 @@
"-0.038"
],
"fan_max_speed": [
"40",
"40",
"40",
"40",
"40",
"40"
],
"fan_min_speed": [
"20",
"20",
"20",
"20",
"20",
"20"
],
"filament_cooling_before_tower": [
@@ -21,9 +21,19 @@
"-0.055"
],
"fan_max_speed": [
"45",
"45",
"45",
"45",
"45",
"45"
],
"fan_min_speed": [
"25",
"25",
"25",
"25",
"25",
"25"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,7 @@
"0.0183"
],
"fan_max_speed": [
"40",
"40"
],
"filament_change_length": [
@@ -21,6 +21,8 @@
"0.2208"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,7 @@
"0.0183"
],
"fan_max_speed": [
"40",
"40"
],
"filament_change_length": [
@@ -21,6 +21,8 @@
"0.2208"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,7 @@
"0.0183"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,8 @@
"0.0183"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_change_length": [
@@ -21,6 +21,8 @@
"0.0183"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_change_length": [
@@ -21,6 +21,7 @@
"0.0183"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -18,6 +18,7 @@
"0.2208"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,8 @@
"0.2208"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_change_length": [
@@ -21,6 +21,7 @@
"0.2208"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,8 @@
"0.2208"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_change_length": [
@@ -27,6 +27,8 @@
"100"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -27,6 +27,8 @@
"100"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -27,6 +27,7 @@
"100"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -6,6 +6,7 @@
"setting_id": "GFSC00_02",
"instantiation": "true",
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -6,6 +6,7 @@
"setting_id": "GFSC00_01",
"instantiation": "true",
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -6,6 +6,7 @@
"setting_id": "GFSC00_00",
"instantiation": "true",
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -6,6 +6,7 @@
"setting_id": "GFSC00",
"instantiation": "true",
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -21,9 +21,19 @@
"0.0183"
],
"fan_max_speed": [
"55",
"55",
"55",
"55",
"55",
"55"
],
"fan_min_speed": [
"25",
"25",
"25",
"25",
"25",
"25"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,9 @@
"0.0183"
],
"fan_max_speed": [
"40",
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -21,6 +21,11 @@
"0.0183"
],
"fan_max_speed": [
"40",
"40",
"40",
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,8 @@
"60"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,8 @@
"60"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,8 @@
"60"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,8 @@
"60"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,7 @@
"60"
],
"fan_max_speed": [
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -9,6 +9,8 @@
"60"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [
@@ -12,6 +12,7 @@
"100"
],
"fan_max_speed": [
"20",
"20"
],
"filament_flow_ratio": [
@@ -12,6 +12,7 @@
"100"
],
"fan_max_speed": [
"20",
"20"
],
"filament_flow_ratio": [
@@ -12,6 +12,7 @@
"100"
],
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -12,6 +12,7 @@
"100"
],
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -12,6 +12,7 @@
"100"
],
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -12,6 +12,7 @@
"100"
],
"fan_max_speed": [
"40",
"40"
],
"filament_flow_ratio": [
@@ -15,6 +15,8 @@
"100"
],
"fan_max_speed": [
"40",
"40",
"40"
],
"filament_cooling_before_tower": [

Some files were not shown because too many files have changed in this diff Show More