analyze_frame_bracing
Analyzes frame bracing to determine where diagonals belong in shelves, racks, frames, and lattices, checking existing braces, panels, and bay dimensions for structural layout decisions.
Instructions
Where the diagonals go in a shelf, rack, frame, or lattice.
Needs Kiln Pro.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "analyze_frame_bracing"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cols | No | Number of cell columns (bays), >= 1. | |
| mode | No | "normie" | "engineer" | "auto". Default: "auto". | |
| rows | No | Number of cell rows (bays) in the grid, >= 1. | |
| brief | No | Optional user brief (auto-detects engineer mode). | |
| braces | No | Cells that already have a diagonal, as ``[row, col]`` pairs (0-indexed from the top-left) or ``{"row": r, "col": c}`` dicts. Omit for a bare frame. A cell listed twice is an X of both diagonals: it counts once and the second is reported as surplus. | |
| joints | No | Truss form — number of joints (not for grids). | |
| panels | No | Sheets fixed across the frame, as inclusive blocks ``[row_start, col_start, row_end, col_end]``. A full back panel on a 3x2 bookcase is ``[[0, 0, 2, 1]]``. | |
| members | No | Truss form — bars as ``[a, b]`` joint-index pairs. | |
| brace_kind | No | What an unmarked brace IS: "rigid" (pushes and pulls) or "tension_only" (cable/strap: a bay needs a crossed pair, one each way). LEAVE UNSET when the user has not said — the verdict then flags the assumption and queues the question instead of guessing silently. | |
| bay_width_mm | No | Width of each bay opening — one number, or one per column. Unlocks per-bay diagonal spans. | |
| bay_height_mm | No | Height of each bay opening — one number, or one per row. |