check_assembly_stands
Determine if a 3D assembly stands or how it rests by checking geometry, gravity, materials, and user intent, with explicit assumptions.
Instructions
Judge how an object LIVES and whether it STANDS — from geometry and the words, with every assumption said out loud.
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": "check_assembly_stands"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pose | No | ``"auto"`` (default) decides how it lives and lists the other resting faces; ``"as_placed"`` judges only the authored orientation under ``gravity``. Default: "auto". | |
| intent | No | The idea in the user's own words — the brief's text ("a wall hook for my coat"). Default: "". | |
| gravity | No | Direction gravity acts, as ``[x, y, z]`` (default straight down, ``[0, 0, -1]``) — tilt it to judge an object displayed on its side. | |
| lives_as | No | The mode the user chose, when asked: sits on a surface / lies flat on a surface / mounts to a wall or another surface / hangs from a loop or hole / is held, worn or carried / fits into or onto something else. Default: "". | |
| design_id | No | The design these parts belong to. A design a Kiln generator made carries its product in its id (``"keychain-…"``), so the generator's own answer to how it lives is read from there when ``product_type`` is not given. Default: "". | |
| materials | No | The parts' filaments — one name for the whole kit, or a list aligned with ``part_paths``. Named, every part gets grams at its catalogue density and the centre of mass is weighted by mass (a PETG body on TPU feet is judged as that); unnamed, density is uniform and the report says so. | |
| part_names | No | Names aligned with ``part_paths`` when two files share a stem. | |
| part_paths | Yes | One mesh file per part, positioned as assembled. | |
| pin_recipes | No | Optional add_pin_joints recipes (each carrying a ``parts: [a, b]`` key naming its pair) — the pin's normal then replaces the inferred seam direction. | |
| template_id | No | The design template it came from. Default: "". | |
| product_type | No | The Kiln generator that made it (``"pen_cup"``, ``"ornament"``). Default: "". | |
| carried_at_mm | No | Where that load acts, ``[x, y, z]``; default the hook's tip / the pendant's lowest point / the top. | |
| carried_mass_g | No | What it will HOLD — the coat on the hook, the water in the vase, the charm on the pendant — in grams. Needs ``materials`` (the object's own mass must be in grams too). It moves the centre of mass, so the tip angle, the hang and the fastener loads all answer for the loaded object. Default: 0.0. |