From a13726bba129afcb1f01eafdf2e2bcc9ba0b2521 Mon Sep 17 00:00:00 2001 From: Erwan MATHIEU Date: Wed, 22 Jan 2025 09:54:20 +0100 Subject: [PATCH] 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. --- resources/definitions/fdmprinter.def.json | 164 +++++++++++----------- resources/setting_visibility/advanced.cfg | 2 +- resources/setting_visibility/basic.cfg | 1 + resources/setting_visibility/expert.cfg | 12 +- 4 files changed, 90 insertions(+), 89 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 8471c59f82..9ce93cd4eb 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -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", diff --git a/resources/setting_visibility/advanced.cfg b/resources/setting_visibility/advanced.cfg index 93c3dc91ef..8585a05eec 100644 --- a/resources/setting_visibility/advanced.cfg +++ b/resources/setting_visibility/advanced.cfg @@ -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 diff --git a/resources/setting_visibility/basic.cfg b/resources/setting_visibility/basic.cfg index 0193eb26ba..6c6124ab67 100644 --- a/resources/setting_visibility/basic.cfg +++ b/resources/setting_visibility/basic.cfg @@ -56,6 +56,7 @@ adhesion_extruder_nr prime_tower_enable prime_tower_position_x prime_tower_position_y +interlocking_enable [meshfix] diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index b13618e5c1..6c78e40503 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -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