apply_design_reinforcements
Analyze a 3D part for structural risks and auto-apply fixes—thicken thin walls, round sharp inside corners, and add a stabilizing base—then return a reinforced model with before/after scores.
Instructions
Analyze a part for structural risks, then auto-apply fixes.
This is the **one-step design hardening tool** — it runs the full
structural analysis pipeline, then applies every applicable fix:
- **Thin necks** → thickened walls (+material at narrow sections)
- **Sharp inside corners** → rounded, so the load spreads (outside edges are left as they are)
- **Insufficient base** → a base plate wide enough that the part no
longer reads as a tipping risk
Each fix is kept only if the part it makes carries no more
structural risk than the part before it; one that would is left
out and listed in ``skipped`` with what it would have added.
Cantilevers are listed in ``skipped`` with where to add a rib
(``locations_mm``): Kiln knows where an overhang is, not which
wall carries it, so it does not place one.
Thickening and edge rounding are done on the part's CAD file, so
pass its STEP file when there is one (or a mesh Kiln converted
from one that still sits beside it). When every fix applied was
a CAD one the result carries ``step_path``, the reinforced part as
CAD. On a mesh with no CAD file, edge rounding is skipped with
the reason.
Edge rounding is sized for the printer: name it (or the nozzle,
layer height and material) and each rounded edge keeps one nozzle
width of flat beside it. Each rounded entry's ``edges`` lists
what was finished, what stayed sharp and why, and ``cautions``
for edges that will print badly; ``print_aware`` sums it up.
Choosing the finish edge by edge for the printer and material is
a Kiln Pro feature.
``summary`` says which structural risks the part had and which
remain; ``before_score`` / ``after_score`` compare the two
versions. Reinforcements that can't be auto-applied (like
``reorient``) are listed in ``skipped`` with guidance.
Requires OpenSCAD for the base plate.
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: an STL, or its STEP file.
:param output_path: Output path (defaults to ``<name>_reinforced.stl``).
:param fillet_radius_mm: Fillet radius for sharp corners (default 1.5).
:param wall_thicken_mm: Amount to add to thin walls (default 0.6).
:param base_height_mm: Height of stabilizing base plate (default 2.0).
:param printer_id: The printer the part is for.
: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 fastener: The fastener the part's holes take, e.g.
``"M3"`` — pass only if the user actually named one. Kiln
does not read the part looking for screw holes. Where the
plan includes it, each hole that threads onto it is prepared
for it as the corners are rounded; otherwise the holes are
left as drawn and ``print_aware`` says so.
:returns: Dict with before/after scores, applied/skipped reinforcements.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": "apply_design_reinforcements"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fastener | No | The fastener the part's holes take, e.g. ``"M3"`` — pass only if the user actually named one. Kiln does not read the part looking for screw holes. Where the plan includes it, each hole that threads onto it is prepared for it as the corners are rounded; otherwise the holes are left as drawn and ``print_aware`` says so. Default: "". | |
| material | No | The material it will print in. Default: "". | |
| file_path | Yes | The part: an STL, or its STEP file. | |
| nozzle_mm | No | The nozzle size, when it differs from the one Kiln has for the printer. | |
| printer_id | No | The printer the part is for. Default: "". | |
| output_path | No | Output path (defaults to ``<name>_reinforced.stl``). Default: "". | |
| base_height_mm | No | Height of stabilizing base plate (default 2.0). Default: 2.0. | |
| layer_height_mm | No | The layer height it will print at. | |
| wall_thicken_mm | No | Amount to add to thin walls (default 0.6). Default: 0.6. | |
| fillet_radius_mm | No | Fillet radius for sharp corners (default 1.5). Default: 1.5. |