Enable ground facing only option for branching tree
Essentially discards mesh nodes
This commit is contained in:
parent
5d6d1f5234
commit
6523bfdf99
@ -171,9 +171,10 @@ bool BranchingTreeBuilder::add_mesh_bridge(const branchingtree::Node &from,
|
||||
{
|
||||
sla::Junction fromj = {from.pos.cast<double>(), get_radius(from)};
|
||||
|
||||
auto anchor = calculate_anchor_placement(ex_tbb, m_sm,
|
||||
fromj,
|
||||
to.pos.cast<double>());
|
||||
auto anchor = m_sm.cfg.ground_facing_only ?
|
||||
std::optional<Anchor>{} : // If no mesh connections are allowed
|
||||
calculate_anchor_placement(ex_tbb, m_sm, fromj,
|
||||
to.pos.cast<double>());
|
||||
|
||||
if (anchor) {
|
||||
sla::Junction toj = {anchor->junction_point(), anchor->r_back_mm};
|
||||
@ -183,10 +184,7 @@ bool BranchingTreeBuilder::add_mesh_bridge(const branchingtree::Node &from,
|
||||
|
||||
if (hit.distance() > distance(fromj.pos, toj.pos)) {
|
||||
m_builder.add_diffbridge(fromj.pos, toj.pos, fromj.r, toj.r);
|
||||
|
||||
if (!m_sm.cfg.ground_facing_only) { // Easter egg, to omit the anchors
|
||||
m_builder.add_anchor(*anchor);
|
||||
}
|
||||
m_builder.add_anchor(*anchor);
|
||||
|
||||
build_subtree(from.id);
|
||||
} else {
|
||||
|
@ -57,11 +57,7 @@ sla::SupportTreeConfig make_support_cfg(const SLAPrintObjectConfig& c)
|
||||
scfg.max_bridge_length_mm = c.support_max_bridge_length.getFloat();
|
||||
scfg.max_pillar_link_distance_mm = c.support_max_pillar_link_distance.getFloat();
|
||||
scfg.pillar_connection_mode = c.support_pillar_connection_mode.value;
|
||||
if (scfg.tree_type != sla::SupportTreeType::Branching) {
|
||||
// Branching tree is all about routing to model body, it doesn't support
|
||||
// this option.
|
||||
scfg.ground_facing_only = c.support_buildplate_only.getBool();
|
||||
}
|
||||
scfg.ground_facing_only = c.support_buildplate_only.getBool();
|
||||
scfg.pillar_widening_factor = c.support_pillar_widening_factor.getFloat();
|
||||
scfg.base_radius_mm = 0.5*c.support_base_diameter.getFloat();
|
||||
scfg.base_height_mm = c.support_base_height.getFloat();
|
||||
|
@ -16,9 +16,6 @@ void test_support_model_collision(
|
||||
|
||||
sla::SupportTreeConfig supportcfg = input_supportcfg;
|
||||
|
||||
// Ensure that there are no anchors which would pierce the model.
|
||||
supportcfg.ground_facing_only = true;
|
||||
|
||||
// Set head penetration to a small negative value which should ensure that
|
||||
// the supports will not touch the model body.
|
||||
supportcfg.head_penetration_mm = -0.2;
|
||||
|
Loading…
Reference in New Issue
Block a user