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" + } + } } } },