Implicit Body, Scalar, Scalar, Bool, Bool, 2.0.0
Implicit Body, Scalar, Scalar, Bool, Bool, 2.1.0
Implicit Body, Scalar, Scalar, Bool, Bool, 2.2.0
Implicit Body, Scalar, Scalar, Bool, Bool, 2.3.0
Implicit Body, Scalar, Scalar, Bool, Bool, 2.4.0
Implicit Body, Scalar, Scalar, Bool, Bool, 2.5.0
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.0.0
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.1.0
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.2.0
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.3.0
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.4.0
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.5.0
Implicit Body, Scalar, Scalar, Bool, Bool, 2.0.0
Creates a Mesh from an Implicit Body. Preserve sharp features by choosing the Sharpen option. Reduce the triangle count of the final result by choosing the Simplify option. Switch to the block overload for more inputs including Sharpening iterations and a region to localize sharpening. This version has a higher computational overhead than Mesh from Implicit by DC, but can handle more complex geometry and produces cleaner meshes.Inputs
| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen | Bool | Option to preserve sharp edges and vertices. if you choose this option, the block will take longer to compute. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
Outputs
| Type |
|---|
| Mesh |
About this Block V2.00
What it does: Turns an implicit body into a triangular mesh. Common uses:- Preparation for analysis
- Exporting
- 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 and manifold. In most cases the output mesh will also be free of 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 meshing artifacts (where an artifact is a connected component which is smaller than 0.1% percent 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). The Simplification option forcibly decimates and combines ~ 90% of the elements which can result in loss of geometry fidelity. Simplifying Mesh By Threshold will allow you to tune the decimation percentage. Enabling this option will substantially increase the runtime of the block.

- Overloads: The block has an overload which 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.
- Note that while we expect that most users will be happy with the new Mesh from Implicit Body block, you can use the old block by opening the version drop down in the information panel. Select version 1.0.0 to obtain the old block.
- When using the Sharpen feature option, we often don’t need every single edge in our model to remain sharp. Generally, we are concerned with specific regions such as where we apply boundary conditions for analysis, have GD&T requirements for machining, assembly, and various other applications. Therefore it is recommended to use the Overload to expose the Sharpen Extents option and the Sharpen Iterations. This option helps decrease the time spent meshing and reduces the overall element count.
- When generating the implicit body that encloses the region in which we want to keep edges sharp, we suggest that the implicit body be as localized as possible (i.e., enclose just the region you intend to keep sharp, rather than having an oversize implicit).
- When using either the Sharpen or Sharpen Extents options, the mesh near the edges defined to remain sharp can sometimes have very thin triangles. Image #1 below shows a 0.5mm thick walled TPMS with a thin green body used to enclose the edges, which remain sharp. Image #2 below (left) shows the overall mesh of the part, and (right) shows a zoomed-in section at one of the edges. Encircled in red are very thin triangular elements. These small elements can cause a few issues downstream.

Image #1: Body to mesh (grey) and implicit used (green) to enclose the edges where we want to preserve sharpness.

Image #2: Mesh from Implicit Body (with extents). Left: Full mesh. Right: Zoomed in on an edge, encircling thin elements.
- If you are satisfied with this mesh and want to export it (and are unaware of thin elements): As this edge is not adequately defined, you might have issues with applying the boundary conditions when preparing for an analysis, final machining if the face/edge was critical to GD&T, or tolerance/alignment issues when assembling the part.
- Issues in the Remesh Surface block: When doing a final analysis or generating a mesh/slice stack for manufacturing, it’s common to always use the Remesh Surface block after Mesh from Implicit Body. (For rapid iterations, using real-time simulation, the Mesh from Implicit Body is generally sufficient and not worth waiting for Remesh Surface to complete). Image #3 below (right) shows the mesh after the Remesh Surface block. The thin elements from the Mesh from Implicit Body (i.e., a now assumed feature) are trying to resolve, and in doing so, many small elements are getting generated. If we zoom out on Image #3 (left), we can see that this has occurred in several locations, resulting in a larger mesh and file size. There are a few ways we can work on addressing this, none work 100%, but it will help quite a bit nonetheless.

