Federation of IFC files

Hi there, Community!
Before the UI revamp, I used to federate several IFC models by using BlenderBIM's IFC importer.
Since the renewal of last versions, which are great btw, there is no importer, and I don't find the way to federate more than one IFC files.
Any hints on how to fix it?
Thanks in advance.

steverugi

Comments

  • edited January 8

    Hello
    There is a new method to federate models. See video below:

    leGordeauArvOwura_qu
  • And in case you really want to combine two ifcs in one, there's merge:
    https://wiki.osarch.org/index.php?title=BlenderBIM_Add-on/IFC_Patch_Recipes

    leGordeau
  • WOW, thank you both!!
    I'm going to give a look at that ...

  • edited January 8

    In case anyone wants to know, I also use one workaround which is just copying the content in one IFC file into another (Crtl+c > Crtl+V), both opened in different Blender sessions.
    Is not as clean as the procedure shown by Petru, but does the work.
    I also knew about the patch recipes but didn't manage to make them work :(
    It would be great to have the old import IFC command back which, in my opinion, makes the workflow much cleaner than any other, even understanding that the result is by no means an IFC file but a .blend scene with the elements of all the imported IFCs.
    Thank you very much!!!

  • @leGordeau said:
    In case anyone wants to know, I also use one workaround which is just copying the content in one IFC file into another (Crtl+c > Crtl+V), both opened in different Blender sessions.
    Is not as clean as the procedure shown by Petru, but does the work.
    I also knew about the patch recipes but didn't manage to make them work :(
    It would be great to have the old import IFC command back which, in my opinion, makes the workflow much cleaner than any other, even understanding that the result is by no means an IFC file but a .blend scene with the elements of all the imported IFCs.
    Thank you very much!!!

    I am glad you sort it out
    I usually work in Civil3D with UTM projected parts of a large project (railways) so I have station buildings geolocated, and oriented, at some distance (5 to 10km), I am converting them in IFC, how do I federate them? Petru's video wasn't sufficient for me unfortunately but I can give it another try..
    thanks

  • For the time beign, I used to import as many IFC files as I needed, using the old importer, and then saving all as a .blend scene. If a new model comes into the game, I just had to import its IFC to the federated model.
    With the change in the way BB loads IFC models, the fastest, yet not so "clean" workaround, is copying and pasting each model from diffenet IFC files opened in different BB sessions. All IFCs must have coherent Coordinate Origins so that they fit into place in BB.
    Hope thi helps!!

  • @leGordeau said:
    All IFCs must have coherent Coordinate Origins so that they fit into place in BB.
    Hope thi helps!!

    thanks for your reply

    the stations I just begun to convert to IFC (from 2D Autocad plans/elevations plotted onto a civil3d model) work withUTM30N coordinates, I need to understand how to play with local/global coordinates in BBIM I think

    what I'd like to achieve is the possibility to set the grid of each building with local 0,0 (but with global x,y plus north) to be able to, 1)model them separately and 2)geolocate all in a larger context. Next step is to also bring in bridges and culverts.. makes sense?

    If you like I can share here a simple projected DXF with some grids of the stations

  • @steverugi I managed to federate files of an 800x100 m working place, a train station as well.
    Depending on the size of your base model, it may cause blender to visualize your models incorrectly.
    But who's afraid of that!!
    If I can give you a hand with that, count me in!

    steverugi
  • what I'd like to achieve is the possibility to set the grid of each building with local 0,0 (but with global x,y plus north) to be able to, 1)model them separately and 2)geolocate all in a larger context. Next step is to also bring in bridges and culverts.. makes sense?

    @steverugi the IFC 0,0,0 is equivalent to the Blender 0,0,0 by default. So for any geolocated model, that means that all models to be federated should 1) have a false origin, to prevent large coordinates, and 2) share the same false origin. See https://blenderbim.org/docs/users/georeferencing.html

    Currently the federation process does require quite a few clicks, i.e. opening each one in a separate session, saving the blend, then linking. However the big benefit of this over copy pasting is that the linking lets you get more objects in huge models. For example, when you link a many model with >30,000 objects, you won't get the same lag as you would if you copy pasted it.

  • @Moult said:
    Currently the federation process does require quite a few clicks, i.e. opening each one in a separate session, saving the blend, then linking. However the big benefit of this over copy pasting is that the linking lets you get more objects in huge models. For example, when you link a many model with >30,000 objects, you won't get the same lag as you would if you copy pasted it.

    Very Interesting. Thanks for the reply, Dion.
    Any possibility of seeing the IFC importer back?
    All in all, you'd have to spend the same amount of time loading an IFC on each blender session, so using the importer you'd save time and, in my humble opinion, the process is a bit cleaner.
    Thanks again!!

  • You can get the same behaviour as the IFC importer if you really want, but you will lose the IFC data link. If all you're after is names, collections, and geometry, it should be good enough for you.

    1. Load a project
    2. Purge IFC links
    3. Go back to step 1 and repeat for how many models you have. It'll all load into the same session.


    leGordeauArv
  • WOW, Thanks Dion!
    I'm going to test it ASAP.

  • @Moult said:

    what I'd like to achieve is the possibility to set the grid of each building with local 0,0 (but with global x,y plus north) to be able to, 1)model them separately and 2)geolocate all in a larger context. Next step is to also bring in bridges and culverts.. makes sense?

    @steverugi the IFC 0,0,0 is equivalent to the Blender 0,0,0 by default. So for any geolocated model, that means that all models to be federated should 1) have a false origin, to prevent large coordinates, and 2) share the same false origin. See https://blenderbim.org/docs/users/georeferencing.html

    wow quite a comprehensive documentation there, thanks

    Currently the federation process does require quite a few clicks, i.e. opening each one in a separate session, saving the blend, then linking. However the big benefit of this over copy pasting is that the linking lets you get more objects in huge models. For example, when you link a many model with >30,000 objects, you won't get the same lag as you would if you copy pasted it.

    at the moment I would like to have a master IFC model with only mockups of the stations and other infrastructures, like bridges and culverts (2D footprint only, like placemarks), to be later populated with actual subprojects, each of them with their own false origin in 0,0,0.

    My projects are quite extensive, spanning tens of kilometers of tracks, but I need to be able to group buildings and infraworks to produce an overall quantity report hopefully linked to a work schedule with gantts etc..
    For railtracks, turnouts and other things I am using QGIS, very handy, but it would be nice to have the 4x3 fully integrated in BBIM one day, thanks again @Moult for your kind support

  • Ah right for that scenario we'd need to support resolving multiple false origins. This isn't yet implemented but a known shortcoming. Could you help report a bug so we can track it?

  • @Moult said:
    Ah right for that scenario we'd need to support resolving multiple false origins. This isn't yet implemented but a known shortcoming. Could you help report a bug so we can track it?

    by all means, will study the documentation soon and give it a try, cheers

  • Your model’s local engineering origin at 0, 0, 0, will always convert exactly to the Easting, Northing, and Orthogonal Height displayed in this panel.

    Does this mean the project empty has no meaning? I always thought the geolocation is defined for the project empty (origin) and not for the blender origin. So that I can have three buildings in one project, each one in a separate ifc file at blender origin exactly 90° and have their position to the project origin defined by their respective project empties.

  • The project empty coordinates has no meaning, as an IfcProject has no ObjectPlacement. The geolocation is defined at the geometric representation context level.

    Arv
  • What started as a simple procedure thread has become a very interesting document.
    Thank you all, guys!

  • Hi steverugi,
    Now you can do a workround using IfcPatch (recipe from OffsetObjectPlacements). When you have your partial model, use IfcPatch and place it at the correct coordinates.
    As Moult said, the key is to set a false origin (for the master file, for example), place all other objects according to it and then federate them

  • @avico said:
    Hi steverugi,
    Now you can do a workround using IfcPatch (recipe from OffsetObjectPlacements). When you have your partial model, use IfcPatch and place it at the correct coordinates.
    As Moult said, the key is to set a false origin (for the master file, for example), place all other objects according to it and then federate them

    thanks @avico but I'm still struggling a bit with the implementation of what suggested, would you be so kind to list an explicit workflow?
    this is the patch:

    • if the .IFC already contains georeferenced info is it correct to copy the same into these boxes?
    • ax,ay,az are delta values?
    • how is this patch dealing with rotation?

    I've been working for years between georeferenced DWG models and QGIS + SQLite without issues, I am not a total noobie in this field but I am somehow missing some steps atm

    step 1

    Say I have two models, both station slabs for simplicity, with their Grid A1 corresponding with 0,0,0 of BBIM
    with x,y,z coordinates in UTM30N EPSG code 32630, using the calculator to convert the rotation angle

    I can fill this data (station 1) into the relevant BBIM pane :

    is it correct or do I have to fill in more ? just for me to see if I can go to step 2
    thanks a lot for your help

  • Hi steverugi,
    IFC Patch Imput are the file you want to move, IFC Patch Output are the name for the file displaced, x, y, z are translations and ax,ay,az rotations around the axes.
    A numeric example:
    Supose you have a project in EPSG:25831 system (with coordinates inside 404048.0,4619180.00 : 404252.00,4619400.00 rectangle) . To avoid big numbers in Blender, you must choose a false origin near the project, so you choose 404048.0,4619180.00,0.0 as "Blender origin" for all project.
    Supose you have a abutment structure with real X,Y,Z reference coordinates 404145.098, 4619289.205, 316.449 and for make an easy model, you choose 0,0,0 as reference. You save the IFC abutment model whit 0,0,0 as reference coordinates.
    To add this IFC to your Blender project, you need translate this IFC abutment to make it coherent with the Blender origin, that is, you must translate it ( 404145.098 - 404048.0 = 97.098) in X, (4619289.205 - 4619180.00 = 109.205) in Y and (316.449 - 0.00=316.449) in Z. To do this,
    in IFC Patch you must choose the IFC abutment file as IFC Patch Imput. In IFC Patch Output put a name for the file with displaced objects (Abutment_Offet.ifc as example) and for x,y,z,ax,ay,az values 97.098, 109.205, 316.449, 0.00, 0.00, 0.00 (supose you don't need rotations). Now, you can link this Abutment_Offset.ifc in your whole "Blender project".
    In addition, supose you have a pile structure with real X,Y,Z reference coordinates 404153.146, 4619280.644, 313.5919 and for make an easy model, you choose 0,0,0 as reference. You save the IFC pile model whit 0,0,0 as reference coordinates. Again, to add this IFC to your Blender project, you need translate it, but in this case (404153.146 - 404048.0 = 105.146) in X, (4619280.644 - 4619180.00 = 100.644) in Y and ( 313.5919 - 0 = 313.5919) in Z. The values for x,y,z,ax,ay,az in this case are 105.146, 100.644, 313.5919, 0.0, 0.0, 0.0. Now, you can link this Pile_Offet.ifc in your "Blender project" and coordinates are coherent with the Abutment_Offset.ifc and the rest of the blender project.
    If you need the abutment model or the pile model in real coordinates ( EPSG:25831 system in the sample), you must choose their real reference coordinates as parameters x,y,z,ax,ay,az in Ifc Patch.
    I hope this help. It's a bit confusing but in the end is traslate/rotate objects considering a new origin

  • edited January 10

    thanks @avico for taking the time to prepare your writing, super helpful but I need to process it a bit maybe creating geometries as you suggested (I need to add more info to them to make it workable but it's OK I think)
    hopefully I can get through it over the WE
    thanks again for your help, much obliged

Sign In or Register to comment.