automatic mesh-healing technique for model repair and finite element model generation based on paper...

Download Automatic mesh-healing technique for model repair and finite element model generation BASED ON PAPER BY C.S. CHONG, A. SENTHIL KUMAR, H.P. LEE PRESENTED

If you can't read please download the document

Upload: amanda-harvey

Post on 17-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

  • Slide 1
  • Automatic mesh-healing technique for model repair and finite element model generation BASED ON PAPER BY C.S. CHONG, A. SENTHIL KUMAR, H.P. LEE PRESENTED BY NURIT MOSCOVICI 1
  • Slide 2
  • Good Polygonal Models What is a good model? Equilateral triangles Valence close to 6 Equal edge lengths Feature preservation Used for? 3D printing Finite Element Analysis 2 Link: DGP lecture 9
  • Slide 3
  • Problems in Polygonal Models 3 Gaps Overlaps T-Joints Holes Slivers
  • Slide 4
  • This Paper Black-box algorithm: automatic* model repair and mesh generation Work on a triangle-meshed version of the model Original geometric model is not repaired Fix mesh so it is watertight Reconstruct mesh to get good quality 4
  • Slide 5
  • This Paper 5
  • Slide 6
  • Previous Work Directly healing geometry Edge merging [Steinbrenner et al.2001] Stitching using geometric hashing [Barequet 1997] Spatial partitioning [Murali et al. 1997] User-controlled tools [Petersen et al. 2001] [Morvan et al. 1996] Focus on specific elements Zipping small gaps [Sheng and Meier 1995] Healing slivers [Chew 1997] Healing slivers using Delaunay [Edelsbrunner 2000] 6
  • Slide 7
  • Important terms 7 Triangle Mesh Elements Nodes Edges Free Edge/ Boundary Edge Free Node Element Inner Node Inner Edge
  • Slide 8
  • General description of algorithm Initial imperfect model Create initial triangular mesh Search for free edges Identify and heal small gaps and overlaps Identify and heal t-joints Identify and heal large gaps/holes Surface reconstruction Mesh healing Healed mesh model 8
  • Slide 9
  • Creating the Initial Mesh 9 Initial imperfect model Create initial triangular mesh Search for free edges Identify and heal small gaps and overlaps Identify and heal t-joints Identify and heal large gaps/holes Surface reconstruction Mesh healing Healed mesh model
  • Slide 10
  • Creating the Initial Mesh Create mesh by triangulating given model Paving algorithm Create mesh nodes along model boundaries Element edge length defined by user Create triangular elements that conform to mesh nodes 10 http://mathworld.wolfram.com/Triangulation.html http://www.cs.cmu.edu/~quake/triangle.delaunay.html
  • Slide 11
  • Search for Free Edges 11 Initial imperfect model Create initial triangular mesh Search for free edges Identify and heal small gaps and overlaps Identify and heal t-joints Identify and heal large gaps/holes Surface reconstruction Mesh healing Healed mesh model
  • Slide 12
  • Healing Small Gaps and Overlaps 12 Initial imperfect model Create initial triangular mesh Search for free edges Identify and heal small gaps and overlaps Identify and heal t-joints Identify and heal large gaps/holes Surface reconstruction Mesh healing Healed mesh model
  • Slide 13
  • Small Gaps and Overlaps In this paper gaps are defined as an accidental space between two surfaces that should be connected Usually occur because of numerical and translational errors 13 Gaps Overlaps
  • Slide 14
  • Small Gaps and Overlaps Detection General idea: check proximity between two candidate surface edges Traditionally detected by checking proximity between two element edges Can be difficult if edges are different sizes In this article: check proximity between nodes 14
  • Slide 15
  • Nodal Merging Algorithm Node Pair: a pair of free nodes within a user specified tolerance distance 15 Node-pair exists in model? Continue to T-Joint healing Determine location of merged node Collapse both nodes to determined location yes no
  • Slide 16
  • Determine New Node Location Calculate line intersection between tangential planes at the two nodes. Distance between nodes and line larger than tolerance distance: Location is at midpoint Else: Project both points onto this line Location is at midpoint on line 16
  • Slide 17
  • Healing T-Joints 17 Initial imperfect model Create initial triangular mesh Search for free edges Identify and heal small gaps and overlaps Identify and heal t-joints Identify and heal t-joints Identify and heal large gaps/holes Surface reconstruction Mesh healing Healed mesh model
  • Slide 18
  • An area in the mesh where the node of one or more elements intersects the edge of another. Modeling error or large truncation error during translation In this article: also an area where a free node is within a small distance from a free edge T-Joints 18 T-Joints
  • Slide 19
  • T-Joint detection Still checking proximity between two candidate surface edges Find free edge with a free node within tolerance distance. Edge-node pair 19
  • Slide 20
  • T-Joint Stitching Algorithm Node-pair exists in model? Return to nodal merging algorithm Edge-pair exists in model? No Yes T-Joint found: Nodal Insertion and element splitting Yes No 20 Go to hole-healing algorithm
  • Slide 21
  • Stitching Project free node onto free edge in edge-node pair Create new node at this location Split element belonging to free edge at new node location Merge free node with new node 21
  • Slide 22
  • Stitching example 22
  • Slide 23
  • Healing Holes 23 Initial imperfect model Create initial triangular mesh Search for free edges Identify and heal small gaps and overlaps Identify and heal t-joints Identify and heal large gaps/holes Surface reconstruction Mesh healing Healed mesh model
  • Slide 24
  • Types of Holes Simple hole: a single loop of free edges Can be any shape Ring hole: a hole consisting of at least two peripheral loops Holes with islands 24
  • Slide 25
  • Hole Filling Algorithm For every closed loop of free edges (simple hole), fill hole with triangle elements: Calculate the minimum angle between two adjacent free edges in loop 3 options: 25
  • Slide 26
  • Option 1: Form triangle using these two free elements. 26
  • Slide 27
  • Option 2: Create two equilateral triangles using free edges Calculate normal of new triangles to decide on plane 27
  • Slide 28
  • Option 2: Find average location between two new nodes Merge to a single node at this location. Check if any node is within tolerance distance of the new node and merge if found. 28
  • Slide 29
  • Option 3: Create two equilateral triangles using free edges. Calculate normal of new triangles to decide on plane No nodal merging 29
  • Slide 30
  • Ring holes Interactively identify ring holes Connect islands to the main loop with a bridge line Bridge line converted to triangle elements during meshing Leaving us with only simple holes If this isnt done the islands will eventually be discarded Consistent model, worse fidelity. 30
  • Slide 31
  • A word about values Why 75 and 135? Good meshes are as close as possible to equilateral triangles (60 degrees) The author decided 75 degrees is tolerable Why? They dont say If angle is between 75 and 135 degrees you can split into triangles with an angle between 37.5 and 75 If angle is too small it will be handled in next stage 31
  • Slide 32
  • Reconstructing Surface Elements 32 Initial imperfect model Create initial triangular mesh Search for free edges Identify and heal small gaps and overlaps Identify and heal t-joints Identify and heal large gaps/holes Surface reconstruction Mesh healing Healed mesh model
  • Slide 33
  • Slivers Often generated during t-joint and hole healing Long and slender Ratio of surface area/perimeter is small Bad for numerical solution. 33 Slivers
  • Slide 34
  • Reconstruction options 34 Nodal Merging Edge Flipping
  • Slide 35
  • Feature Edges Feature Edge : edge that is likely part of shape definition and should be kept. Identified by Smoothness Angle : angle along the edge of a skewed triangle 35 Link: DGP lecture 9 Smoothness Angle Automatic mesh repair thesis Agnes Larsson
  • Slide 36
  • Shape Factor Value indicating skewedness of a triangle Way to determine if triangle should be fixed Based on equilateral factor 36 Equilateral factor: Shape factor: Where are the angles of a given triangle
  • Slide 37
  • Reconstruction algorithm User input: shortest edge length Element with edge shorter than the tolerance will be fixed User input: tolerance factor Element with shape factor lower than the tolerance will be fixed In the paper, 0.7 Smoothness angle: default 135 o If angle < 135 o consider as feature edge If angle > 135 o consider as planar 37
  • Slide 38
  • Reconstruction algorithm When to invoke nodal merging: Low shape factor and edge shorter than edge length 38 One of the edges is a feature edge No feature edge
  • Slide 39
  • Reconstruction algorithm When to invoke edge flipping: Low shape factor and no short edges Take smoothness angle into account 39 Edge A is not a feature edge Edge A is a feature edge
  • Slide 40
  • Results Handles many different input formats Divergence from original model bounded by mesh element size 40
  • Slide 41
  • Results 41
  • Slide 42
  • Future Work Find non-heuristic tolerance values Should be connected to size of edges Do more during remeshing to ensure optimal mesh Find a way to deal with open loops, missing surfaces, complex holes, etc. Not mentioned: large overlaps, intersections, bad normals 42
  • Slide 43
  • Later Work Repairing and meshing imperfect shapes with Delaunay refinement [Busaryev, Dey, Levine 2009] Handles small errors Output: good quality Delaunay mesh Weighted Delaunay triangulation Merge gaps using original boundary data, instead of merging nodes from new mesh Sealing Faceted Surfaces to Achieve Watertight CAD Models[Smith, Tautges, Wilson 2010] Use original CAD face data to fill holes more accurately Can heal non-manifold models 43
  • Slide 44
  • Later Work: Surveys Polygon Mesh Repairing: An Application PerspectivePolygon Mesh Repairing: An Application Perspective [Attene et al., 2013] Surface based reconstructions are suitable when there are few errors, and are generally not very robust. Volumetric solutions are more robust. No common strategy for handling self intersections. Existing solutions are tailored to specific problems. No automatic way of dealing with ring holes. Fixing Geometric Errors on Polygonal Models: A Survey Fixing Geometric Errors on Polygonal Models: A Survey [Ju, 2009] Surface based reconstructions better for preserving small details of the model Less robust, and can be very time consuming when large holes/gaps must be filled. 44
  • Slide 45
  • Questions? 45