Skip to main content
Topology selections express feature intent as set queries. They never store a face index, edge enumeration position, OCCT handle, or transient kernel key.

Query roots

Every query is typed by topology kind. A face query cannot accidentally be used where a fillet expects edges.

Origin and role

createdBy means the feature introduced the item. modifiedBy means it is in the feature’s output lineage as a modified item. Roles identify semantic classes; the optional sketch source distinguishes members created from one authored entity.

Geometric predicates

Faces support:
Edges support:
Vertices support:
Geometric predicates are useful filters, but semantic origin is usually more stable when it exists. Coordinates alone are especially fragile under parameter changes and transforms.

Logical composition

and and or flatten, deduplicate, and canonicalize their operands. not() negates a query inside the current topology universe.

Adjacency

Adjacency crosses topology kinds through a completed selection:
The nested selection keeps its own cardinality requirement. A failure inside adjacency is not treated as an empty set.

Cardinality is required intent

Finish a query with one of:
There is no unbounded “take whatever matched” selection. Cardinality protects a model from silently applying a feature to a different number of subshapes after a parameter or upstream feature change.

Explain a selection

explainTopologySelection evaluates the query against a detached topology snapshot and returns a frozen aggregate report. It records the outcome, topology kind, snapshot history, candidates considered and matched, required cardinality, and the resolved keys on success. Failure diagnostics carry additional bounded candidate summaries when the evaluator can provide them; the public explanation does not expose per-candidate or logical-branch traces. Use explanations for tooling and debugging; do not parse human-readable diagnostic messages to recover selector state.

Backend requirements

The evaluator checks topology capability metadata before invoking the consuming feature. A backend that cannot provide the requested surface, curve, lineage, source, or adjacency evidence fails explicitly. It does not approximate a semantic query with enumeration order.