From a90ee2e437d2ca04ba90510e41ca8b7e67d2d7dd Mon Sep 17 00:00:00 2001 From: Christoph Wintersteiger Date: Fri, 20 Oct 2017 16:39:37 +0200 Subject: [PATCH 1/3] set occparams and generate triangulation with BRepMesh --- libsrc/occ/occgenmesh.cpp | 11 ++++++++++- libsrc/occ/python_occ.cpp | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/libsrc/occ/occgenmesh.cpp b/libsrc/occ/occgenmesh.cpp index 7a26bf1b..c442438d 100644 --- a/libsrc/occ/occgenmesh.cpp +++ b/libsrc/occ/occgenmesh.cpp @@ -1137,7 +1137,12 @@ namespace netgen Handle(Geom_Surface) surf = BRep_Tool::Surface (face); Handle(Poly_Triangulation) triangulation = BRep_Tool::Triangulation (face, loc); - if (triangulation.IsNull()) continue; + if (triangulation.IsNull()) + { + BRepTools::Clean (geom.shape); + BRepMesh_IncrementalMesh (geom.shape, 0.01, true); + triangulation = BRep_Tool::Triangulation (face, loc); + } BRepAdaptor_Surface sf(face, Standard_True); BRepLProp_SLProps prop(sf, 2, 1e-5); @@ -1286,6 +1291,10 @@ namespace netgen int OCCGenerateMesh (OCCGeometry & geom, shared_ptr & mesh, MeshingParameters & mparam) { + cout << "MeshingParameters: " << mparam << endl; + cout << "OCCParameters: " << endl; + occparam.Print(cout); + multithread.percent = 0; if (mparam.perfstepsstart <= MESHCONST_ANALYSE) diff --git a/libsrc/occ/python_occ.cpp b/libsrc/occ/python_occ.cpp index 186970b7..7c14dde8 100644 --- a/libsrc/occ/python_occ.cpp +++ b/libsrc/occ/python_occ.cpp @@ -33,6 +33,12 @@ DLL_HEADER void ExportNgOCC(py::module &m) SetGlobalMesh(mesh); mesh->SetGeometry(geo); ng_geometry = geo; + + occparam.resthcloseedgefac = 2.0; + occparam.resthcloseedgeenable = 1; + occparam.resthminedgelen = 0.2; + occparam.resthminedgelenenable = 1; + try { geo->GenerateMesh(mesh,param); From ef4405c3d7eadd8f784e4ff156240e51cbcebc69 Mon Sep 17 00:00:00 2001 From: Christoph Wintersteiger Date: Wed, 25 Oct 2017 15:47:27 +0200 Subject: [PATCH 2/3] remove output --- libsrc/occ/occgenmesh.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libsrc/occ/occgenmesh.cpp b/libsrc/occ/occgenmesh.cpp index c442438d..7eac4cc3 100644 --- a/libsrc/occ/occgenmesh.cpp +++ b/libsrc/occ/occgenmesh.cpp @@ -1291,10 +1291,6 @@ namespace netgen int OCCGenerateMesh (OCCGeometry & geom, shared_ptr & mesh, MeshingParameters & mparam) { - cout << "MeshingParameters: " << mparam << endl; - cout << "OCCParameters: " << endl; - occparam.Print(cout); - multithread.percent = 0; if (mparam.perfstepsstart <= MESHCONST_ANALYSE) From df01ffcb5a7754b9db65c50f0c96e6aeb1cb134a Mon Sep 17 00:00:00 2001 From: Christoph Wintersteiger Date: Fri, 27 Oct 2017 11:40:44 +0200 Subject: [PATCH 3/3] setting occparms not necessary --- libsrc/occ/python_occ.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/libsrc/occ/python_occ.cpp b/libsrc/occ/python_occ.cpp index 7c14dde8..dbd1eda6 100644 --- a/libsrc/occ/python_occ.cpp +++ b/libsrc/occ/python_occ.cpp @@ -34,11 +34,6 @@ DLL_HEADER void ExportNgOCC(py::module &m) mesh->SetGeometry(geo); ng_geometry = geo; - occparam.resthcloseedgefac = 2.0; - occparam.resthcloseedgeenable = 1; - occparam.resthminedgelen = 0.2; - occparam.resthminedgelenenable = 1; - try { geo->GenerateMesh(mesh,param);