Objective:
Learn the different methods available for creating surface meshes. If you want to create a surface mesh, go here.
Applies to:
- Exporting
- Design Analysis
- Simulation
- Topology Optimization
- Manufacturing
Procedure:
Mesh from Implicit Body
Mesh from Implicit by DC
Mesh from CAD Body
Surface Mesh from a Volume Mesh block
Quadrangulate Mesh
Mesh from Implicit Body:
(Previously known as Mesh from Implicit Body by Voxels)
Mesh from Implicit Body version 2.4.0 creates a Mesh from an Implicit Body. You can preserve sharp features by choosing the Sharpen option. Reduce the triangle count of the final result by choosing the Simplify option.
We have an overload for the block with more inputs, including Sharpening iterations and a region to localize sharpening. This version has a higher computational overhead than Mesh from Implicit by DC block but can handle more complex geometry and produces cleaner meshes.
-
- Tolerance: We recommend 1/3rd of the minimum feature size as the input. Translates to the voxel size. Half the input tolerance gives the voxel size. As a rule of thumb, the number of triangles in the unsimplified output mesh quadruples whenever the tolerance input is halved. Keep that in mind to avoid generating unreasonably large meshes. If you only use this input, the output mesh is guaranteed to be watertight, manifold, and without self-intersections.
- Min. feature size: This input is very different from the min feature size of v1 and should not be confused. If you provide a feature size, the block performs a filtering step to remove any features or holes which are smaller than the provided input. Use this input if the output mesh captures small details which are not manufacturable.
- Apart from the “Min. feature size” input, the block automatically removes any connected component with a surface area smaller than 0.1% of the surface area of the largest connected component. This step differs from the filtering step in that this cleans up artifacts produced by the meshing step, while the filtering step works directly on the (voxelized) implicit surface.
- Sharpening option: Enable this to reconstruct sharp features present in the implicit body. Typically, enabling the sharpening option improves the approximation quality of the mesh by a lot. Thus, in practice, it is often possible to decrease the tolerance input and enable sharpening to obtain a given target tolerance between the mesh and the implicit.
- In most cases, the output mesh should not have defects (i.e., closed, no self-intersections, and manifold). However, in rare occurrences, the resulting mesh may have self-intersections, be non-manifold, or have pockets (i.e., two triangles with an extremely small dihedral angle).
- Enabling this option will substantially increase the runtime of the block. Typically, it will take more than twice as long.
- Simplification option: The old version provides an "adaptivity" input that can be used to obtain a mesh with fewer elements in areas of low curvature. Similarly, the new version has a "simplify" option that produces a mesh with the least amount of triangles while still conforming to the input tolerance. Like the old version, the simplification process can introduce new mesh defects (self-intersections and overfolds). Enabling this option will substantially increase the runtime of the block.
- Overloads: The block has an overload that provides even more inputs. In particular, it provides a “Sharpening Extent” input. This can be used to localize the sharpening to certain mesh regions. It also provides a “Sharpening iterations” parameter which can be used to run the sharpening algorithm multiple times to potentially increase the quality of the sharp feature reconstruction.
Pros | Cons |
|
|
Mesh from Implicit by DC:
This block converts an Implicit Body to a Mesh using dual contouring. This version has lower computational overhead than Mesh from Implicit Body. However, the result may contain self-intersections and non-manifold edges or vertices. Use Mesh from Implicit Body when a clean mesh is required and/or for the option to sharpen specific regions.
Pros | Cons |
|
|
The feature size input of this block should be less than the minimum feature size you want to capture in your implicit body. It is the minimum feature size to preserve and not an exact mesh size. Since all future meshes will be based on this, consider using a very small feature size for intricate implicit bodies and re-mesh to a coarser mesh later.
Suggested Feature sizes:
-
- Lattices: ≤ 1.0 x thickness
- Curved thin wall: < 0.6 x thickness
- Flat thin walls: No constraint (use adaptivity > 0)
The adaptivity input takes in a number greater than 0, which controls if mesh elements will increase in size over flat areas. Low values will result in a more uniform and accurate mesh, while larger values will result in lower element counts.
-
- 0: Uniform mesh
- 1: Maximum decimation (fewer triangles)
Mesh from CAD Body:
The Mesh from CAD Body block takes in a CAD body and converts it into a surface mesh.
Pros | Cons |
|
|
- The tolerance is a scalar input that determines the maximum allowable distance from the mesh to the surface of the CAD body.
- The Max edge length input is the maximum allowable length of each edge in the mesh.
Surface mesh from a volume mesh block
Extract Volume Mesh Boundary (Deprecated)
You can drag and drop the surface mesh chip from the properties panel of any Volume mesh block. Reduces a volume mesh to a surface mesh by extracting the outer triangles. Robust Tetrahedral Mesh block is often used to fix the imported meshes with self-intersection.
Pros | Cons |
|
|
Quadrangulate Mesh:
The Quadrangulate Mesh block re-meshes a triangular or quad mesh and outputs a quad mesh.
Pros | Cons |
|
|
- When using this block to convert a tri mesh to a quad mesh, we recommend using the tri mesh’s face count as the value for the block’s Target count input. We recommend this value because it may be the fastest and return cleaner results.
- If the output mesh is self-intersecting, please try increasing the Target count value.