> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ntop.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mesh from Implicit by AT

<CardGroup cols={2}>
  <Card title="Implicit Body, Scalar Field, Bool, 5.42.0" href="#implicit-body-scalar-field-bool-5420" />

  <Card title="Implicit Body, Scalar Field, Bool, Bool, Feature surfaces, Scalar Field, Bool, Scalar, Bool, Scalar, 5.42.0" href="#implicit-body-scalar-field-bool-bool-feature-surfaces-scalar-field-bool-scalar-bool-scalar-5420" />
</CardGroup>

***

## About this Block

**What it does:** The **Mesh from Implicit by AT** block generates a mesh from an implicit body input using Adaptive Tessellation.

* Compared to the traditional **Mesh from Implicit Body** method, Adaptive Tessellation significantly reduces computational and memory overhead, especially when finer tolerances are required, and yields fewer self-intersections.
* The **Mesh from Implicit by AT** block achieves this by generating large mesh faces in flatter or less complex regions and maintaining small faces where higher fidelity is needed, resulting in a lower overall triangle count.

**Common uses:**

* Exporting surface meshes for external remesh and simulation

**Tips:**

* The block comes with built in simplification, you can have a lower tolerance compared to Mesh from Implicit Body block.
* Tolerance and Max. Edge Length take in Scalar field inputs, you can use a scalar field to spatially vary these parameters

Download Example: [Mesh from Implicit by AT](https://storage.googleapis.com/files-learn/static/ExtendedBlockDocs/mesh_from_implicit_by_at.ntop)

***

<h2 id="implicit-body-scalar-field-bool-5420">
  Implicit Body, Scalar Field, Bool, 5.42.0
</h2>

Converts an Implicit Body to a Mesh using Adaptive Tessellation. This method may significantly reduce computational and memory overhead compared to traditional methods, especially when finer tolerances are required. It achieves this by creating fewer triangles in flatter or less complex regions, resulting in a lower overall triangle count. However, this optimization can lead to a less regular and lower quality mesh in certain areas unless remeshing is enabled.

### Inputs

| Name      | Type                                                                 | Description                                                                                                                                                                                     |
| --------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Body      | [Implicit Body](../../../../block-documentation/types/implicit-body) | Implicit body to convert.                                                                                                                                                                       |
| Tolerance | [Scalar Field](../../../../block-documentation/types/scalar-field)   | The maximum allowable deviation of the tessellation from the implicit geometry. As this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute. |
| Remesh    | [Bool](../../../../block-documentation/types/bool)                   | Remesh the resulting adapted tessellation for better triangle quality. Note there is a risk of producing self-intersections.                                                                    |

### Outputs

| Type                                               |
| -------------------------------------------------- |
| [Mesh](../../../../block-documentation/types/mesh) |

***

<h2 id="implicit-body-scalar-field-bool-bool-feature-surfaces-scalar-field-bool-scalar-bool-scalar-5420">
  Implicit Body, Scalar Field, Bool, Bool, Feature surfaces, Scalar Field, Bool, Scalar, Bool, Scalar, 5.42.0
</h2>

Converts an Implicit Body to a Mesh using Adaptive Tessellation. This method may significantly reduce computational and memory overhead compared to traditional methods, especially when finer tolerances are required. It achieves this by creating fewer triangles in flatter or less complex regions, resulting in a lower overall triangle count. However, this optimization can lead to a less regular and lower quality mesh in certain areas unless remeshing is enabled.

### Inputs

| Name                | Type                                                                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------- | ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Body                | [Implicit Body](../../../../block-documentation/types/implicit-body)      | Implicit body to convert.                                                                                                                                                                                                                                                                                                                                                                                                          |
| Tolerance           | [Scalar Field](../../../../block-documentation/types/scalar-field)        | The maximum allowable deviation of the tessellation from the implicit geometry. As this value gets smaller, the resulting mesh will be more precise, but the block will take longer to compute.                                                                                                                                                                                                                                    |
| Remesh              | [Bool](../../../../block-documentation/types/bool)                        | Remesh the resulting adapted tessellation for better triangle quality. Note there is a risk of producing self-intersections.                                                                                                                                                                                                                                                                                                       |
| Low face count      | [Bool](../../../../block-documentation/types/bool)                        | This option reduces tessellation time and produces a lower triangle count along thin walls, small gaps, and high curvature ridges at the same tolerance, but may adversely affect tessellation quality.                                                                                                                                                                                                                            |
| Feature surfaces    | [Implicit Body List](../../../../block-documentation/types/implicit-body) | Force the mesh to have feature edges.                                                                                                                                                                                                                                                                                                                                                                                              |
| Max. edge length    | [Scalar Field](../../../../block-documentation/types/scalar-field)        | Specifies the largest edge size at each point on the tessellation.                                                                                                                                                                                                                                                                                                                                                                 |
| Remesh surf. proj.  | [Bool](../../../../block-documentation/types/bool)                        | If remeshing is enabled, project vertices to implicit surface. Note: this risks self-intersections if the tolerance is too low.                                                                                                                                                                                                                                                                                                    |
| Remesh sag refine   | [Scalar](../../../../block-documentation/types/scalar)                    | If remeshing is enabled, refines mesh density in high curvature regions and projects vertices to implicit surface to ensure edges are not sagging above or below the implicit surface within a given fraction of input tessellation tolerance. Note: setting this fraction too low where the tessellation tolerance is a poor representation of the implicit geometry risks creating self-intersections and poor quality elements. |
| Remesh anisotropic  | [Bool](../../../../block-documentation/types/bool)                        | If remeshing is enabled and Remesh Sag Refine is set less than 1.0, sag refinement produces an anisotropic mesh with triangles elongated along curvature. This reduces triangle count where there is high curvature along ridges while staying within sag tolerance.                                                                                                                                                               |
| Component min. size | [Scalar](../../../../block-documentation/types/scalar)                    | If the output contains more than one disconnected components, setting this input will delete any disconnected component whose bounding box diagonal is smaller than the provided value.                                                                                                                                                                                                                                            |

### Outputs

| Type                                               |
| -------------------------------------------------- |
| [Mesh](../../../../block-documentation/types/mesh) |
