In our previous article, we have elaborately explored IFC file formats and other open BIM standards which one can use in enterprise systems in the AEC industry. In this article, we are moving further into the subject and will be looking into open source BIM software and components that you can use to build a BIM infrastructure.
Without further ado, let’s explore BIM servers, 3D model viewers, validators, and a range of other useful tools for building such an infrastructure.
Central BIM model storage is the cornerstone of a robust information system. BIM models used to be stored as files in cloud services like Dropbox, SharePoint, and shared FTP servers for a long time. Users had to keep track of versions manually and change filenames with every next version of a BIM model to distinguish one iteration from another.
BIMserver — From Many Files to a Single Database
BIMServer is an enterprise-grade open-source software that was developed to support the transition of file-based BIM storage to the realm of online databases. The stability of BIMserver is proven in the enterprise, as many commercial applications are built with it. The upcoming release of Version 1.5 will add full support for IFC4 and IFC4 Add 2 specifications.
BIMserver operates on the object model that evolved from IFC specifications into Entity Modeling Framework entities, which in turn are stored in a persistent key-value database. The latter uses embedded Berkeley DB Java Edition — one of the best libraries on the market.
Simplified BIMserver architecture. Image credit: Article “Bimserver.org – an Open Source IFC model server” (2010)
This library is the most suitable option for an internal BIM repository that needs to manage models amounting to many gigabytes. Plus, BerkleyDB’s modular architecture and broad set of supported plugins will help you further extend the functionality if your project requires it.
BIM Components & Viewers
Now, let’s look at a set of BIM components that you might need for viewing, editing, and modifying BIM models online and on a desktop. Some of them are building blocks that can be re-used in different scenarios, while other are fully functioning, standalone software solutions.
IfcOpenShell — Helpful Library with Geometry Conversion
IFC file format requires the support of many internal objects descriptions by class that you can process and analyse later.
In visualization, you need to to convert the IFC parametric representation to triangles that can be understood by GPU rendering software. This is were IfcOpenShell shines, helping you with object descriptions, file parsing, and conversion into triangles for 3D visualizations.
IfcOpenShell was written in C++ and has Python bindings as well as an interactive mode. There is also a set of derivative BIM open source software products available from the IfcOpenShell community — IfcMax, IfcBlender, IfcConvert, IfcOpenShell-python, and BIMserver plug-in.
Example of IfcBlender rendering using IfcOpenShell internal representation based on material properties from an IFC model file.
BIMsurfer — WebGL Viewer for IFC Models
BIMsurfer is one more tool that works well with BIMserver and relies on IfcOpenShell. It is a customizable WebGL viewer with different view controls, cameras, objects selection/manipulation, and other tools. It is based on xeogl WebGL engine and looks great in modern browsers.
BIMSurfer example of BIM visualization
bimvie.ws — BIMSie API Client
With BIMserver repository, you still need a way to work with your projects and data objects. Here, bimvie.ws is the linking tool. The component is available separately and in a JAR package that you can deploy together with BIMserver.
bimvie.ws example as part of BIMServer
Dynamo BIM — Parametric Graphics Programming Tool
Dynamo BIM is a tool for computational design and model parametrization. Open-source and based on a graphical algorithm editor, Dynamo BIM provides flexibility and features that can be easily integrated into your custom in-house environments.
Parametric design example in Dynamo BIM
OpenBIM — Open Toolbox for BIM
xBIM Xplorer example in action
The toolbox includes many different parts that an openBIM architect can re-purpose in custom apps:
- xBIM Xplorer — open and render 3D IFC models
- xBIM WebUI — web application that can open and render IFC models
- xBIM Utilities — bulk utilities for IFC files processing
- xBIM Exchange — support COBie and other mechanisms for data exchange
OpenBIM is your best BIM open source software if you need to build a Windows-based app.
The Free BIM Vision Viewer for IFC Models
BIM Vision is a lightweight IFC model viewer that doesn’t need a lot of disk space while providing you with a range of useful tools. It supports a plugin system that can be extended by way of other plugins, if you need to develop your own viewing or data processing extension. Among standard 3D navigation features, the BIM Vision viewer also supports collision verification, find/group objects functionality, revision changes checking, 2D projection in space, various measurements, and cooperation features.
The BIM Vision viewer with timber works plugin
Open C/C++/C# SDK and the plugin store allows you to develop and distribute your own custom extensions. The only drawback with this open BIM software is that it only works on Windows.
DDS-CAD Viewer — Free IFC Model Viewer
The free viewer is another solid option that allows you to check models, detect clashes, and many more. Visualization filters that provide an ability to analyze model objects in more detail is a standout feature of DDS-CAD Viewer.
DDS-CAD Viewer IFC example
Solibri Model Viewer
Last but not least, Solibri is another free and effortless tool to view BIM models. The main advantage is that the tool works well both on Mac and Windows desktops.
Solibri Model Viewer for Mac OS
BIM Components & Software — Conclusion
Open BIM software and components can help you re-purpose in and build as many complex internal enterprise systems as you need. There is BIMServer, functioning as a model repository, storage, and online database. There are many BIM components and viewers, to parse and process IFC files in. Thus, from validation and clash detection to geometry optimization and algorithmic parametric design workflows, there is an abundance of tools to help you create a reliable BIM architecture.
If you need help in building your BIM architecture, start by scheduling a consultation with experts of our AEC-focused unit.
About the Author
Pavlo Bashmakov is the Research & Development Lead @ Intellectsoft AR Lab, a unit that provides AR for construction and other augmented reality solutions.