From 86853a19b6dadc361b053e60daa0b54b8ac8994b Mon Sep 17 00:00:00 2001 From: Rijk van Manen Date: Fri, 16 Dec 2022 14:01:55 +0100 Subject: [PATCH] make adhesion_extruder_nr optional Since the brim_skirt extruder will be -1 by default, it does make sense to allow the parent setting to be -1 as well. This requires an extra resolve for the raft extruders, since these cant be -1. PP-286 --- resources/definitions/fdmprinter.def.json | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 7f0edb21ba..218b14cfc8 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5596,9 +5596,9 @@ { "label": "Build Plate Adhesion Extruder", "description": "The extruder train to use for printing the skirt/brim/raft. This is used in multi-extrusion.", - "type": "extruder", - "default_value": "0", - "value": "int(defaultExtruderPosition())", + "type": "optional_extruder", + "default_value": "-1", + "value": "int(defaultExtruderPosition()) if resolveOrValue('adhesion_type') == 'raft' else -1", "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') != 'none' or resolveOrValue('prime_tower_brim_enable'))", "resolve": "max(extruderValues('adhesion_extruder_nr'))", "settable_per_mesh": false, @@ -5611,8 +5611,9 @@ "description": "The extruder train to use for printing the skirt or brim. This is used in multi-extrusion.", "type": "optional_extruder", "default_value": "-1", - "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable'))", - "resolve": "'-1' if '-1' in extruderValues('skirt_brim_extruder_nr') else adhesion_extruder_nr", + "value": "adhesion_extruder_nr", + "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') in ['skirt', 'brim'] or resolveOrValue('prime_tower_brim_enable'))", + "resolve": "max(extruderValues('skirt_brim_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -5622,7 +5623,7 @@ "description": "The extruder train to use for printing the first layer of the raft. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "value": "adhesion_extruder_nr", + "value": "0 if adhesion_extruder_nr == -1 else adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", "resolve": "max(extruderValues('raft_base_extruder_nr'))", "settable_per_mesh": false, @@ -5634,7 +5635,7 @@ "description": "The extruder train to use for printing the middle layer of the raft. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "value": "adhesion_extruder_nr", + "value": "0 if adhesion_extruder_nr == -1 else adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", "resolve": "max(extruderValues('raft_interface_extruder_nr'))", "settable_per_mesh": false, @@ -5646,7 +5647,7 @@ "description": "The extruder train to use for printing the top layer(s) of the raft. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "value": "adhesion_extruder_nr", + "value": "0 if adhesion_extruder_nr == -1 else adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", "resolve": "max(extruderValues('raft_surface_extruder_nr'))", "settable_per_mesh": false,