FIX: tree support defaults to hybrid style with adaptive layer height

Organic support doesn't work with adaptive layer height.

jira: STUDIO-6971
Change-Id: I1fa6418bbc49914b3e5887e465861a0dacd42228
(cherry picked from commit dfe1cecb234d86bfbcba741ca3b46725fee43ea8)
This commit is contained in:
Arthur 2024-04-29 15:57:16 +08:00 committed by Lane.Wei
parent 25764ce9f6
commit c413945186
1 changed files with 11 additions and 2 deletions

View File

@ -604,8 +604,17 @@ TreeSupport::TreeSupport(PrintObject& object, const SlicingParameters &slicing_p
m_raft_layers = slicing_params.base_raft_layers + slicing_params.interface_raft_layers;
support_type = m_object_config->support_type;
support_style = m_object_config->support_style;
if (support_style == smsDefault)
support_style = smsTreeOrganic;
if (support_style == smsDefault) {
// organic support doesn't work with adaptive layer height
if (object.model_object()->layer_height_profile.empty()) {
BOOST_LOG_TRIVIAL(warning) << "tree support default to organic support";
support_style = smsTreeOrganic;
}
else {
BOOST_LOG_TRIVIAL(warning) << "Adaptive layer height is not supported for organic support, using hybrid tree support instead.";
support_style = smsTreeHybrid;
}
}
SupportMaterialPattern support_pattern = m_object_config->support_base_pattern;
if (support_style == smsTreeHybrid && support_pattern == smpDefault)
support_pattern = smpRectilinear;