Hierarchy
IFC models follow the IFC spatial structure:- Project - The IFC project
- Site - The site/building site
- Building - The building
- Storey - Building floor/level
Object Type
IFC models use standard DataObject (not a connector-specific extension):properties field.
Properties
DataObjectproperties contain IFC property set data:
- IFC Property Sets - IFC property set definitions (Pset_*)
- IFC Type - The IFC entity type (IfcWall, IfcDoor, etc.)
- IFC GUID - The IFC global unique identifier
- IFC Attributes - IFC entity attributes
Proxies
IFC models use:RenderMaterial
Material assignments for visual representation. Referenced by objects viaapplicationId.
Level
Level proxies encode IFC storey/level definitions. Objects reference levels via Level proxyreferencedIds.
Example: IFC DataObject
Invariants and Caveats
- Standard DataObject - IFC uses standard DataObject, not a connector-specific extension
- IFC spatial structure - Hierarchy follows IFC’s Project → Site → Building → Storey structure
- Property Sets - IFC property sets are in
properties.Property Sets - IFC GUID - The IFC global unique identifier is in
properties.IFC GUIDandproperties.IFC Attributes.GlobalId - No Info fields - IFC models don’t include Info fields
- IFC compliance - Data structure follows IFC Data schema conventions
How do I find elements by IFC type?
How do I find elements by IFC type?
Filter DataObjects by
properties.IFC Type. For example, to find all walls: filter where properties.IFC Type == "IfcWall".What's the difference between IFC GUID and applicationId?
What's the difference between IFC GUID and applicationId?
- IFC GUID: The IFC global unique identifier (format:
3xKj$l5n1H5QvzJp7xH9$A) - applicationId: Speckle’s identifier for the object (may be the same as IFC GUID, but could be different)
Related Documentation
- Object Schema - Base object structure
- Proxy Schema - How proxies work