ifc-impl-reading-parsing
IFC Reading and Parsing
An IFC file in the .ifc STEP physical file (SPF) encoding is a flat list
of numbered entity instances. The semantics are a graph: instances point at
each other by #id, and relationships are first-class entities. Reading IFC
correctly means two things: indexing every instance before resolving any
reference, and computing INVERSE attributes that the file never stores.
This skill covers the two-pass parse, dispatching on FILE_SCHEMA, the
positional attribute model with its $ and * tokens, building the inverse
index, and traversing from an element to its property sets, type, spatial
container, and associations.
Verified against ISO 10303-21 (the SPF encoding) and the IFC 4.3.2 specification (ISO 16739-1:2024), with IFC4 and IFC2x3 deltas noted inline. Applies to IFC2x3, IFC4, IFC4.3.