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_meshgroup", 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.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
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 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

View file

@ -245,16 +245,16 @@ class StartSliceJob(Job):
## Sends for some settings which extruder they should fallback to if not
# 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.
#
# \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):
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.
setting_extruder = self._slice_message.addRepeatedMessage("global_inherits_stack")
setting_extruder = self._slice_message.addRepeatedMessage("limit_to_extruder")
setting_extruder.name = key
setting_extruder.extruder = extruder

View file

@ -60,12 +60,12 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
if definition:
new_instance = SettingInstance(definition, settings)
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.
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.
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]
else:
stack = UM.Application.getInstance().getGlobalContainerStack()

View file

@ -654,7 +654,7 @@
"type": "float",
"enabled": "support_enable",
"value": "line_width",
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false,
"settable_per_extruder": true
},
@ -668,7 +668,7 @@
"maximum_value_warning": "machine_nozzle_size * 2",
"type": "float",
"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",
"settable_per_mesh": false,
"settable_per_extruder": true
@ -1470,7 +1470,7 @@
"value": "speed_print",
"enabled": "support_enable",
"settable_per_mesh": false,
"global_inherits_stack": "support_extruder_nr",
"limit_to_extruder": "support_extruder_nr",
"settable_per_extruder": true,
"children":
{
@ -1486,7 +1486,7 @@
"maximum_value_warning": "150",
"value": "speed_support",
"enabled": "support_enable",
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false,
"settable_per_extruder": true
},
@ -1501,7 +1501,7 @@
"maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
"maximum_value_warning": "150",
"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",
"settable_per_mesh": false,
"settable_per_extruder": true
@ -1593,7 +1593,7 @@
"enabled": "adhesion_type == \"skirt\" or adhesion_type == \"brim\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"max_feedrate_z_override":
{
@ -1743,7 +1743,7 @@
"value": "acceleration_print",
"enabled": "acceleration_enabled and support_enable",
"settable_per_mesh": false,
"global_inherits_stack": "support_extruder_nr",
"limit_to_extruder": "support_extruder_nr",
"settable_per_extruder": true,
"children": {
"acceleration_support_infill": {
@ -1757,7 +1757,7 @@
"minimum_value_warning": "100",
"maximum_value_warning": "10000",
"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_extruder": true
},
@ -1772,7 +1772,7 @@
"minimum_value_warning": "100",
"maximum_value_warning": "10000",
"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_extruder": true
}
@ -1862,7 +1862,7 @@
"maximum_value_warning": "10000",
"enabled": "acceleration_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"jerk_enabled": {
@ -1965,7 +1965,7 @@
"enabled": "jerk_enabled and support_enable",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "support_extruder_nr",
"limit_to_extruder": "support_extruder_nr",
"children": {
"jerk_support_infill": {
"label": "Support Infill Jerk",
@ -1978,7 +1978,7 @@
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"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_extruder": true
},
@ -1993,7 +1993,7 @@
"minimum_value_warning": "5",
"maximum_value_warning": "50",
"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_extruder": true
}
@ -2083,7 +2083,7 @@
"value": "jerk_layer_0",
"enabled": "jerk_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
}
}
},
@ -2313,7 +2313,7 @@
"minimum_value": "0",
"maximum_value": "90",
"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",
"settable_per_mesh": true
},
@ -2332,7 +2332,7 @@
},
"default_value": "zigzag",
"enabled": "support_enable",
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false,
"settable_per_extruder": true
},
@ -2343,7 +2343,7 @@
"type": "bool",
"default_value": true,
"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_extruder": true
},
@ -2357,7 +2357,7 @@
"maximum_value_warning": "100",
"default_value": 15,
"enabled": "support_enable",
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false,
"settable_per_extruder": true,
"children": {
@ -2371,7 +2371,7 @@
"default_value": 2.66,
"enabled": "support_enable",
"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_extruder": true
}
@ -2386,7 +2386,7 @@
"minimum_value": "0",
"maximum_value_warning": "10",
"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",
"settable_per_mesh": true,
"children":
@ -2402,7 +2402,7 @@
"type": "float",
"enabled": "support_enable",
"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
},
"support_bottom_distance":
@ -2414,7 +2414,7 @@
"maximum_value_warning": "10",
"default_value": 0.1,
"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",
"enabled": "support_enable and support_type == 'everywhere'",
"settable_per_mesh": true
@ -2430,7 +2430,7 @@
"minimum_value": "0",
"maximum_value_warning": "10",
"default_value": 0.7,
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable",
"settable_per_mesh": true
},
@ -2443,7 +2443,7 @@
"z_overrides_xy": "Z overrides X/Y"
},
"default_value": "z_overrides_xy",
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable",
"settable_per_mesh": true
},
@ -2456,7 +2456,7 @@
"maximum_value_warning": "10",
"default_value": 0.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'",
"settable_per_mesh": true
},
@ -2467,7 +2467,7 @@
"unit": "mm",
"type": "float",
"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",
"maximum_value_warning": "1.0",
"enabled": "support_enable",
@ -2480,7 +2480,7 @@
"unit": "mm",
"type": "float",
"default_value": 2.0,
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"minimum_value_warning": "0",
"maximum_value_warning": "10",
"enabled": "support_enable",
@ -2493,7 +2493,7 @@
"unit": "mm",
"type": "float",
"default_value": 0.2,
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"minimum_value_warning": "-0.5",
"maximum_value_warning": "5.0",
"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.",
"type": "bool",
"default_value": false,
"global_inherits_stack": "support_interface_extruder_nr",
"limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_enable",
"settable_per_mesh": true
},
@ -2517,7 +2517,7 @@
"type": "float",
"default_value": 1,
"minimum_value": "0",
"global_inherits_stack": "support_interface_extruder_nr",
"limit_to_extruder": "support_interface_extruder_nr",
"maximum_value_warning": "10",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": true,
@ -2532,7 +2532,7 @@
"default_value": 1,
"value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')",
"minimum_value": "0",
"global_inherits_stack": "support_interface_extruder_nr",
"limit_to_extruder": "support_interface_extruder_nr",
"maximum_value_warning": "10",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": true
@ -2547,7 +2547,7 @@
"value": "extruderValue(support_interface_extruder_nr, 'support_interface_height')",
"minimum_value": "0",
"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",
"enabled": "extruderValue(support_interface_extruder_nr, 'support_interface_enable') and support_enable",
"settable_per_mesh": true
@ -2563,7 +2563,7 @@
"default_value": 0.3,
"minimum_value": "0",
"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",
"settable_per_mesh": true
},
@ -2576,7 +2576,7 @@
"default_value": 100,
"minimum_value": "0",
"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",
"settable_per_mesh": false,
"settable_per_extruder": true,
@ -2591,7 +2591,7 @@
"default_value": 0.4,
"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))",
"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",
"settable_per_mesh": false,
"settable_per_extruder": true
@ -2612,7 +2612,7 @@
"zigzag": "Zig Zag"
},
"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",
"settable_per_mesh": false,
"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.",
"type": "bool",
"default_value": true,
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable",
"settable_per_mesh": true
},
@ -2634,7 +2634,7 @@
"unit": "mm",
"type": "float",
"default_value": 3.0,
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"minimum_value": "0",
"maximum_value_warning": "10",
"enabled": "support_enable and extruderValue(support_infill_extruder_nr, 'support_use_towers')",
@ -2647,7 +2647,7 @@
"unit": "mm",
"type": "float",
"default_value": 3.0,
"global_inherits_stack": "support_infill_extruder_nr",
"limit_to_extruder": "support_infill_extruder_nr",
"minimum_value": "0",
"maximum_value_warning": "10",
"maximum_value": "extruderValue(support_infill_extruder_nr, 'support_tower_diameter')",
@ -2663,7 +2663,7 @@
"minimum_value": "0",
"maximum_value": "90",
"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')",
"settable_per_mesh": true
}
@ -2730,7 +2730,7 @@
"enabled": "adhesion_type == \"skirt\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"skirt_gap":
{
@ -2744,7 +2744,7 @@
"enabled": "adhesion_type == \"skirt\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"skirt_brim_minimal_length":
{
@ -2772,7 +2772,7 @@
"enabled": "adhesion_type == \"brim\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr",
"limit_to_extruder": "adhesion_extruder_nr",
"children":
{
"brim_line_count":
@ -2787,7 +2787,7 @@
"enabled": "adhesion_type == \"brim\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
}
}
},
@ -2800,7 +2800,7 @@
"enabled": "adhesion_type == \"brim\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_margin":
{
@ -2812,7 +2812,7 @@
"minimum_value_warning": "0",
"maximum_value_warning": "10",
"enabled": "adhesion_type == \"raft\"",
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_airgap":
{
@ -2826,7 +2826,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"layer_0_z_overlap": {
"label": "Initial Layer Z Overlap",
@ -2840,7 +2840,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_surface_layers":
{
@ -2853,7 +2853,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_surface_thickness":
{
@ -2868,7 +2868,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_surface_line_width":
{
@ -2883,7 +2883,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_surface_line_spacing":
{
@ -2898,7 +2898,7 @@
"value": "raft_surface_line_width",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_interface_thickness":
{
@ -2913,7 +2913,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_interface_line_width":
{
@ -2928,7 +2928,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_interface_line_spacing":
{
@ -2943,7 +2943,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_base_thickness":
{
@ -2958,7 +2958,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_base_line_width":
{
@ -2973,7 +2973,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_base_line_spacing":
{
@ -2988,7 +2988,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_speed":
{
@ -3004,7 +3004,7 @@
"value": "speed_print / 60 * 30",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr",
"limit_to_extruder": "adhesion_extruder_nr",
"children":
{
"raft_surface_speed":
@ -3021,7 +3021,7 @@
"value": "raft_speed",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_interface_speed":
{
@ -3037,7 +3037,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_base_speed":
{
@ -3053,7 +3053,7 @@
"value": "0.75 * raft_speed",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
}
}
},
@ -3069,7 +3069,7 @@
"value": "acceleration_print",
"enabled": "adhesion_type == \"raft\" and acceleration_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr",
"limit_to_extruder": "adhesion_extruder_nr",
"children": {
"raft_surface_acceleration": {
"label": "Raft Top Print Acceleration",
@ -3083,7 +3083,7 @@
"maximum_value_warning": "10000",
"enabled": "adhesion_type == \"raft\" and acceleration_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_interface_acceleration": {
"label": "Raft Middle Print Acceleration",
@ -3097,7 +3097,7 @@
"maximum_value_warning": "10000",
"enabled": "adhesion_type == \"raft\" and acceleration_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_base_acceleration": {
"label": "Raft Base Print Acceleration",
@ -3111,7 +3111,7 @@
"maximum_value_warning": "10000",
"enabled": "adhesion_type == \"raft\" and acceleration_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
}
}
},
@ -3127,7 +3127,7 @@
"value": "jerk_print",
"enabled": "adhesion_type == \"raft\" and jerk_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr",
"limit_to_extruder": "adhesion_extruder_nr",
"children": {
"raft_surface_jerk": {
"label": "Raft Top Print Jerk",
@ -3141,7 +3141,7 @@
"maximum_value_warning": "100",
"enabled": "adhesion_type == \"raft\" and jerk_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_interface_jerk": {
"label": "Raft Middle Print Jerk",
@ -3155,7 +3155,7 @@
"maximum_value_warning": "50",
"enabled": "adhesion_type == \"raft\" and jerk_enabled",
"settable_per_mesh": false,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_base_jerk": {
"label": "Raft Base Print Jerk",
@ -3169,7 +3169,7 @@
"maximum_value_warning": "50",
"enabled": "adhesion_type == \"raft\" and jerk_enabled",
"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_extruder": true,
"enabled": "adhesion_type == \"raft\"",
"global_inherits_stack": "adhesion_extruder_nr",
"limit_to_extruder": "adhesion_extruder_nr",
"children":
{
"raft_surface_fan_speed":
@ -3200,7 +3200,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_interface_fan_speed":
{
@ -3215,7 +3215,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
},
"raft_base_fan_speed":
{
@ -3230,7 +3230,7 @@
"enabled": "adhesion_type == \"raft\"",
"settable_per_mesh": false,
"settable_per_extruder": true,
"global_inherits_stack": "adhesion_extruder_nr"
"limit_to_extruder": "adhesion_extruder_nr"
}
}
}
@ -3706,7 +3706,7 @@
"maximum_value": "90",
"default_value": 30,
"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
},
"support_conical_min_width":
@ -3720,7 +3720,7 @@
"maximum_value_warning": "100.0",
"type": "float",
"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
},
"magic_fuzzy_skin_enabled":

View file

@ -138,7 +138,7 @@ Item {
{
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;
width: height;

View file

@ -89,13 +89,13 @@ ScrollView
}
// 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)
Binding
{
target: provider
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:
{
if(!model.settable_per_extruder)
@ -103,10 +103,10 @@ ScrollView
//Not settable per extruder, so we must pick global.
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.
return ExtruderManager.extruderIds[String(inheritStackProvider.properties.global_inherits_stack)];
//We have limit_to_extruder, so pick that stack.
return ExtruderManager.extruderIds[String(inheritStackProvider.properties.limit_to_extruder)];
}
if(ExtruderManager.activeExtruderStackId)
{
@ -125,7 +125,7 @@ ScrollView
id: inheritStackProvider
containerStackId: Cura.MachineManager.activeMachineId
key: model.key
watchedProperties: [ "global_inherits_stack" ]
watchedProperties: [ "limit_to_extruder" ]
}
UM.SettingPropertyProvider