Iterate all entities. The callback receives the global ID and the model identifier for each entity.
OptionalgetGet classification references for an entity. Returns an empty array when the entity has no classifications.
OptionalgetGet a single entity attribute by name (e.g. "Name", "Description", "ObjectType", "Tag"). Optional — engine skips attribute criteria when not implemented.
Total entity count (used for pre-allocation hints)
OptionalgetGet the groups/zones an entity is assigned to via IfcRelAssignsToGroup (IfcZone, IfcGroup, IfcSystem). Used by the "group" criterion / auto-color source to colour or isolate by zone membership. Optional — the engine skips group criteria when not implemented (#1075).
Get the IFC class name for an entity (e.g. "IfcWall")
OptionalgetGet the material name for an entity. Returns the top-level material name, or the first layer/constituent name.
OptionalgetGet every distinct individual material name for an entity — each layer / constituent / profile material of a multi-material element, or the single material for a simple one. Unlike getMaterialName this does NOT return the layer-set / usage name, so "color/select by material" groups by the real materials and a multi-layer element belongs to each of them. (#1366)
OptionalgetGet the federated model identifier for an entity. Optional — engine skips model criteria when not implemented.
OptionalgetGet the display name for a model identifier (for legends and UI). Optional — falls back to the raw modelId when not implemented.
Get all property sets for an entity. Used for material matching (scans psets whose name contains "material").
Get a single property value by property-set name and property name.
Returns undefined when the property does not exist.
OptionalgetGet quantity sets for an entity (used for discovery). Returns quantity set names and their quantity names.
OptionalgetGet a quantity value by quantity-set name and quantity name.
Returns the numeric or string value, or undefined if not found.
OptionalresolveResolve pinned membership to native global ids; required for a scoped lens.
Abstract interface for accessing IFC entity data during lens evaluation.
Consumers implement this to bridge their data source (IfcDataStore, server API, IndexedDB, etc.) to the lens engine.