refactor: global_inherits_stack ==> limit_to_extruder (CURA-2308)

This commit is contained in:
Tim Kuipers 2016-09-14 10:46:57 +02:00
parent e43dbcd0b7
commit 479f9ea6d2
7 changed files with 92 additions and 92 deletions

View file

@ -88,7 +88,7 @@ class CuraApplication(QtApplication):
SettingDefinition.addSupportedProperty("settable_per_extruder", DefinitionPropertyType.Any, default = True, read_only = True) SettingDefinition.addSupportedProperty("settable_per_extruder", DefinitionPropertyType.Any, default = True, read_only = True)
SettingDefinition.addSupportedProperty("settable_per_meshgroup", DefinitionPropertyType.Any, default = True, read_only = True) SettingDefinition.addSupportedProperty("settable_per_meshgroup", DefinitionPropertyType.Any, default = True, read_only = True)
SettingDefinition.addSupportedProperty("settable_globally", DefinitionPropertyType.Any, default = True, read_only = True) SettingDefinition.addSupportedProperty("settable_globally", DefinitionPropertyType.Any, default = True, read_only = True)
SettingDefinition.addSupportedProperty("global_inherits_stack", DefinitionPropertyType.Function, default = "-1") SettingDefinition.addSupportedProperty("limit_to_extruder", DefinitionPropertyType.Function, default = "-1")
SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default = None) SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default = None)
SettingDefinition.addSettingType("extruder", None, str, Validator) SettingDefinition.addSettingType("extruder", None, str, Validator)

View file

@ -13,7 +13,7 @@ message Slice
repeated ObjectList object_lists = 1; // The meshgroups to be printed one after another repeated ObjectList object_lists = 1; // The meshgroups to be printed one after another
SettingList global_settings = 2; // The global settings used for the whole print job SettingList global_settings = 2; // The global settings used for the whole print job
repeated Extruder extruders = 3; // The settings sent to each extruder object repeated Extruder extruders = 3; // The settings sent to each extruder object
repeated SettingExtruder global_inherits_stack = 4; //From which stack the setting would inherit if not defined in a stack. repeated SettingExtruder limit_to_extruder = 4; //From which stack the setting would inherit if not defined in a stack.
} }
message Extruder message Extruder

View file

@ -245,16 +245,16 @@ class StartSliceJob(Job):
## Sends for some settings which extruder they should fallback to if not ## Sends for some settings which extruder they should fallback to if not
# set. # set.
# #
# This is only set for settings that have the global_inherits_stack # This is only set for settings that have the limit_to_extruder
# property. # property.
# #
# \param stack The global stack with all settings, from which to read the # \param stack The global stack with all settings, from which to read the
# global_inherits_stack property. # limit_to_extruder property.
def _buildGlobalInheritsStackMessage(self, stack): def _buildGlobalInheritsStackMessage(self, stack):
for key in stack.getAllKeys(): for key in stack.getAllKeys():
extruder = int(round(float(stack.getProperty(key, "global_inherits_stack")))) extruder = int(round(float(stack.getProperty(key, "limit_to_extruder"))))
if extruder >= 0: #Set to a specific extruder. if extruder >= 0: #Set to a specific extruder.
setting_extruder = self._slice_message.addRepeatedMessage("global_inherits_stack") setting_extruder = self._slice_message.addRepeatedMessage("limit_to_extruder")
setting_extruder.name = key setting_extruder.name = key
setting_extruder.extruder = extruder setting_extruder.extruder = extruder

View file

