ENH: improve auto-arranging objects with tree support

We decide to set brim width of all objects to MAX_BRANCH_RADIUS_FIRST_LAYER if there is an object with tree support after discussion.

Jira: MAK-2009
Change-Id: I4c4940800632c433235966b01c44ac910e33a51c
This commit is contained in:
Arthur 2023-09-18 15:47:04 +08:00 committed by Lane.Wei
parent 37e7b0e234
commit d8ba43d979
5 changed files with 16 additions and 4 deletions

View file

@ -2205,7 +2205,7 @@ void TreeSupport::draw_circles(const std::vector<std::vector<Node*>>& contact_no
}
}
if (layer_nr == 0 && m_raft_layers == 0) {
double brim_width = tree_brim_width > 0 ? tree_brim_width : layers_to_top * layer_height / (scale * branch_radius) * 0.5;
double brim_width = tree_brim_width > 0 ? tree_brim_width : std::max(0.0, std::min(node.radius + node.dist_mm_to_top / (scale * branch_radius) * 0.5, MAX_BRANCH_RADIUS_FIRST_LAYER) - node.radius);
circle = offset(circle, scale_(brim_width))[0];
}
area.emplace_back(ExPolygon(circle));