From 6183007c28c9a523cc3f892170c99291f1e9eead Mon Sep 17 00:00:00 2001 From: Eric Lin <17968842+anselor@users.noreply.github.com> Date: Tue, 22 Sep 2026 07:03:25 -0400 Subject: [PATCH] profile: Wondermaker - reorganize the ZR Ultra family and fix the Ultra S tool count (#15179) * profile: reorganize the ZR Ultra family and fix the Ultra S tool count - Adds a new fdm_ultra_common profile to hold all common ZR Ultra toolchanger attributes. - The S variants are the base machines plus an enclosure heater and filtration, so each now inherits its matching ZR Ultra profile instead of duplicating the per-nozzle values - Also fixes Ultra S 0.6 and 0.8 - original were declared a single nozzle_diameter entry, so OrcaSlicer treated four-tool machines as single-extruder. - ZR Ultra S 0.8's retraction_minimum_travel now matches the base Ultra. - nozzle_diameter stays declared on each S variant rather than inherited, even though the value is identical to its parent's. Several profile consumers read these files without resolving `inherits` -- the config wizard's loader and the web Profiles page among them -- and 1012 of the 1013 instantiated machine profiles in the tree declare it, so this is the format's expectation rather than redundancy. The same rule is enforced for filaments' compatible_printers by scripts/orca_extra_profile_check.py. Co-Authored-By: Claude Opus 5 * fix errors --------- Co-authored-by: Claude Opus 5 Co-authored-by: SoftFever <103989404+SoftFever@users.noreply.github.com> Co-authored-by: SoftFever --- resources/profiles/WonderMaker.json | 18 ++++-- .../WonderMaker ZR Ultra 0.2 nozzle.json | 15 +++-- .../WonderMaker ZR Ultra 0.4 nozzle.json | 50 +-------------- .../WonderMaker ZR Ultra 0.6 nozzle.json | 15 +++-- .../WonderMaker ZR Ultra 0.8 nozzle.json | 15 +++-- .../WonderMaker ZR Ultra S 0.2 nozzle.json | 20 ++---- .../WonderMaker ZR Ultra S 0.4 nozzle.json | 53 +-------------- .../WonderMaker ZR Ultra S 0.6 nozzle.json | 29 +++------ .../WonderMaker ZR Ultra S 0.8 nozzle.json | 29 +++------ .../WonderMaker/machine/fdm_ultra_common.json | 64 +++++++++++++++++++ 10 files changed, 124 insertions(+), 184 deletions(-) mode change 100755 => 100644 resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json mode change 100755 => 100644 resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json mode change 100755 => 100644 resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json mode change 100755 => 100644 resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json mode change 100755 => 100644 resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json mode change 100755 => 100644 resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json mode change 100755 => 100644 resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json mode change 100755 => 100644 resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json create mode 100644 resources/profiles/WonderMaker/machine/fdm_ultra_common.json diff --git a/resources/profiles/WonderMaker.json b/resources/profiles/WonderMaker.json index 35a1b5c8fa..2a23096162 100755 --- a/resources/profiles/WonderMaker.json +++ b/resources/profiles/WonderMaker.json @@ -1,7 +1,7 @@ { "name": "WonderMaker", "url": "", - "version": "02.04.00.03", + "version": "02.04.00.04", "force_update": "0", "description": "WonderMaker configurations", "machine_model_list": [ @@ -432,12 +432,8 @@ "sub_path": "machine/WonderMaker ZR 0.4 nozzle.json" }, { - "name": "WonderMaker ZR Ultra 0.4 nozzle", - "sub_path": "machine/WonderMaker ZR Ultra 0.4 nozzle.json" - }, - { - "name": "WonderMaker ZR Ultra S 0.4 nozzle", - "sub_path": "machine/WonderMaker ZR Ultra S 0.4 nozzle.json" + "name": "fdm_ultra_common", + "sub_path": "machine/fdm_ultra_common.json" }, { "name": "WonderMaker ZR 0.2 nozzle", @@ -455,6 +451,10 @@ "name": "WonderMaker ZR Ultra 0.2 nozzle", "sub_path": "machine/WonderMaker ZR Ultra 0.2 nozzle.json" }, + { + "name": "WonderMaker ZR Ultra 0.4 nozzle", + "sub_path": "machine/WonderMaker ZR Ultra 0.4 nozzle.json" + }, { "name": "WonderMaker ZR Ultra 0.6 nozzle", "sub_path": "machine/WonderMaker ZR Ultra 0.6 nozzle.json" @@ -467,6 +467,10 @@ "name": "WonderMaker ZR Ultra S 0.2 nozzle", "sub_path": "machine/WonderMaker ZR Ultra S 0.2 nozzle.json" }, + { + "name": "WonderMaker ZR Ultra S 0.4 nozzle", + "sub_path": "machine/WonderMaker ZR Ultra S 0.4 nozzle.json" + }, { "name": "WonderMaker ZR Ultra S 0.6 nozzle", "sub_path": "machine/WonderMaker ZR Ultra S 0.6 nozzle.json" diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json old mode 100755 new mode 100644 index 927ab9d44b..e05b975115 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.2 nozzle.json @@ -1,22 +1,23 @@ { "type": "machine", "name": "WonderMaker ZR Ultra 0.2 nozzle", - "inherits": "WonderMaker ZR Ultra 0.4 nozzle", + "inherits": "fdm_ultra_common", "from": "system", "setting_id": "AX42zNj8YsJ94ilv", "instantiation": "true", + "printer_model": "WonderMaker ZR Ultra", + "printer_variant": "0.2", + "default_print_profile": "0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle", + "default_bed_type": "4", + "max_layer_height": [ + "0.14" + ], "nozzle_diameter": [ "0.2", "0.2", "0.2", "0.2" ], - "printer_model": "WonderMaker ZR Ultra", - "printer_variant": "0.2", - "default_print_profile": "0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle", - "max_layer_height": [ - "0.14" - ], "min_layer_height": [ "0.04" ], diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json old mode 100755 new mode 100644 index 0a30108052..67e507516a --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.4 nozzle.json @@ -1,65 +1,17 @@ { "type": "machine", "name": "WonderMaker ZR Ultra 0.4 nozzle", - "inherits": "fdm_klipper_common", + "inherits": "fdm_ultra_common", "from": "system", "setting_id": "xJBdCljSZVDINXnP", "instantiation": "true", "printer_model": "WonderMaker ZR Ultra", "default_print_profile": "0.20mm Standard @WonderMaker ZR Ultra", "default_bed_type": "4", - "default_filament_profile": [ - "WonderMaker PLA Basic" - ], - "single_extruder_multi_material": "0", "nozzle_diameter": [ "0.4", "0.4", "0.4", "0.4" - ], - "printable_area": [ - "0x0", - "300x0", - "300x270", - "0x270" - ], - "bed_exclude_area": [], - "printable_height": "290", - "extruder_clearance_radius": "134", - "bed_mesh_min": [ - "10", - "10" - ], - "bed_mesh_max": [ - "290", - "260" - ], - "bed_mesh_probe_distance": [ - "50", - "50" - ], - "support_air_filtration": "0", - "support_chamber_temp_control": "0", - "machine_tool_change_time": "10", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "retract_lift_below": [ - "279", - "279", - "279", - "279" - ], - "enable_long_retraction_when_cut": [ - "0", - "0", - "0", - "0" - ], - "long_retractions_when_cut": [ - "0", - "0", - "0", - "0" ] } diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json old mode 100755 new mode 100644 index fc851ff348..d98ab10954 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.6 nozzle.json @@ -1,22 +1,23 @@ { "type": "machine", "name": "WonderMaker ZR Ultra 0.6 nozzle", - "inherits": "WonderMaker ZR Ultra 0.4 nozzle", + "inherits": "fdm_ultra_common", "from": "system", "setting_id": "6OWxZLFn3RD54QfX", "instantiation": "true", + "printer_model": "WonderMaker ZR Ultra", + "printer_variant": "0.6", + "default_print_profile": "0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle", + "default_bed_type": "4", + "max_layer_height": [ + "0.42" + ], "nozzle_diameter": [ "0.6", "0.6", "0.6", "0.6" ], - "printer_model": "WonderMaker ZR Ultra", - "printer_variant": "0.6", - "default_print_profile": "0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle", - "max_layer_height": [ - "0.42" - ], "min_layer_height": [ "0.12" ], diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json old mode 100755 new mode 100644 index eefaab3431..2b5929a862 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra 0.8 nozzle.json @@ -1,22 +1,23 @@ { "type": "machine", "name": "WonderMaker ZR Ultra 0.8 nozzle", - "inherits": "WonderMaker ZR Ultra 0.4 nozzle", + "inherits": "fdm_ultra_common", "from": "system", "setting_id": "SY9snlsMkurhEYWP", "instantiation": "true", + "printer_model": "WonderMaker ZR Ultra", + "printer_variant": "0.8", + "default_print_profile": "0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle", + "default_bed_type": "4", + "max_layer_height": [ + "0.56" + ], "nozzle_diameter": [ "0.8", "0.8", "0.8", "0.8" ], - "printer_model": "WonderMaker ZR Ultra", - "printer_variant": "0.8", - "default_print_profile": "0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle", - "max_layer_height": [ - "0.56" - ], "min_layer_height": [ "0.16" ], diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json old mode 100755 new mode 100644 index 26ad5e21d7..5d67c1fe5e --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.2 nozzle.json @@ -1,29 +1,19 @@ { "type": "machine", "name": "WonderMaker ZR Ultra S 0.2 nozzle", - "inherits": "WonderMaker ZR Ultra S 0.4 nozzle", + "inherits": "WonderMaker ZR Ultra 0.2 nozzle", "from": "system", "setting_id": "ZNAx3f7tX3DatiK1", "instantiation": "true", + "printer_model": "WonderMaker ZR Ultra S", "nozzle_diameter": [ "0.2", "0.2", "0.2", "0.2" ], - "printer_model": "WonderMaker ZR Ultra S", - "printer_variant": "0.2", "default_print_profile": "0.10mm Standard @WonderMaker ZR Ultra 0.2 nozzle", - "max_layer_height": [ - "0.14" - ], - "min_layer_height": [ - "0.04" - ], - "retraction_length": [ - "0.4", - "0.4", - "0.4", - "0.4" - ] + "printer_variant": "0.2", + "support_air_filtration": "1", + "support_chamber_temp_control": "1" } diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json old mode 100755 new mode 100644 index df1dbbb9a8..3ae0673f79 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.4 nozzle.json @@ -1,65 +1,18 @@ { "type": "machine", "name": "WonderMaker ZR Ultra S 0.4 nozzle", - "inherits": "fdm_klipper_common", + "inherits": "WonderMaker ZR Ultra 0.4 nozzle", "from": "system", "setting_id": "8xoZ6vYv9ws0J97u", "instantiation": "true", "printer_model": "WonderMaker ZR Ultra S", - "default_print_profile": "0.20mm Standard @WonderMaker ZR Ultra", - "default_bed_type": "4", - "default_filament_profile": [ - "WonderMaker PLA Basic" - ], - "single_extruder_multi_material": "0", "nozzle_diameter": [ "0.4", "0.4", "0.4", "0.4" ], - "printable_area": [ - "0x0", - "300x0", - "300x270", - "0x270" - ], - "bed_exclude_area": [], - "printable_height": "290", - "extruder_clearance_radius": "134", - "bed_mesh_min": [ - "10", - "10" - ], - "bed_mesh_max": [ - "290", - "260" - ], - "bed_mesh_probe_distance": [ - "50", - "50" - ], + "default_print_profile": "0.20mm Standard @WonderMaker ZR Ultra", "support_air_filtration": "1", - "support_chamber_temp_control": "1", - "machine_tool_change_time": "10", - "machine_load_filament_time": "0", - "machine_unload_filament_time": "0", - "retract_lift_below": [ - "279", - "279", - "279", - "279" - ], - "enable_long_retraction_when_cut": [ - "0", - "0", - "0", - "0" - ], - "long_retractions_when_cut": [ - "0", - "0", - "0", - "0" - ] + "support_chamber_temp_control": "1" } diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json old mode 100755 new mode 100644 index 9f2bd6f069..c75e56de4e --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.6 nozzle.json @@ -1,32 +1,19 @@ { "type": "machine", "name": "WonderMaker ZR Ultra S 0.6 nozzle", - "inherits": "WonderMaker ZR Ultra S 0.4 nozzle", + "inherits": "WonderMaker ZR Ultra 0.6 nozzle", "from": "system", "setting_id": "xuJnOPTmSW1BMo6p", "instantiation": "true", "printer_model": "WonderMaker ZR Ultra S", - "default_print_profile": "0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle", - "printer_variant": "0.6", "nozzle_diameter": [ + "0.6", + "0.6", + "0.6", "0.6" ], - "max_layer_height": [ - "0.42" - ], - "min_layer_height": [ - "0.12" - ], - "retraction_length": [ - "1.4", - "1.4", - "1.4", - "1.4" - ], - "retraction_minimum_travel": [ - "3", - "3", - "3", - "3" - ] + "default_print_profile": "0.30mm Standard @WonderMaker ZR Ultra 0.6 nozzle", + "printer_variant": "0.6", + "support_air_filtration": "1", + "support_chamber_temp_control": "1" } diff --git a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json old mode 100755 new mode 100644 index 2137855fe0..f18a3d3361 --- a/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json +++ b/resources/profiles/WonderMaker/machine/WonderMaker ZR Ultra S 0.8 nozzle.json @@ -1,32 +1,19 @@ { "type": "machine", "name": "WonderMaker ZR Ultra S 0.8 nozzle", - "inherits": "WonderMaker ZR Ultra S 0.4 nozzle", + "inherits": "WonderMaker ZR Ultra 0.8 nozzle", "from": "system", "setting_id": "0BPLKMspArilfkGT", "instantiation": "true", "printer_model": "WonderMaker ZR Ultra S", - "default_print_profile": "0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle", - "printer_variant": "0.8", "nozzle_diameter": [ + "0.8", + "0.8", + "0.8", "0.8" ], - "max_layer_height": [ - "0.56" - ], - "min_layer_height": [ - "0.16" - ], - "retract_length_toolchange": [ - "3", - "3", - "3", - "3" - ], - "retraction_length": [ - "3", - "3", - "3", - "3" - ] + "default_print_profile": "0.40mm Standard @WonderMaker ZR Ultra 0.8 nozzle", + "printer_variant": "0.8", + "support_air_filtration": "1", + "support_chamber_temp_control": "1" } diff --git a/resources/profiles/WonderMaker/machine/fdm_ultra_common.json b/resources/profiles/WonderMaker/machine/fdm_ultra_common.json new file mode 100644 index 0000000000..08c8f9683a --- /dev/null +++ b/resources/profiles/WonderMaker/machine/fdm_ultra_common.json @@ -0,0 +1,64 @@ +{ + "type": "machine", + "name": "fdm_ultra_common", + "inherits": "fdm_klipper_common", + "from": "system", + "instantiation": "false", + "default_bed_type": "4", + "default_filament_profile": [ + "WonderMaker PLA Basic" + ], + "single_extruder_multi_material": "0", + "enable_filament_mapping": "1", + "filament_swap_gcode": "M117 Swap filament for tool {next_extruder}\nPAUSE", + "nozzle_diameter": [ + "0.4", + "0.4", + "0.4", + "0.4" + ], + "printable_area": [ + "0x0", + "300x0", + "300x270", + "0x270" + ], + "bed_exclude_area": [], + "printable_height": "290", + "extruder_clearance_radius": "134", + "bed_mesh_min": [ + "10", + "10" + ], + "bed_mesh_max": [ + "290", + "260" + ], + "bed_mesh_probe_distance": [ + "50", + "50" + ], + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "machine_tool_change_time": "10", + "machine_load_filament_time": "0", + "machine_unload_filament_time": "0", + "retract_lift_below": [ + "279", + "279", + "279", + "279" + ], + "enable_long_retraction_when_cut": [ + "0", + "0", + "0", + "0" + ], + "long_retractions_when_cut": [ + "0", + "0", + "0", + "0" + ] +}