Move interlocking settings out of experimental

CURA-12247
Also set interlocking_enable to basic settings because it is quite important and just enabling it doesn't require advanced knowledge/skills.
This commit is contained in:
Erwan MATHIEU 2025-01-22 09:54:20 +01:00
parent 73519a3cdc
commit a13726bba1
4 changed files with 90 additions and 89 deletions

View File

@ -7500,6 +7500,88 @@
"enabled": "retraction_enable and extruders_enabled_count > 1",
"settable_per_mesh": false,
"settable_per_extruder": true
},
"interlocking_enable":
{
"label": "Generate Interlocking Structure",
"description": "At the locations where models touch, generate an interlocking beam structure. This improves the adhesion between models, especially models printed in different materials.",
"type": "bool",
"enabled": "extruders_enabled_count > 1",
"default_value": false,
"resolve": "(extruders_enabled_count > 1) and any(extruderValues('interlocking_enable'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"interlocking_beam_width":
{
"label": "Interlocking Beam Width",
"description": "The width of the interlocking structure beams.",
"type": "float",
"unit": "mm",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 0.8,
"value": "2 * wall_line_width_0",
"minimum_value": "min_odd_wall_line_width",
"maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)",
"maximum_value_warning": "max(extruderValues('wall_line_width_0')) * 6",
"settable_per_mesh": true,
"settable_per_extruder": true
},
"interlocking_orientation":
{
"label": "Interlocking Structure Orientation",
"description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.",
"unit": "\u00b0",
"type": "float",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 22.5,
"minimum_value": "0",
"maximum_value": "360",
"resolve": "min(extruderValues('interlocking_orientation'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"interlocking_beam_layer_count":
{
"label": "Interlocking Beam Layer Count",
"description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.",
"type": "int",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 2,
"minimum_value": "1",
"maximum_value_warning": "50",
"resolve": "max(extruderValues('interlocking_beam_layer_count'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"interlocking_depth":
{
"label": "Interlocking Depth",
"description": "The distance from the boundary between models to generate interlocking structure, measured in cells. Too few cells will result in poor adhesion.",
"type": "int",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 2,
"minimum_value": "1",
"maximum_value": "10",
"maximum_value_warning": "5",
"resolve": "max(extruderValues('interlocking_depth'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"interlocking_boundary_avoidance":
{
"label": "Interlocking Boundary Avoidance",
"description": "The distance from the outside of a model where interlocking structures will not be generated, measured in cells.",
"type": "int",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 2,
"minimum_value": "0",
"minimum_value_warning": "resolveOrValue('interlocking_depth')",
"maximum_value": "10",
"maximum_value_warning": "5",
"resolve": "max(extruderValues('interlocking_boundary_avoidance'))",
"settable_per_mesh": false,
"settable_per_extruder": false
}
}
},
@ -7922,88 +8004,6 @@
"settable_per_mesh": true,
"settable_per_extruder": false
},
"interlocking_enable":
{
"label": "Generate Interlocking Structure",
"description": "At the locations where models touch, generate an interlocking beam structure. This improves the adhesion between models, especially models printed in different materials.",
"type": "bool",
"enabled": "extruders_enabled_count > 1",
"default_value": false,
"resolve": "(extruders_enabled_count > 1) and any(extruderValues('interlocking_enable'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"interlocking_beam_width":
{
"label": "Interlocking Beam Width",
"description": "The width of the interlocking structure beams.",
"type": "float",
"unit": "mm",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 0.8,
"value": "2 * wall_line_width_0",
"minimum_value": "min_odd_wall_line_width",
"maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)",
"maximum_value_warning": "max(extruderValues('wall_line_width_0')) * 6",
"settable_per_mesh": true,
"settable_per_extruder": true
},
"interlocking_orientation":
{
"label": "Interlocking Structure Orientation",
"description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.",
"unit": "\u00b0",
"type": "float",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 22.5,
"minimum_value": "0",
"maximum_value": "360",
"resolve": "min(extruderValues('interlocking_orientation'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"interlocking_beam_layer_count":
{
"label": "Interlocking Beam Layer Count",
"description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.",
"type": "int",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 2,
"minimum_value": "1",
"maximum_value_warning": "50",
"resolve": "max(extruderValues('interlocking_beam_layer_count'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"interlocking_depth":
{
"label": "Interlocking Depth",
"description": "The distance from the boundary between models to generate interlocking structure, measured in cells. Too few cells will result in poor adhesion.",
"type": "int",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 2,
"minimum_value": "1",
"maximum_value": "10",
"maximum_value_warning": "5",
"resolve": "max(extruderValues('interlocking_depth'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"interlocking_boundary_avoidance":
{
"label": "Interlocking Boundary Avoidance",
"description": "The distance from the outside of a model where interlocking structures will not be generated, measured in cells.",
"type": "int",
"enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')",
"default_value": 2,
"minimum_value": "0",
"minimum_value_warning": "resolveOrValue('interlocking_depth')",
"maximum_value": "10",
"maximum_value_warning": "5",
"resolve": "max(extruderValues('interlocking_boundary_avoidance'))",
"settable_per_mesh": false,
"settable_per_extruder": false
},
"support_skip_some_zags":
{
"label": "Break Up Support In Chunks",

View File

@ -133,6 +133,7 @@ prime_tower_mode
prime_tower_position_x
prime_tower_position_y
prime_tower_brim_enable
interlocking_enable
[meshfix]
@ -144,7 +145,6 @@ magic_spiralize
smooth_spiralized_contours
[experimental]
interlocking_enable
conical_overhang_enabled
support_conical_enabled
adaptive_layer_height_enabled

View File

@ -56,6 +56,7 @@ adhesion_extruder_nr
prime_tower_enable
prime_tower_position_x
prime_tower_position_y
interlocking_enable
[meshfix]

View File

@ -378,6 +378,12 @@ prime_tower_min_shell_thickness
ooze_shield_enabled
ooze_shield_angle
ooze_shield_dist
interlocking_enable
interlocking_beam_width
interlocking_orientation
interlocking_beam_layer_count
interlocking_dept
interlocking_boundary_avoidance
[meshfix]
meshfix_union_all
@ -428,12 +434,6 @@ roofing_monotonic
roofing_angles
infill_enable_travel_optimization
material_flow_temp_graph
interlocking_enable
interlocking_beam_width
interlocking_orientation
interlocking_beam_layer_count
interlocking_dept
interlocking_boundary_avoidance
support_skip_some_zags
support_skip_zag_per_mm
support_zag_skip_count