diff --git a/src/TreeSupport.cpp b/src/TreeSupport.cpp index 901eb89407..b3129b1e2b 100644 --- a/src/TreeSupport.cpp +++ b/src/TreeSupport.cpp @@ -230,7 +230,7 @@ std::vector TreeSupport::convertLinesToInternal(Po // NOTE: The volumes below (on which '.inside(p, true)' is called each time below) are the same each time. The values being calculated here are strictly local as well. // So they could in theory be pre-calculated here (outside of the loop). However, when I refatored it to be that way, it seemed to cause deadlocks each time for some settings. // NOTE2: When refactoring ensure that avoidance to buildplate is only requested when support_rest_preference == RestPreference::BUILDPLATE as otherwise it has not been precalculated (causing long delays while it is calculated when requested here). - + std::vector result; // Also checks if the position is valid, if it is NOT, it deletes that point for (const auto& line : polylines) @@ -2679,7 +2679,7 @@ void TreeSupport::finalizeInterfaceAndSupportAreas(std::vector& suppor support_layer_storage.size(), [&](const LayerIndex layer_idx) { - support_layer_storage[layer_idx] = config.simplifier.polygon(support_layer_storage[layer_idx].unionPolygons().smooth(FUDGE_LENGTH)); + support_layer_storage[layer_idx] = config.simplifier.polygon(support_layer_storage[layer_idx].unionPolygons().smooth(FUDGE_LENGTH)).getOutsidePolygons(); // ^^^ Most of the time in this function is this union call. It can take a relatively long time when a lot of areas are to be unioned. // Also simplify a bit, to ensure the output does not contain outrageous amounts of vertices. Should not be necessary, just a precaution.