Image #3: Result of Remesh Surface, without addressing thin mesh. Excess elements generated.
- Collapse Mesh Vertices: The Collapse Mesh Vertices block helps eliminate some of the thin elements generated in the Mesh from Implicit Body block. Watching the GIF in Image #4 below, you can see that the slivers resolve in some instances. You have to manually adjust the Distance threshold input to find a value that works best (too small, and you won’t capture the elements, too large, and you will unintentionally deform your part).
- Sharpen iterations: We suggest using the Overload on the Mesh from Implicit Bod y to expose the number of iterations for sharpening. Increasing the number will take longer for the mesh to generate but will also do a better job of not creating as many thin elements, although they still exist. Without extensive testing, we recommend a suggested iteration value of 3. It is significantly better than 1 and marginally worse than 10 when comparing the total element count in this simple example:
- Sharpen Iteration 1: 721K
- Sharpen Iteration 3: 628K
- Sharpen Iteration 10: 612K
- Sharpen iterations: We suggest using the Overload on the Mesh from Implicit Bod y to expose the number of iterations for sharpening. Increasing the number will take longer for the mesh to generate but will also do a better job of not creating as many thin elements, although they still exist. Without extensive testing, we recommend a suggested iteration value of 3. It is significantly better than 1 and marginally worse than 10 when comparing the total element count in this simple example:
Image #4: The above GIF shows how the Collapse Mesh Vertices block can help address some of the thin elements.
- If it is required to have all edges preserved, it is strongly recommended that you use the Overload with an implicit body that captures the entire part to expose the Sharpen Iterations.
- While neither method fully satisfies or completely resolves edge preservation, utilizing both should significantly help address the issues described above. You should note that the Collapse Mesh Vertices may result in self-intersecting triangles on significantly more complicated parts, causing a need for additional refinement.
Implicit Body, Scalar, Scalar, Bool, Bool, 2.1.0
Creates a Mesh from an Implicit Body. Preserve sharp features by choosing the Sharpen option. Reduce the triangle count of the final result by choosing the Simplify option. Switch to the block overload for more inputs including Sharpening iterations and a region to localize sharpening. This version has a higher computational overhead than Mesh from Implicit by DC, but can handle more complex geometry and produces cleaner meshes. Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen | Bool | Option to preserve sharp edges and vertices. if you choose this option, the block will take longer to compute. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Bool, Bool, 2.2.0
Creates a Mesh from an Implicit Body. Preserve sharp features by choosing the Sharpen option. Reduce the triangle count of the final result by choosing the Simplify option. Switch to the block overload for more inputs including Sharpening iterations and a region to localize sharpening. This version has a higher computational overhead than Mesh from Implicit by DC, but can handle more complex geometry and produces cleaner meshes. Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen | Bool | Option to preserve sharp edges and vertices. if you choose this option, the block will take longer to compute. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Bool, Bool, 2.3.0
Creates a Mesh from an Implicit Body. Preserve sharp features by choosing the Sharpen option. Reduce the triangle count of the final result by choosing the Simplify option. Switch to the block overload for more inputs including Sharpening iterations and a region to localize sharpening. This version has a higher computational overhead than Mesh from Implicit by DC, but can handle more complex geometry and produces cleaner meshes. Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen | Bool | Option to preserve sharp edges and vertices. if you choose this option, the block will take longer to compute. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Bool, Bool, 2.4.0
Creates a Mesh from an Implicit Body. Preserve sharp features by choosing the Sharpen option. Reduce the triangle count of the final result by choosing the Simplify option. Switch to the block overload for more inputs including Sharpening iterations and a region to localize sharpening. This version has a higher computational overhead than Mesh from Implicit by DC, but can handle more complex geometry and produces cleaner meshes. Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen | Bool | Option to preserve sharp edges and vertices. if you choose this option, the block will take longer to compute. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Bool, Bool, 2.5.0
Creates a Mesh from an Implicit Body. Preserve sharp features by choosing the Sharpen option. Reduce the triangle count of the final result by choosing the Simplify option. Switch to the block overload for more inputs including Sharpening iterations and a region to localize sharpening. This version has a higher computational overhead than Mesh from Implicit by DC, but can handle more complex geometry and produces cleaner meshes. Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen | Bool | Option to preserve sharp edges and vertices. if you choose this option, the block will take longer to compute. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.0.0
Creates a Mesh from an Implicit Body. Increase the number of iterations to produce a sharper result. Limit sharpening to selected regions by using Sharpen Extents. Reduce the triangle count of the final result by checking the Simplify input Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen iterations | Integer | Number of sharpening iterations. a higher number will produce a sharper result, but will increase the runtime. we recommend values from 1 to 10. |
| Sharpen extents | Implicit Body | Optional implicit body defining the extent of sharpening. use this input to limit sharpening to a particular region of the mesh. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.1.0
Creates a Mesh from an Implicit Body. Increase the number of iterations to produce a sharper result. Limit sharpening to selected regions by using Sharpen Extents. Reduce the triangle count of the final result by checking the Simplify input Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen iterations | Integer | Number of sharpening iterations. a higher number will produce a sharper result, but will increase the runtime. we recommend values from 1 to 10. |
| Sharpen extents | Implicit Body | Optional implicit body defining the extent of sharpening. use this input to limit sharpening to a particular region of the mesh. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.2.0
Creates a Mesh from an Implicit Body. Increase the number of iterations to produce a sharper result. Limit sharpening to selected regions by using Sharpen Extents. Reduce the triangle count of the final result by checking the Simplify input Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen iterations | Integer | Number of sharpening iterations. a higher number will produce a sharper result, but will increase the runtime. we recommend values from 1 to 10. |
| Sharpen extents | Implicit Body | Optional implicit body defining the extent of sharpening. use this input to limit sharpening to a particular region of the mesh. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.3.0
Creates a Mesh from an Implicit Body. Increase the number of iterations to produce a sharper result. Limit sharpening to selected regions by using Sharpen Extents. Reduce the triangle count of the final result by checking the Simplify input Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen iterations | Integer | Number of sharpening iterations. a higher number will produce a sharper result, but will increase the runtime. we recommend values from 1 to 10. |
| Sharpen extents | Implicit Body | Optional implicit body defining the extent of sharpening. use this input to limit sharpening to a particular region of the mesh. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.4.0
Creates a Mesh from an Implicit Body. Increase the number of iterations to produce a sharper result. Limit sharpening to selected regions by using Sharpen Extents. Reduce the triangle count of the final result by checking the Simplify input Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen iterations | Integer | Number of sharpening iterations. a higher number will produce a sharper result, but will increase the runtime. we recommend values from 1 to 10. |
| Sharpen extents | Implicit Body | Optional implicit body defining the extent of sharpening. use this input to limit sharpening to a particular region of the mesh. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |
Implicit Body, Scalar, Scalar, Integer, Implicit Body, Bool, 2.5.0
Creates a Mesh from an Implicit Body. Increase the number of iterations to produce a sharper result. Limit sharpening to selected regions by using Sharpen Extents. Reduce the triangle count of the final result by checking the Simplify input Inputs| Name | Type | Description |
|---|---|---|
| Body | Implicit Body | Implicit body to convert. |
| Tolerance | Scalar | The maximum allowable deviation of the mesh from the implicit geometry. as this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Min. feature size | Scalar | Option to specify the approximate size of the smallest feature(s) of the implicit body that should be preserved during the conversion. when provided, features that are smaller than this input will be filtered out and not included in the final result. |
| Sharpen iterations | Integer | Number of sharpening iterations. a higher number will produce a sharper result, but will increase the runtime. we recommend values from 1 to 10. |
| Sharpen extents | Implicit Body | Optional implicit body defining the extent of sharpening. use this input to limit sharpening to a particular region of the mesh. |
| Simplify | Bool | Option to reduce the triangle count as much as possible without violating the given tolerance criteria. |
| Type |
|---|
| Mesh |

