From 2e2f6f82eafcfce3e37241f321f1b7a10b8ba35e Mon Sep 17 00:00:00 2001 From: Thomas Rahm <67757218+ThomasRahm@users.noreply.github.com> Date: Wed, 29 Mar 2023 06:39:57 +0200 Subject: [PATCH 1/4] More Tree Support realated changes to fdmprinter.def.json --- resources/definitions/fdmprinter.def.json | 52 ++++++----------------- 1 file changed, 12 insertions(+), 40 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index ece5daa9e8..2b4c1991e3 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4564,8 +4564,8 @@ }, "support_tree_angle": { - "label": "Tree Support Branch Angle", - "description": "The angle of the branches. Use a lower angle to make them more vertical and more stable. Use a higher angle to be able to have more reach.", + "label": "Tree Support Maximum Branch Angle", + "description": "The maximum angle of the branches while they grow around the model. Use a lower angle to make them more vertical and more stable. Use a higher angle to be able to have more reach.", "unit": "\u00b0", "type": "float", "minimum_value": "0", @@ -4579,25 +4579,13 @@ "settable_per_mesh": true, "settable_per_extruder": true }, - "support_tree_branch_distance": - { - "label": "Tree Support Branch Distance", - "description": "How far apart the branches need to be when they touch the model. Making this distance small will cause the tree support to touch the model at more points, causing better overhang but making support harder to remove.", - "unit": "mm", - "type": "float", - "minimum_value": "0.001", - "default_value": 1, - "limit_to_extruder": "support_infill_extruder_nr", - "enabled": "support_enable and support_structure=='tree'", - "settable_per_mesh": true - }, "support_tree_branch_diameter": { "label": "Tree Support Branch Diameter", "description": "The diameter of the thinnest branches of tree support. Thicker branches are more sturdy. Branches towards the base will be thicker than this.", "unit": "mm", "type": "float", - "minimum_value": "0.001", + "minimum_value": "support_tree_tip_diameter", "minimum_value_warning": "support_line_width * 2", "default_value": 5, "limit_to_extruder": "support_infill_extruder_nr", @@ -4634,22 +4622,6 @@ "settable_per_mesh": true, "settable_per_extruder": true }, - "support_tree_collision_resolution": - { - "label": "Tree Support Collision Resolution", - "description": "Resolution to compute collisions with to avoid hitting the model. Setting this lower will produce more accurate trees that fail less often, but increases slicing time dramatically.", - "unit": "mm", - "type": "float", - "minimum_value": "0.001", - "minimum_value_warning": "support_line_width / 4", - "maximum_value_warning": "support_line_width * 2", - "default_value": 0.4, - "value": "support_line_width / 2", - "limit_to_extruder": "support_infill_extruder_nr", - "enabled": "support_enable and support_structure=='tree' and support_tree_branch_diameter_angle > 0", - "settable_per_mesh": false, - "settable_per_extruder": true - }, "support_type": { "label": "Support Placement", @@ -4833,7 +4805,7 @@ "description": "The number of walls with which to surround support infill. Adding a wall can make support print more reliably and can support overhangs better, but increases print time and material used.", "default_value": 1, "minimum_value": "0", - "minimum_value_warning": "1 if support_pattern == 'concentric' else 0", + "minimum_value_warning": "(1 if support_pattern == 'concentric' else 0) if support_structure == 'normal' else 1", "maximum_value_warning": "0 if (support_skip_some_zags and support_pattern == 'zigzag') else 3", "maximum_value": "999999", "type": "int", @@ -5043,7 +5015,7 @@ "default_value": 0.1, "type": "float", "enabled": "support_enable or support_meshes_present", - "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (layer_height if support_structure == 'tree' else 0)", + "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')", "limit_to_extruder": "support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr", "settable_per_mesh": true }, @@ -5117,7 +5089,7 @@ "limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr", "minimum_value": "0", "maximum_value_warning": "1.0", - "enabled": "support_enable or support_meshes_present", + "enabled": "(support_enable and support_structure == 'normal') or support_meshes_present", "settable_per_mesh": true }, "support_bottom_stair_step_width": @@ -5130,7 +5102,7 @@ "limit_to_extruder": "support_interface_extruder_nr if support_bottom_enable else support_infill_extruder_nr", "minimum_value": "0", "maximum_value_warning": "10.0", - "enabled": "(support_enable or support_meshes_present) and support_bottom_stair_step_height > 0", + "enabled": "((support_enable and support_structure == 'normal') or support_meshes_present) and support_bottom_stair_step_height > 0", "settable_per_mesh": true }, "support_bottom_stair_step_min_slope": @@ -5143,7 +5115,7 @@ "limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr", "minimum_value": "0.01", "maximum_value": "89.99", - "enabled": "(support_enable or support_meshes_present) and support_bottom_stair_step_height > 0", + "enabled": "((support_enable and support_structure == 'normal') or support_meshes_present) and support_bottom_stair_step_height > 0", "settable_per_mesh": true }, "support_join_distance": @@ -5171,7 +5143,7 @@ "limit_to_extruder": "support_infill_extruder_nr", "minimum_value_warning": "-1 * machine_nozzle_size", "maximum_value_warning": "10 * machine_nozzle_size", - "enabled": "(support_enable and support_structure == 'normal') or support_meshes_present", + "enabled": "support_enable or support_meshes_present", "settable_per_mesh": false, "settable_per_extruder": true }, @@ -5227,8 +5199,8 @@ "type": "float", "default_value": 0.0, "minimum_value": "0", - "maximum_value_warning": "10", - "enabled": "(support_enable or support_meshes_present) and support_structure == 'normal'", + "maximum_value_warning": "10 if support_structure == 'normal' else 0", + "enabled": "(support_enable or support_meshes_present)", "limit_to_extruder": "support_infill_extruder_nr", "settable_per_mesh": true }, @@ -5509,7 +5481,7 @@ "value": "extruderValue(support_bottom_extruder_nr, 'minimum_interface_area')", "minimum_value": "0", "limit_to_extruder": "support_bottom_extruder_nr", - "enabled": "support_bottom_enable and (support_enable or support_meshes_present)", + "enabled": "support_bottom_enable and ((support_enable and support_structure == 'normal') or support_meshes_present)", "settable_per_mesh": true } } From 536c95555ec42874ca1017e09f5e402dc41965b5 Mon Sep 17 00:00:00 2001 From: Thomas Rahm <67757218+ThomasRahm@users.noreply.github.com> Date: Wed, 29 Mar 2023 06:50:30 +0200 Subject: [PATCH 2/4] Suggested profile changes: Ensure minimum support area is 0 for tree support to avoid 'No trees generated' bug report. Removed extra z heightfor Tree support as this should no longer be required with the new implementation --- resources/definitions/Geeetech_Base_Dual_Extruder.def.json | 2 +- resources/definitions/Geeetech_Base_Multi_Extruder.def.json | 2 +- resources/definitions/Geeetech_Base_Single_Extruder.def.json | 2 +- resources/definitions/ankermake_m5.def.json | 2 +- resources/definitions/anycubic_i3_mega_s.def.json | 4 ++-- resources/definitions/artillery_base.def.json | 2 +- resources/definitions/biqu_base.def.json | 2 +- resources/definitions/blocks_base.def.json | 2 +- resources/definitions/creality_base.def.json | 4 ++-- resources/definitions/flyingbear_base.def.json | 2 +- resources/definitions/fusion3_f410.def.json | 2 +- resources/definitions/kingroon_base.def.json | 2 +- resources/definitions/koonovo_base.def.json | 2 +- resources/definitions/koonovo_kn3.def.json | 2 +- resources/definitions/koonovo_kn5.def.json | 2 +- resources/definitions/lnl3d_base.def.json | 2 +- resources/definitions/longer_base.def.json | 2 +- resources/definitions/mingda_base.def.json | 2 +- resources/definitions/mixware_hyper_k.def.json | 2 +- resources/definitions/modix_v3_base.def.json | 2 +- resources/definitions/modix_v4_base.def.json | 2 +- resources/definitions/rigid3d_base.def.json | 2 +- resources/definitions/tank_m_base.def.json | 2 +- resources/definitions/tronxy_x.def.json | 2 +- resources/definitions/two_trees_base.def.json | 2 +- resources/definitions/vivedino_base.def.json | 2 +- 26 files changed, 28 insertions(+), 28 deletions(-) diff --git a/resources/definitions/Geeetech_Base_Dual_Extruder.def.json b/resources/definitions/Geeetech_Base_Dual_Extruder.def.json index 7bc2bc529c..c8ab3ca623 100644 --- a/resources/definitions/Geeetech_Base_Dual_Extruder.def.json +++ b/resources/definitions/Geeetech_Base_Dual_Extruder.def.json @@ -81,7 +81,7 @@ "value": "material_print_temperature + 5" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": true }, "prime_tower_brim_enable": { "value": true }, "prime_tower_min_volume": diff --git a/resources/definitions/Geeetech_Base_Multi_Extruder.def.json b/resources/definitions/Geeetech_Base_Multi_Extruder.def.json index 4d4bc3363a..36783200dd 100644 --- a/resources/definitions/Geeetech_Base_Multi_Extruder.def.json +++ b/resources/definitions/Geeetech_Base_Multi_Extruder.def.json @@ -82,7 +82,7 @@ "value": "material_print_temperature + 5" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": true }, "prime_tower_brim_enable": { "value": true }, "prime_tower_min_volume": diff --git a/resources/definitions/Geeetech_Base_Single_Extruder.def.json b/resources/definitions/Geeetech_Base_Single_Extruder.def.json index b155a0ee6c..b901668859 100644 --- a/resources/definitions/Geeetech_Base_Single_Extruder.def.json +++ b/resources/definitions/Geeetech_Base_Single_Extruder.def.json @@ -76,7 +76,7 @@ "value": "material_print_temperature + 5" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": true }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'all'" }, "retraction_combing_max_distance": { "value": 30 }, diff --git a/resources/definitions/ankermake_m5.def.json b/resources/definitions/ankermake_m5.def.json index 6d8b0b15e9..47ea58528c 100644 --- a/resources/definitions/ankermake_m5.def.json +++ b/resources/definitions/ankermake_m5.def.json @@ -74,7 +74,7 @@ "value": "material_print_temperature + 5" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "retraction_amount": { "default_value": 1.5 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'infill'" }, "retraction_hop": { "value": 0.2 }, diff --git a/resources/definitions/anycubic_i3_mega_s.def.json b/resources/definitions/anycubic_i3_mega_s.def.json index 60b5bf652c..7837b9ab10 100644 --- a/resources/definitions/anycubic_i3_mega_s.def.json +++ b/resources/definitions/anycubic_i3_mega_s.def.json @@ -68,7 +68,7 @@ }, "meshfix_maximum_deviation": { "value": 0.05 }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_amount": { "value": 6 }, "retraction_combing": { "value": "'off'" }, @@ -113,7 +113,7 @@ "support_interface_skip_height": { "value": 0.2 }, "support_pattern": { "value": "'zigzag'" }, "support_structure": { "value": "'tree'" }, - "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (layer_height if support_structure == 'tree' else 0)" }, + "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')" }, "support_type": { "value": "'buildplate' if support_structure == 'tree' else 'everywhere'" }, "support_wall_count": { "value": 1 }, "support_xy_distance": { "value": "wall_line_width_0 * 2" }, diff --git a/resources/definitions/artillery_base.def.json b/resources/definitions/artillery_base.def.json index e8b779bf00..d12587e383 100644 --- a/resources/definitions/artillery_base.def.json +++ b/resources/definitions/artillery_base.def.json @@ -110,7 +110,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": true }, "retraction_amount": { "value": 2 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'infill'" }, diff --git a/resources/definitions/biqu_base.def.json b/resources/definitions/biqu_base.def.json index 5b84c72b88..78edc62b74 100755 --- a/resources/definitions/biqu_base.def.json +++ b/resources/definitions/biqu_base.def.json @@ -63,7 +63,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, "retraction_combing_max_distance": { "value": 30 }, diff --git a/resources/definitions/blocks_base.def.json b/resources/definitions/blocks_base.def.json index b8e215ab5f..d83e6b31f6 100644 --- a/resources/definitions/blocks_base.def.json +++ b/resources/definitions/blocks_base.def.json @@ -55,7 +55,7 @@ "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, "minimum_polygon_circumference": { "default_value": 0.2 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, "retraction_combing_max_distance": { "value": 30 }, diff --git a/resources/definitions/creality_base.def.json b/resources/definitions/creality_base.def.json index 229c46d7ca..e0af584423 100644 --- a/resources/definitions/creality_base.def.json +++ b/resources/definitions/creality_base.def.json @@ -113,7 +113,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, "retraction_combing_max_distance": { "value": 30 }, @@ -159,7 +159,7 @@ "support_interface_pattern": { "value": "'grid'" }, "support_interface_skip_height": { "value": 0.2 }, "support_pattern": { "value": "'zigzag'" }, - "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (layer_height if support_structure == 'tree' else 0)" }, + "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')" }, "support_wall_count": { "value": 1 }, "support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" }, diff --git a/resources/definitions/flyingbear_base.def.json b/resources/definitions/flyingbear_base.def.json index dcbeca1e9e..c256ae61f8 100644 --- a/resources/definitions/flyingbear_base.def.json +++ b/resources/definitions/flyingbear_base.def.json @@ -128,7 +128,7 @@ "meshfix_maximum_resolution": { "value": 0.25 }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 5 }, + "minimum_support_area": { "value": "5 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": true }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, "retraction_combing_max_distance": { "value": 30 }, diff --git a/resources/definitions/fusion3_f410.def.json b/resources/definitions/fusion3_f410.def.json index 1c4fce0d44..6f50a15fd8 100644 --- a/resources/definitions/fusion3_f410.def.json +++ b/resources/definitions/fusion3_f410.def.json @@ -60,7 +60,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retract_at_layer_change": { "value": true }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, diff --git a/resources/definitions/kingroon_base.def.json b/resources/definitions/kingroon_base.def.json index 5f23b602b9..2530ae87b4 100644 --- a/resources/definitions/kingroon_base.def.json +++ b/resources/definitions/kingroon_base.def.json @@ -177,7 +177,7 @@ "meshfix_maximum_resolution": { "value": "0.05" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": true }, "retraction_amount": { "value": 2 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'infill'" }, diff --git a/resources/definitions/koonovo_base.def.json b/resources/definitions/koonovo_base.def.json index 906293bd59..b22a4267d1 100644 --- a/resources/definitions/koonovo_base.def.json +++ b/resources/definitions/koonovo_base.def.json @@ -48,7 +48,7 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "retraction_amount": { "value": 2.5 }, "retraction_speed": { "value": 40 }, "skirt_gap": { "value": 6.0 }, diff --git a/resources/definitions/koonovo_kn3.def.json b/resources/definitions/koonovo_kn3.def.json index 13981334b8..ae978b12e0 100644 --- a/resources/definitions/koonovo_kn3.def.json +++ b/resources/definitions/koonovo_kn3.def.json @@ -66,7 +66,7 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "retraction_amount": { "value": 2.5 }, "retraction_speed": { "value": 40 }, "skirt_gap": { "value": 6.0 }, diff --git a/resources/definitions/koonovo_kn5.def.json b/resources/definitions/koonovo_kn5.def.json index 29bd0c75de..96ae03a6d9 100644 --- a/resources/definitions/koonovo_kn5.def.json +++ b/resources/definitions/koonovo_kn5.def.json @@ -66,7 +66,7 @@ "material_initial_print_temperature": { "value": "material_print_temperature" }, "material_standby_temperature": { "value": "material_print_temperature" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "retraction_amount": { "value": 2.5 }, "retraction_speed": { "value": 40 }, "skirt_gap": { "value": 6.0 }, diff --git a/resources/definitions/lnl3d_base.def.json b/resources/definitions/lnl3d_base.def.json index c181e80a8e..5d865808fd 100644 --- a/resources/definitions/lnl3d_base.def.json +++ b/resources/definitions/lnl3d_base.def.json @@ -65,7 +65,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "prime_tower_brim_enable": { "default_value": true }, "prime_tower_wipe_enabled": { "default_value": false }, diff --git a/resources/definitions/longer_base.def.json b/resources/definitions/longer_base.def.json index 4d6ba0beaf..fdc78b838b 100644 --- a/resources/definitions/longer_base.def.json +++ b/resources/definitions/longer_base.def.json @@ -62,7 +62,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_amount": { "default_value": 5 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, diff --git a/resources/definitions/mingda_base.def.json b/resources/definitions/mingda_base.def.json index c6a294002e..6da76584f3 100644 --- a/resources/definitions/mingda_base.def.json +++ b/resources/definitions/mingda_base.def.json @@ -111,7 +111,7 @@ "meshfix_maximum_resolution": { "value": "0.05" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": true }, "retraction_amount": { "value": 2 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'infill'" }, diff --git a/resources/definitions/mixware_hyper_k.def.json b/resources/definitions/mixware_hyper_k.def.json index 1b52bd9359..6f2adc246b 100644 --- a/resources/definitions/mixware_hyper_k.def.json +++ b/resources/definitions/mixware_hyper_k.def.json @@ -64,7 +64,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "raft_airgap": { "default_value": 0.24 }, "raft_margin": diff --git a/resources/definitions/modix_v3_base.def.json b/resources/definitions/modix_v3_base.def.json index 6f0205e59e..911d674e68 100644 --- a/resources/definitions/modix_v3_base.def.json +++ b/resources/definitions/modix_v3_base.def.json @@ -45,7 +45,7 @@ "material_final_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_amount": { "value": 1 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'infill'" }, diff --git a/resources/definitions/modix_v4_base.def.json b/resources/definitions/modix_v4_base.def.json index 932293d6df..71b99c7cae 100644 --- a/resources/definitions/modix_v4_base.def.json +++ b/resources/definitions/modix_v4_base.def.json @@ -45,7 +45,7 @@ "material_final_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_amount": { "value": 1 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'infill'" }, diff --git a/resources/definitions/rigid3d_base.def.json b/resources/definitions/rigid3d_base.def.json index 4940bc5a3c..116df0038b 100644 --- a/resources/definitions/rigid3d_base.def.json +++ b/resources/definitions/rigid3d_base.def.json @@ -48,7 +48,7 @@ "material_final_print_temperature": { "value": "material_print_temperature" }, "material_initial_print_temperature": { "value": "material_print_temperature" }, "minimum_interface_area": { "value": 5.0 }, - "minimum_support_area": { "value": 5 }, + "minimum_support_area": { "value": "5 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_amount": { "value": 1.5 }, "retraction_combing": { "value": "'all'" }, diff --git a/resources/definitions/tank_m_base.def.json b/resources/definitions/tank_m_base.def.json index 069c6a4755..3692793259 100644 --- a/resources/definitions/tank_m_base.def.json +++ b/resources/definitions/tank_m_base.def.json @@ -48,7 +48,7 @@ "material_print_temperature": { "value": "195" }, "material_standby_temperature": { "value": "material_print_temperature" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "retraction_amount": { "value": 1.0 }, "retraction_speed": { "value": 40 }, "skirt_gap": { "value": 6.0 }, diff --git a/resources/definitions/tronxy_x.def.json b/resources/definitions/tronxy_x.def.json index 58dea24c90..683761a81b 100644 --- a/resources/definitions/tronxy_x.def.json +++ b/resources/definitions/tronxy_x.def.json @@ -56,7 +56,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retract_at_layer_change": { "value": true }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, diff --git a/resources/definitions/two_trees_base.def.json b/resources/definitions/two_trees_base.def.json index 108d8df11f..ff01e46f6f 100644 --- a/resources/definitions/two_trees_base.def.json +++ b/resources/definitions/two_trees_base.def.json @@ -39,7 +39,7 @@ "meshfix_maximum_resolution": { "value": "0.25" }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 2 }, + "minimum_support_area": { "value": "2 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": "True" }, "retraction_amount": { "default_value": 7 }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, diff --git a/resources/definitions/vivedino_base.def.json b/resources/definitions/vivedino_base.def.json index 5ffd06f3f0..a638fc105c 100644 --- a/resources/definitions/vivedino_base.def.json +++ b/resources/definitions/vivedino_base.def.json @@ -63,7 +63,7 @@ "meshfix_maximum_resolution": { "value": 0.25 }, "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" }, "minimum_interface_area": { "value": 10 }, - "minimum_support_area": { "value": 10 }, + "minimum_support_area": { "value": "10 if support_structure == 'normal' else 0" }, "optimize_wall_printing_order": { "value": true }, "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" }, "retraction_combing_max_distance": { "value": 30 }, From 52173cd7327e012ef769e11840ff130921e1b399 Mon Sep 17 00:00:00 2001 From: Thomas Rahm <67757218+ThomasRahm@users.noreply.github.com> Date: Wed, 29 Mar 2023 07:14:26 +0200 Subject: [PATCH 3/4] Fixed Typo --- 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 2b4c1991e3..1d6f16283b 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -4684,7 +4684,7 @@ }, "support_tree_bp_diameter": { - "label": "Tree Support Inital Layer Diameter", + "label": "Tree Support Initial Layer Diameter", "description": "Diameter every branch tries to achieve when reaching the buildplate. Improves bed adhesion.", "unit": "mm", "type": "float", From 121acbbe155d2e9b59c9fac089e4cb6ed487408a Mon Sep 17 00:00:00 2001 From: Remco Burema <41987080+rburema@users.noreply.github.com> Date: Tue, 18 Apr 2023 15:58:04 +0200 Subject: [PATCH 4/4] Apply printer-linter suggestions. Remove the causes of all redundancy warnings. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- resources/definitions/anycubic_i3_mega_s.def.json | 6 +++--- resources/definitions/creality_base.def.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/definitions/anycubic_i3_mega_s.def.json b/resources/definitions/anycubic_i3_mega_s.def.json index 7837b9ab10..215b54dce8 100644 --- a/resources/definitions/anycubic_i3_mega_s.def.json +++ b/resources/definitions/anycubic_i3_mega_s.def.json @@ -110,12 +110,12 @@ "support_interface_enable": { "value": true }, "support_interface_height": { "value": "layer_height * 4" }, "support_interface_pattern": { "value": "'grid'" }, - "support_interface_skip_height": { "value": 0.2 }, + "support_pattern": { "value": "'zigzag'" }, "support_structure": { "value": "'tree'" }, - "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')" }, + "support_type": { "value": "'buildplate' if support_structure == 'tree' else 'everywhere'" }, - "support_wall_count": { "value": 1 }, + "support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_overrides_z": { "value": "'xy_overrides_z'" }, diff --git a/resources/definitions/creality_base.def.json b/resources/definitions/creality_base.def.json index e0af584423..041d9ae18a 100644 --- a/resources/definitions/creality_base.def.json +++ b/resources/definitions/creality_base.def.json @@ -157,10 +157,10 @@ "support_interface_enable": { "value": true }, "support_interface_height": { "value": "layer_height * 4" }, "support_interface_pattern": { "value": "'grid'" }, - "support_interface_skip_height": { "value": 0.2 }, + "support_pattern": { "value": "'zigzag'" }, - "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')" }, - "support_wall_count": { "value": 1 }, + + "support_xy_distance": { "value": "wall_line_width_0 * 2" }, "support_xy_distance_overhang": { "value": "wall_line_width_0" }, "support_xy_overrides_z": { "value": "'xy_overrides_z'" },