Hello Schependomlaan

As many of you in the BIM innovation community noticed, Stijn van Schaijk posted a huge amount of public available BIM data on github. Gigabytes of data including IFC data, BCF, pointclouds, schedules, log files, etc. are open available for R&D and educational purposes.

The message in to import Schependomlaan dataset

The GUI has a new feature to automatically import the whole dataset into your BIMserver for demo and testing purposes.

Schependomlaan after import

Recents weeks we’ve been using the dataset to perform some optimisations on the usability of and BIMserver. We’ve noticed that multiple aspect models didn’t perform as we expected and we updated the API of BIMserver to better facilitate this in the viewers.

Testing of the new setup with IfcOpenShell, and BIMserver show remarkable performances. Loading the whole dataset with all 49 aspect models over a home internet connection fully loads within less than half a minute.

Testing on localhost shows the complete dataset in around 10 seconds which proves the limitation is in the internet connection.

We are excited about this and are looking even more forward to the new version of BIM Surfer. The BIM Surfer V2 is well on its way with a much leaner and stable API, an MIT license and much more features for improved usability.


We are stoked to see more and more open source tools of such high quality complementing each other. The activity on github, the release of the Schependomlaan and the growing use of BIMserver prove that BIM users are still seeking innovation. We are happy to contribute to that 🙂

cesium integration

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

BIMserver developments during study

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




bimserver icon logo

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.


We are hiring!


The use and development of the platform is accelerating. The 1.3 release has been downloaded 80.000 times. That is great! Therefore we have several job openings for Java developers. Are you a Java developer that really understands the fundamentals of Java? Are you used to working with Eclipse and the Eclipse Modeling Framework (EMF)? And, most important, do you have what it takes to change the world?

Send us your motivation with a list of previous work. When you did something with IFC or BIMserver in the past, please elaborate on that. There are some things that could be improved on BIMserver. When you feel motivated to work on those, please let us know how you would approach them.

E-mail us on

Don’t have enterprise Java knowledge but still want to contribute to a game changing development team? We have several short-term freelance jobs to write plug-ins (internal services and serialisers). In this case we do like to see some previous effort. Send your resume to

Setup step 4: add plugins

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:

bimserver icon logo

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.


Screenshot 2015-12-17 20.20.52

Metrics on the Elasstic project

The EU supported researchproject Elasstic has been using BIMserver to create a new BIM concept in the security domain. During the project BIMserver was used to store IFC data and trigger remote services (now called ‘BIM Bots’). We will go into detail later about the Elasstic BIM concept (that also involved Multi Criteria Analyses for evaluation of simulations based on BIM data). This blogpost is about the metrics of the model and the used BIMserver and GUI plugins.

The BIM in Elasstic was split into 5 different sections. The 5 sections together formed the whole building. They are named ‘ Ribbon 0’ to ‘Ribbon 4’. Within the 5 sections discipline models where created for the disciplines Architecture, Construction and MEP. There was no need for fusion/merging of the models so these plugins where not used.


In the revision that was checked in the latest, the total number of BIM objects that were created was almost 20 million (19.188.069). To give a small indication of the type of objects:

  • 1151 beams were modelled;
  • 1222 columns;
  • 2041 doors;
  • 764 slabs;
  • 1170 spaces;
  • 332 stairs;
  • 2526 windows;

This resulted in:

  • 3.285.133 cartisian points;
  • 5.019.418 ifc faces;
  • The most used IFC object was IfcPolyLoop with 5.019.433 occurrences.

The IfcClassification object was only used 15 times.



The geometry of this latest revision is quite detailed. The metrics about the geometric triangles:


These numbers are after the boolean operations performed by IfcOpenShell.


In total 35 revisions are checked in by 7 different users.

The process of BIMserver use was evaluated by using process mining technology on the event log of BIMserver. This resulted in the following diagram (credits to Stijn van Schaijk):


The project started with a BIMserver 1.2, but during the course of the project was migrated to version 1.3. The GUI plugin was, the IfcOpenShell plugin was used to generate geometry.

The setup runs on a dedicated server with 56Gb RAM memory, 4 CPUs and quite a slow disk.

All objects were able to show in On some operations (selecting) the performance was not user friendly, but the most common usage has acceptable performance.

We had multiple suggestions for optimization of BIMserver which will be evaluated in the 1.4 development.

An impression of the latest revisions of the models: