From 402e03f763c614dc0f1ec906765fe38a70a07ee3 Mon Sep 17 00:00:00 2001 From: "salt.wei" Date: Fri, 9 Dec 2022 10:37:45 +0800 Subject: [PATCH] ENH: control local extrusiuon order of tree support As title Signed-off-by: salt.wei Change-Id: I82a17cd8f82a87a898f933b5437836667136d834 (cherry picked from commit aedfffc4565113f186a55efa0e89366880a22fc6) --- src/libslic3r/TreeSupport.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/TreeSupport.cpp b/src/libslic3r/TreeSupport.cpp index 6bfc5cf2f..9e3adb1b6 100644 --- a/src/libslic3r/TreeSupport.cpp +++ b/src/libslic3r/TreeSupport.cpp @@ -1547,9 +1547,14 @@ void TreeSupport::generate_toolpaths() // Note: spacing means the separation between two lines as if they are tightly extruded filler_Roof1stLayer->spacing = m_support_material_interface_flow.spacing(); // generate a perimeter first to support interface better - make_perimeter_and_infill(ts_layer->support_fills.entities, *m_object->print(), poly, 1, m_support_material_interface_flow, erSupportMaterial, + ExtrusionEntityCollection* temp_support_fills = new ExtrusionEntityCollection(); + make_perimeter_and_infill(temp_support_fills->entities, *m_object->print(), poly, 1, m_support_material_interface_flow, erSupportMaterial, filler_Roof1stLayer.get(), interface_density, false); - ts_layer->support_fills.no_sort = true; // make sure loops are first + temp_support_fills->no_sort = true; // make sure loops are first + if (!temp_support_fills->entities.empty()) + ts_layer->support_fills.entities.push_back(temp_support_fills); + else + delete temp_support_fills; } else if (area_group.type == TreeSupportLayer::FloorType) { // floor_areas fill_params.density = bottom_interface_density;