Wrong shapes when import ifc file in BlenderBim

Hi all,
I'm testing BlenderBim 221105 with Blender 3.3.2 in windows 10 and have some issues when importing an ifc file. Some objects are bad rendered and some others are placed in wrong position (for example, in blender, cilindrical bridge bored piles have rectangular shape, central pile show bad shape, etc).
Testing the same file with other viewer (Bimvision) show good results. I tested OpenIfcViewer too and has some issue with bored pile shape but all others elements seem right.
Looking the *.ifc file, seem generated with ODA SDAI 22.12 and exported from Revit 2023
Has someone the same issue?

400 400

400

Comments

  • Can you share your IFC? You can send it to dion@thinkmoult.com if private - it may be a bug in IfcOpenShell, or an invalid or poorly described model, but I'll need to file to investigate further.

  • edited January 2023

    I believe the problem here lies with Revit. Revit is incorrectly placing the object placements (i.e. local origin / insertion points / etc) of each object incredibly far away (4 million meters away) from the local geometry of the object. See https://blenderbim.org/docs/users/georeferencing.html#incorrect-coordinate-use for an explanation, especially the warning in that section of why you might think things are correct in other viewers, when they are actually not correct.

    bitacovir
  • The model seem in coordinates ETRS / UTM Zone 31 (EPSG:25831) and when I import the file, I use "Enable advanced mode" with coordinates 431000, 4602020, 0 to get objects near origin. The import is good for some objects and wrong for others, not only for placement (shape are deformed).
    Global placement seems good. I imported other mesh with digital terrain model using BlenderGis and position for the model is coherent.

  • Yes, because your model is actually mixing small numbers and large numbers. For example, the placement of one of the central cylinder piles is (437299, 4602126, 104), this is a large number, which is fine, except that the cylinder within has a centroid of (-6124,48,-25) (i.e. displaced another 6km).

    So if you look at it from a pure geometry standpoint, yes the geometry seems to have consistently large coordinates. However, other viewers like OpenIfcViewer / BIMVision will not show you the object placement, which is 6km away from the column. The BlenderBIM Add-on is a full native IFC authoring platform, and so these object placements have a big impact.

    You can override the the parameters that detect local and map coordinates, for example you have already changed the false origin to 431000,4602020,0 in the advanced mode. You can also change the Distance Limit to be larger than 1000m, to something like 10000 (meters) which will therefore accommodate your 6km column displacement. If you make that change, you will see that the columns will load correctly.

    However it doesn't change the fact that:

    1. This is IFC2X3, so even if you say it's ETRS / UTM Zone 31 (EPSG:25831), your model is not actually geolocated. You need to use IFC4 to store the CRS and geolocate your model.
    2. The local geometry coordinates still have a 6km displacement from its object placement. This will lead to precision errors, and potentially also surveying precision errors (though I cannot say, as I don't know if you're working in map or local coordinates, and therefore what the average combined scale factor would be). This is a problem with Revit unfortunately.
    Martin156131bitacovirNigelCadGiru
Sign In or Register to comment.