FIX: do not break bridges in tree support

jira: STUDIO-7424
github: #4318
Change-Id: Icccf56b129c4910f3b0a49d69871b8df1375a6d9
(cherry picked from commit 99211cde5f2114fd64e2724069540577793f889a)
This commit is contained in:
Arthur 2024-06-25 09:30:12 +08:00 committed by Lane.Wei
parent d2daa4bd16
commit 6a130a19ef
3 changed files with 4 additions and 8 deletions

View File

@ -1080,9 +1080,8 @@ void TreeSupport::detect_overhangs(bool check_support_necessity/* = false*/)
}
if (max_bridge_length > 0 && layer->loverhangs.size() > 0 && lower_layer) {
// do not break bridge for normal part in TreeHybrid, nor Tree Strong
bool break_bridge = !(support_style == smsTreeHybrid && area(layer->loverhangs) > m_support_params.thresh_big_overhang)
&& !(support_style==smsTreeStrong);
// do not break bridge as the interface will be poor, see #4318
bool break_bridge = false;
m_object->remove_bridges_from_contacts(lower_layer, layer, extrusion_width_scaled, &layer->loverhangs, max_bridge_length, break_bridge);
}

View File

@ -4240,10 +4240,6 @@ static void generate_support_areas(Print &print, TreeSupport* tree_support, cons
move_bounds, interface_placer, throw_on_cancel);
auto t_gen = std::chrono::high_resolution_clock::now();
// save num of points to log
for (size_t i = 0; i < move_bounds.size(); i++)
BOOST_LOG_TRIVIAL(trace) << "Number of points in move_bound: " << move_bounds[i].size() << " in layer " << i;
#ifdef TREESUPPORT_DEBUG_SVG
for (size_t layer_idx = 0; layer_idx < move_bounds.size(); ++layer_idx) {
Polygons polys;

View File

@ -2433,7 +2433,8 @@ bool GUI_App::OnInit()
{
try {
return on_init_inner();
} catch (const std::exception&) {
} catch (const std::exception& e) {
BOOST_LOG_TRIVIAL(fatal) << "OnInit Got Fatal error: " << e.what();
generic_exception_handle();
return false;
}