Methods for creating surface meshes


Learn the different methods available for creating surface meshes. If you are looking for how to create a surface mesh, go here

Applies to:

  • Exporting, design analysis, topology optimization, manufacturing


Mesh from Implicit Body (V 2.0.0)

Mesh from Implicit Body (V 1.0.0)

Mesh from CAD Body

Extract Volume Mesh Boundary

Quadrangulate Mesh

Mesh from Implicit Body (V 2.0.0):

(Previously known as Mesh from Implicit Body by Voxels)

Mesh from Implicit Body version 2.0.0 uses a robust meshing algorithm that can handle more complex geometry and results in cleaner meshes than version 1.0.0. When the sharpen option is unchecked, the mesh is guaranteed to be manifold and have no self-intersecting elements. The block overload exposes more options, including increasing the number of iterations to produce a sharper result and a region to localize sharpening to a specific area.

    • Tolerance: Translates to the voxel size. The voxel size is given by half the input tolerance. 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. As long as 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 is different 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 any defects (i.e. closed, no self-intersections, and manifold).  However, in a rare occurrence, 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. In a similar spirit, the new version has a "simplify" option that produces a mesh with the least amount of triangles while still conforming to the input tolerance. Similar to 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 regions of the mesh. 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
  • High-Quality Meshing that produces clean manifold meshes without self-intersections
  • Very robust and useful for capturing detail in complex parts
  • Captures details on TPMS and lattices well
  • Can be exported without further refinement
  • Eliminates sharp edges to a tolerance. Fix this by lowering the tolerance and simplifying the mesh* This can be fixed when used with the Sharpen option


Mesh from Implicit Body (V 1.0.0):

Convert an implicit body to a surface mesh.

  Pros   Cons
  • Captures sharp features.
  • Can have self-intersections depending on the geometry.
  • Typically requires further refinement.


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, you should consider using a very small feature size for intricate implicit bodies, and then remesh 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:

Convert CAD Body to a surface mesh.

  Pros   Cons
  • Discretizes CAD geometry when implicit nTop geometry is not required.
  • If the imported CAD part has errors or holes, this may cause issues with the resulting mesh.
  • Typically requires further refinement.


Extract Volume Mesh Boundary:

Reduces a volume mesh to a surface mesh by extracting the outer triangles. 

  Pros   Cons
  • Guarantees no meshing issues such as holes or intersections.
  • Useful for complex parts. 
  • Cleans up input surface meshes that have errors
  • Dependent on the time it takes to generate a tetrahedral mesh.




Quadrangulate Mesh:

Converts a triangle mesh into a quad mesh by remeshing it.

  Pros   Cons
  • Results can be used to convert to a CAD part. 
  • Ideal for topology optimized parts
  • Only works on manifold meshes.
  • Meshes may need further refinement before being converted into a Quad mesh.
  • Not for use with lattices or TPMS structures. 



More on this topic:


 mesh surface volume implicit meshing boundary create from voxel grid quadrangulate quad methods extract voxels 
Was this article helpful?


  • I can't find "Extract Volume Mesh Boundary" when I search for it. Has this functionality been removed?

  • It is a deprecated block now. To see it

    File>Settings>General>Show deprecated blocks

    That should solve it

  • I'm working on an implicit body with lattices but when I want to make a mesh from the body, the meshing process is stuck at 100%. There is still the loading bar and circle but it never ends or gives a sign of finishing. How can this problem be fixed?


Please sign in to leave a comment.