IFC Georeferencing in BlenderBIM

Hi all,
I'm testing export IFC with georeferences from BlenderBIM but have error messages like this:

Traceback (most recent call last):
File "C:\Users\Usuario\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbim\bim\operator.py", line 110, in execute
ifc_exporter.export(context.selected_objects)
File "C:\Users\Usuario\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbim\bim\export_ifc.py", line 1368, in export
self.create_map_conversion()
File "C:\Users\Usuario\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbim\bim\export_ifc.py", line 1847, in create_map_conversion
self.create_target_crs()
File "C:\Users\Usuario\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbim\bim\export_ifc.py", line 1867, in create_target_crs
"IfcProjectedCRS", **self.ifc_parser.target_crs["attributes"]
File "C:\Users\Usuario\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\file.py", line 82, in create_entity
e = entity_instance((self.schema, type))
File "C:\Users\Usuario\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\entity_instance.py", line 52, in __init__
e = ifcopenshell_wrapper.new_IfcBaseClass(*e)
File "C:\Users\Usuario\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbim\libs\site\packages\ifcopenshell\ifcopenshell_wrapper.py", line 2575, in new_IfcBaseClass
return _ifcopenshell_wrapper.new_IfcBaseClass(schema_identifier, name)
RuntimeError: Entity with 'IfcProjectedCRS' not found
location: :-1

Export whithout IFC georeferencing export run fine. Can someone explain how to do it?
In the attached image show the parameters for export:

