Merge branch 'CURA-6711_support_structure_dropdown' of github.com:Ultimaker/Cura

This commit is contained in:
Jaime van Kessel 2020-07-16 13:40:57 +02:00
commit 0d4ed17ad3
No known key found for this signature in database
GPG Key ID: 3710727397403C91
58 changed files with 168 additions and 148 deletions

View File

@ -289,7 +289,7 @@ class ExtruderManager(QObject):
return global_stack.getProperty("adhesion_extruder_nr", "value") return global_stack.getProperty("adhesion_extruder_nr", "value")
# No adhesion? Well maybe there is still support brim. # No adhesion? Well maybe there is still support brim.
if (global_stack.getProperty("support_enable", "value") or global_stack.getProperty("support_tree_enable", "value")) and global_stack.getProperty("support_brim_enable", "value"): if (global_stack.getProperty("support_enable", "value") or global_stack.getProperty("support_structure", "value") == "tree") and global_stack.getProperty("support_brim_enable", "value"):
return global_stack.getProperty("support_infill_extruder_nr", "value") return global_stack.getProperty("support_infill_extruder_nr", "value")
# REALLY no adhesion? Use the first used extruder. # REALLY no adhesion? Use the first used extruder.

View File

@ -21,7 +21,8 @@ _removed_settings = {
"spaghetti_max_height", "spaghetti_max_height",
"spaghetti_inset", "spaghetti_inset",
"spaghetti_flow", "spaghetti_flow",
"spaghetti_infill_extra_volume" "spaghetti_infill_extra_volume",
"support_tree_enable"
} # type: Set[str] } # type: Set[str]
class VersionUpgrade462to47(VersionUpgrade): class VersionUpgrade462to47(VersionUpgrade):
@ -39,10 +40,18 @@ class VersionUpgrade462to47(VersionUpgrade):
# Update version number. # Update version number.
parser["metadata"]["setting_version"] = "15" parser["metadata"]["setting_version"] = "15"
# Remove deleted settings from the visible settings list.
if "general" in parser and "visible_settings" in parser["general"]: if "general" in parser and "visible_settings" in parser["general"]:
parser["general"]["visible_settings"] = ";".join( settings = set(parser["general"]["visible_settings"].split(";"))
set(parser["general"]["visible_settings"].split(";")).difference(_removed_settings))
# add support_structure to the visible settings list if necessary
if "support_tree_enable" in parser["general"]["visible_settings"]:
settings.add("support_structure")
# Remove deleted settings from the visible settings list.
settings.difference_update(_removed_settings)
# serialize
parser["general"]["visible_settings"] = ";".join(settings)
result = io.StringIO() result = io.StringIO()
parser.write(result) parser.write(result)
@ -94,6 +103,12 @@ class VersionUpgrade462to47(VersionUpgrade):
ironing_inset = "=(" + ironing_inset + ")" + correction ironing_inset = "=(" + ironing_inset + ")" + correction
parser["values"]["ironing_inset"] = ironing_inset parser["values"]["ironing_inset"] = ironing_inset
# Set support_structure if necessary
if "support_tree_enable" in parser["values"]:
if parseBool(parser["values"]["support_tree_enable"]):
parser["values"]["support_structure"] = "tree"
parser["values"]["support_enable"] = "True"
for removed in set(parser["values"].keys()).intersection(_removed_settings): for removed in set(parser["values"].keys()).intersection(_removed_settings):
del parser["values"][removed] del parser["values"][removed]

View File

