segment_mesh_regions
Split a 3D mesh into paintable surface regions defined by crease angle and minimum area, then display them so users can click regions and paint or assign materials.
Instructions
Split a mesh into paintable surface regions and show them.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"input_path": "<input_path>"
},
"name": "segment_mesh_regions"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| crease_deg | No | Dihedral angle above which an edge bounds a region. Defaults to Kiln's shared crease angle. Lower finds more, smaller regions; higher merges them. | |
| input_path | Yes | STL, 3MF, OBJ or any mesh trimesh reads. | |
| max_regions | No | Coarsen until at most this many regions remain. Omit for the mesh's natural partition. | |
| partition_hash | No | Accepted and ignored, so the whole ``segmentation_params`` bundle can be splatted into either tool. This call always mints its own from what it derives. Default: "". | |
| include_face_map | No | Also return the full face→region mapping (``face_map``: one int per input triangle, packed little-endian int32 and base64-encoded, in the input file's own triangle order). For apps that draw the mesh themselves and let the user click a region on it. Off by default — the map says nothing a person can read, and at the face ceiling it adds ~1.6 MB to the response. Default: false. | |
| min_region_area_frac | No | Confetti floor, as a fraction of total area. Both tools take it so the ``segmentation_params`` this call reports can be handed straight back to either of them and reproduce this exact partition. |