In Revit we use different reference levels, usually around 4 levels per storey, see attached example section:
△ Lower surface of raw structural ceiling
▲ Lower surface of finished ceiling (suspended ceiling cladding)
▼ Top surface of finished floor (tiles)
▽ Top surface of raw structural floor
The level "top surface of raw floor" is set to structural within the identity data of the properties tab. The level "top surface of finished floor" is defined as building storey (this is probably just an IFC export setting in Revit).
Walls are constrained to the corresponding reference levels with appropriate offsets, either raw floor to raw ceiling or sometimes finished floor to 0,10m above finished ceiling. Furniture is referenced to finished floor, lighting to finished ceiling and so on.
There is the concept of IfcBuildingStorey, but this is defined as the complete space between 2 floors. I am specifically in the search of a 2-dimensional reference plane like in Revit to which I can constrain other building elements.
Within IfcBuildingStorey I can set the top surface of raw structural floor with ElevationOfSSLRelative or the top surface of finished floor with ElevationOfFFLRelative within the Pset_BuildingStoreyCommon. But I can not define the lower surface of the finished or raw ceiling or or other reference planes.
So, how do I recreate the this concept of Revit reference levels in native IFC? Is there already a way to do this in BlenderBim? Is it even supported in IFC? Or is our workflow flawed and we need another approach?
There is a YouTube video explaining the differences between Revit and IFC in regards of levels and how to best handle an export of Revit levels to IFC. Interesting, but doesn't help with native IFC.