# Filleting meshes

> Use this feature to create fillets and chamfers on hard edges of meshes by identifying sharp edges and applying filleting operations.

API functions: [algo.identifySharpEdges](/asset-transformer-sdk/2026.4/api/python/algo_functions.md#identifysharpedges) and [algo.filletMesh](/asset-transformer-sdk/2026.4/api/python/algo_functions.md#filletmesh)

These functions allow to create *fillets* and *chamfers* on hard edges on meshes.

First, one must use the [algo.identifySharpEdges](/asset-transformer-sdk/2026.4/api/python/algo_functions.md#identifysharpedges) to mark the edges on the `occurrences` that are to be filleted. This function allows to mark as "sharp" the edges whose angles are between `minSharpAngle` and `maxSharpAngle`. They can be filtered by their [`convexity`](/asset-transformer-sdk/2026.4/api/python/algo_types.md#convexityfilter) and using `onlyExplicitSharp` one can choose to also use the normals of the mesh for the flagging.

![Convexity](/api/media?file=/asset-transformer-sdk/media/images/algo/filleting/convexity.png)

> **Note:**
>
> The viewer will **not** highlight the marked edges nor the ideal chamfers.

Once the edges are marked, the [algo.filletMesh](/asset-transformer-sdk/2026.4/api/python/algo_functions.md#filletmesh) can be used. The `value` of the filleting depends on the [`FilletingMode`](/asset-transformer-sdk/2026.4/api/python/algo_types.md#filletingmode).

![](/api/media?file=/asset-transformer-sdk/media/images/algo/filleting/filleting_modes.png)

As shown, all these parameters are linked to the angle of the edge. For instance for the same `width` a fillet on a sharp edge will have more `distance` than a fillet on a flatter edge.

Using the parameters `subdivisionNb` and `createFlatChamfer` allows to create more or less rounded fillets and to create chamfers without normal interpolation.

![FilletingMode](/api/media?file=/asset-transformer-sdk/media/images/algo/filleting/filleting_montage.png)
