[Ifc] federating ifcProjects with geolocation

edited February 21 in General
This discussion was created from comments split from: How to work with georeferenced dxf-files with global coordiantes in BlenderBIM.

The question is: how does one automatically federate (join, link, overlay) two projects according to their geo position?

Comments

  • thanks @JanF
    I hope this is not too off-topic

    1. Dxf specification doesn't include crs info, which means dxf files can not be natively geolocated. (You have to get the info separately)

    I think entities' coordinates in DXF are according to original CRS, that's how QGIS locates them correctly using its CRS settings.
    I don't know how but Civil3D/Autocad seems to be able to get the CRS from DXF just fine.

    1. Shapefiles..

    No Geopackage? 8)

    1. I'm assuming you've read and understood the guide here https://blenderbim.org/docs/users/georeferencing.html

    I wish someone prepared a simple workflow or a video on this, I am fully aware of the principles of local vs global coordinates but struggle to implement it in BBIM.

    Simple case:

    • one model (say a building) uses its local grid and georeferences the grid A1 point including the angle grid Y - true north
    • another model (a bridge or a culvert, road, etc at a max few hundred meters distance) does the same using its own local coords and georeferences its own grid A1 like the above building

    question:

    • how to properly georeference in different .ifc and later federate them in BBIM?

    I don't mean very large scale stuff, my real life projects have an area of a few hectars with some buildings/structures on it (station + maintenance sheds, few culverts and maybe a road bridge) and it would be nice to be able to work each one separately and federate them later for presentation purposes or else.
    But I guess even an example of a residential compound with 2 or 3 buidlings using their own grid and datum would do?
    thank you

    PS by A1 I refer to the intersection point of grid line A and 1 :>)

  • edited February 17

    DXF file with buildings grids and datum

    if someone would like to spend some time on it, I prepared the DXF with the site and 3 buidings plus ancillary structures (semplification of actual drawings I cannot share), coordinates are in UTM30N (EPSG 32630) the project is in Ghana.

    here the file: DXF

    one of the 6 buildings happens to have its Y axis aligned with True North:

    others have different orientation:

    any help to get the grid as separate .ifc projects (with the A/1 point as 0,0 local but georeferenced per DXF coordinates) would be greatly appreciated.

    thanks

    PS the project is correctly located as shown here:

  • Hi QuentinHamm,
    If you have your IFC project in Blenderbim, you can save it in "local coordinates" (with 0,0 as origin and later translate-it to real coordinates using IfcPatch (OffsetObjectPlacement recipe). This workflow work for me.
    Steverugi, I don't understand completely what you want. You can create a project for every grid with the A/1 point as origin (If you need some references for the cad file, for every grid translate/rotate the cad elements you need to put A/1 point as 0,0 and grid lines as X,Y axes and then import the DXF in Blender). Later, when you have your IFC project in this "local coordinates", if you want every project in real coordinates, use IfcPatch (OffsetObjectPlacement recipe) to translate/rotate it

  • thanks @avico

    Hi QuentinHamm,
    If you have your IFC project in Blenderbim, you can save it in "local coordinates" (with 0,0 as origin and later translate-it to real coordinates using IfcPatch (OffsetObjectPlacement recipe). This workflow work for me.
    Steverugi, I don't understand completely what you want. You can create a project for every grid with the A/1 point as origin (If you need some references for the cad file, for every grid translate/rotate the cad elements you need to put A/1 point as 0,0 and grid lines as X,Y axes and then import the DXF in Blender). Later, when you have your IFC project in this "local coordinates", if you want every project in real coordinates, use IfcPatch (OffsetObjectPlacement recipe) to translate/rotate it.

    OK here is the patch you suggest

    but I was hoping there was a way to do join .ifc files (modelled as 0,0 in their A/1 with their geolocation info for possible shift/rotation in a global or map environment) directly into a main one
    otherwise I do not undestand the use of geolocation feature (and the wiki page) provided in the UI, unless it's meant to be used to interface with Revit as I saw in a couple of videos on YT.

    If you don't mind, let me try the last time:

    • I have a set of .ifc buildings modelled on their A/1 in 0,0 (elevation not important atm) following their own grid with shift/rotation based on the master plan.
    • the same point in A/1 of each building also has coordinates from a CRS plus the axis rotation
    • based on the above, how to merge them into a whole model using BBIM?

    I tried the Project Setup > Link of .blend/.ifc models but (as far I was able to understand the process) they need to be already at a global location, not at their A/1 with 0,0 coordinates, not to mention that each model needs its .blend file

    In Autocad you can set a UCS for your model reorienting the building while keeping its original World coordinates for instance, with xref all fall into their place,

    What I practically need is to have the chance for anybody to model each building or structure in 0,0 and later push the model into a general arrangement, I think the right term is federated or combined, please see the page

    I just wanted to be more clear this time, I suspect dealing with multiple sub-models is quite common, especially in the IFC 4 and 4x3 world, but I have only started using it just a few months ago, apologies for my rant.
    Thanks again for your assistance

  • Hi Steverugi,
    You can merge separate IFC files using IfcPatch (MergeProject recipe), so you can joint all separates building in a file with the whole project.
    In front of this, you can maintain separate files in real coordinates for every building/structure and link them in the "global" project (see some youtube video from BimVoice about this).
    To use Blender for the whole project, you must be aware of the limitations about "big coordinates" and work with a "translated" model. Later, you can put it in real coordinates with IfcPatch.

    In your sample, you can work with a "whole project" but not in real coordinates, that is, with the model displaced near the origin to avoid big numbers in Blender. In that situation, create every building with 0,0 as origin (or append from other blender file) and translate/rotate it to his right "translated" real position (coordinates are no big and result doesn't have distortion like in QuentinHamm case) . Later, use IfcPatch (OffsetObjectPlacement recipe) and put the whole project in real coordinates

    I don't know if you can define "user" UCS in Blender like in Autocad but with the previous workflow you don't need it.

  • @avico said:
    Hi Steverugi,
    You can merge separate IFC files using IfcPatch (MergeProject recipe), so you can joint all separates building in a file with the whole project.
    In front of this, you can maintain separate files in real coordinates for every building/structure and link them in the "global" project (see some youtube video from BimVoice about this).
    To use Blender for the whole project, you must be aware of the limitations about "big coordinates" and work with a "translated" model. Later, you can put it in real coordinates with IfcPatch.

    In your sample, you can work with a "whole project" but not in real coordinates, that is, with the model displaced near the origin to avoid big numbers in Blender. In that situation, create every building with 0,0 as origin (or append from other blender file) and translate/rotate it to his right "translated" real position (coordinates are no big and result doesn't have distortion like in QuentinHamm case) . Later, use IfcPatch (OffsetObjectPlacement recipe) and put the whole project in real coordinates

    I don't know if you can define "user" UCS in Blender like in Autocad but with the previous workflow you don't need it.

    thank you @avico, will try using your method,provided I can get through the steps you indicated :)
    cheers

  • edited February 21

    I think you're both missing each others points ?
    @avico the goal is to coordinate (merge, join, link, put together) two projects with different project origins, based on their correct geolocation.
    @steverugi it seems to be impossible at the moment (I've been trying to do this for quite some time, there doesn't seem to be any software whatsoever that supports this). So basically for coordination purposes you always have to manually align the respective project origins to the same spot and rotation.

    So yes, the only purpose of the geolocation feature right now is interfacing with other systems, mainly gis.

  • hi @JanF, thanks for your input

    @steverugi it seems to be impossible at the moment (I've been trying to do this for quite some time, there doesn't seem to be any software whatsoever that supports this). So basically for coordination purposes you always have to manually align the respective project origins to the same spot and rotation.

    did you see this?
    link

Sign In or Register to comment.