Comments

  • It looks like you are trying to export georeferencing to an IFC2X3 file. Only IFC4 supports georeferencing this way. In IFC2X3 you need to use psets assigned to the site.

    By the way, unrelated to your error, the eastings vs northing, and x axis abscissa/ordinate do not look correct. Maybe you've swapped them around?

    The latest release has had quite a few improvements made to georeferencing. You may consider upgrading (but as it was a huge release, you may encounter other bugs too - which we are rapidly fixing!)

  • edited February 2021

    Hi Dion, thanks for your reply.
    After mi post, hi found your Dion Moult's Blog article "IFC Coordinate Reference Systems and Revit" that show some concepts. I tested export again (in IFC4 format) and exported without problems but coordinates are wrong (scaled in XY by 5 ). In my sample, blender scene origen is 0,0,0 (with real coordinates 315760, 4554300,0). The blender view is georeferenced and terrain model is imported with blender GIS successfully. In this context, I can import objects in real position (translated from "real origen" to new "blender origen" without problems and good results.
    To export with IFC Georeferencing I use this parameters:
    In Map Conversion:
    Easting: 315760
    Northings: 4554300
    Ortogonal Height: 0
    X Axis Abcissa: 1
    X Axis Ordinate: 0
    Scale: 1
    In Target CRS
    Name: EPSG:25831
    Description: European Terrestrial Reference System 1989
    Geodetic Datum: ETRS89
    Vertical Datum: EPSG:5180
    Map Projection: UTM
    Map Zone: 31
    Map Unit: METRE

    but coordinate results are wrong (Testing the exported file in BimVision shows bad X,Y coordinate values). Even changing scale, coordinates exported are the same.
    I'm testing BlenderGIS and BlenderBIM for use in projects for Civil Engineering winth impressive results (at least to show the work). Your new release is already downloaded (many thanks for your work) but not tested (only instaled in blender 2.8 with errors and in blender 2.9 successfully).
    For IFC2x3, Pset for the site are "user pset" or "standars pset" from IFC2x3 specification? (I'm new in this IFC world)

  • Glad to hear a portion of it worked. What do you mean by saying that the coordinates are wrong in BIMVision? What makes you think they are wrong? You may be only seeing local coordinates in BIMVision, not global ones - it may not properly support geolocation in BIMVision.

    IFC2X3 has an implementer agreement to use an "Extended" standard property set. You should find it in the BlenderBIM Add-on. It's called EPset_MapConversion and EPset_ProjectedCRS.

  • Here a screen capture from Bimvision showing coordinates. They mus be like the values in cad model (second capture).
    I found a document "User Guide for Geo-referencing in IFC. How to Setup Geo-referencing in a Building or Linear Infrastructure Model" from buildingSMART Australasia (Version 2.0, January 2020) that comment "ePSet_ProjectedCRS" and "ePSet_MapConversion". I will find-it in BlenderBIM.

  • edited February 2021

    By the way, the buildingSMART document has a few mistakes in it. For example, it should be EPset not ePset. The one implemented in the BlenderBIM Add-on is correct, and actually helped inform the creation of that guide.

    I can see that the coordinates in your screenshot are different but I cannot help unless I can see the file. Can you please attach your file (or send to dion@thinkmoult.com) if private so I can see the data in the IFC?

    This might also be a good short video to do to guide people on how to check and correct coordinates in the BlenderBIM Add-on. With your permission, @condur and I can release a video tutorial explaining the process using your file as an example.

  • Hi Dion,
    I just sent you files for that. I don't attach here because think are big. If you need more information, let me know.

  • Hi Dion,
    I just sent you files for that. I don't attach here because think are big. If you need more information, let me know.

  • edited February 2021

    Hi all,
    I continued testing how to use georeferencing in BlenderBim. I read IFC geolocation page at OsArch wiki ( https://wiki.osarch.org/index.php?title=IFC_geolocation) with IFC2X3_Geolocation.ifc file as template to use.
    With this file in the proper directory, I tried to georeference my test project. (Using Blender 2.83 and BlenderBIM 201207)
    For IFC2x3 I changed property in MDV to IFC2x3, added EPset_ProjectedCRS and ePSet_MapConversion to IFCSite object and exported some objects without problems. Opening the ifc file with Bimvision (I use this to check results) can and the file and check that Pset's are generated. Checking coordinates, seems that georeference is not applied (at least in direct way). Updating origin by hand, coordinate values seem good.
    For IFC4 I changed again property in MDV to IFC4 and actived Georeference module, checking on and filling data (as in previous captura). After that, export some objects to ifc file and check results. In this case, loading file in BimVision shows direct changes in coordinate values but they are wrong. It look as a mistake in how Helmert transformation is implemented for IFC4 (I will try to investigate if I can find where this is done). For IFC2x3, maybe BimVision can't make direct transformation from epset's to real coordinates.

  • The file I was sent was an IFC4 file, with the georeferencing values correct, however, it also contained a large offset of the IfcSite object, which effectively doubled up the coordinate offset, which was incorrect. After removing the offset in the IfcSite object, the georeference is correct and gives the coordinates shown in the BricsCAD Pro screenshot.

    If BIMVision is incapable of showing these coordinates, it is likely that they do not support georeferencing in IFC properly.

  • Hi,
    I tried to investigate origin of the offset in the IfcSite you mentioned. For that, make a new blender file to avoid issues from my old sample and import data again. Filling the georeference data and exporting, coordinates are wrong. To confirm, I created a new blender file, delete all objets in scene, create the ifc project (with "Quick Project Setup"), insert a cube as object ifcBeam, fill the georefence data and export. Again, coordinates are wrong, so I think offset is produced when export (attached the file)
    I don't have enough knoledge about IFC schema to determine what creates the offset in the IFC file. Can you explain what kind of lines you removed ?

  • @avico looking at the file, the cube is correctly geolocated to (315760, 4554300,0) + (2.123, 1.7311). This looks correct to me. If other viewers cannot give the right coordinate, then that means that they do not correctly support IFC geolocation.

  • edited January 2022

    I do also have an IFC file with world coordinates (4555731.96, 5848914.997, 0.).
    I did not fully get, what I have to do to import it into Blender? What I did was translate the model to a different reference point (), which I do see in Blender, but I really want to work with world coorinates in Blender.

    Do I just have to "add" with "+" @ Not Georeferenced and then edit @ MapConversion the world coordinates (4555731.96, 5848914.997, 0.)?

Sign In or Register to comment.