From e892d09f2e67c479cd3ab1170d8497a7daad85b9 Mon Sep 17 00:00:00 2001 From: triplus Date: Wed, 2 Nov 2016 14:44:58 +0100 Subject: [PATCH 1/2] Part multiFuse enable SetRunParallel Forum discussion: http://forum.freecadweb.org/viewtopic.php?f=10&t=18179 Test case: http://forum.freecadweb.org/viewtopic.php?f=10&t=18179#p142663 --- src/Mod/Part/App/TopoShape.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Mod/Part/App/TopoShape.cpp b/src/Mod/Part/App/TopoShape.cpp index c3fbe56ac..a266bddb6 100644 --- a/src/Mod/Part/App/TopoShape.cpp +++ b/src/Mod/Part/App/TopoShape.cpp @@ -1325,6 +1325,9 @@ TopoDS_Shape TopoShape::multiFuse(const std::vector& shapes, Stand } #else BRepAlgoAPI_Fuse mkFuse; +# if OCC_VERSION_HEX >= 0x060900 + mkFuse.SetRunParallel(true); +# endif TopTools_ListOfShape shapeArguments,shapeTools; shapeArguments.Append(this->_Shape); for (std::vector::const_iterator it = shapes.begin(); it != shapes.end(); ++it) { From 3d26fec75a3b06da72988eb4017d526c747b9617 Mon Sep 17 00:00:00 2001 From: triplus Date: Wed, 2 Nov 2016 15:52:42 +0100 Subject: [PATCH 2/2] Part generalFuse enable SetRunParallel Test case: http://forum.freecadweb.org/viewtopic.php?f=10&t=18179&p=143225#p143225 --- src/Mod/Part/App/TopoShape.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Mod/Part/App/TopoShape.cpp b/src/Mod/Part/App/TopoShape.cpp index a266bddb6..b67187db3 100644 --- a/src/Mod/Part/App/TopoShape.cpp +++ b/src/Mod/Part/App/TopoShape.cpp @@ -1413,6 +1413,7 @@ TopoDS_Shape TopoShape::generalFuse(const std::vector &sOthers, St throw Base::AttributeError("GFA is available only in OCC 6.9.0 and up."); #else BRepAlgoAPI_BuilderAlgo mkGFA; + mkGFA.SetRunParallel(true); TopTools_ListOfShape GFAArguments; GFAArguments.Append(this->_Shape); for (const TopoDS_Shape &it: sOthers) {