@ -887,7 +887,7 @@
"maximum_value_warning": "3 * machine_nozzle_size", "maximum_value_warning": "3 * machine_nozzle_size",
"default_value": 0.4, "default_value": 0.4,
"type": "float", "type": "float",
"enabled": "(support_enable or support_tree_enable or support_meshes_present)", "enabled": "(support_enable or support_meshes_present)",
"value": "line_width", "value": "line_width",
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -903,7 +903,7 @@
"minimum_value_warning": "0.1 + 0.4 * machine_nozzle_size", "minimum_value_warning": "0.1 + 0.4 * machine_nozzle_size",
"maximum_value_warning": "2 * machine_nozzle_size", "maximum_value_warning": "2 * machine_nozzle_size",
"type": "float", "type": "float",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_interface_enable", "enabled": "(support_enable or support_meshes_present) and support_interface_enable",
"limit_to_extruder": "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,
@ -920,7 +920,7 @@
"minimum_value_warning": "0.4 * machine_nozzle_size", "minimum_value_warning": "0.4 * machine_nozzle_size",
"maximum_value_warning": "2 * machine_nozzle_size", "maximum_value_warning": "2 * machine_nozzle_size",
"type": "float", "type": "float",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_roof_enable", "enabled": "(support_enable or support_meshes_present) and support_roof_enable",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_line_width')", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_line_width')",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -936,7 +936,7 @@
"minimum_value_warning": "0.4 * machine_nozzle_size", "minimum_value_warning": "0.4 * machine_nozzle_size",
"maximum_value_warning": "2 * machine_nozzle_size", "maximum_value_warning": "2 * machine_nozzle_size",
"type": "float", "type": "float",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_bottom_enable", "enabled": "(support_enable or support_meshes_present) and support_bottom_enable",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_line_width')", "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_line_width')",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -2847,7 +2847,7 @@
"maximum_value_warning": "150", "maximum_value_warning": "150",
"default_value": 60, "default_value": 60,
"value": "speed_print", "value": "speed_print",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "support_extruder_nr", "limit_to_extruder": "support_extruder_nr",
"settable_per_extruder": true, "settable_per_extruder": true,
@ -2864,7 +2864,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",
"value": "speed_support", "value": "speed_support",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"limit_to_extruder": "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
@ -2879,7 +2879,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"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": "support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_interface_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "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,
@ -2896,7 +2896,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"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": "support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_roof_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"value": "extruderValue(support_roof_extruder_nr, 'speed_support_interface')", "value": "extruderValue(support_roof_extruder_nr, 'speed_support_interface')",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -2912,7 +2912,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"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": "support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_bottom_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"value": "extruderValue(support_bottom_extruder_nr, 'speed_support_interface')", "value": "extruderValue(support_bottom_extruder_nr, 'speed_support_interface')",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -3187,7 +3187,7 @@
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"default_value": 3000, "default_value": 3000,
"value": "acceleration_print", "value": "acceleration_print",
"enabled": "resolveOrValue('acceleration_enabled') and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('acceleration_enabled') and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"limit_to_extruder": "support_extruder_nr", "limit_to_extruder": "support_extruder_nr",
"settable_per_extruder": true, "settable_per_extruder": true,
@ -3204,7 +3204,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"minimum_value_warning": "100", "minimum_value_warning": "100",
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "resolveOrValue('acceleration_enabled') and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('acceleration_enabled') and (support_enable or support_meshes_present)",
"limit_to_extruder": "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
@ -3220,7 +3220,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"minimum_value_warning": "100", "minimum_value_warning": "100",
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "resolveOrValue('acceleration_enabled') and support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('acceleration_enabled') and support_interface_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "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,
@ -3237,7 +3237,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"minimum_value_warning": "100", "minimum_value_warning": "100",
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "acceleration_enabled and support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "acceleration_enabled and support_roof_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -3253,7 +3253,7 @@
"minimum_value": "0.1", "minimum_value": "0.1",
"minimum_value_warning": "100", "minimum_value_warning": "100",
"maximum_value_warning": "10000", "maximum_value_warning": "10000",
"enabled": "acceleration_enabled and support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "acceleration_enabled and support_bottom_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -3472,7 +3472,7 @@
"maximum_value_warning": "50", "maximum_value_warning": "50",
"default_value": 20, "default_value": 20,
"value": "jerk_print", "value": "jerk_print",
"enabled": "resolveOrValue('jerk_enabled') and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('jerk_enabled') and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "support_extruder_nr", "limit_to_extruder": "support_extruder_nr",
@ -3488,7 +3488,7 @@
"value": "jerk_support", "value": "jerk_support",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled') and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('jerk_enabled') and (support_enable or support_meshes_present)",
"limit_to_extruder": "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
@ -3503,7 +3503,7 @@
"value": "jerk_support", "value": "jerk_support",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled') and support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('jerk_enabled') and support_interface_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "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,
@ -3519,7 +3519,7 @@
"value": "extruderValue(support_roof_extruder_nr, 'jerk_support_interface')", "value": "extruderValue(support_roof_extruder_nr, 'jerk_support_interface')",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled') and support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('jerk_enabled') and support_roof_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -3534,7 +3534,7 @@
"value": "extruderValue(support_roof_extruder_nr, 'jerk_support_interface')", "value": "extruderValue(support_roof_extruder_nr, 'jerk_support_interface')",
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "50", "maximum_value_warning": "50",
"enabled": "resolveOrValue('jerk_enabled') and support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('jerk_enabled') and support_bottom_enable and (support_enable or support_meshes_present)",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
@ -3778,7 +3778,7 @@
"description": "Omit retraction when moving from support to support in a straight line. Enabling this setting saves print time, but can lead to excessive stringing within the support structure.", "description": "Omit retraction when moving from support to support in a straight line. Enabling this setting saves print time, but can lead to excessive stringing within the support structure.",
"type": "bool", "type": "bool",
"default_value": true, "default_value": true,
"enabled": "retraction_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "retraction_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -4108,7 +4108,7 @@
"type": "extruder", "type": "extruder",
"default_value": "0", "default_value": "0",
"value": "int(defaultExtruderPosition())", "value": "int(defaultExtruderPosition())",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and extruders_enabled_count > 1", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false, "settable_per_extruder": false,
"children": { "children": {
@ -4119,7 +4119,7 @@
"type": "extruder", "type": "extruder",
"default_value": "0", "default_value": "0",
"value": "support_extruder_nr", "value": "support_extruder_nr",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and extruders_enabled_count > 1", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
}, },
@ -4130,7 +4130,7 @@
"type": "extruder", "type": "extruder",
"default_value": "0", "default_value": "0",
"value": "support_extruder_nr", "value": "support_extruder_nr",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and extruders_enabled_count > 1", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
}, },
@ -4141,7 +4141,7 @@
"type": "extruder", "type": "extruder",
"default_value": "0", "default_value": "0",
"value": "support_extruder_nr", "value": "support_extruder_nr",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and extruders_enabled_count > 1", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false, "settable_per_extruder": false,
"children": "children":
@ -4153,7 +4153,7 @@
"type": "extruder", "type": "extruder",
"default_value": "0", "default_value": "0",
"value": "support_interface_extruder_nr", "value": "support_interface_extruder_nr",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and extruders_enabled_count > 1", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
}, },
@ -4164,7 +4164,7 @@
"type": "extruder", "type": "extruder",
"default_value": "0", "default_value": "0",
"value": "support_interface_extruder_nr", "value": "support_interface_extruder_nr",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and extruders_enabled_count > 1", "enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
} }
@ -4184,7 +4184,7 @@
}, },
"default_value": "everywhere", "default_value": "everywhere",
"resolve": "'everywhere' if 'everywhere' in extruderValues('support_type') else 'buildplate'", "resolve": "'everywhere' if 'everywhere' in extruderValues('support_type') else 'buildplate'",
"enabled": "support_enable or support_tree_enable", "enabled": "support_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
}, },
@ -4199,7 +4199,7 @@
"maximum_value_warning": "80", "maximum_value_warning": "80",
"default_value": 50, "default_value": 50,
"limit_to_extruder": "support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr",
"enabled": "support_enable or support_tree_enable", "enabled": "support_enable",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_pattern": "support_pattern":
@ -4218,7 +4218,7 @@
"gyroid": "Gyroid" "gyroid": "Gyroid"
}, },
"default_value": "zigzag", "default_value": "zigzag",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"limit_to_extruder": "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
@ -4232,8 +4232,8 @@
"minimum_value_warning": "1 if support_pattern == 'concentric' else 0", "minimum_value_warning": "1 if support_pattern == 'concentric' else 0",
"maximum_value_warning": "0 if (support_skip_some_zags and support_pattern == 'zigzag') else 3", "maximum_value_warning": "0 if (support_skip_some_zags and support_pattern == 'zigzag') else 3",
"type": "int", "type": "int",
"value": "1 if support_tree_enable else (1 if (support_pattern == 'grid' or support_pattern == 'triangles' or support_pattern == 'concentric') else 0)", "value": "1 if support_enable and support_structure == 'tree' else (1 if (support_pattern == 'grid' or support_pattern == 'triangles' or support_pattern == 'concentric') else 0)",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"limit_to_extruder": "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
@ -4245,7 +4245,7 @@
"type": "bool", "type": "bool",
"default_value": false, "default_value": false,
"value": "support_pattern == 'cross' or support_pattern == 'gyroid'", "value": "support_pattern == 'cross' or support_pattern == 'gyroid'",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and (support_pattern == 'grid' or support_pattern == 'triangles' or support_pattern == 'cross' or support_pattern == 'gyroid')", "enabled": "(support_enable or support_meshes_present) and (support_pattern == 'grid' or support_pattern == 'triangles' or support_pattern == 'cross' or support_pattern == 'gyroid')",
"limit_to_extruder": "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
@ -4256,7 +4256,7 @@
"description": "Connect the ZigZags. This will increase the strength of the zig zag support structure.", "description": "Connect the ZigZags. This will increase the strength of the zig zag support structure.",
"type": "bool", "type": "bool",
"default_value": true, "default_value": true,
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_pattern == 'zigzag'", "enabled": "(support_enable or support_meshes_present) and support_pattern == 'zigzag'",
"limit_to_extruder": "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
@ -4270,8 +4270,8 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "100", "maximum_value_warning": "100",
"default_value": 15, "default_value": 15,
"value": "15 if support_enable else 0 if support_tree_enable else 15", "value": "15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"limit_to_extruder": "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,
@ -4286,7 +4286,7 @@
"minimum_value": "0", "minimum_value": "0",
"minimum_value_warning": "support_line_width", "minimum_value_warning": "support_line_width",
"default_value": 2.66, "default_value": 2.66,
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"value": "0 if support_infill_rate == 0 else (support_line_width * 100) / support_infill_rate * (2 if support_pattern == 'grid' else (3 if support_pattern == 'triangles' else 1))", "value": "0 if support_infill_rate == 0 else (support_line_width * 100) / support_infill_rate * (2 if support_pattern == 'grid' else (3 if support_pattern == 'triangles' else 1))",
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -4301,7 +4301,7 @@
"minimum_value": "0", "minimum_value": "0",
"minimum_value_warning": "support_line_width", "minimum_value_warning": "support_line_width",
"default_value": 2.66, "default_value": 2.66,
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"value": "support_line_distance", "value": "support_line_distance",
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false, "settable_per_mesh": false,
@ -4315,7 +4315,7 @@
"description": "A list of integer line directions to use. Elements from the list are used sequentially as the layers progress and when the end of the list is reached, it starts at the beginning again. The list items are separated by commas and the whole list is contained in square brackets. Default is an empty list which means use the default angle 0 degrees.", "description": "A list of integer line directions to use. Elements from the list are used sequentially as the layers progress and when the end of the list is reached, it starts at the beginning again. The list items are separated by commas and the whole list is contained in square brackets. Default is an empty list which means use the default angle 0 degrees.",
"type": "[int]", "type": "[int]",
"default_value": "[ ]", "default_value": "[ ]",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_pattern != 'concentric' and support_infill_rate > 0", "enabled": "(support_enable or support_meshes_present) and support_pattern != 'concentric' and support_infill_rate > 0",
"limit_to_extruder": "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
@ -4326,7 +4326,7 @@
"description": "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate.", "description": "Generate a brim within the support infill regions of the first layer. This brim is printed underneath the support, not around it. Enabling this setting increases the adhesion of support to the build plate.",
"type": "bool", "type": "bool",
"default_value": false, "default_value": false,
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"limit_to_extruder": "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
@ -4340,7 +4340,7 @@
"default_value": 8.0, "default_value": 8.0,
"minimum_value": "0.0", "minimum_value": "0.0",
"maximum_value_warning": "50.0", "maximum_value_warning": "50.0",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_brim_enable", "enabled": "(support_enable or support_meshes_present) and support_brim_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
@ -4355,7 +4355,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "50 / skirt_brim_line_width", "maximum_value_warning": "50 / skirt_brim_line_width",
"value": "math.ceil(support_brim_width / (skirt_brim_line_width * initial_layer_line_width_factor / 100.0))", "value": "math.ceil(support_brim_width / (skirt_brim_line_width * initial_layer_line_width_factor / 100.0))",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_brim_enable", "enabled": "(support_enable or support_meshes_present) and support_brim_enable",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "support_infill_extruder_nr" "limit_to_extruder": "support_infill_extruder_nr"
@ -4372,7 +4372,7 @@
"maximum_value_warning": "machine_nozzle_size", "maximum_value_warning": "machine_nozzle_size",
"default_value": 0.1, "default_value": 0.1,
"limit_to_extruder": "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 or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"settable_per_mesh": true, "settable_per_mesh": true,
"children": "children":
{ {
@ -4385,7 +4385,7 @@
"maximum_value_warning": "machine_nozzle_size", "maximum_value_warning": "machine_nozzle_size",
"default_value": 0.1, "default_value": 0.1,
"type": "float", "type": "float",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')", "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')",
"limit_to_extruder": "support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr",
"settable_per_mesh": true "settable_per_mesh": true
@ -4401,7 +4401,7 @@
"value": "extruderValue(support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0", "value": "extruderValue(support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0",
"limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr",
"type": "float", "type": "float",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and resolveOrValue('support_type') == 'everywhere'", "enabled": "(support_enable or support_meshes_present) and resolveOrValue('support_type') == 'everywhere'",
"settable_per_mesh": true "settable_per_mesh": true
} }
} }
@ -4416,7 +4416,7 @@
"maximum_value_warning": "1.5 * machine_nozzle_tip_outer_diameter", "maximum_value_warning": "1.5 * machine_nozzle_tip_outer_diameter",
"default_value": 0.7, "default_value": 0.7,
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_xy_overrides_z": "support_xy_overrides_z":
@ -4525,7 +4525,7 @@
"maximum_value_warning": "0.75 * machine_nozzle_size", "maximum_value_warning": "0.75 * machine_nozzle_size",
"maximum_value": "resolveOrValue('layer_height') * 8", "maximum_value": "resolveOrValue('layer_height') * 8",
"value": "resolveOrValue('layer_height')", "value": "resolveOrValue('layer_height')",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_infill_rate > 0", "enabled": "(support_enable or support_meshes_present) and support_infill_rate > 0",
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false "settable_per_mesh": false
}, },
@ -4538,7 +4538,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "1 if (support_pattern == 'cross' or support_pattern == 'lines' or support_pattern == 'zigzag' or support_pattern == 'concentric') else 5", "maximum_value_warning": "1 if (support_pattern == 'cross' or support_pattern == 'lines' or support_pattern == 'zigzag' or support_pattern == 'concentric') else 5",
"maximum_value": "999999 if support_line_distance == 0 else (20 - math.log(support_line_distance) / math.log(2))", "maximum_value": "999999 if support_line_distance == 0 else (20 - math.log(support_line_distance) / math.log(2))",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_infill_rate > 0", "enabled": "(support_enable or support_meshes_present) and support_infill_rate > 0",
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false "settable_per_mesh": false
}, },
@ -4551,7 +4551,7 @@
"default_value": 1, "default_value": 1,
"minimum_value": "0.0001", "minimum_value": "0.0001",
"minimum_value_warning": "3 * resolveOrValue('layer_height')", "minimum_value_warning": "3 * resolveOrValue('layer_height')",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_infill_rate > 0 and gradual_support_infill_steps > 0", "enabled": "(support_enable or support_meshes_present) and support_infill_rate > 0 and gradual_support_infill_steps > 0",
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"settable_per_mesh": false "settable_per_mesh": false
}, },
@ -4575,7 +4575,7 @@
"type": "bool", "type": "bool",
"default_value": false, "default_value": false,
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"settable_per_mesh": true, "settable_per_mesh": true,
"children": "children":
{ {
@ -4587,7 +4587,7 @@
"default_value": false, "default_value": false,
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_enable')", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_enable')",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_bottom_enable": "support_bottom_enable":
@ -4598,7 +4598,7 @@
"default_value": false, "default_value": false,
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_enable')", "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_enable')",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"settable_per_mesh": true "settable_per_mesh": true
} }
} }
@ -4614,7 +4614,7 @@
"minimum_value_warning": "0.2 + layer_height", "minimum_value_warning": "0.2 + layer_height",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_interface_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": true, "settable_per_mesh": true,
"children": "children":
{ {
@ -4630,7 +4630,7 @@
"maximum_value_warning": "10", "maximum_value_warning": "10",
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_height')", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_height')",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_roof_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_bottom_height": "support_bottom_height":
@ -4645,7 +4645,7 @@
"minimum_value_warning": "min(support_bottom_distance + layer_height, support_bottom_stair_step_height)", "minimum_value_warning": "min(support_bottom_distance + layer_height, support_bottom_stair_step_height)",
"maximum_value_warning": "10", "maximum_value_warning": "10",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_bottom_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": true "settable_per_mesh": true
} }
} }
@ -4659,7 +4659,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "support_interface_height", "maximum_value_warning": "support_interface_height",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_interface_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_interface_density": "support_interface_density":
@ -4672,7 +4672,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value_warning": "100", "maximum_value_warning": "100",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_interface_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"children": "children":
@ -4687,7 +4687,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value": "100", "maximum_value": "100",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_roof_enable and (support_enable or support_meshes_present)",
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_density')", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_density')",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
@ -4704,7 +4704,7 @@
"minimum_value_warning": "support_roof_line_width - 0.0001", "minimum_value_warning": "support_roof_line_width - 0.0001",
"value": "0 if support_roof_density == 0 else (support_roof_line_width * 100) / support_roof_density * (2 if support_roof_pattern == 'grid' else (3 if support_roof_pattern == 'triangles' else 1))", "value": "0 if support_roof_density == 0 else (support_roof_line_width * 100) / support_roof_density * (2 if support_roof_pattern == 'grid' else (3 if support_roof_pattern == 'triangles' else 1))",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_roof_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -4720,7 +4720,7 @@
"minimum_value": "0", "minimum_value": "0",
"maximum_value": "100", "maximum_value": "100",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_bottom_enable and (support_enable or support_meshes_present)",
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_density')", "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_density')",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
@ -4737,7 +4737,7 @@
"minimum_value_warning": "support_bottom_line_width - 0.0001", "minimum_value_warning": "support_bottom_line_width - 0.0001",
"value": "0 if support_bottom_density == 0 else (support_bottom_line_width * 100) / support_bottom_density * (2 if support_bottom_pattern == 'grid' else (3 if support_bottom_pattern == 'triangles' else 1))", "value": "0 if support_bottom_density == 0 else (support_bottom_line_width * 100) / support_bottom_density * (2 if support_bottom_pattern == 'grid' else (3 if support_bottom_pattern == 'triangles' else 1))",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_bottom_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -4760,7 +4760,7 @@
}, },
"default_value": "concentric", "default_value": "concentric",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_interface_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"children": "children":
@ -4781,7 +4781,7 @@
"default_value": "concentric", "default_value": "concentric",
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_pattern')", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_pattern')",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_roof_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -4801,7 +4801,7 @@
"default_value": "concentric", "default_value": "concentric",
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_pattern')", "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_pattern')",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_bottom_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -4817,7 +4817,7 @@
"minimum_value": "0", "minimum_value": "0",
"minimum_value_warning": "minimum_support_area", "minimum_value_warning": "minimum_support_area",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_interface_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": true, "settable_per_mesh": true,
"children": "children":
{ {
@ -4832,7 +4832,7 @@
"minimum_value": "0", "minimum_value": "0",
"minimum_value_warning": "minimum_support_area", "minimum_value_warning": "minimum_support_area",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_roof_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"minimum_bottom_area": "minimum_bottom_area":
@ -4846,7 +4846,7 @@
"minimum_value": "0", "minimum_value": "0",
"minimum_value_warning": "minimum_support_area", "minimum_value_warning": "minimum_support_area",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_bottom_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": true "settable_per_mesh": true
} }
} }
@ -4860,7 +4860,7 @@
"default_value": 0.0, "default_value": 0.0,
"maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "support_interface_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_interface_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"children": "children":
@ -4875,7 +4875,7 @@
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_offset')", "value": "extruderValue(support_roof_extruder_nr, 'support_interface_offset')",
"maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "support_roof_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_roof_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -4889,7 +4889,7 @@
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_offset')", "value": "extruderValue(support_bottom_extruder_nr, 'support_interface_offset')",
"maximum_value": "extruderValue(support_extruder_nr, 'support_offset')", "maximum_value": "extruderValue(support_extruder_nr, 'support_offset')",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "support_bottom_enable and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "support_bottom_enable and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -4902,7 +4902,7 @@
"type": "[int]", "type": "[int]",
"default_value": "[ ]", "default_value": "[ ]",
"limit_to_extruder": "support_interface_extruder_nr", "limit_to_extruder": "support_interface_extruder_nr",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_interface_enable and support_interface_pattern != 'concentric'", "enabled": "(support_enable or support_meshes_present) and support_interface_enable and support_interface_pattern != 'concentric'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"children": "children":
@ -4915,7 +4915,7 @@
"default_value": "[ ]", "default_value": "[ ]",
"value": "support_interface_angles", "value": "support_interface_angles",
"limit_to_extruder": "support_roof_extruder_nr", "limit_to_extruder": "support_roof_extruder_nr",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_roof_enable and support_roof_pattern != 'concentric'", "enabled": "(support_enable or support_meshes_present) and support_roof_enable and support_roof_pattern != 'concentric'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -4927,7 +4927,7 @@
"default_value": "[ ]", "default_value": "[ ]",
"value": "support_interface_angles", "value": "support_interface_angles",
"limit_to_extruder": "support_bottom_extruder_nr", "limit_to_extruder": "support_bottom_extruder_nr",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_bottom_enable and support_bottom_pattern != 'concentric'", "enabled": "(support_enable or support_meshes_present) and support_bottom_enable and support_bottom_pattern != 'concentric'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
} }
@ -4939,7 +4939,7 @@
"description": "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support.", "description": "When enabled, the print cooling fan speed is altered for the skin regions immediately above the support.",
"type": "bool", "type": "bool",
"default_value": false, "default_value": false,
"enabled": "support_enable or support_tree_enable or support_meshes_present", "enabled": "support_enable or support_meshes_present",
"settable_per_mesh": false "settable_per_mesh": false
}, },
"support_supported_skin_fan_speed": "support_supported_skin_fan_speed":
@ -4951,7 +4951,7 @@
"maximum_value": "100", "maximum_value": "100",
"default_value": 100, "default_value": 100,
"type": "float", "type": "float",
"enabled": "(support_enable or support_tree_enable or support_meshes_present) and support_fan_enable", "enabled": "(support_enable or support_meshes_present) and support_fan_enable",
"settable_per_mesh": false "settable_per_mesh": false
}, },
"support_use_towers": "support_use_towers":
@ -5198,7 +5198,7 @@
"description": "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions.", "description": "Enforce brim to be printed around the model even if that space would otherwise be occupied by support. This replaces some regions of the first layer of support by brim regions.",
"type": "bool", "type": "bool",
"default_value": true, "default_value": true,
"enabled": "resolveOrValue('adhesion_type') == 'brim' and (support_enable or support_tree_enable or support_meshes_present)", "enabled": "resolveOrValue('adhesion_type') == 'brim' and (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true, "settable_per_extruder": true,
"limit_to_extruder": "support_infill_extruder_nr" "limit_to_extruder": "support_infill_extruder_nr"
@ -5982,7 +5982,7 @@
"description": "Remove empty layers beneath the first printed layer if they are present. Disabling this setting can cause empty first layers if the Slicing Tolerance setting is set to Exclusive or Middle.", "description": "Remove empty layers beneath the first printed layer if they are present. Disabling this setting can cause empty first layers if the Slicing Tolerance setting is set to Exclusive or Middle.",
"type": "bool", "type": "bool",
"default_value": true, "default_value": true,
"enabled": "not (support_enable or support_tree_enable or support_meshes_present)", "enabled": "not (support_enable or support_meshes_present)",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
}, },
@ -6207,13 +6207,18 @@
"description": "Features that haven't completely been fleshed out yet.", "description": "Features that haven't completely been fleshed out yet.",
"children": "children":
{ {
"support_tree_enable": "support_structure":
{ {
"label": "Tree Support", "label": "Support Structure",
"description": "Generate a tree-like support with branches that support your print. This may reduce material usage and print time, but greatly increases slicing time.", "description": "Generate a tree-like support ",
"type": "bool", "type": "enum",
"default_value": false, "options":
"settable_per_mesh": true, {
"normal": "Normal",
"tree": "Tree"
},
"default_value": "normal",
"settable_per_mesh": false,
"settable_per_extruder": false "settable_per_extruder": false
}, },
"support_tree_angle": "support_tree_angle":
@ -6227,7 +6232,7 @@
"maximum_value_warning": "60", "maximum_value_warning": "60",
"default_value": 40, "default_value": 40,
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_tree_enable", "enabled": "support_enable and support_structure=='tree'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -6240,7 +6245,7 @@
"minimum_value": "0.001", "minimum_value": "0.001",
"default_value": 1, "default_value": 1,
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_tree_enable", "enabled": "support_enable and support_structure=='tree'",
"settable_per_mesh": true "settable_per_mesh": true
}, },
"support_tree_branch_diameter": "support_tree_branch_diameter":
@ -6253,7 +6258,7 @@
"minimum_value_warning": "support_line_width * 2", "minimum_value_warning": "support_line_width * 2",
"default_value": 2, "default_value": 2,
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_tree_enable", "enabled": "support_enable and support_structure=='tree'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -6268,7 +6273,7 @@
"maximum_value_warning": "15", "maximum_value_warning": "15",
"default_value": 5, "default_value": 5,
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_tree_enable", "enabled": "support_enable and support_structure=='tree'",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },
@ -6284,7 +6289,7 @@
"default_value": 0.4, "default_value": 0.4,
"value": "support_line_width / 2", "value": "support_line_width / 2",
"limit_to_extruder": "support_infill_extruder_nr", "limit_to_extruder": "support_infill_extruder_nr",
"enabled": "support_tree_enable and support_tree_branch_diameter_angle > 0", "enabled": "support_enable and support_structure=='tree' and support_tree_branch_diameter_angle > 0",
"settable_per_mesh": false, "settable_per_mesh": false,
"settable_per_extruder": true "settable_per_extruder": true
}, },

