Publishing IFC model files

Ballot box Share your feedback and vote on which data types or formats we should document next here.


Locating IFC model files based on their geographical location

Like DGN, Civil3D or Revit models, IFC files must be equipped with suitable global coordinates to ensure a correct positioning in an iModel. Building Smart lists more than 100 IFC-capable applications on its website and trying. To cover all of them and discuss their requirements would exceed the scope of this Wiki.

In general, design applications will need to have the option to include not only local X and Y coordinates but also a global position based either on latitude and longitude or a global coordinate system. Without these options, aligning an IFC file to its correct position in an iModel can be challenging.

Fixing IFC files without the original design application can be challenging and is generally not recommended. When IFC files are misaligned, it is usually best to contact the model originator and request changes to be made. However, it is possible to apply some fixes to correct missing or simply wrong geolocation information in IFC models.

Basic requirements

Typically, an IFC-capable application will need to be able to position model elements with correctly defined X and Y coordinates relative to local grid coordinates. In the absence of this or when modeled close to the origin point at 0,0, the application must be able to transform these coordinates on export.

Additionally, the application must have a functionality to feed in world coordinates. This can be a global coordinate system (GCS) such as OSGB2015 or the ability to input latitude and longitude values (Revit). On export, the GCS in combination with the local X and Y values, is then used to calculate the latitude and longitude values. This will allow for a successful global positioning.

What to look out for in an IFC file

Before connecting an IFC file to an iModel, it is important to check the model file for potential problems. Checking the RefLatitude and RefLongitude for correctness is a good indicator of whether an iModel will be geolocated. Any IFC viewer will be able to display these.

Image 1 - RefLatitude and RefLongitude (BIM Vision IFC viewer)

Compare the values with the actual project location on Google Maps. 

Although not strictly necessary for geolocation purposes, the Global X and Global Y values can give an indication of correctly applied coordinates within the originating design application. These coordinates usually define the southwesternmost extent.

Image 2 - Global X and Global Y (BIM Vision IFC viewer)

When opening IFC files in Notepad or VS Code, it is possible to check for IFCSITE and  IFCPROJECTEDCRS.

Please do not modify IFC files that way – it can break them.

IFCPROJECTEDCRS contains the used coordinate reference system

Correcting IFC files

As always, it is best to correct the spatial location setting in the source file. However, without knowledge of the source application, it is often impossible to achieve this.

Using Open Buildings Designer relocation command

This Only works with IFC2x3 formats and requires a geolocation file.

  • Create a new file and assign the applicable coordinate system
  • In Open Buildings Designer attached the misaligned IFC2x3 file
  • Use the reference tool to move the attached IFC to the correct location
  • Use Key-in IFCTransformReferenced
  • This will create a new IFC file with .transformed appended
  • Connect the OBD file first – ensure IFC files are either detached or visibility is turned off – otherwise, the connector will process the IFC models as well
  • Connect the transformed IFC file(s)

Using MicroStation / Power platform to shift

Unlike above where the transform is used, here IFC files will be processed with an OBD or MicroStation connector. This can result in unwanted changes to the data structure and potentially loss of information.

The workflow is just like the above, but the attached IFC files remain in place. The Key-in IFCTransformReferenced does not apply.

Geolocation file with allow-IFC-reproject-skip

This is a project-wide feature, that will suppress the latitude and longitude values of the IFC model files. This will require:

  • A geolocation file with a valid GCS either from MicroStation (DGN) or Civil3D (DWG)
  • Set feature flag allow-IFC-reproject-skip – please raise a service request to get this enabled for your project
  • The geolocation file must be connected first, followed by the IFC files. The geolocation files do not need to be synchronized again but is required for each new Model
  • All IFC files will need to have correctly set local grid coordinates, appropriately matching the GCS

Best practices

Due to the high number of IFC-capable applications, it is impossible to give definitive recommendations on how to best set up model files that ensure a correct iModel geolocation. Please follow vendor specific guides but in general, settings such as local coordinates (X, Y) and global latitude and longitude values or a global coordinate system must be established.
If you want to share your working solution with the community, please leave a comment below.