Developments, research projects, roadmap and all other news of the platform

BIM and GIS integration

While the development of BIMserver 2.0 is taking most of our time, every now and then we have an experimental project on the side. Sometimes for clients that couldn’t find a solution for their challenge, sometimes for clients that are stuck in their development.

Most of the ‘side projects’ are fun for us and every project seems to be crucial for the clients that request them. We try to make the results of these small initiatives available for the public. This is not always possible, but most of the times we manage to find a solution.

Last week Ruben made a transformation from IFC geometry to the Cesium framework. It will be available in the next release of BIMserver, but of course it is already available for developers. When you are familiar with Cesium, feel free to try this code, which generates the Schependomlaan dataset, in your Cesium sandbox.

cesium integration

Guest post from Stijn van Schaijk

We have a guest blog today from Stijn van Schaijk who send us a message with his experiences using BIMserver:

During my Msc graduation research into process mining within the construction industry (link). I developed a workflow which enables continuously learning loops within construction companies. I was searching for software solutions which could help me realize this goal. After some research I found out that the workflow I was proposing was not possible with all the existing tools of today. So I had to make some software myself. BIMserver gave me a perfect start, since it is a solid basis of software where one can make his specific tool on top.

BIMserver developments during study

Proposed workflow: the software developed in BIMserver filled the gabs commercial tools did lack off

During the development two plugins on BIMserver where made. Those plugins could be perfectly used in my workflow and filled the gab commercial software could not do for me. I decided to make the plugins available (this is not required but my own choice) for public so they can be used by anybody to test, adjust and improve. Ultimately this would lead into new stable solutions for the construction industry.

BIMserver was great to use for my research. I did not had to start developing software from scratch. If I had to I was probably not be able to graduate within a year.

