From: agv Date: Thu, 4 Jul 2019 15:51:21 +0000 (+0300) Subject: 0030781: Sweep algorithm creates non-planar edges (orig. BOPAlgo_MakerVolume fails... X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=4f12d5095394e5a53c416b617531ed58fcf234c3;p=occt-copy.git 0030781: Sweep algorithm creates non-planar edges (orig. BOPAlgo_MakerVolume fails to build a solid) Increase the angular tolerance in BRepFill_AdvancedEvolved::GetLids(), this allows to complete the construction of solid. --- diff --git a/src/BRepFill/BRepFill_AdvancedEvolved.cxx b/src/BRepFill/BRepFill_AdvancedEvolved.cxx index d28adfe2f0..175fc4ccb1 100644 --- a/src/BRepFill/BRepFill_AdvancedEvolved.cxx +++ b/src/BRepFill/BRepFill_AdvancedEvolved.cxx @@ -41,28 +41,22 @@ #include #include #include -#include -#include -#include #include #include -#include -#include #include #include #include -#include #include #include #include #include -#include #include #include #include #ifdef BRepFill_AdvancedEvolved_DEBUG #include +#include #endif @@ -542,7 +536,7 @@ void BRepFill_AdvancedEvolved::GetLids() //Square of the default angular tolerance in //BOPAlgo_Tools::EdgesToWires(...) and BOPAlgo_Tools::WiresToFaces(...) methods - const Standard_Real aSqAnguarTol = 1.0e-16; + const Standard_Real aSqAnguarTol = 1.0e-11; const gp_Dir &aNormal = aSurf->Position().Direction(); // Obtain free-edges from myPipeShell. All edges must be planar @@ -610,8 +604,8 @@ void BRepFill_AdvancedEvolved::GetLids() aBB.MakeCompound(aCompW); aBB.MakeCompound(aCompF); aBB.MakeCompound(myTopBottom); - BOPAlgo_Tools::EdgesToWires(aFreeEdges, aCompW, Standard_True); - BOPAlgo_Tools::WiresToFaces(aCompW, aCompF); + BOPAlgo_Tools::EdgesToWires(aFreeEdges, aCompW, Standard_True, 3e-6); + BOPAlgo_Tools::WiresToFaces(aCompW, aCompF, 3e-6); { // Check orientation