Require higher values for widening factor to have the same effect

This commit is contained in:
tamasmeszaros 2022-06-09 11:06:59 +02:00
parent 1a30c0aaa0
commit 63a58ce1ad
2 changed files with 8 additions and 4 deletions

View File

@ -3676,7 +3676,7 @@ void PrintConfigDef::init_sla_params()
def->min = 0;
def->max = 1;
def->mode = comExpert;
def->set_default_value(new ConfigOptionFloat(0.1));
def->set_default_value(new ConfigOptionFloat(0.15));
def = this->add("support_base_diameter", coFloat);
def->label = L("Support base diameter");

View File

@ -20,7 +20,7 @@ class BranchingTreeBuilder: public branchingtree::Builder {
// Scaling of the input value 'widening_factor:<0, 1>' to produce resonable
// widening behaviour
static constexpr double WIDENING_SCALE = 0.2;
static constexpr double WIDENING_SCALE = 0.08;
double get_radius(const branchingtree::Node &j)
{
@ -206,12 +206,16 @@ void create_branching_tree(SupportTreeBuilder &builder, const SupportableMesh &s
execution::for_each(
ex_tbb, size_t(0), nondup_idx.size(),
[&sm, &heads, &nondup_idx](size_t i) {
heads[i] = calculate_pinhead_placement(ex_seq, sm, nondup_idx[i]);
[&sm, &heads, &nondup_idx, &builder](size_t i) {
if (!builder.ctl().stopcondition())
heads[i] = calculate_pinhead_placement(ex_tbb, sm, nondup_idx[i]);
},
execution::max_concurrency(ex_tbb)
);
if (builder.ctl().stopcondition())
return;
for (auto &h : heads)
if (h && h->is_valid()) {
leafs.emplace_back(h->junction_point().cast<float>(), h->r_back_mm);