inspect_query
Query 3D model geometry by kind and filters to locate faces, edges, vertices, or bodies without writing code; returns brief descriptions with refs for downstream edits.
Instructions
Find faces, edges, vertices or bodies by geometry instead of writing code. All
given filters must match; results are brief descriptions with refs (lengths mm,
areas mm²). Filters only apply to their kind (e.g. surface_type needs
kind="face") — a wrong combination or min > max fails with INVALID_PARAMS.
Returns {"items": [...], "total": , "truncated": bool}.
On large models narrow scope to one body.
Examples:
largest face: inspect_query(kind="face", sort_by="area", limit=1)
planar faces facing +Z: inspect_query(kind="face", surface_type="plane", normal=[0, 0, 1])
edges longer than 25 mm of one body: inspect_query(kind="edge", scope=[""], length_min_mm=25)
10 mm holes: inspect_query(kind="face", surface_type="cylinder", radius_min_mm=4.9, radius_max_mm=5.1)
vertical edges: inspect_query(kind="edge", curve_type="line", direction=[0, 0, 1])
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | Cylinder/cone faces with this axis (either way) | |
| kind | Yes | What to return | |
| limit | No | ||
| order | No | desc | |
| scope | No | Bodies, components, occurrences or faces to search; default: all visible bodies | |
| normal | No | Planar faces facing this direction | |
| sort_by | No | Sort key | |
| direction | No | Line edges parallel to this (either way) | |
| curve_type | No | Edges only | |
| within_box | No | {"min_mm": [x, y, z], "max_mm": [x, y, z]} | |
| area_max_mm2 | No | ||
| area_min_mm2 | No | ||
| surface_type | No | Faces only | |
| length_max_mm | No | ||
| length_min_mm | No | ||
| radius_max_mm | No | ||
| radius_min_mm | No | Faces: cylinder/cone/sphere radius, torus tube; edges: arc/circle | |
| normal_tolerance_deg | No | Tolerance for normal/axis | |
| direction_tolerance_deg | No | Tolerance for direction |