add_mesh_fillet
Rounds selected sharp edges on a STEP or Kiln-converted CAD part at the chosen radius, rebuilding a closed solid and returning both mesh and STEP outputs for further edits.
Instructions
Round a part's edges, exactly, on its CAD file.
Pass the part's STEP file (or a mesh Kiln converted from one that
still sits beside it). The CAD kernel rebuilds each face, so the
result is a closed solid of the size geometry gives; it comes back
as a mesh (``path``) and as CAD beside it (``step_path``), so the
next edit starts from CAD again.
Literal: it rounds the edges you select at the radius you give.
Two things can change that, and the reply says so each time:
* an edge on a narrow face gets a smaller radius (the face keeps
one nozzle width of flat), or stays sharp when what is left
would not show in a print;
* a hole's rim stays sharp unless you select it.
``edges.left_sharp`` lists every selected edge left sharp, with
its reason. ``edges.cautions`` says what will print badly as
asked: a finish on the bed or facing down whose surface overhangs
past what the printer bridges, and by how much.
A mesh with no CAD file behind it is refused: rounding on a mesh
left an open surface and a bigger part on every part measured. A
part made from an OpenSCAD script is rounded in its script; the
refusal names it.
AGENT DISPLAY CONTRACT: a result carries a before|after self-check
of the part. Look at it and write what changed before calling
the job done.
:param file_path: The part: a STEP file, or a mesh converted from one.
:param radius_mm: Fillet radius in mm (default 1.0).
:param angle_threshold_deg: An edge is sharp when the surface
turns at least this much across it (default 60).
:param output_path: Output ``.stl`` path (defaults to
``<name>_filleted.stl``); the CAD is written beside it.
:param edges: Which edges. Empty or ``all``: every sharp edge.
Words narrow it -- where the edge sits as the part prints
(``vertical``, ``top``, ``bottom``, ``under``, ``sloped``) and
which way the corner goes (``outside``, ``inside``);
``holes`` selects hole rims. Combine with commas:
``top,outside``. Or name edges by id: ``e12,e15`` (ids come
from ``plan_only``).
:param printer_id: The printer the part is for; sizes are limited
by its nozzle and layer height.
:param nozzle_mm: The nozzle size, when it differs from the one
Kiln has for the printer.
:param layer_height_mm: The layer height it will print at.
:param material: The material it will print in.
:param plan_only: Return the plan and every edge's id without
building anything.
:returns: ``path``, ``step_path``, ``edges`` (finished, left
sharp, cautions), ``sized_for``, ``volume_mm3`` and the
measurements before and after; or a refusal saying why.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": {
"file_path": "<file_path>"
},
"name": "add_mesh_fillet"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| edges | No | Which edges. Empty or ``all``: every sharp edge. Words narrow it -- where the edge sits as the part prints (``vertical``, ``top``, ``bottom``, ``under``, ``sloped``) and which way the corner goes (``outside``, ``inside``); ``holes`` selects hole rims. Combine with commas: ``top,outside``. Or name edges by id: ``e12,e15`` (ids come from ``plan_only``). Default: "". | |
| material | No | The material it will print in. Default: "". | |
| file_path | Yes | The part: a STEP file, or a mesh converted from one. | |
| nozzle_mm | No | The nozzle size, when it differs from the one Kiln has for the printer. | |
| plan_only | No | Return the plan and every edge's id without building anything. Default: false. | |
| radius_mm | No | Fillet radius in mm (default 1.0). Default: 1.0. | |
| printer_id | No | The printer the part is for; sizes are limited by its nozzle and layer height. Default: "". | |
| output_path | No | Output ``.stl`` path (defaults to ``<name>_filleted.stl``); the CAD is written beside it. Default: "". | |
| layer_height_mm | No | The layer height it will print at. | |
| angle_threshold_deg | No | An edge is sharp when the surface turns at least this much across it (default 60). Default: 60.0. |