Tools to move IFC geometry from global coordinates to local

Yes, there are a few ways to do this. If you want to do it headlessly, IfcPatch, which is part of IfcOpenShell and the BlenderBIM Add-on does it. Just run:

$ ifcpatch -i input.ifc -o output.ifc -r ResetAbsoluteCoordinates

The logfile which denote the offset it has determined.

Also, if you don’t want to patch the IFC file, the BlenderBIM Add-on has import options to offset coordinates, designed for BIM tools that work in global coordinates (and correctly so!) like 12D.

If, instead, the BIM authoring tool simply places the site or building coordinates incorrectly in global coordinates (e.g. in Revit), then this is how you bring it to local coordinates:

$ ifcpatch -i input.ifc -r ResetSpatialElementLocations -a IfcSite
$ ifcpatch -i input.ifc -r ResetSpatialElementLocations -a IfcBuilding

You can also change IfcBuildingStorey elevations:

$ ifcpatch -i input.ifc -r OffsetStoreyElevations -a "-12345"

All the software above is free software and cross platform.

3 Likes