@ -60,12 +60,12 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
if definition: if definition:
new_instance = SettingInstance(definition, settings) new_instance = SettingInstance(definition, settings)
stack_nr = -1 stack_nr = -1
if definition.global_inherits_stack and self._stack.getProperty("machine_extruder_count", "value") > 1: if definition.limit_to_extruder and self._stack.getProperty("machine_extruder_count", "value") > 1:
#Obtain the value from the correct container stack. Only once, upon adding the setting. #Obtain the value from the correct container stack. Only once, upon adding the setting.
stack_nr = str(int(round(float(self._stack.getProperty(item, "global_inherits_stack"))))) #Stack to get the setting from. Round it and remove the fractional part. stack_nr = str(int(round(float(self._stack.getProperty(item, "limit_to_extruder"))))) #Stack to get the setting from. Round it and remove the fractional part.
if stack_nr not in ExtruderManager.getInstance().extruderIds and self._stack.getProperty("extruder_nr", "value"): #Property not defined, but we have an extruder number. if stack_nr not in ExtruderManager.getInstance().extruderIds and self._stack.getProperty("extruder_nr", "value"): #Property not defined, but we have an extruder number.
stack_nr = str(int(round(float(self._stack.getProperty("extruder_nr", "value"))))) stack_nr = str(int(round(float(self._stack.getProperty("extruder_nr", "value")))))
if stack_nr in ExtruderManager.getInstance().extruderIds: #We have either a global_inherits_stack or an extruder_nr. if stack_nr in ExtruderManager.getInstance().extruderIds: #We have either a limit_to_extruder or an extruder_nr.
stack = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id = ExtruderManager.getInstance().extruderIds[stack_nr])[0] stack = UM.Settings.ContainerRegistry.getInstance().findContainerStacks(id = ExtruderManager.getInstance().extruderIds[stack_nr])[0]
else: else:
stack = UM.Application.getInstance().getGlobalContainerStack() stack = UM.Application.getInstance().getGlobalContainerStack()

View file

