query_faces
Filter 3D model faces by structured predicates like type, normal, radius, area, or centroid, and return descriptors for matching geometry.
Instructions
Filter faces by a structured predicate. Returns matching descriptors.
Predicate fields (all optional, ANDed):
kind / type: 'planar' | 'cylindrical' | 'conical' | 'spherical' | 'toroidal' | 'spline'
normal_dir: [x, y, z] unit vector for planar faces (with normal_tol)
radius_eq: float, matches cylindrical/conical/spherical (with radius_tol)
area_min / area_max: bounds in mm^2 Optional ordering:
centroid_max / centroid_min: 'x' | 'y' | 'z' (sorts result)
order: 'area_desc' | 'area_asc'
Example: {"type": "planar", "normal_dir": [0, 0, 1], "centroid_max": "z"} finds the topmost +Z-facing face.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | ||
| predicate | Yes |