ENH: simplify support options and fix a tree sup bug

1. add default support base pattern (lightning for tree support,
   rectilinear for normal)
2. change default support interface pattern to "Default" (concentric for
   absoluble material, rectilinear for others)
3. delete tree_support_with_infill, replace no-infill optio with "None" infill type
4. delete HAS_LIGHTNING_INFILL macro (lightning is impossible to be
   removed now)
5. fix the issue that tree support base may grow above interface by
   adding virtual nodes (distance_to_top<0).

Change-Id: I5affa44e1f72d0dc54052927f2b315de83702870
(cherry picked from commit a2b41b1dfd9227e68ac6d971312133ec3382baa7)
This commit is contained in:
Arthur 2022-11-25 15:17:52 +08:00 committed by Lane.Wei
parent bcedd7e557
commit 95ed039879
13 changed files with 55 additions and 72 deletions

View file

@ -538,7 +538,7 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
toggle_field("support_threshold_angle", have_support_material && (support_type == stNormalAuto || support_type == stTreeAuto || support_type==stHybridAuto));
//toggle_field("support_closing_radius", have_support_material && support_style == smsSnug);
for (auto el : {"tree_support_branch_angle", "tree_support_wall_count", "tree_support_with_infill", "tree_support_branch_distance", "tree_support_branch_diameter"})
for (auto el : {"tree_support_branch_angle", "tree_support_wall_count", "tree_support_branch_distance", "tree_support_branch_diameter"})
toggle_field(el, config->opt_bool("enable_support") && (support_type == stTreeAuto || support_type == stTree || support_type == stHybridAuto));
// hide tree support settings when normal is selected
@ -547,7 +547,6 @@ void ConfigManipulation::toggle_print_fff_options(DynamicPrintConfig *config, co
toggle_line("tree_support_branch_diameter", support_is_tree);
toggle_line("tree_support_branch_angle", support_is_tree);
toggle_line("tree_support_wall_count", support_is_tree);
toggle_line("tree_support_with_infill", support_is_tree);
toggle_line("max_bridge_length", support_is_tree);
// tree support use max_bridge_length instead of bridge_no_support