I recently solved a Revit export mystery, and would like to get other’s input here. Before IFC2x3 CV2.0 implementation, we used to place the Z offset of the IFCSITE in both the RefElevation attribute and the Z value of the local placement. IFC2x3 made this illegal, so we removed it from the local placement, and immediately got a bunch of reports of sites showing up in the wrong place in other software. So we created a flag for “backward compatibility” to create broken IFC2x3 files that had both again, and that made the problem go away.
I kept hearing of people still using the value, though, and found out that some software ignores the RefElevation attribute and only looks at the local placement. So, the question for the implementers: do you use the RefElevation attribute, the Z value of the local placement, neither, or both? It seems like, for importers, we should settle on one. I know IFC4 solves this issue, but IFC2x3 will still be here for some time. My view is that the RefElevation attrbute is the right place, since that contains the most metadata, but would like to know other’s opinions.