View File

@ -81,7 +81,7 @@
"default_value": "ZigZag" "default_value": "ZigZag"
}, },
"support_infill_rate": { "support_infill_rate": {
"value": "15 if support_enable else 0 if support_tree_enable else 15" "value": "15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15"
}, },
"adhesion_type": { "adhesion_type": {
"default_value": "raft" "default_value": "raft"

View File

@ -201,7 +201,7 @@
"value": "False" "value": "False"
}, },
"support_infill_rate": { "support_infill_rate": {
"value": "15 if support_enable else 0 if support_tree_enable else 15" "value": "15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15"
}, },
"support_line_width": { "support_line_width": {
"value": "0.6" "value": "0.6"

View File

@ -201,7 +201,7 @@
"value": "False" "value": "False"
}, },
"support_infill_rate": { "support_infill_rate": {
"value": "15 if support_enable else 0 if support_tree_enable else 15" "value": "15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15"
}, },
"support_line_width": { "support_line_width": {
"value": "0.6" "value": "0.6"

View File

@ -189,7 +189,7 @@
"value": "False" "value": "False"
}, },
"support_infill_rate": { "support_infill_rate": {
"value": "15 if support_enable else 0 if support_tree_enable else 15" "value": "15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15"
}, },
"support_line_width": { "support_line_width": {
"value": "0.6" "value": "0.6"

View File

@ -124,7 +124,7 @@
"support_bottom_height": { "value": "max((0.15 if(0.15%layer_height==0) else layer_height*int((0.15+layer_height)/layer_height)),layer_height)" }, "support_bottom_height": { "value": "max((0.15 if(0.15%layer_height==0) else layer_height*int((0.15+layer_height)/layer_height)),layer_height)" },
"support_bottom_pattern": { "value": "'zigzag'" }, "support_bottom_pattern": { "value": "'zigzag'" },
"support_connect_zigzags": { "value": "False" }, "support_connect_zigzags": { "value": "False" },
"support_infill_rate": { "value": "8 if support_enable else 0 if support_tree_enable else 8" }, "support_infill_rate": { "value": "8 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 8" },
"support_interface_density": { "value": "80" }, "support_interface_density": { "value": "80" },
"support_interface_enable": { "value": "True" }, "support_interface_enable": { "value": "True" },
"support_interface_height": { "value": "0.5" }, "support_interface_height": { "value": "0.5" },

View File

@ -124,7 +124,7 @@
"support_bottom_height": { "value": "max((0.15 if(0.15%layer_height==0) else layer_height*int((0.15+layer_height)/layer_height)),layer_height)" }, "support_bottom_height": { "value": "max((0.15 if(0.15%layer_height==0) else layer_height*int((0.15+layer_height)/layer_height)),layer_height)" },
"support_bottom_pattern": { "value": "'zigzag'" }, "support_bottom_pattern": { "value": "'zigzag'" },
"support_connect_zigzags": { "value": "False" }, "support_connect_zigzags": { "value": "False" },
"support_infill_rate": { "value": "8 if support_enable else 0 if support_tree_enable else 8" }, "support_infill_rate": { "value": "8 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 8" },
"support_interface_density": { "value": "80" }, "support_interface_density": { "value": "80" },
"support_interface_enable": { "value": "True" }, "support_interface_enable": { "value": "True" },
"support_interface_height": { "value": "0.5" }, "support_interface_height": { "value": "0.5" },

View File

@ -113,7 +113,7 @@
"support_bottom_height": { "value": "max((0.15 if(0.15%layer_height==0) else layer_height*int((0.15+layer_height)/layer_height)),layer_height)" }, "support_bottom_height": { "value": "max((0.15 if(0.15%layer_height==0) else layer_height*int((0.15+layer_height)/layer_height)),layer_height)" },
"support_bottom_pattern": { "value": "'zigzag'" }, "support_bottom_pattern": { "value": "'zigzag'" },
"support_connect_zigzags": { "value": "False" }, "support_connect_zigzags": { "value": "False" },
"support_infill_rate": { "value": "8 if support_enable else 0 if support_tree_enable else 8" }, "support_infill_rate": { "value": "8 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 8" },
"support_interface_density": { "value": "80" }, "support_interface_density": { "value": "80" },
"support_interface_enable": { "value": "True" }, "support_interface_enable": { "value": "True" },
"support_interface_height": { "value": "0.5" }, "support_interface_height": { "value": "0.5" },

View File

@ -44,7 +44,7 @@ support_top_distance = 0.15
support_z_distance = 0.25 support_z_distance = 0.25
support_bottom_distance = 0.15 support_bottom_distance = 0.15
support_brim_width = 6 support_brim_width = 6
support_infill_rate = =15 if support_enable else 0 if support_tree_enable else 15 support_infill_rate = =15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15
support_line_distance = 1.7 support_line_distance = 1.7
support_line_width = 0.25 support_line_width = 0.25
support_initial_layer_line_distance = 2.7 support_initial_layer_line_distance = 2.7

View File

@ -44,7 +44,7 @@ support_top_distance = 0.15
support_z_distance = 0.25 support_z_distance = 0.25
support_bottom_distance = 0.15 support_bottom_distance = 0.15
support_brim_width = 6 support_brim_width = 6
support_infill_rate = =15 if support_enable else 0 if support_tree_enable else 15 support_infill_rate = =15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15
support_line_distance = 1.7 support_line_distance = 1.7
support_line_width = 0.25 support_line_width = 0.25
support_initial_layer_line_distance = 2.7 support_initial_layer_line_distance = 2.7

View File

@ -44,7 +44,7 @@ support_top_distance = 0.15
support_z_distance = 0.25 support_z_distance = 0.25
support_bottom_distance = 0.15 support_bottom_distance = 0.15
support_brim_width = 6 support_brim_width = 6
support_infill_rate = =15 if support_enable else 0 if support_tree_enable else 15 support_infill_rate = =15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15
support_line_distance = 1.7 support_line_distance = 1.7
support_line_width = 0.25 support_line_width = 0.25
support_initial_layer_line_distance = 2.7 support_initial_layer_line_distance = 2.7

View File

@ -96,7 +96,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -95,7 +95,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =15 if support_enable else 0 if support_tree_enable else 15 support_infill_rate = =15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -95,7 +95,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -96,7 +96,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -92,7 +92,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -96,7 +96,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =15 if support_enable else 0 if support_tree_enable else 15 support_infill_rate = =15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -95,7 +95,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -94,7 +94,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -94,7 +94,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =15 if support_enable else 0 if support_tree_enable else 15 support_infill_rate = =15 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 15
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -94,7 +94,7 @@ support_angle = 50
support_pattern = grid support_pattern = grid
support_wall_count = 0 support_wall_count = 0
zig_zaggify_support = False zig_zaggify_support = False
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_infill_angles = [0] support_infill_angles = [0]
support_brim_enable = True support_brim_enable = True
support_brim_line_count = 5 support_brim_line_count = 5

View File

@ -35,7 +35,7 @@ speed_wall_0 = =math.ceil(speed_print * 20 / 25)
speed_wall_x = =speed_print speed_wall_x = =speed_print
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.26 support_z_distance = 0.26
top_bottom_thickness = 1.5 top_bottom_thickness = 1.5

View File

@ -35,7 +35,7 @@ speed_wall_0 = =math.ceil(speed_print * 20 / 35)
speed_wall_x = =math.ceil(speed_print * 30 / 35) speed_wall_x = =math.ceil(speed_print * 30 / 35)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.26 support_z_distance = 0.26
top_bottom_thickness = 1.5 top_bottom_thickness = 1.5

View File

@ -37,7 +37,7 @@ speed_wall_0 = =math.ceil(speed_print * 20 / 25)
speed_wall_x = =speed_print speed_wall_x = =speed_print
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_line_distance = 2.85 support_line_distance = 2.85
support_pattern = lines support_pattern = lines
support_xy_distance = 0.6 support_xy_distance = 0.6

View File

@ -37,7 +37,7 @@ speed_wall_0 = =math.ceil(speed_print * 30 / 35)
speed_wall_x = =speed_print speed_wall_x = =speed_print
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_line_distance = 2.85 support_line_distance = 2.85
support_pattern = lines support_pattern = lines
support_xy_distance = 0.6 support_xy_distance = 0.6

View File

@ -34,7 +34,7 @@ speed_wall_0 = =math.ceil(speed_print * 20 / 25)
speed_wall_x = =speed_print speed_wall_x = =speed_print
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.26 support_z_distance = 0.26
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2

View File

@ -34,7 +34,7 @@ speed_wall_0 = =math.ceil(speed_print * 20 / 30)
speed_wall_x = =speed_print speed_wall_x = =speed_print
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.26 support_z_distance = 0.26
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2

View File

@ -35,7 +35,7 @@ speed_travel = 150
speed_wall_0 = =math.ceil(speed_print * 20 / 40) speed_wall_0 = =math.ceil(speed_print * 20 / 40)
speed_wall_x = =speed_print speed_wall_x = =speed_print
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_xy_distance = 0.6 support_xy_distance = 0.6
support_z_distance = =layer_height * 2 support_z_distance = =layer_height * 2

View File

@ -35,7 +35,7 @@ speed_travel = 150
speed_wall_0 = =math.ceil(speed_print * 20 / 40) speed_wall_0 = =math.ceil(speed_print * 20 / 40)
speed_wall_x = =speed_print speed_wall_x = =speed_print
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_xy_distance = 0.6 support_xy_distance = 0.6
support_z_distance = =layer_height * 2 support_z_distance = =layer_height * 2

View File

@ -34,7 +34,7 @@ speed_travel = 150
speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall = =math.ceil(speed_print * 40 / 45)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_pattern = lines support_pattern = lines
support_xy_distance = 0.6 support_xy_distance = 0.6
support_z_distance = =layer_height * 2 support_z_distance = =layer_height * 2

View File

@ -33,7 +33,7 @@ speed_travel = 150
speed_wall = =math.ceil(speed_print * 40 / 45) speed_wall = =math.ceil(speed_print * 40 / 45)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_pattern = lines support_pattern = lines
support_xy_distance = 0.6 support_xy_distance = 0.6
support_z_distance = =layer_height * 2 support_z_distance = =layer_height * 2

View File

@ -38,7 +38,7 @@ speed_wall_x = =math.ceil(speed_print * 40 / 55)
support_angle = 45 support_angle = 45
support_bottom_distance = 0.55 support_bottom_distance = 0.55
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_pattern = lines support_pattern = lines
support_top_distance = 0.55 support_top_distance = 0.55
support_xy_distance = 0.7 support_xy_distance = 0.7

View File

@ -37,7 +37,7 @@ speed_wall_0 = =math.ceil(speed_print * 15 / 55)
speed_wall_x = =math.ceil(speed_print * 40 / 55) speed_wall_x = =math.ceil(speed_print * 40 / 55)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_pattern = lines support_pattern = lines
support_xy_distance = 0.7 support_xy_distance = 0.7
support_z_distance = =layer_height * 2 support_z_distance = =layer_height * 2

View File

@ -37,7 +37,7 @@ speed_wall_x = =math.ceil(speed_print * 40 / 55)
support_angle = 45 support_angle = 45
support_bottom_distance = 0.65 support_bottom_distance = 0.65
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_pattern = lines support_pattern = lines
support_top_distance = 0.5 support_top_distance = 0.5
support_xy_distance = 0.75 support_xy_distance = 0.75

View File

@ -37,7 +37,7 @@ speed_wall_x = =math.ceil(speed_print * 40 / 55)
support_angle = 45 support_angle = 45
support_bottom_distance = 0.65 support_bottom_distance = 0.65
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_pattern = lines support_pattern = lines
support_top_distance = 0.5 support_top_distance = 0.5
support_xy_distance = 0.75 support_xy_distance = 0.75

View File

@ -31,7 +31,7 @@ raft_surface_line_width = 0.2
speed_layer_0 = =round(speed_print * 30 / 30) speed_layer_0 = =round(speed_print * 30 / 30)
speed_print = 30 speed_print = 30
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.19 support_z_distance = 0.19
wall_thickness = 0.88 wall_thickness = 0.88

View File

@ -31,7 +31,7 @@ raft_surface_line_width = 0.2
speed_layer_0 = =round(speed_print * 30 / 30) speed_layer_0 = =round(speed_print * 30 / 30)
speed_print = 30 speed_print = 30
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.19 support_z_distance = 0.19
wall_thickness = 0.88 wall_thickness = 0.88

View File

@ -32,7 +32,7 @@ speed_wall_0 = =math.ceil(speed_print * 20 / 45)
speed_wall_x = =math.ceil(speed_print * 30 / 45) speed_wall_x = =math.ceil(speed_print * 30 / 45)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.19 support_z_distance = 0.19
wall_thickness = 1.2 wall_thickness = 1.2

View File

@ -32,7 +32,7 @@ speed_wall_0 = =math.ceil(speed_print * 20 / 45)
speed_wall_x = =math.ceil(speed_print * 30 / 45) speed_wall_x = =math.ceil(speed_print * 30 / 45)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.19 support_z_distance = 0.19
wall_thickness = 1.2 wall_thickness = 1.2

View File

@ -36,7 +36,7 @@ speed_wall_0 = =math.ceil(speed_print * 30 / 45)
speed_wall_x = =math.ceil(speed_print * 40 / 45) speed_wall_x = =math.ceil(speed_print * 40 / 45)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_line_distance = 3.5333 support_line_distance = 3.5333
support_pattern = lines support_pattern = lines
support_z_distance = 0.21 support_z_distance = 0.21

View File

@ -36,7 +36,7 @@ speed_wall_0 = =math.ceil(speed_print * 30 / 45)
speed_wall_x = =math.ceil(speed_print * 40 / 45) speed_wall_x = =math.ceil(speed_print * 40 / 45)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_line_distance = 3.5333 support_line_distance = 3.5333
support_pattern = lines support_pattern = lines
support_z_distance = 0.21 support_z_distance = 0.21

View File

@ -31,7 +31,7 @@ speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40 speed_print = 40
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.26 support_z_distance = 0.26
top_bottom_thickness = 2.0 top_bottom_thickness = 2.0

View File

@ -31,7 +31,7 @@ speed_layer_0 = =round(speed_print * 30 / 40)
speed_print = 40 speed_print = 40
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =20 if support_enable else 0 if support_tree_enable else 20 support_infill_rate = =20 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 20
support_pattern = lines support_pattern = lines
support_z_distance = 0.26 support_z_distance = 0.26
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2

View File

@ -35,7 +35,7 @@ speed_wall_0 = =math.ceil(speed_print * 15 / 40)
speed_wall_x = =math.ceil(speed_print * 38 / 40) speed_wall_x = =math.ceil(speed_print * 38 / 40)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_xy_distance = 0.6 support_xy_distance = 0.6
support_z_distance = =layer_height * 2 support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2

View File

@ -33,7 +33,7 @@ speed_wall_0 = =math.ceil(speed_print * 20 / 40)
speed_wall_x = =math.ceil(speed_print * 35 / 40) speed_wall_x = =math.ceil(speed_print * 35 / 40)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_xy_distance = 0.65 support_xy_distance = 0.65
support_z_distance = =layer_height * 2 support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2

View File

@ -37,7 +37,7 @@ speed_wall_0 = =math.ceil(speed_print * 15 / 45)
speed_wall_x = =math.ceil(speed_print * 40 / 45) speed_wall_x = =math.ceil(speed_print * 40 / 45)
support_angle = 45 support_angle = 45
support_enable = True support_enable = True
support_infill_rate = =25 if support_enable else 0 if support_tree_enable else 25 support_infill_rate = =25 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 25
support_xy_distance = 0.7 support_xy_distance = 0.7
support_z_distance = =layer_height * 2 support_z_distance = =layer_height * 2
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2

View File

@ -37,4 +37,4 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10

View File

@ -36,4 +36,4 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10

View File

@ -32,6 +32,6 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10
top_bottom_thickness = 1 top_bottom_thickness = 1
wall_thickness = 1 wall_thickness = 1

View File

@ -37,4 +37,4 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10

View File

@ -36,4 +36,4 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10

View File

@ -33,6 +33,6 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10
top_bottom_thickness = 1 top_bottom_thickness = 1
wall_thickness = 1 wall_thickness = 1

View File

@ -37,4 +37,4 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10

View File

@ -36,4 +36,4 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10

View File

@ -33,6 +33,6 @@ support_angle = 45
support_join_distance = 5 support_join_distance = 5
support_offset = 2 support_offset = 2
support_pattern = triangles support_pattern = triangles
support_infill_rate = =10 if support_enable else 0 if support_tree_enable else 10 support_infill_rate = =10 if support_enable and support_structure == 'normal' else 0 if support_enable and support_structure == 'tree' else 10
top_bottom_thickness = 1 top_bottom_thickness = 1
wall_thickness = 1 wall_thickness = 1

View File

@ -349,7 +349,7 @@ smooth_spiralized_contours
relative_extrusion relative_extrusion
[experimental] [experimental]
support_tree_enable support_structure
support_tree_angle support_tree_angle
support_tree_branch_distance support_tree_branch_distance
support_tree_branch_diameter support_tree_branch_diameter