@ -654,7 +654,7 @@
"type": "float", "type": "float",
"enabled": "support_enable", "enabled": "support_enable",
"value": "line_width", "value": "line_width",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -668,7 +668,7 @@
"maximum_value_warning": "machine_nozzle_size * 2", "maximum_value_warning": "machine_nozzle_size * 2",
"type": "float", "type": "float",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable')",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"value": "line_width", "value": "line_width",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -1470,7 +1470,7 @@
"value": "speed_print", "value": "speed_print",
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "support_extruder_nr", "limit_to_extruder": "support_extruder_nr",
"settable_per_extruder": true, "settable_per_extruder": true,
"children": "children":
{ {
@ -1486,7 +1486,7 @@
"maximum_value_warning": "150", "maximum_value_warning": "150",
"value": "speed_support", "value": "speed_support",
"enabled": "support_enable", "enabled": "support_enable",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -1501,7 +1501,7 @@
"maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
"maximum_value_warning": "150", "maximum_value_warning": "150",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"value": "speed_support / 1.5", "value": "speed_support / 1.5",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -1593,7 +1593,7 @@
"enabled": "adhesion_type == \"skirt\" or adhesion_type == \"brim\"", "enabled": "adhesion_type == \"skirt\" or adhesion_type == \"brim\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"max_feedrate_z_override": "max_feedrate_z_override":
{ {
@ -1743,7 +1743,7 @@
"value": "acceleration_print", "value": "acceleration_print",
"enabled": "acceleration_enabled and support_enable", "enabled": "acceleration_enabled and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "support_extruder_nr", "limit_to_extruder": "support_extruder_nr",
"settable_per_extruder": true, "settable_per_extruder": true,
"children": { "children": {
"acceleration_support_infill": { "acceleration_support_infill": {
@ -1757,7 +1757,7 @@
"minimum_value_warning": "100", "minimum_value_warning": "100",
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "acceleration_enabled and support_enable", "enabled": "acceleration_enabled and support_enable",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -1772,7 +1772,7 @@
"minimum_value_warning": "100", "minimum_value_warning": "100",
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "acceleration_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "acceleration_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -1862,7 +1862,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "acceleration_enabled", "enabled": "acceleration_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"jerk_enabled": { "jerk_enabled": {
@ -1965,7 +1965,7 @@
"enabled": "jerk_enabled and support_enable", "enabled": "jerk_enabled and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "support_extruder_nr", "limit_to_extruder": "support_extruder_nr",
"children": { "children": {
"jerk_support_infill": { "jerk_support_infill": {
"label": "Support Infill Jerk", "label": "Support Infill Jerk",
@ -1978,7 +1978,7 @@
"minimum_value_warning": "5", "minimum_value_warning": "5",
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "jerk_enabled and support_enable", "enabled": "jerk_enabled and support_enable",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -1993,7 +1993,7 @@
"minimum_value_warning": "5", "minimum_value_warning": "5",
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "jerk_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "jerk_enabled and extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -2083,7 +2083,7 @@
"value": "jerk_layer_0", "value": "jerk_layer_0",
"enabled": "jerk_enabled", "enabled": "jerk_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
} }
} }
}, },
@ -2313,7 +2313,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value": "90", "maximum_value": "90",
"default_value": 50, "default_value": 50,
"global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
@ -2332,7 +2332,7 @@
}, },
"default_value": "zigzag", "default_value": "zigzag",
"enabled": "support_enable", "enabled": "support_enable",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -2343,7 +2343,7 @@
"type": "bool", "type": "bool",
"default_value": true, "default_value": true,
"enabled": "support_enable and (support_pattern == 'zigzag')", "enabled": "support_enable and (support_pattern == 'zigzag')",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -2357,7 +2357,7 @@
"maximum_value_warning": "100", "maximum_value_warning": "100",
"default_value": 15, "default_value": 15,
"enabled": "support_enable", "enabled": "support_enable",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"children": { "children": {
@ -2371,7 +2371,7 @@
"default_value": 2.66, "default_value": 2.66,
"enabled": "support_enable", "enabled": "support_enable",
"value": "(support_line_width * 100) / support_infill_rate * (2 if support_pattern == \"grid\" else (3 if support_pattern == \"triangles\" else 1))", "value": "(support_line_width * 100) / support_infill_rate * (2 if support_pattern == \"grid\" else (3 if support_pattern == \"triangles\" else 1))",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -2386,7 +2386,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"default_value": 0.1, "default_value": 0.1,
"global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": true, "settable_per_mesh": true,
"children": "children":
@ -2402,7 +2402,7 @@
"type": "float", "type": "float",
"enabled": "support_enable", "enabled": "support_enable",
"value": "extruderValue(support_extruder_nr, 'support_z_distance')", "value": "extruderValue(support_extruder_nr, 'support_z_distance')",
"global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_bottom_distance": "support_bottom_distance":
@ -2414,7 +2414,7 @@
"maximum_value_warning": "10", "maximum_value_warning": "10",
"default_value": 0.1, "default_value": 0.1,
"value": "extruderValue(support_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0", "value": "extruderValue(support_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0",
"global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
"type": "float", "type": "float",
"enabled": "support_enable and support_type == 'everywhere'", "enabled": "support_enable and support_type == 'everywhere'",
"settable_per_mesh": true "settable_per_mesh": true
@ -2430,7 +2430,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"default_value": 0.7, "default_value": 0.7,
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
@ -2443,7 +2443,7 @@
"z_overrides_xy": "Z overrides X/Y" "z_overrides_xy": "Z overrides X/Y"
}, },
"default_value": "z_overrides_xy", "default_value": "z_overrides_xy",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
@ -2456,7 +2456,7 @@
"maximum_value_warning": "10", "maximum_value_warning": "10",
"default_value": 0.2, "default_value": 0.2,
"value": "machine_nozzle_size / 2", "value": "machine_nozzle_size / 2",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_xy_overrides_z') == 'z_overrides_xy'", "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_xy_overrides_z') == 'z_overrides_xy'",
"settable_per_mesh": true "settable_per_mesh": true
}, },
@ -2467,7 +2467,7 @@
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 0.3, "default_value": 0.3,
"global_inherits_stack": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "1.0", "maximum_value_warning": "1.0",
"enabled": "support_enable", "enabled": "support_enable",
@ -2480,7 +2480,7 @@
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 2.0, "default_value": 2.0,
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"minimum_value_warning": "0", "minimum_value_warning": "0",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"enabled": "support_enable", "enabled": "support_enable",
@ -2493,7 +2493,7 @@
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 0.2, "default_value": 0.2,
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"minimum_value_warning": "-0.5", "minimum_value_warning": "-0.5",
"maximum_value_warning": "5.0", "maximum_value_warning": "5.0",
"enabled": "support_enable", "enabled": "support_enable",
@ -2505,7 +2505,7 @@
"description": "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model.", "description": "Generate a dense interface between the model and the support. This will create a skin at the top of the support on which the model is printed and at the bottom of the support, where it rests on the model.",
"type": "bool", "type": "bool",
"default_value": false, "default_value": false,
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
@ -2517,7 +2517,7 @@
"type": "float", "type": "float",
"default_value": 1, "default_value": 1,
"minimum_value": "0", "minimum_value": "0",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": true, "settable_per_mesh": true,
@ -2532,7 +2532,7 @@
"default_value": 1, "default_value": 1,
"value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')", "value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')",
"minimum_value": "0", "minimum_value": "0",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": true "settable_per_mesh": true
@ -2547,7 +2547,7 @@
"value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')", "value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')",
"minimum_value": "0", "minimum_value": "0",
"minimum_value_warning": "extruderValue(support_interface_extruder_nr, 'support_bottom_stair_step_height')", "minimum_value_warning": "extruderValue(support_interface_extruder_nr, 'support_bottom_stair_step_height')",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": true "settable_per_mesh": true
@ -2563,7 +2563,7 @@
"default_value": 0.3, "default_value": 0.3,
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "support_interface_height", "maximum_value_warning": "support_interface_height",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
@ -2576,7 +2576,7 @@
"default_value": 100, "default_value": 100,
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "100", "maximum_value_warning": "100",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
@ -2591,7 +2591,7 @@
"default_value": 0.4, "default_value": 0.4,
"minimum_value": "0", "minimum_value": "0",
"value": "0 if support_interface_density == 0 else (support_interface_line_width * 100) / support_interface_density * (2 if support_interface_pattern == \"grid\" else (3 if support_interface_pattern == \"triangles\" else 1))", "value": "0 if support_interface_density == 0 else (support_interface_line_width * 100) / support_interface_density * (2 if support_interface_pattern == \"grid\" else (3 if support_interface_pattern == \"triangles\" else 1))",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -2612,7 +2612,7 @@
"zigzag": "Zig Zag" "zigzag": "Zig Zag"
}, },
"default_value": "concentric", "default_value": "concentric",
"global_inherits_stack": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable", "enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -2623,7 +2623,7 @@
"description": "Use specialized towers to support tiny overhang areas. These towers have a larger diameter than the region they support. Near the overhang the towers' diameter decreases, forming a roof.", "description": "Use specialized towers to support tiny overhang areas. These towers have a larger diameter than the region they support. Near the overhang the towers' diameter decreases, forming a roof.",
"type": "bool", "type": "bool",
"default_value": true, "default_value": true,
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable", "enabled": "support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
@ -2634,7 +2634,7 @@
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 3.0, "default_value": 3.0,
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')", "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')",
@ -2647,7 +2647,7 @@
"unit": "mm", "unit": "mm",
"type": "float", "type": "float",
"default_value": 3.0, "default_value": 3.0,
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"maximum_value": "extruderValue(support_infill_extruder_nr, 'support_tower_diameter')", "maximum_value": "extruderValue(support_infill_extruder_nr, 'support_tower_diameter')",
@ -2663,7 +2663,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value": "90", "maximum_value": "90",
"default_value": 65, "default_value": 65,
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')", "enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')",
"settable_per_mesh": true "settable_per_mesh": true
} }
@ -2730,7 +2730,7 @@
"enabled": "adhesion_type == \"skirt\"", "enabled": "adhesion_type == \"skirt\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"skirt_gap": "skirt_gap":
{ {
@ -2744,7 +2744,7 @@
"enabled": "adhesion_type == \"skirt\"", "enabled": "adhesion_type == \"skirt\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"skirt_brim_minimal_length": "skirt_brim_minimal_length":
{ {
@ -2772,7 +2772,7 @@
"enabled": "adhesion_type == \"brim\"", "enabled": "adhesion_type == \"brim\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr", "limit_to_extruder": "adhesion_extruder_nr",
"children": "children":
{ {
"brim_line_count": "brim_line_count":
@ -2787,7 +2787,7 @@
"enabled": "adhesion_type == \"brim\"", "enabled": "adhesion_type == \"brim\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
} }
} }
}, },
@ -2800,7 +2800,7 @@
"enabled": "adhesion_type == \"brim\"", "enabled": "adhesion_type == \"brim\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_margin": "raft_margin":
{ {
@ -2812,7 +2812,7 @@
"minimum_value_warning": "0", "minimum_value_warning": "0",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_airgap": "raft_airgap":
{ {
@ -2826,7 +2826,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"layer_0_z_overlap": { "layer_0_z_overlap": {
"label": "Initial Layer Z Overlap", "label": "Initial Layer Z Overlap",
@ -2840,7 +2840,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_surface_layers": "raft_surface_layers":
{ {
@ -2853,7 +2853,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_surface_thickness": "raft_surface_thickness":
{ {
@ -2868,7 +2868,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_surface_line_width": "raft_surface_line_width":
{ {
@ -2883,7 +2883,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_surface_line_spacing": "raft_surface_line_spacing":
{ {
@ -2898,7 +2898,7 @@
"value": "raft_surface_line_width", "value": "raft_surface_line_width",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_interface_thickness": "raft_interface_thickness":
{ {
@ -2913,7 +2913,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_interface_line_width": "raft_interface_line_width":
{ {
@ -2928,7 +2928,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_interface_line_spacing": "raft_interface_line_spacing":
{ {
@ -2943,7 +2943,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_base_thickness": "raft_base_thickness":
{ {
@ -2958,7 +2958,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_base_line_width": "raft_base_line_width":
{ {
@ -2973,7 +2973,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_base_line_spacing": "raft_base_line_spacing":
{ {
@ -2988,7 +2988,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_speed": "raft_speed":
{ {
@ -3004,7 +3004,7 @@
"value": "speed_print / 60 * 30", "value": "speed_print / 60 * 30",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr", "limit_to_extruder": "adhesion_extruder_nr",
"children": "children":
{ {
"raft_surface_speed": "raft_surface_speed":
@ -3021,7 +3021,7 @@
"value": "raft_speed", "value": "raft_speed",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_interface_speed": "raft_interface_speed":
{ {
@ -3037,7 +3037,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_base_speed": "raft_base_speed":
{ {
@ -3053,7 +3053,7 @@
"value": "0.75 * raft_speed", "value": "0.75 * raft_speed",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
} }
} }
}, },
@ -3069,7 +3069,7 @@
"value": "acceleration_print", "value": "acceleration_print",
"enabled": "adhesion_type == \"raft\" and acceleration_enabled", "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr", "limit_to_extruder": "adhesion_extruder_nr",
"children": { "children": {
"raft_surface_acceleration": { "raft_surface_acceleration": {
"label": "Raft Top Print Acceleration", "label": "Raft Top Print Acceleration",
@ -3083,7 +3083,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "adhesion_type == \"raft\" and acceleration_enabled", "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_interface_acceleration": { "raft_interface_acceleration": {
"label": "Raft Middle Print Acceleration", "label": "Raft Middle Print Acceleration",
@ -3097,7 +3097,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "adhesion_type == \"raft\" and acceleration_enabled", "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_base_acceleration": { "raft_base_acceleration": {
"label": "Raft Base Print Acceleration", "label": "Raft Base Print Acceleration",
@ -3111,7 +3111,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "adhesion_type == \"raft\" and acceleration_enabled", "enabled": "adhesion_type == \"raft\" and acceleration_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
} }
} }
}, },
@ -3127,7 +3127,7 @@
"value": "jerk_print", "value": "jerk_print",
"enabled": "adhesion_type == \"raft\" and jerk_enabled", "enabled": "adhesion_type == \"raft\" and jerk_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr", "limit_to_extruder": "adhesion_extruder_nr",
"children": { "children": {
"raft_surface_jerk": { "raft_surface_jerk": {
"label": "Raft Top Print Jerk", "label": "Raft Top Print Jerk",
@ -3141,7 +3141,7 @@
"maximum_value_warning": "100", "maximum_value_warning": "100",
"enabled": "adhesion_type == \"raft\" and jerk_enabled", "enabled": "adhesion_type == \"raft\" and jerk_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_interface_jerk": { "raft_interface_jerk": {
"label": "Raft Middle Print Jerk", "label": "Raft Middle Print Jerk",
@ -3155,7 +3155,7 @@
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "adhesion_type == \"raft\" and jerk_enabled", "enabled": "adhesion_type == \"raft\" and jerk_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_base_jerk": { "raft_base_jerk": {
"label": "Raft Base Print Jerk", "label": "Raft Base Print Jerk",
@ -3169,7 +3169,7 @@
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "adhesion_type == \"raft\" and jerk_enabled", "enabled": "adhesion_type == \"raft\" and jerk_enabled",
"settable_per_mesh": false, "settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
} }
} }
}, },
@ -3184,7 +3184,7 @@
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"global_inherits_stack": "adhesion_extruder_nr", "limit_to_extruder": "adhesion_extruder_nr",
"children": "children":
{ {
"raft_surface_fan_speed": "raft_surface_fan_speed":
@ -3200,7 +3200,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_interface_fan_speed": "raft_interface_fan_speed":
{ {
@ -3215,7 +3215,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
}, },
"raft_base_fan_speed": "raft_base_fan_speed":
{ {
@ -3230,7 +3230,7 @@
"enabled": "adhesion_type == \"raft\"", "enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr" "limit_to_extruder": "adhesion_extruder_nr"
} }
} }
} }
@ -3706,7 +3706,7 @@
"maximum_value": "90", "maximum_value": "90",
"default_value": 30, "default_value": 30,
"enabled": "support_conical_enabled and support_enable", "enabled": "support_conical_enabled and support_enable",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_conical_min_width": "support_conical_min_width":
@ -3720,7 +3720,7 @@
"maximum_value_warning": "100.0", "maximum_value_warning": "100.0",
"type": "float", "type": "float",
"enabled": "support_conical_enabled and support_enable", "enabled": "support_conical_enabled and support_enable",
"global_inherits_stack": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"magic_fuzzy_skin_enabled": "magic_fuzzy_skin_enabled":

View file

@ -138,7 +138,7 @@ Item {
{ {
id: linkedSettingIcon; id: linkedSettingIcon;
visible: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId && (!definition.settable_per_extruder || definition.global_inherits_stack != "-1") && base.showLinkedSettingIcon visible: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId && (!definition.settable_per_extruder || definition.limit_to_extruder != "-1") && base.showLinkedSettingIcon
height: parent.height; height: parent.height;
width: height; width: height;

View file

@ -89,13 +89,13 @@ ScrollView
} }
// Binding to ensure that the right containerstack ID is set for the provider. // Binding to ensure that the right containerstack ID is set for the provider.
// This ensures that if a setting has a global_inherits_stack id (for instance; Support speed points to the // This ensures that if a setting has a limit_to_extruder id (for instance; Support speed points to the
// extruder that actually prints the support, as that is the setting we need to use to calculate the value) // extruder that actually prints the support, as that is the setting we need to use to calculate the value)
Binding Binding
{ {
target: provider target: provider
property: "containerStackId" property: "containerStackId"
when: model.settable_per_extruder || (inheritStackProvider.properties.global_inherits_stack != null && inheritStackProvider.properties.global_inherits_stack >= 0); when: model.settable_per_extruder || (inheritStackProvider.properties.limit_to_extruder != null && inheritStackProvider.properties.limit_to_extruder >= 0);
value: value:
{ {
if(!model.settable_per_extruder) if(!model.settable_per_extruder)
@ -103,10 +103,10 @@ ScrollView
//Not settable per extruder, so we must pick global. //Not settable per extruder, so we must pick global.
return Cura.MachineManager.activeMachineId; return Cura.MachineManager.activeMachineId;
} }
if(inheritStackProvider.properties.global_inherits_stack != null && inheritStackProvider.properties.global_inherits_stack >= 0) if(inheritStackProvider.properties.limit_to_extruder != null && inheritStackProvider.properties.limit_to_extruder >= 0)
{ {
//We have global_inherits_stack, so pick that stack. //We have limit_to_extruder, so pick that stack.
return ExtruderManager.extruderIds[String(inheritStackProvider.properties.global_inherits_stack)]; return ExtruderManager.extruderIds[String(inheritStackProvider.properties.limit_to_extruder)];
} }
if(ExtruderManager.activeExtruderStackId) if(ExtruderManager.activeExtruderStackId)
{ {
@ -125,7 +125,7 @@ ScrollView
id: inheritStackProvider id: inheritStackProvider
containerStackId: Cura.MachineManager.activeMachineId containerStackId: Cura.MachineManager.activeMachineId
key: model.key key: model.key
watchedProperties: [ "global_inherits_stack" ] watchedProperties: [ "limit_to_extruder" ]
} }
UM.SettingPropertyProvider UM.SettingPropertyProvider