Skip to content

3D Repo BHoM integration

Jozef Doboš edited this page May 7, 2020 · 7 revisions

The BHoM-3DRepo integration leverages the Adapters and the BHoM conversions to import data from certain softwares and then export that to 3DRepo.

The BHoM allows connection through a multitude of different softwares, like Revit or Autodesk Robot. In the examples below, we illustrate the following two cases:

  1. A model is imported from Revit, converted to BHoM object model, and then exported to 3DRepo
  2. A model is imported from Robot, converted to BHoM object model, and then exported to 3DRepo

The process always passes through a central step of conversion of the model to BHoM schema. This allows to maintain the same features available through all the software supported by BHoM, and leveraging the library of BHoM functions.

1. Extract a model from Revit and upload that to 3DRepo through BHoM

image

Peform the diffing of the model between different revisions:

image

2. Structural model

Structural model with metadata loaded from BHoM into 3D Repo: image

.BIM File format

3D Repo developed a .bim (.BIM) file format, and a related C# library that allows to import and export from this format.

The .BIM file format is loosely based on the original SRC implementation, which eventually transformed into glTF. Underneath, it is effectively composed by:

  • a JSON header, which lists the offsets (integer pointers) for the individual geometry components listed below plus all the other text-based data entries such as colours/materials, metadata, transformations (as array of doubles), etc.
  • a binary dump of the payload, which is made of meshes.

More information can be found here: https://github.com/BHoM/3DRepo_Toolkit

image

.BIM C# stand-alone library

  • Generates 3D Repo specific file format (based on SRC which is pre-cursor to glTF)
  • Allocates JSON header with offsets binary payload
  • Includes meshes, colours, materials and metadata

Future work:

  • Add support for textures
  • Optimise performance further
  • Add to plug-ins for Revit, etc