Automatic unstructured all-hexahedral mesh generation from B-Reps for non-manifold CAD assemblies
This paper describes an automatic and robust approach to convert non-manifold CAD assemblies into unstructured all-hexahedral meshes conformal to the given B-Reps (boundary-representations) and with sharp feature preservation. In previous works, we developed an octree-based isocontouring method to construct unstructured hexahedral meshes for arbitrary non-manifold and manifold domains. However, sharp feature preservation still remains a challenge, especially for non-manifold CAD assemblies. In this paper, boundary features such as NURBS (non-uniform rational B-Splines) curves and surface patches are first extracted from the given B-Reps. Features shared by multiple components are identified and distinguished. To preserve these non-manifold features, one given surface patch may need to be split into several small ones. An octree-based algorithm is then carried out to create an unstructured all-hexahedral base mesh, detecting and preserving all the sharp features via a curve and surface parametrization. Two sets of local refinement templates are provided for adaptive mesh generation, along with a novel 2-refinement implementation. Vertices in the base mesh are categorized into four groups based on the given non-manifold topology, and each group is relocated using various methods with all sharp features preserved. After this stage, a novel two-step pillowing technique is developed for such complicated non-manifold domains to eliminate triangle-shaped quadrilateral elements along the curves and doublets, handling non-manifold and manifold features in different ways. Finally, a combination of smoothing and optimization is used to further improve the mesh quality. Our algorithm is automatic and robust for non-manifold and manifold domains. We have applied our algorithm to several complicated CAD assemblies.
all-hexahedral mesh cad assembly sharp feature preservation local refinement two-step pillowing quality improvement