From 441e6ce64308b6cfa56e29f33c8fbf9752379779 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 16:37:42 +0100 Subject: [PATCH 1/2] Add resolve values for raft & interface extruders CURA-8981 --- resources/definitions/fdmprinter.def.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b1cbb07904..07e9f2e8f6 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4366,6 +4366,7 @@ "default_value": "0", "value": "support_extruder_nr", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1", + "resolve": "max(extruderValues('support_interface_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false, "children": @@ -4378,6 +4379,7 @@ "default_value": "0", "value": "support_interface_extruder_nr", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1", + "resolve": "max(extruderValues('support_roof_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -4389,6 +4391,7 @@ "default_value": "0", "value": "support_interface_extruder_nr", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1", + "resolve": "max(extruderValues('support_bottom_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false } @@ -5421,6 +5424,7 @@ "default_value": "0", "value": "int(defaultExtruderPosition())", "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, "settable_per_extruder": false, "children": @@ -5444,6 +5448,7 @@ "default_value": "0", "value": "adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", + "resolve": "max(extruderValues('raft_base_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -5455,6 +5460,7 @@ "default_value": "0", "value": "adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", + "resolve": "max(extruderValues('raft_interface_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -5466,6 +5472,7 @@ "default_value": "0", "value": "adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", + "resolve": "max(extruderValues('raft_surface_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false } From daa4c20df441f70d96abb1d87a4e21c0b9866c31 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 16 Mar 2022 11:08:28 +0100 Subject: [PATCH 2/2] Use intConversion instead of Str for extruder & optionalExtruder CURA-8981 --- cura/CuraApplication.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 7645e88b7e..4285f9ac1d 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -43,7 +43,7 @@ from UM.Scene.Selection import Selection from UM.Scene.ToolHandle import ToolHandle from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.InstanceContainer import InstanceContainer -from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType +from UM.Settings.SettingDefinition import SettingDefinition, DefinitionPropertyType, toIntConversion from UM.Settings.SettingFunction import SettingFunction from UM.Settings.Validator import Validator from UM.View.SelectionPass import SelectionPass # For typing. @@ -382,11 +382,12 @@ class CuraApplication(QtApplication): SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default=None, depends_on="value") - SettingDefinition.addSettingType("extruder", None, str, Validator) - SettingDefinition.addSettingType("optional_extruder", None, str, None) + SettingDefinition.addSettingType("extruder", None, toIntConversion, Validator) + SettingDefinition.addSettingType("optional_extruder", None, toIntConversion, None) SettingDefinition.addSettingType("[int]", None, str, None) + def _initializeSettingFunctions(self): """Adds custom property types, settings types, and extra operators (functions).