From 4eae3a2602f9ba4c43f871528c23c864228c3b78 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 21 Jan 2021 08:05:21 +0100 Subject: [PATCH 1/7] Add 'Ribbed Support Vaults' infill pattern. --- resources/definitions/fdmprinter.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index bb64e7f0dc..9d7086a0a5 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1736,7 +1736,8 @@ "zigzag": "Zig Zag", "cross": "Cross", "cross_3d": "Cross 3D", - "gyroid": "Gyroid" + "gyroid": "Gyroid", + "ribbed_vault": "Ribbed Vaults" }, "default_value": "grid", "enabled": "infill_sparse_density > 0", From ad5c85b7816eec577f231879048e270441d91e05 Mon Sep 17 00:00:00 2001 From: BagelOrb Date: Sun, 24 Jan 2021 11:05:15 +0100 Subject: [PATCH 2/7] rename infill pattern Ribbed Vault to Lightning --- 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 9d7086a0a5..e00d536e75 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1737,7 +1737,7 @@ "cross": "Cross", "cross_3d": "Cross 3D", "gyroid": "Gyroid", - "ribbed_vault": "Ribbed Vaults" + "lightning": "Lightning" }, "default_value": "grid", "enabled": "infill_sparse_density > 0", @@ -1748,7 +1748,7 @@ "zig_zaggify_infill": { "label": "Connect Infill Lines", - "description": "Connect the ends where the infill pattern meets the inner wall using a line which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduce the effects of infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used.", + "description": "Connect the ends where the infill pattern meets the inner wall using a line which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the wallevs better and reduce the effects of infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used.", "type": "bool", "default_value": false, "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d'", From 616aba738006107a916c605b5698ea4af25e38db Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 26 Jan 2021 10:38:54 +0100 Subject: [PATCH 3/7] Remove accidental keyboard fandango in unrelated string. --- 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 e00d536e75..153b72dee3 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1748,7 +1748,7 @@ "zig_zaggify_infill": { "label": "Connect Infill Lines", - "description": "Connect the ends where the infill pattern meets the inner wall using a line which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the wallevs better and reduce the effects of infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used.", + "description": "Connect the ends where the infill pattern meets the inner wall using a line which follows the shape of the inner wall. Enabling this setting can make the infill adhere to the walls better and reduce the effects of infill on the quality of vertical surfaces. Disabling this setting reduces the amount of material used.", "type": "bool", "default_value": false, "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d'", From 8812b37a39fd250225ce68a3ecf27b20a26c0506 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Thu, 28 Jan 2021 17:21:09 +0100 Subject: [PATCH 4/7] Add settings for 'Lightning' infill. - The 'main' support radius will be taken from the already existing infill line distance. - New: Lightning Infill Support Prune Angle: Controls how fast the trees are eroded from the extremeties. - New: Lighning Infill Support Straightening Angle: Controls how fast the junctions of the tree smooth themselves into ever straighter lines. --- resources/definitions/fdmprinter.def.json | 66 ++++++++++++++++++++--- 1 file changed, 58 insertions(+), 8 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 153b72dee3..151ec0963a 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1763,7 +1763,7 @@ "type": "bool", "default_value": true, "value": "(infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_multiplier % 2 == 0) and infill_wall_line_count > 0", - "enabled": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'concentric' or infill_multiplier % 2 == 0 or infill_wall_line_count > 1", + "enabled": "infill_pattern != 'lightning' and infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_pattern == 'concentric' or infill_multiplier % 2 == 0 or infill_wall_line_count > 1", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1773,7 +1773,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 traditional default angles (45 and 135 degrees for the lines and zig zag patterns and 45 degrees for all other patterns).", "type": "[int]", "default_value": "[ ]", - "enabled": "infill_pattern != 'concentric' and infill_sparse_density > 0", + "enabled": "infill_pattern != 'lightning' and infill_pattern != 'concentric' and infill_sparse_density > 0", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1784,7 +1784,7 @@ "unit": "mm", "type": "float", "default_value": 0, - "enabled": "infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", + "enabled": "infill_pattern != 'lightning' and infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1795,7 +1795,7 @@ "unit": "mm", "type": "float", "default_value": 0, - "enabled": "infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", + "enabled": "infill_pattern != 'lightning' and infill_pattern == 'grid' or infill_pattern == 'lines' or infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' or infill_pattern == 'zigzag'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1806,7 +1806,7 @@ "type": "bool", "default_value": false, "warning_value": "True if infill_pattern not in ('grid', 'triangles', 'trihexagon', 'cubic', 'cubicsubdiv', 'tetrahedral', 'quarter_cubic') else None", - "enabled": "not ((infill_pattern == 'cross' and connect_infill_polygons) or infill_pattern == 'concentric')", + "enabled": "not (infill_pattern == 'lightning' or (infill_pattern == 'cross' and connect_infill_polygons) or infill_pattern == 'concentric')", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1915,7 +1915,7 @@ "minimum_value": "0", "maximum_value_warning": "1 if (infill_pattern == 'cross' or infill_pattern == 'cross_3d' or support_pattern == 'concentric') else 5", "maximum_value": "999999 if infill_line_distance == 0 else (20 - math.log(infill_line_distance) / math.log(2))", - "enabled": "infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv'", + "enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and infill_pattern != 'cubicsubdiv'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1928,7 +1928,7 @@ "default_value": 1.5, "minimum_value": "0.0001", "minimum_value_warning": "3 * resolveOrValue('layer_height')", - "enabled": "infill_sparse_density > 0 and gradual_infill_steps > 0 and infill_pattern != 'cubicsubdiv'", + "enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and gradual_infill_steps > 0 and infill_pattern != 'cubicsubdiv'", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -1958,7 +1958,7 @@ "description": "Print infill structures only where tops of the model should be supported. Enabling this reduces print time and material usage, but leads to ununiform object strength.", "type": "bool", "default_value": false, - "enabled": "infill_sparse_density > 0", + "enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true }, @@ -2123,6 +2123,56 @@ "settable_per_mesh": true } } + }, + "lightning_infill_support_angle": + { + "label": "Lightning Infill Support Angle", + "description": "The difference two lightning infill layers can have while still supporting each other. Measured in the angle given the thickness.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "75", + "default_value": 40, + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_pattern == 'lightning'", + "settable_per_mesh": false, + "settable_per_extruder": true, + "children": + { + "lightning_infill_prune_angle": + { + "label": "Lightning Infill Support Prune Angle", + "description": "The difference a lightning infill layer can have with the one immediately above w.r.t the pruning of the outer extremities of trees. Measured in the angle given the thickness.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "75", + "default_value": 40, + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_pattern == 'lightning'", + "settable_per_mesh": false, + "settable_per_extruder": true, + "value": "lightning_infill_support_angle" + }, + "lightning_infill_straightening_angle": + { + "label": "Lightning Infill Support Straightening Angle", + "description": "The difference a lightning infill layer can have with the one immediately above w.r.t the smoothing of trees. Measured in the angle given the thickness.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "75", + "default_value": 40, + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_pattern == 'lightning'", + "settable_per_mesh": false, + "settable_per_extruder": true, + "value": "lightning_infill_support_angle" + } + } } } }, From 10c06954efed5fb1a6a43d9f7c3dd07e580872c8 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 3 Feb 2021 13:47:00 +0100 Subject: [PATCH 5/7] Add lightning infill overhang angle. Becasue: Should be different from the support radius. --- resources/definitions/fdmprinter.def.json | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 151ec0963a..d92736c935 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2127,7 +2127,7 @@ "lightning_infill_support_angle": { "label": "Lightning Infill Support Angle", - "description": "The difference two lightning infill layers can have while still supporting each other. Measured in the angle given the thickness.", + "description": "Determines when a lightning infill layer has to support anything above it. Measured in the angle given the thickness of a layer.", "unit": "°", "type": "float", "minimum_value": "0", @@ -2140,9 +2140,25 @@ "settable_per_extruder": true, "children": { + "lightning_infill_overhang_angle": + { + "label": "Lightning Infill Overhang Angle", + "description": "Determines when a lightning infill layer has to support the model above it. Measured in the angle given the thickness.", + "unit": "°", + "type": "float", + "minimum_value": "0", + "maximum_value": "90", + "maximum_value_warning": "75", + "default_value": 40, + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_pattern == 'lightning'", + "settable_per_mesh": false, + "settable_per_extruder": true, + "value": "lightning_infill_support_angle" + }, "lightning_infill_prune_angle": { - "label": "Lightning Infill Support Prune Angle", + "label": "Lightning Infill Prune Angle", "description": "The difference a lightning infill layer can have with the one immediately above w.r.t the pruning of the outer extremities of trees. Measured in the angle given the thickness.", "unit": "°", "type": "float", @@ -2158,7 +2174,7 @@ }, "lightning_infill_straightening_angle": { - "label": "Lightning Infill Support Straightening Angle", + "label": "Lightning Infill Straightening Angle", "description": "The difference a lightning infill layer can have with the one immediately above w.r.t the smoothing of trees. Measured in the angle given the thickness.", "unit": "°", "type": "float", From b3676a38d94ce5929ad146a3de7eadf4e1112be5 Mon Sep 17 00:00:00 2001 From: BagelOrb Date: Fri, 5 Feb 2021 16:07:22 +0100 Subject: [PATCH 6/7] tune lightning infill line distance based on measurements of the amount of filament from only the top layer given several line distance values --- 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 d92736c935..1dc4c19c9c 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1711,7 +1711,7 @@ "default_value": 2, "minimum_value": "0", "minimum_value_warning": "infill_line_width", - "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1))))", + "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else (1.6 if infill_pattern == 'lightning' else 1)))))", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true } From 363aa765f5f53f9345bd8696906df594d88bea62 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Oct 2021 15:28:18 +0200 Subject: [PATCH 7/7] Don't show Infill Overhang Angle if lightning infill is enabled If the Infill Support setting was enabled but still hidden by Lightning Infill, this sub-setting could still be shown. Contributes to issue CURA-8550. --- 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 31eebcd078..723e6fc84e 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2142,7 +2142,7 @@ "minimum_value_warning": "2", "maximum_value": "90", "default_value": 40, - "enabled": "infill_sparse_density > 0 and infill_support_enabled", + "enabled": "infill_pattern != 'lightning' and infill_sparse_density > 0 and infill_support_enabled", "limit_to_extruder": "infill_extruder_nr", "settable_per_mesh": true },