Location of origins relative to the IFC element.

What causes the origin points to appear all over the place instead of the center of the geometry with imported IFC files?

Any technical reason for this?


  • Could it be that the points are showing the IfcLocalPlacement?

  • Just curious,

    When I start modifying a cube in Blender, I make the mesh and IfcElement, but then I forgot about the origin point as you can see here.

    When I use the following and export to IFC the elements move:

    • Set Origin to Geometry
    • Set Geometry to Origin
    • Set Origin to 3D Cursor

    In Blender the elements stay in place, but when exporting the IFC all the elements moved.

    Am I modelling wrong?
    Because when I got into Edit Mode > Click a Vertex > Shift + S > Cursor to Selected > Object Mode > Set Origing to 3D Cursor
    It works just fine and the IFC elements stay in place.

  • The orange dots represent the object placement of each element. This is the absolute coordinate of the element's object placement, after taking into account all relative placements. In other words, this is not just the local placement ... it's the local placement + all relative placements.

    In general, they will not necessarily be the center of the object. They will usually be in a logical insertion point on assets which have geometry, such as at the base of a table or chair. It will also usually be at a bottom left corner of a door or window, as it indicates swing direction. It will also be usually at the bottom to one side of a layered wall, as it indicates the direction of the wall layers.

    Naturally, if you move everything in cowboy mesh land, you can have it to be arbitrarily anywhere.

    Blender is an interface to the BlenderBIM Add-on IFC authoring platform. Therefore, there will be certain functions in Blender which we cannot detect that will have unexpected impacts on IFC authoring. Setting origin is one of these. In Blender land, setting origin does two things: 1) it moves the origin, and 2) it inversely moves the mesh relative to the moved origin, such that everything stays in place. However, the BlenderBIM Add-on currently isn't smart enough to realise that these two things have occured ... it only realises the first thing (origins have moved) has changed, and thus you get a whole bunch of elements moved around.

    In the future, we can make the BlenderBIM Add-on smart enough to recognise the intent of this Blender feature. However, it is not a super high priority. In particular, doing it without care can actually break parametric (e.g. layered walls) or semantic (e.g. door swing directions) behaviour.

    Hope it helps. The practical advise right now is to avoid it :) Or you can toggle edit mode which will make Blender realise "oh, something geometric changed" and will enforce a full refresh of geometry.

  • In the future, we can make the BlenderBIM Add-on smart enough to recognise the intent of this Blender feature.

    That would be cool, is there maybe a quick fix or workaround at the moment? Because like I mentioned earlier I do this each time to set the origin over a vertex:

    • Tab into edit mode
    • Select vertex
    • Shift + S
    • Cursor to selected
    • Tab into edit mode
    • Set Origin to 3D Cursor

    These are 6 steps each time for each object, if anyone has any idea on how this could be done faster it would be much appreciated.
    Thinking out loud, can a tool be written which sets the origin over vertex points for a whole IFC model?

Sign In or Register to comment.