list_entities
Enumerate every face, edge, and vertex in a Part Studio with stable IDs and readable descriptions so you can reference exact geometry in sketches, fillets, or mates.
Instructions
Enumerate every face, edge, and vertex of every body in a Part Studio with deterministic IDs you can drop into subsequent feature payloads. Each entity has a human-readable 'description' like 'plane / outward +Z / origin (0.0,0.0,15.0) mm' or 'cylinder / radius 5.00 mm / origin ... mm' so you can pick the right one by reading rather than geometric reasoning. Call this after ANY feature that creates or modifies bodies, before sketching on a face, filleting an edge, mating to a face, or otherwise referencing picked geometry. IDs (JHK, JNC, JHl, ...) are the 'deterministicIds' you put in a BTMIndividualQuery-138 query entry.
FILTERS (all optional; prune BEFORE serialization so responses stay small on complex parts): geometry_type (PLANE/CYLINDER/LINE/ARC/...), outward_axis (+X/-X/+Y/-Y/+Z/-Z), at_z_mm + at_z_tol_mm (faces pick by origin Z; edges pick by midpoint Z), radius_range_mm ([min,max] mm; cylinders/arcs/circles), length_range_mm ([min,max] mm; edges only). The response echoes filters and reports both original_counts and filtered_counts per body so you can see how much pruning happened.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| atZmm | No | Z cut in mm. Keep only faces whose origin Z (planar) is within `atZtolMm` of this value, and edges whose midpoint Z is within tolerance. | |
| kinds | No | Subset to return; defaults to all three. | |
| atZtolMm | No | Tolerance around atZmm in mm; default 0.5. | |
| bodyIndex | No | 0-based body index to limit output. Omit for all bodies. | |
| elementId | Yes | Part Studio element ID | |
| documentId | Yes | Document ID | |
| outwardAxis | No | Face filter: keep only faces whose body-outward normal is this world axis. Falls back to `normal_axis` for faces the FS probe couldn't evaluate. | |
| workspaceId | Yes | Workspace ID | |
| geometryType | No | Case-insensitive type filter. For faces: PLANE, CYLINDER, CONE, TORUS, SPHERE, B_SURFACE. For edges: LINE, CIRCLE, ARC, B_CURVE. Entities without the named type are pruned. | |
| lengthRangeMm | No | Edges only: [min_mm, max_mm] inclusive edge length. | |
| radiusRangeMm | No | [min_mm, max_mm] inclusive. Keeps only entities with a radius in range (cylinders/cones/tori for faces; circles/arcs for edges). |