Share your feedback and vote on which data types or formats we should document next here.
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.
https://www.buildingsmart.org/compliance/software-certification/certified-software/
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.
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.
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.
As always, it is best to correct the spatial location settings in the source file. However, without knowledge of the source application, it is often difficult to achieve this.
This Only works with IFC2x3 formats and requires a geolocation file.
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.
This is a project-wide feature, that will suppress the latitude and longitude values of the IFC model files. This will require:
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.