Skip to main content

First of all, I agree that IFC is used in many ways, not all IFC's fits together, and not all IFC's are completely "after the book".


One way is to give an address and lat / long in IfcSite. But this is only an approximate location, linked to the address point. It has nothing to do with the coordinate system used. By using this, one probably ends up on the right plot, but not with any particular accuracy.


Example from a sample file good building-case-project:

IFCSite with Address Verification:

# 111 = IFCSITE ('01uPthe3Uixx0TRWar3Vt8', # 26, 'Helland', 'Test plot in B X2 00F8 X0 ', $, # 108, $, $,. ELEMENT., (59,24,47,484830 ), (9,3,30,811790), 75000., '3817-55 / 40/0/0', # 99);


# 99 = IFCPOSTALADDRESS ($, $, $, $, ('Kyrkjevegen 6'), $, $, 'B X2 00F8 X0 i Telemark', '3800', 'Norge');


But what needs to be taken into account are:

# 80 = IFCGEOMETRICREPRESENTATIONCONTEXT ($, 'Model', 3.0.01, # 77, # 78);

# 84 = IFCPROJECT ('0LgUPU8IoJzfI479rEc5t9', # 26, 'DiBK Office Build', 'DiBK Standard Office Model', $, $, 'Building Case BIM', (# 80), # 67);

# 95 = IFCMAPCONVERSION (# 80, # 96,503000000., 6586000000., 0., 1., 0., 1.); (NB! This is the origin of the local IFC coordinate system)

# 96 = IFCPROJECTEDCRS ('EPSG: 25832', 'EPSG EU89 UTM33', 'EU89', 'NN2000', 'EU89 UTM33', '33', $);


It does not look like the FME can do this atm, how about a transformer that can handle this?

I agree that the use of IfcMapConversion and IfcProjectedCRS is indeed the best way to georeference an IFC File. This way, the IFC file can continue to use its local zero point (0,0,0) and axis orientation as is convenient in most native BIM software. IfcMapConversion then includes all information needed to position the local zero point / base point onto a projected coordinate reference system.

 

For reference, BuildingSMART Australasia has written a "User guide for georeferencing in IFC" that explains this.

https://www.buildingsmart.org/wp-content/uploads/2020/02/User-Guide-for-Geo-referencing-in-IFC-v2.0.pdf

 

The transformation from local into projected reference system, can be implemented with FME transformers: rotation (3DRotator), scale (Scaler) and translation (OffSetter). The problem today is that the IFC Reader in FME does not yet read IfcMapConversion and IfcProjectedCRS entities.


Are there any news if FME ever will able to use IFCMAPCONVERSION? I think I even asked @dalelutz about this ahead of the UC this year, but I haven’t heard anything… @Sigbjørn Herstad​ @stipica.pavicic​ do you know? #FMEsantapost


There is now a custom transformer in the FME Hub that can read IfcMapConversion information from an IFC file and apply the coordinate transformation. See:

https://hub.safe.com/publishers/stijngoedertier/transformers/ifcmapconversionreader

 

I'd be grateful if you could test this @kennyo​ .


The IFC writer is being re-written and we are hoping to address all of the related ideas. Please add any use cases or comments to the parent idea below:
Updated idea statusOpenArchived
Idea merged into:

All the votes from this idea have been transferred.