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.


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:


Release 1.4 final: support for both IFC 2×3 and IFC4

We’ve made the 1.4 release final today. Biggest improvement is the support for both IFC4 and 2×3 in one project (each sub-project can have a different version). Furthermore there are some improvements on memory use and performance.

When you build something on top of BIMserver you have to notice that most of the API calls have changed. Because of the use of multiple IFC schemas it is now necessary to add the schema in most of the API calls.

The IFC4 features have been tested as good as possible. We are used to more intensive testing, but don’t have enough valid IFC4 data to make any guarantees. Any help/data is welcome. The stability of the whole platform, and the usual stability of the IFC2x3 parts are obviously still in there.

We are very happy to announce that this release is in conjunction with and IfcOpenShell. This means the plugins are already updated to the new version of BIMserver, which creates a very low threshold for users.

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!


In the spotlight: BIM as a Service

There are many many spin-offs of BIMserver products. Some really large BIM software product use BIMserver as their backend without anyone seeing it. You might even been using BIMserver without noticing. Since there are so many we cannot advertise all of them, and really don’t like to favor one.

But there is one special one. Just recently “BIM as a Service” came online. All of a sudden. Also for us out of the blue. We just want to stress that we are nót affiliated in any way with this initiative. The reason why they are in this blog is  because they just  seem to get it. They understand.

“BIM as a Service” is a product from Mitra Innovations. An international company with a great track record in online services. Mitra combined WSO2 and BIMserver to build the BIMaaS product. They published a paper on how they did that.

The nice thing about BIMaaS is that they don’t centralize BIM and don’t try to get everyone on one island to collaborate. We’ve been supporters of that concept for a while now. BIMaaS uses the power of WSO2 to link to excising/legacy systems in your organization. The BIM data is ‘just’ another data source. Great vision that we fully support and share.

To top off, BIMaaS is open source and publicly available. This means the guys from Mitra also understand where their added value is and work according to a great business model.

All in all a message that we thought deserved to be in the spotlight. Have a look at


Public test/demo server

Today we’ve put a demo/test server online available for the public. You can find it on Please note that the URL is chosen for a reason: this is a server we use to test and evaluate the software. It might run the latest version from github, it might run an older release. Every once in a while we flush it to start fresh again.

Feel free to use the server. There is a ‘register’ link on the opening page. Beware that you are putting your IFC files on a public server. We provide admin access to users who request it, so other will be able to see your model.

The server is running on a dedicated 128Gb RAM server. Anyone who thinks BIMserver can’t handle large files is welcome to use this server  to test it (again: we might be running an experimental  build,   so please  check first  with us if you really want to test it). The most used plugins are also available on this machine (COBie, IFC2RDF, GUI,  etc) and it used IfcOpenShell as the default render engine.


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.



The model checking plugin

We’ve been getting some questions about the model checking feature of BIMserver. In this post we’ll try to explain some of the capabilities.

Many ask us what standard we use for the model checks. The answer is clear: none. Just like with the query language we couldn’t find a standard that is stable enough  to be used in practice. We know there is mvdXML, and you can even argue BimQL is  a model   checking language. There are many others as well with great intentions.  However, after carefully listening to our user’s needs, none of these standards are capable of handling basic model checking requirements our  users have. Because we don’t believe in standardization because of standardization we went for a different solution.

The current implementation is a JavaModelChecker.  With this capability you can write java code against the BIMserver core and do modelchecking. Results can be ‘pass’, ‘fail’, and ‘list’ (which gives a list of fails).  There are examples available on…javamodelchecker   Specifically look at the ‘Window With Checker’ on…

Modelcheckers can be used before data is stored in the database as a new revision, or before a trigger is send to a service. In both cases the bimviews GUI can help you with setting up modelchecks.

The implementation has the option to create other modelcheck plugins. This is what Chi Zhang (Eindhoven University of technology) did for mvdXML.  His mvdXML plugin is a derivative of the JavaModelChecker.  By using this plugin you can use mvdXML files  to check the model against.

We’re following the developments of mvdXML, but also the modelcheck capabilities the new ifcOWL (combined with reasoners)  can bring to BIM. When stable enough, the development will be tuned.



Release 1.4.0 final

Release 1.4.0 final is out. You can find it on It is the first release where we are able to combine IFC 2×3 and IFC4 in the same database. Users are now able to have a project with models from different structure. For example the architect in IFC2x3 and the Construction Engineer in IFC4.

We could only test the IFC4 feature very basically. We received a couple ofIFC4 models from users, and found some test models on the internet. Some of these models where not valid IFC4 because they did not comply to the schema. When you have IFC4 files, please send them to us for testing. We will also   put up a public demo/test  server soon.

Because of the collaboration with, the plugin is now shipped with the BIMserver release.

Besides the main new feature of IFC4, there are improvements on performance and stability. We intent to release updates of the 1.4.0 version with a date stamp. So keep watch of those on github.



Upcoming release: test data migration

As we discussed earlier, the database of the 1.4 release of BIMserver will be significantly different from 1.3. We didn’t give priority to create a migration script for the database so you need to start with a fresh install of BIMserver when you use 1.4. To accommodate users that really want their data from a 1.3.x BIMserver into their new 1.4 installation, we created a migration script. What is does is download the data from the old BIMserver and import it in the new 1.4 database. This is only tested once on one of our own projects. It seemed to work, but we cannot guarantee that is works all the time. You need to be some kind of nerd magician to get this working because there are no buttons to push, but actual java classes to run. We have a short guideline on and of course when you really are a nerd, you will find everything you need in the code:

We call everyone who thinks they need this to test it before the final 1.4 version is coming. We expect this soon now, so please make sure you have your database ready when it comes. Feel free to use for additional support and bug reports. Good luck!