diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index e9cfbed0e..db3ca7b10 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3600,11 +3600,11 @@ void PrintConfigDef::init_fff_params() def = this->add("tree_support_wall_count", coInt); def->label = L("Support wall loops"); def->category = L("Support"); - def->tooltip = L("This setting specifies the min count of support walls in the range of [0,2]. Actual wall count may be larger than the specified value."); + def->tooltip = L("This setting specifies the count of support walls in the range of [0,2]. 0 means auto."); def->min = 0; def->max = 2; def->mode = comAdvanced; - def->set_default_value(new ConfigOptionInt(1)); + def->set_default_value(new ConfigOptionInt(0)); def = this->add("chamber_temperatures", coInts); def->label = L("Chamber temperature"); diff --git a/src/libslic3r/Support/SupportParameters.hpp b/src/libslic3r/Support/SupportParameters.hpp index fb6f39244..fa9896c47 100644 --- a/src/libslic3r/Support/SupportParameters.hpp +++ b/src/libslic3r/Support/SupportParameters.hpp @@ -160,7 +160,9 @@ struct SupportParameters { independent_layer_height = print_config.independent_support_layer_height; // force double walls everywhere if wall count is larger than 1 - tree_branch_diameter_double_wall_area_scaled = object_config.tree_support_wall_count.value > 1 ? 0.1 : 0.25 * sqr(scaled(5.0)) * M_PI; + tree_branch_diameter_double_wall_area_scaled = object_config.tree_support_wall_count.value > 1 ? 0.1 : + object_config.tree_support_wall_count.value == 0 ? 0.25 * sqr(scaled(5.0)) * M_PI : + std::numeric_limits::max(); } // Both top / bottom contacts and interfaces are soluble. diff --git a/src/libslic3r/Support/TreeSupport.cpp b/src/libslic3r/Support/TreeSupport.cpp index 9eeb80446..a556876e4 100644 --- a/src/libslic3r/Support/TreeSupport.cpp +++ b/src/libslic3r/Support/TreeSupport.cpp @@ -1545,17 +1545,7 @@ void TreeSupport::generate_toolpaths() erSupportMaterial, filler_support.get(), support_density); } else { - size_t walls = wall_count; - //if (area_group.need_extra_wall && walls < 2) walls += 1; - //for (size_t i = 1; i < walls; i++) { - // Polygons contour_new = offset(poly.contour, -(i - 0.5f) * flow.scaled_spacing(), jtSquare); - // loops.insert(loops.end(), contour_new.begin(), contour_new.end()); - //} - //fill_expolygons_with_sheath_generate_paths(ts_layer->support_fills.entities, loops, nullptr, 0, erSupportMaterial, flow, true, false); - SupportParameters support_params = m_support_params; - if(walls>1) - support_params.tree_branch_diameter_double_wall_area_scaled=0.1; - tree_supports_generate_paths(ts_layer->support_fills.entities, loops, flow, support_params); + tree_supports_generate_paths(ts_layer->support_fills.entities, loops, flow, m_support_params); } } }