Software development tools to support developers optimising BIM processes
by Lee Maguire | November 27, 2020 | 4 min read
Home / Insights / Digital Technologies / Software development tools …
At BIM Academy we have been working with different model-viewing software in our research projects, with a view of finding the right viewer to solve some specific challenges around visualisation of BIM data in the web browser.
In this article I will discuss some of the software development kits (SDK) and application programming interfaces (API) we have experimented with and discuss the features available. I hope you find this useful when making your own selection.
Forge
Autodesk Forge has been around since 2015 and serves a multitude of different features around the visualisation and storage of BIM model data. I will focus on the two aspects for Forge I am most familiar with: the model derivative API and the Forge Viewer.
The model derivative service offers developers the ability to pass over 70 different model formats and convert them into other file formats, hosting them on the cloud. The ability to offload hefty file conversions is immensely useful freeing up your system to continue working elsewhere. These converted files can be then accessed from Autodesk’s Forge Viewer – a free tool for viewing models uploaded to the API.
Forge viewer is built on top of the three.js library which was released in early 2010 and provides a higher-level framework in which to build WebGL based applications in a web browser. The Forge Viewer offers the ability to see all of the BIM data, navigate the model and offers some ability to add features through their extensions system.
Xbim flex
Xbim offers a far more developer-oriented approach which provides complete access to the code under the hood. This allows for a level of control not currently available in other platforms and allows developers to have more control of the data in their BIM models.
Xbim flex is an open-source platform built using Microsoft’s .NET framework that offers the ability to upload IFC files into their system and view the model in their custom-made 3D renderer, as well as access and see all of the associated BIM data from the model within the viewer.
The Xbim WebUI is the least developed viewer of the three discussed in this article, but being built using native WebGL, this again offers granular control over how and what is rendered. On top of the open-source aspect of Xbim, it certainly leaves the most potential for expansion and customisation. Due to its simplicity it could be the ideal viewer if you want to quickly show some contextual information about an IFC file.
Unity
Unity began as a games development platform, but in recent years has started to spread into different sectors. More recently, Unity has released a new product called Reflect which can stream BIM data live into a Unity viewer. At present you can have a real-time renderer for BIM data fed live from Revit, Rhino, Navisworks, Sketchup or directly from the cloud. Being primarily focused on games, a lot of attention has gone into the fidelity of the graphics and performance of the renderer.
The Unity engine, which has been around for about 15 years, has the ability to go in and slot additional functionality is a relatively painless experience. This offers complete control over the visual and features of your viewer. Unity Reflect enables you a ‘game engine’s level of control’, while maintaining all of the BIM metadata from the original model.
Unity, being a more mature platform, has a wealth of different resources and libraries available to be able to add features and functionality. You can also compile your viewer instances to native mobile applications, desktop applications or even web-based renderers, giving a lot of flexibility for how your viewer is used and distributed.
In conclusion
Currently we have a Forge solution using model derivative service and some basic extensions on the viewer. We are looking into Unity Reflect for its ability to add custom features and simulations into the viewer. As our research stands, Unity works best with smaller models.
There are a variety of solutions and offerings around visualising BIM data on the web. Ultimately which is best will come down to the specific use case for your viewer, but I hope that what is discussed here will aid your early research.
If you would like to know more about our research or how to select the right visualisation tool for your project, contact Lee Maguire at [email protected].