From a7137c5e634264b036ca3b38c8084423fbd8c2f1 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Mon, 8 Jan 2024 14:44:17 +0100 Subject: [PATCH] Add raft settings to make margin and remove inside corners configurable per raft-type Added teh following settings - raft_base_margin - raft_interface_margin - raft_surface_margin - raft_base_smoothing - raft_interface_smoothing - raft_surface_smoothing - raft_base_remove_inside_corners - raft_interface_remove_inside_corners - raft_surface_remove_inside_corners --- resources/definitions/fdmprinter.def.json | 129 +++++++++++++++++++++- resources/setting_visibility/expert.cfg | 9 ++ 2 files changed, 135 insertions(+), 3 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 2b37b3d7ac..b40e074f1c 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6114,7 +6114,51 @@ "enabled": "resolveOrValue('adhesion_type') == 'raft'", "limit_to_extruder": "adhesion_extruder_nr", "settable_per_mesh": false, - "settable_per_extruder": true + "settable_per_extruder": true, + "children": { + "raft_base_margin": { + "label": "Raft Base Extra Margin", + "description": "If the raft base is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print.", + "unit": "mm", + "type": "float", + "value": "raft_margin", + "default_value": 15, + "minimum_value_warning": "raft_interface_line_width", + "maximum_value_warning": "20", + "enabled": "resolveOrValue('adhesion_type') == 'raft'", + "limit_to_extruder": "adhesion_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "raft_interface_margin": { + "label": "Raft Middle Extra Margin", + "description": "If the raft middle is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print.", + "unit": "mm", + "type": "float", + "value": "raft_margin", + "default_value": 15, + "minimum_value_warning": "raft_interface_line_width", + "maximum_value_warning": "20", + "enabled": "resolveOrValue('adhesion_type') == 'raft'", + "limit_to_extruder": "adhesion_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "raft_surface_margin": { + "label": "Raft Top Extra Margin", + "description": "If the raft top is enabled, this is the extra raft area around the model which is also given a raft. Increasing this margin will create a stronger raft while using more material and leaving less area for your print.", + "unit": "mm", + "type": "float", + "value": "raft_margin", + "default_value": 15, + "minimum_value_warning": "raft_interface_line_width", + "maximum_value_warning": "20", + "enabled": "resolveOrValue('adhesion_type') == 'raft'", + "limit_to_extruder": "adhesion_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + } + } }, "raft_smoothing": { @@ -6128,7 +6172,51 @@ "enabled": "resolveOrValue('adhesion_type') == 'raft' and not raft_remove_inside_corners", "limit_to_extruder": "adhesion_extruder_nr", "settable_per_mesh": false, - "settable_per_extruder": true + "settable_per_extruder": true, + "children": { + "raft_base_smoothing": { + "label": "Raft Base Smoothing", + "description": "This setting controls how much inner corners in the raft base outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle.", + "unit": "mm", + "type": "float", + "value": "raft_smoothing", + "default_value": 5, + "minimum_value": "0", + "minimum_value_warning": "raft_interface_line_width", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and not raft_base_remove_inside_corners", + "limit_to_extruder": "adhesion_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "raft_interface_smoothing": { + "label": "Raft Middle Smoothing", + "description": "This setting controls how much inner corners in the raft middle outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle.", + "unit": "mm", + "type": "float", + "value": "raft_smoothing", + "default_value": 5, + "minimum_value": "0", + "minimum_value_warning": "raft_interface_line_width", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and not raft_interface_remove_inside_corners", + "limit_to_extruder": "adhesion_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + }, + "raft_surface_smoothing": { + "label": "Raft Top Smoothing", + "description": "This setting controls how much inner corners in the raft top outline are rounded. Inward corners are rounded to a semi circle with a radius equal to the value given here. This setting also removes holes in the raft outline which are smaller than such a circle.", + "unit": "mm", + "type": "float", + "value": "raft_smoothing", + "default_value": 5, + "minimum_value": "0", + "minimum_value_warning": "raft_interface_line_width", + "enabled": "resolveOrValue('adhesion_type') == 'raft' and not raft_surface_remove_inside_corners", + "limit_to_extruder": "adhesion_extruder_nr", + "settable_per_mesh": false, + "settable_per_extruder": true + } + } }, "raft_airgap": { @@ -8284,7 +8372,42 @@ "resolve": "any(extruderValues('raft_remove_inside_corners'))", "enabled": "resolveOrValue('adhesion_type') == 'raft'", "settable_per_mesh": false, - "settable_per_extruder": false + "settable_per_extruder": false, + "children": { + "raft_base_remove_inside_corners": { + "label": "Remove Raft Base Inside Corners", + "description": "Remove inside corners from the raft base, causing the raft to become convex.", + "type": "bool", + "value": "raft_remove_inside_corners", + "default_value": false, + "resolve": "any(extruderValues('raft_remove_inside_corners'))", + "enabled": "resolveOrValue('adhesion_type') == 'raft'", + "settable_per_mesh": false, + "settable_per_extruder": false + }, + "raft_interface_remove_inside_corners": { + "label": "Remove Raft Middle Inside Corners", + "description": "Remove inside corners from the raft middle part, causing the raft to become convex.", + "type": "bool", + "value": "raft_remove_inside_corners", + "default_value": false, + "resolve": "any(extruderValues('raft_remove_inside_corners'))", + "enabled": "resolveOrValue('adhesion_type') == 'raft'", + "settable_per_mesh": false, + "settable_per_extruder": false + }, + "raft_surface_remove_inside_corners": { + "label": "Remove Raft Top Inside Corners", + "description": "Remove inside corners from the raft top part, causing the raft to become convex.", + "type": "bool", + "value": "raft_remove_inside_corners", + "default_value": false, + "resolve": "any(extruderValues('raft_remove_inside_corners'))", + "enabled": "resolveOrValue('adhesion_type') == 'raft'", + "settable_per_mesh": false, + "settable_per_extruder": false + } + } }, "raft_base_wall_count": { diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index 2f2dd7671d..ebab2357dd 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -331,7 +331,13 @@ brim_line_count brim_outside_only brim_smart_ordering raft_margin +raft_base_margin +raft_interface_margin +raft_surface_margin raft_smoothing +raft_base_smoothing +raft_interface_smoothing +raft_surface_smoothing raft_airgap raft_surface_layers raft_surface_thickness @@ -467,3 +473,6 @@ small_hole_max_size small_feature_max_length small_feature_speed_factor small_feature_speed_factor_0 +raft_base_remove_inside_corners +raft_interface_remove_inside_corners +raft_surface_remove_inside_corners \ No newline at end of file