BIMserver is supporting IFC4 almost since the final version was released. We have the option to store data as IFC2x3 or as IFC4 and transform the data between the two versions. So far our users have not found IFC4 very useful because it doesn’t seem to add value to practical usage. Nevertheless IFC4 has some great improvements. The guys from Areo (not in any way affiliated with any of us) have written a great blogpost about this. Although some of the claims they make are not backed by facts (yet) we think it is worthwhile reading and we are happy to share it with you: http://blog.areo.io/ifc4-is-it-ready-yet/
Release 2.0 is coming up. As always we do very intensive testing of the BIMserver platform. The 2.0 release has some major changes that drastically effect plugins and webmodules. To make sure all components interact correctly, we need some drastic human testing. Therefore we are looking for people that want to test the tools and send feedback to developers.
The deal is simple: we send you a beta version of BIMserver 2.0 with lots of plugins. You use it (preferably with a screenrecorder) and send us back issues that you find. You should include logfiles, database, original IFC data, etc. As a thank you we will overload you with eternal gratitude and some of our goodies.
When you feel you are up to this task, please fill out the form. Thank you for making these tools become better!
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 bimvie.ws GUI has a new feature to automatically import the whole dataset into your BIMserver for demo and testing purposes.
Recents weeks we’ve been using the dataset to perform some optimisations on the usability of bimvie.ws 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, bimvie.ws 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 🙂
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.
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.
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 (https://www.youtube.com/watch?v=LOJsHvGq-KE) and Planning consult service (https://www.youtube.com/watch?v=nJTh_0Xmra0)
Stijn van Schaijk
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 bimvie.ws 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.
The IFC data used in the videos came from the public available Schependomlaan.
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.
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.
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.
The use and development of the BIMserver.org 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 firstname.lastname@example.org
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 email@example.com
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: