-
Notifications
You must be signed in to change notification settings - Fork 85
Geometry_Association
Mark W. Beall, Joe Walsh, and Mark S. Shephard. 2004. A comparison of techniques for geometry access related to mesh generation. Engineering with Computers 20, 3 (sep 2004), 210–221. DOI:http://dx.doi.org/10.1007/s00366-004-0289-z
Mark S. Shephard. 2000. Meshing environment for geometry-based analysis. Internat. J. Numer. Methods Engrg. 47, 1–3 (jan 2000), 169–190.
https://www.scorec.rpi.edu/REPORTS/2015-4.pdf
https://scorec.rpi.edu/pumi/PUMI.pdf
The meshb file format supports a bunch of optional keywords. The meshb writer in engineering sketchpad uses a few of them to store the geometric association info. The keywords and data it stores are:
- GmfEdges: for mesh edges that are on a CAD curve, stores (vert1, vert2, cad edge global id)
- GmfTrianges: for mesh triangles on a CAD surface, stores (vert1, vert2, vert2, cad surface global id)
- GmfVerticesOnGeometricVertices/GmFVerticesOnGeometricEdges/GmfVerticesOnGeometricTriangles: for mesh vertices on CAD vertices/curves/surfaces, stores (vert, cad vert/curve/surface global id)
From this info, we can deduce the geometric associations:
-
Remaining vertices and faces must be on the interior of a CAD body
- If there are multiple CAD bodies, we don’t know which one a given vert is on, so it is necessary to start from a vert on the surface (the CAD model can give the surface->body association) and work towards the interior of the body
- For faces, look at the vert geometric association and get the CAD body
-
Remaining edges are either on the interior of a body or on a surface.
- If the mesh edge is part of a mesh face that is on a CAD surface, the edge is on that surface too. Otherwise on interior of CAD body
One final consideration: in EGADS/OpenCascade, CAD entities do not have easily accessible global IDs, they have body-local indices. The CAD global ids for body k are computed as \sum (num entities on bodies 1 to k-1) + body local id on body k.