separate_overlapping_parts
Separates parts that share material so they print as a kit, cutting overlapping meshes and opening an interactive 3D stage to inspect the result.
Instructions
Separate parts that share material, so they print as a kit. Opens Kiln's interactive inline 3D stage on the result (orbit/zoom panel in MCP Apps hosts; hosted sessions add a browser stage link).
Needs Kiln Pro.
INLINE 3D STAGE: on success this tool opens Kiln's interactive 3D stage — an inline viewer panel the user can orbit, zoom, and turn over — in hosts that render MCP Apps panels (Kiln's hosted connection attaches a browser stage link for hosts that don't). Oversized meshes are decimated automatically for the stage; the PNG preview is the floor, not the whole experience.
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": {
"part_paths": "<part_paths>"
},
"name": "separate_overlapping_parts"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| design_id | No | Optional design to track this under — every cut part is registered as a version on a "separated" branch. Default: "". | |
| nozzle_mm | No | Sets the sliver and thin-wall floors. Leave unset for the only printer Kiln knows of, else 0.4; ``nozzle`` in the reply says which. | |
| trim_side | No | Per-pair override, ``{"arm|torso": "torso"}`` names the part to cut (a JSON string is accepted). | |
| output_dir | No | Where the complete kit lands — every part, cut or not (default: a fresh temp directory). Default: "". | |
| part_names | No | Display names aligned with ``part_paths`` (default: file stems); ``trim_side`` and the recipes use these. | |
| part_paths | Yes | One sealed mesh per part, positioned as assembled. | |
| include_fusions | No | Also separate a small part fused into a large one (a multi-colour inlay); off, those keep their merge suggestion. Default: false. | |
| max_loss_fraction | No | Cumulative cap on what one part may lose across its neighbours (default 0.5). Default: 0.5. |