splice_mesh_at_z
Combine top geometry from one STL with bottom geometry from another at a specified Z plane, clipping boundary triangles to create clean design iterations.
Instructions
Splice two meshes at a z-plane: top from one STL, bottom from another.
Takes geometry ABOVE *z_plane* from *top_path* and geometry BELOW
*z_plane* from *bottom_path*. Triangles crossing the boundary are
clipped cleanly. No boolean ops -- works on non-manifold meshes.
**Use case:** Combine a body with the correct top (e.g. logo from
v5.3) with a body that has the correct bottom (e.g. larger pocket
from v5.4) to create the next design iteration.
:param top_path: STL providing geometry above z_plane.
:param bottom_path: STL providing geometry below z_plane.
:param z_plane: Z height (mm) where the splice happens.
:param output_path: Output STL path. Auto-generated if empty.
:returns: Dict with splice stats and output path.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": {
"top_path": "<top_path>",
"bottom_path": "<bottom_path>",
"z_plane": "<z_plane>"
},
"name": "splice_mesh_at_z"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| z_plane | Yes | Z height (mm) where the splice happens. | |
| top_path | Yes | STL providing geometry above z_plane. | |
| bottom_path | Yes | STL providing geometry below z_plane. | |
| output_path | No | Output STL path. Auto-generated if empty. Default: "". |