From a7c5fe934fb402a9b551bfd5ae630021b6e2059c Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Mon, 11 Mar 2019 08:36:32 +0000 Subject: [PATCH 1/5] Added skin_edge_support_thickness and skin_edge_support_layers. --- resources/definitions/fdmprinter.def.json | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b4a7788c92..7c89311982 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2031,6 +2031,35 @@ "settable_per_mesh": true } } + }, + "skin_edge_support_thickness": + { + "label": "Skin Edge Support Thickness", + "description": "The thickness of the extra infill that supports skin edges.", + "unit": "mm", + "default_value": 0.8, + "minimum_value": "0", + "maximum_value": "machine_height", + "type": "float", + "value": "resolveOrValue('infill_sparse_thickness') * 4", + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_sparse_density > 0", + "settable_per_mesh": true, + "children": + { + "skin_edge_support_layers": + { + "label": "Skin Edge Support Layers", + "description": "The number of infill layers that supports skin edges.", + "default_value": 4, + "minimum_value": "0", + "type": "int", + "value": "0 if infill_sparse_density == 100 else math.ceil(round(skin_edge_support_thickness / resolveOrValue('infill_sparse_thickness'), 4))", + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_sparse_density > 0", + "settable_per_mesh": true + } + } } } }, From bc3605dc5890851f09e766949e549aedba0a6155 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Mon, 11 Mar 2019 10:41:36 +0000 Subject: [PATCH 2/5] Now skin_edge_support_thickness defaults to 0 when infill density >= 50%. --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 7c89311982..37ef512f3d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2041,7 +2041,7 @@ "minimum_value": "0", "maximum_value": "machine_height", "type": "float", - "value": "resolveOrValue('infill_sparse_thickness') * 4", + "value": "resolveOrValue('infill_sparse_thickness') * 4 if infill_sparse_density < 50 else 0", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, @@ -2054,7 +2054,7 @@ "default_value": 4, "minimum_value": "0", "type": "int", - "value": "0 if infill_sparse_density == 100 else math.ceil(round(skin_edge_support_thickness / resolveOrValue('infill_sparse_thickness'), 4))", + "value": "math.ceil(round(skin_edge_support_thickness / resolveOrValue('infill_sparse_thickness'), 4))", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true From bc924afb641932c4287de63ea301ee0407025507 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Mon, 11 Mar 2019 11:05:20 +0000 Subject: [PATCH 3/5] Default to having 1 skin edge support layer when infill density >= 50. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 37ef512f3d..aa871ed338 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2041,7 +2041,7 @@ "minimum_value": "0", "maximum_value": "machine_height", "type": "float", - "value": "resolveOrValue('infill_sparse_thickness') * 4 if infill_sparse_density < 50 else 0", + "value": "resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 50 else 1)", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, From 5919b49646cb495e73a0af2dc09792eff994cd51 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Sun, 17 Mar 2019 13:47:02 +0000 Subject: [PATCH 4/5] Add more possible values for skin_edge_support_thickness. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index aa871ed338..278171827d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2041,7 +2041,7 @@ "minimum_value": "0", "maximum_value": "machine_height", "type": "float", - "value": "resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 50 else 1)", + "value": "resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 12.5 else (3 if infill_sparse_density < 25 else (2 if infill_sparse_density < 50 else 1)))", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, From 2d486b0814c093b69a3252634fad132b60e80f29 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 11 Dec 2019 17:00:02 +0100 Subject: [PATCH 5/5] Default behaviour should be the same as previous. Also added the new setting to 'expert' visibility. --- resources/definitions/fdmprinter.def.json | 3 ++- resources/setting_visibility/expert.cfg | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b607c24d70..394342a316 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2083,7 +2083,8 @@ "minimum_value": "0", "maximum_value": "machine_height", "type": "float", - "value": "resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 12.5 else (3 if infill_sparse_density < 25 else (2 if infill_sparse_density < 50 else 1)))", + "value": "0", + "comment": "This was put at 0 to keep the default behaviour the same, but in the original PR the 'value' was: resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 12.5 else (3 if infill_sparse_density < 25 else (2 if infill_sparse_density < 50 else 1)))", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index 2b9ad362fc..7b24934b0d 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -101,6 +101,8 @@ bottom_skin_expand_distance max_skin_angle_for_expansion min_skin_width_for_expansion infill_randomize_start_location +skin_edge_support_thickness +skin_edge_support_layers [material] default_material_print_temperature