Basic IFC knowledge
It is important to know that the actual IFC file, whether it is an SPF (STEP Physical File) or XML representation, is always defined against a schema. The schema gives meaning (names and relations on top of the knowledge contained in the IFC file). The schema is static for all IFC4 files. It is published by buildingSMART as an EXPRESS schema and alternatively an XML schema.
Currently the latest version is the Release Candidate 4 of IFC4. It can be downloaded at:
On top of the schema MVDs (Model View Definitions) are defined that describe what parts of the schema are used within a certain IFC file and/or extra restrictions on top of the schema.
IFC4 is describing each instance of a building component that is contained in the IFC file.
The instance contains semantic data like its name, description, type (wall vs. door), relations with other instances (connections to walls/other objects, opening elements), position and relation in the building structure as well as geometry and property sets. New to IFC4 is that each instance has also a type defined (in previous versions this was only valid for a subset of the instances). Non geometrical information can be attached to instances as well as to types.
Several instances can refer to the same type.
The position of instances is absolute or relative towards the position of another instance, these relative placements can be nested and several levels deep. Geometry of each visible instance is defined. It is however possible to reuse defined geometry from other instances.
Not all defined geometry in an IFC file is visible in CAD or viewers. For example space boundaries between walls and spaces are often defined but mostly not shown. Each instance can have more than 1 geometrical representation and a single 3D representation of an instance can have more than one color.
IFC4 files are full of relations. Many of these relations are inverse relations defined by the schema and not visible in the text view of an IFC file.