Is this class one an unfiltered entity query should answer with?
IfcObjectDefinition is the exact line: it covers products, type objects,
groups and systems, and IfcContext, and excludes the other two IfcRoot
branches — IfcPropertyDefinition and IfcRelationship. Type objects are
then held back, so an unfiltered query answers with occurrences.
Keying on IfcTypeEnumFromString instead — as the CLI and MCP backends both
did — gated on a curated subset of the schema, so every class outside it was
dropped from the result with nothing to say so: on an MEP model, every
IfcAirTerminal, IfcDuctFitting and IfcDistributionPort.
IFC_ENTITY_NAMES is not the oracle either: it carries all ~880 classes, so
keying on "is a known IFC name" floods the same query with every
IfcCartesianPoint in the file.
Is this class one an unfiltered entity query should answer with?
IfcObjectDefinitionis the exact line: it covers products, type objects, groups and systems, andIfcContext, and excludes the other twoIfcRootbranches —IfcPropertyDefinitionandIfcRelationship. Type objects are then held back, so an unfiltered query answers with occurrences.Keying on
IfcTypeEnumFromStringinstead — as the CLI and MCP backends both did — gated on a curated subset of the schema, so every class outside it was dropped from the result with nothing to say so: on an MEP model, everyIfcAirTerminal,IfcDuctFittingandIfcDistributionPort.IFC_ENTITY_NAMESis not the oracle either: it carries all ~880 classes, so keying on "is a known IFC name" floods the same query with everyIfcCartesianPointin the file.