Tutorials and explanation about the developed plugins can be found here: Event log service (  and Planning consult service (

Kind regards,
Stijn van Schaijk

Update: We got many questions about the availability of the data Stijn used in his project. These datasets are available on github. Read more about it here.


Developer videos online

On huge request, we created new developer videos. They are on the youtube channel of the open source BIM collective in the ‘Developers’ playlist.

Basically we installed a screenrecorder on a new laptop and installed everything from scratch. You see the download and installation of Eclipse, Java, the setup of the Git gepositories, installation of the Maven tools, etc. etc.  There is also an explanation of how to run BIMserver with the and IfcOpenShell plugin.

Another video shows the start of a new internal plugin. You see the creation of a new plugin using the ‘DemoPlugins’  repository. Giving it a version number is also shown to get it working in the Maven context.

The last video is ‘an hour in the life of a BIMserver programmer’. This is the first hour of actual coding, experimenting and testing the newly created plugin. In this case the developer tried to create a plugin that calculates the outer area. The example shows the use of the preprocessed geometry from IfcOpenShell in combination with the semantics of IFC. As you can see it only takes a few hours to get a first prototype up and running. It will take some additional hours to fine tune it to perfection. The code is available on github for you to see it progress.

We’ve also added some smaller parts of the long videos into separate videos. These show the setup of,  BIM Surfer and the JavaScript API in Eclipse for development and some experiments with the new Query/Filter language based on JSON.

The IFC data used in the videos came from the public available Schependomlaan.

Elasstic EU research project report available

As mentioned before (here, here and here) the team was highly envolved in the EU supported research project Elasstic.

The ELASSTIC concept is about the communication between these three main technology groups:

  • Building Information
  • Simulation models
  • Sensor information

A fourth technology called ‘Multi Criteria Analyses’ (MCA) is providing the end-user the interface to evaluate safety and security of the building design.

bim concept elasstic

The concept is best described with an example. Let’s focus on the case of a fire in a building.
In case of a fire in a building, the sensors from the Building Management System (BMS) pick it up. The BMS probably responds with the classic sprinkler system. A notification of the fire is also send to the evacuation simulation. The location of the fire, smoke and maybe intensity are available data at this moment in the process.

With advances in building management systems the number of people and their location might also be available as data. The evacuation simulation calculates the most effective evacuation route for the people in the building. To do this, it needs to calculate the spread of the fire so it also triggers the fire simulation. For these simulations information about the building is needed. This data comes from the (static) BIM. In case, parts of the building are destroyed, even this new information is available in BIM and have to be read by the BMS. When the BIM data shows installations with high risk of explosions, the ‘explosion simulation’ can be triggered. The structural integrity of the building might also be evaluated due to the effects of the fire and/or explosions.

The most effective evacuation route, due to the recent state of the building, is send to the building management system. By using signs the people in the building can be evacuated via the safest route in the most effective and efficient way. When people don’t use the suggested route, sensors (like cameras) can pick up this deviation and start a new simulation. Resulting in a recalculated optimum evacuation route that is send to the building management system.

Other information from sensors can also influence the process flow. For example when walls break down due to fire; the BIM data set gets updated and this new dataset is used as the base for evacuation simulation. In this case new evacuation routes may come available. Or when parts of the building won’t provide structural safety anymore (found by a combination of sensors in load bearing columns and beams) this part might be prioritized in the evacuation (and the BIM data updated).

To get this theoretical idea into practice, the ELASSTIC project was started. During this project we tried to implement the concept with open source and closed tools, simulation models and open data standards. The research methodology was that of applied research.

During the project the concept of ‘BIM Bots‘ was tested with the following setup:


The workflow between BIMserver and the simulation models is ‘event driven’. Every simulation model can subscribe to events on the used BIMserver in which they have interest. When this event occurs the BIMserver sends a notification of the event to the subscribed simulation service(s). The simulation services most probably run on a separate (remote) server. This server can then perform actions on (using a token as login) and send the results back to the BIMserver, or to any other service. This way a chain of event driven services can be triggered on an event (like ‘new revision’).

The ELASSTIC BIM concept proved to have great potential to the industry. Due to the automation of simulation models (with or without supporting services) the designer is provided with direct feedback of the performance of the building during the (early) design phase.

To optimize the usability of this concept additional features are introduced like model-checking, pre-processing of data (called ‘supporting services’ in this report), post processing of data (in this project to facilitate the MCA tool), advanced query/filter functions, etc. Some results of Elasstic are already published in previous BIMserver releases. Others will be in the upcoming 2.0 release that has a new API and interface to support the ‘BIM Bots’ concept that was tested in Elasstic.

The final “REPORT ON IMPROVED USAGE OF BIM TECHNOLOGY” is written by projectpartners TNO, ARCADIS, SIEMENS, and SCHUESSLER-PLAN. Since the status of the report is ‘public’ we are proud te be able to offer it on our website.

Download the report here.

More info is available from Léon van




Release of 1.5

The 1.5 release came online at github. The 1.5 branch is considered a ‘developers branch’. The internals of BIMserver have drastically changed. The 2.0 version which is upcoming will have changes in the API / ServiceInterface. Developers that use internal plugins in their tools should have a look at this 1.5 release. Developers that connect to BIMserver from a separate application should keep a close watch in the development in the codebase.

Sneak preview 1.5 release

To get straight to the point: 1.5 will be a developers release. We intent to move to 2.0 as soon as possible after 1.5. The reason we do release 1.5 is because the internals of BIMserver have drastically changed.  When you are a BIMserver developer you should definitely  have a look at this.

There are two drastic changes we made in the upcoming 1.5 release: lower EMF usage and using Maven for plugins.

From the beginning we used EMF as the core of BIMserver. EMF is what made BIMserver. It was the technology that made it possible to have the network IFC  STEP structure on one side and database objects on the other. Back in 2008 when we started this was a revolution. EMF brought (and brings) flexibility for developers. The metamodel of IFC lowered the threshold for modern developers to develop applications with IFC fast and reliable. The use of this EMF technology also had some downsides.  The most notorious one it the high use of RAM memory of the server it is running on. The main goal of BIMserver was  and is to innovate the industry by providing a stable and reliable base to develop on. We always felt EMF was an important asset to provide developers with a flexible environment.  However, in recent releases the interface API of BIMserver became more flexible, the client side libraries more professional and the internal structure of BIMserver more plugin based. BIMserver developers didn’t use the server side EMF as much anymore as they used to do and the burden of high memory requirements started to weigh on users. This is why we decided to phase out the EMF. This is done in parallel with an increased plugin infrastructure (more on that in the next paragraph). In 1.5 there will be new serializers that directly get data from the database, without keeping it in memory using EMF. The old serializers will also still be in there. Same goas for deserializers and some plugins like ‘basic merging’. In the 2.0 release EMF will be out of (server side) BIMserver completely. The 1.5 release is a release to show developers how the can (and should) change their plugins.

Maven for plugins
As you know, BIMserver is a plugin based framework. Basically every features is a tweakable plugin. You should be able to run BIMserver without any plugin, or just a minimal set. Plugins have their own release cycle and numbering. Often plugin updates are released more often than BIMserver releases. Since the number of plugins and their releases has always been ‘uncluttered’ the process of updating plugins was most efficient by copying a new file into a directory. However, in recent time the number of plugins and releases has drastically increased. This calls for a new plugin infrastructure with higher requirements. We chose to use the Maven framework for this. In the 1.5 release all plugins will be available in Maven Central.  When you download the BIMserver release there will be no plugins in there. During the setup process you can choose to install some basic plugins from the online repository.  After installation, the full list of available plugins can be listed from Maven central and BIMserver admins can install them by simply clicking a button in a running BIMserver. Maven central keeps track of compatibility between plugin releases and BIMserver releases to make sure you don’t install an incompatible plugin. An extra setting in BIMserver makes it possible to have untested plugins also appear in the list.  We are very enthusiastic about this new framework and encourage plugin developers to have a look at the 1.5 release and migrate their plugins to Maven as well. The BIMserver development team has resources available to help and support developers with this migration process.

All in all there are some big changes coming ahead. As we made clear, the 1.5 is mainly a developers release to migrate to 2.0. This doesn’t mean you can’t use it. The performance increase of 1.5 is huge and we are sure many of you will like it a lot.  At this moment we are starting to feel comfortable with the development and are slowly moving towards  testing. As you know we are proud on our enterprise stability testing and won’t release until we have a clear picture of the stability of the 1.5 release.  We can’t wait to release it and get your feedback!


Some screenshots of the (in development) plugin pages:

New Year’s resolutions

Before the ending of the year, it is time to think about New Year’s resolutions. The last year was a good one: many new applications have been build on top of BIMserver and a significant number of commercial suppliers provide services for BIMserver. Large and small BIM products use BIMserver at their backend to deal with the IFC data.

Because of this increasing usage type, the type of demands for BIMserver change. Everyone knows BIMserver needs a lot of memory. This is due to the use of the EMF metamodel in the core. There was a constant evaluation between the positive sides of EMF (developer friendly) and the downsides (performance).   One of the new year’s resolutions for 2016 is to experiment with a serializer that does not use EMF. This might lead to a new generation of BIMserver releases that do not use EMF anymore.

Another increasing demand we get is the need for a rich and stable query language. BimQL seems to be the most common BIM Query language (and is supported by BIMserver) but has limitations. The commercial use and increasing complexity of applications that use BIMserver as their base, demand query capabilities beyond the current plugins. We’ve always waited for the industry (or academic world) to develop a rich BIM Query language, but time is running out. That is why we decided to remove the Query-plugin type and build one new query language. This will be implemented (native) in the interface as well. Some work on this has already been done (look at the codebase) and we plan to gradually migrate the current API to a new one.

Last but not least: Maven arrives at the scene. We get way too many errors in the support forum caused by incompatible versions of BIMserver and plugins like or IFC Engine. It is time to use Maven to deal with this in an effective way.

So far our biggest plans for 2016 (and beyond). There are also intentions with smaller implications (remove deprecated code; create database indices; etc.). Have a look at the list on

We wish you all a Merry Christmas and a great New Year! See you in 2016.


Many BIMserver applications during AECHack

At any AEC Hackathon BIMserver (and other open source BIM tools) are used to  improve the built environment. The AEC Hack event in the Netherlands took place in Eindhoven last weekend. Since this is the birth place of  BIMserver, many participants seemed very enthusiastic to use it.

The 45 participants from over ten different countries built their solutions to the challenges using multiple different open source BIM tools.  All the results from évery team have also been publicly published again. A great example on how you can make the world a better place when you put your mind to it.

Have a look at the results, pictures, and keep track of  the site for the 2016 event!


A historical day for ifcOWL

Today is a historical day. At the LDAC workshop in Eindhoven the different profiles of ifcOWL where coordinated  into one single agreed ifcOWL standard. Almost 10 years after Jakob Beetz first pitched the concept of ifcOWL to BuildingSMART, he was now leading the ‘technical session’ of the ‘Linked Data in Architecture and Construction’ workshop. After hours of debate and discussion the international research community left the room with a final, agreed version of ifcOWL.

The next step is to bring this version to the first BuildingSMART meeting to have it accepted at the official BuildingSMART ifcOWL.

This day will be remembered as a breakthrough for semantic BIM data  on the web. At we are committed to implement the new schema as fast as possible in the IFC2RDF plugin (update: this is done; many thanks to Pieter Pauwels). From that moment on there are many opportunities to developed new tools and features based on this technology. We are especially looking forward to the new model checking language based on N3.



Visualize your BIM data with charts

It’s my pleasure to announce that BIMserver, in addition to all its managerial and model checking features, is extending the opportunity to you to further visualize your data models with charts.

Building Information Modeling (BIM) is a complex endeavor. In a technology-rich environment, there is the opportunity to further complicate the process by demanding the data in many different forms. This opportunity hopefully provides specific value to the process as a whole. Today, it is reasonable to expect the ability to display, toggle, and explore such models in detail without ever assembling anything physical. Seeing the model in this detail is both visually appealing and provides practical benefits.

Enter BIMserver’s new charting module.

Charts provide counter-points to the in-depth detail of three-dimensional representations. This is important because it empowers the process to communicate answers to intriguing questions. What is the model made up of? Why are these pieces related? How do the pieces stack up against each other? All of this is delivered in a way that simultaneously avoids sending the whole model while retaining its overall shape.

The charting module packages programming for charts of 16 different types. Provisional demonstration plugins released as part of this module expose a small portion of these new features. These plugins focus on organizing and laying out the tree structure of a standard IFC project:


The charts are delivered as a web-technology known as Scalable Vector Graphics (SVG). This means that these deliverables can be extended to be interactive or animated with existing tools that edit SVG files.

More pictures available on the README page on github or my twitter account. Contact me via github.