What is a BIMserver?
The BIMserver is not hardware, there is no specific computer anywhere that you use. The open source BIMserver is software. You can download this software at no cost and install it on any computer. After installation, this computer (laptop, PC, rack server) is a BIMserver. So ‘the’ BIMserver does not actually exist, but it is the software you can use to create ‘a’ BIMserver.
OK, but what is that software?
This software enables you to create a server that can work with IFC data. You can upload IFC data to the server, usually in the form of IFC files. The software analyses the data in the files and places this in an underlying database. The core of the BIMserver software ‘understands’ the IFC structure and this creates a software tool that can support users working with BIM models in IFC.
Why IFC?
Currently, IFC is the most widely used and most mature open standard for BIM models. There are other closed standards that are perhaps used more frequently, but these are not supported to minimise dependency on commercial software resellers. Besides IFC, the BIMserver software can also work with other open standards for BIM, but more about that later.
What can this software / my BIMserver actually do?
The BIMserver software offers a wealth of functionality. It is up to the user to decide which features to use. Just to mention a few options; the BIMserver enables a project to be divided into subprojects. Each discipline or part of the building can then have its own project with its own users and authorisations. But because the BIMserver understands the structure of IFC data, all underlying subprojects are always neatly converged into the master project. IFC data managed by different disciplines is merged immediately after every change. After changes have been applied, the software can detect changes in IFC data and it can manage revisions and different versions. The ‘checkout’ function keeps track of who is working on which parts of the model. If, in the meantime, someone else uploads a change to the server, the warning bells will start to ring automatically. So, you see, it supports concurrent engineering.
Is that all?
Another popular feature is clash detection on the (merged) IFC data and the option to ‘subscribe’ to changes in (part of) the model.
Other users very much appreciate the automatic up-to-date KML interface. This enables clients to monitor the project progress in Google Earth. The exports to CityGML, ifcXML, Collada (for Sketchup) are also very popular. The O3D/WebGL functionality enables you to inspect BIM models in your web browser without having special IFC software installed on your PC.
The more technical users are enthusiastic about the Query and filter options for the IFC data. Simple pre-programmed queries such as ‘give me the 2nd floor only’ or ‘give me all the windows’ are widely used.
But you can program more complex queries yourself, such as ‘give me all doors on the 3rd floor that are wider than 900 mm’ using the advanced query function.
The nerds among us consider the various interfaces (web user Interface, REST interface and SOAP) and working with an EMF framework wonderful.
What does the open source licence mean?
The BIMserver software is published under the so-called GNU GPL version 3 licence. In short, this means that you have full freedom to do what you like with the software, under the proviso that this freedom in the software remains. In practice, it means that software suppliers may not use the source code in their own closed software. This must therefore also be or become open source. The BIMserver source code must therefore remain open source, wherever it is used.
Incidentally, the BIMserver software also uses external libraries such as the IFC Engine DLL. This is not open source but it is available at no additional charge in combination with the BIMserver software. See also the explanation about the system architecture.
Who does the BIMserver belong to?
People often talk about ‘the TNO BIMserver’. But this is not correct. In every open source project, the source code supplier (the programmer, or his/her employer) is and remains the owner of its own code. The BIMserver software contains extensive blocks of code written by TNO, but also sections written by the TU Eindhoven, Oracle and other independent programmers who have solved bugs. Everyone who supplies code remains the owner of their own bit of code.
The source code that forms the core of the BIMserver was written by Jakob Beetz and is owned by the TU Eindhoven. The underlying database used is a BerkeleyDB which is owned by Oracle. The majority of the BIMserver source code was written by TNO. The BIMserver will not work without the TNO source code, but neither will it work without the code contributed by the TU Eindhoven.
So really, it is not possible to say who owns the BIMserver code. The formal answer is: everyone who has contributed to the code.
Is the BIMserver.org software really free?
Yes. As long as a user adheres to the conditions of the open source licence (for example that you do not include the open source software in closed software) then the source code and compiled code (software) really are free. The accompanying components that the BIMserver uses are also free when used with the BIMserver.
How (and why) was this project ever started?
It transpired that there was a considerable need in the building industry for BIM model servers. However, the former servers and BIMservers did not meet the demands and requirements of the building sector. TNO decided to establish an internal knowledge gathering project focusing on the most suitable technology for BIMservers. The resulting software development can be considered a by-product of the knowledge accumulated. This by-product has been made available as open source software in the hope that it will accelerate innovation in the sector.
Who is funding the continuing development of the BIMserver?
At the moment there is no structural financing. Developments are ad-hoc and in the margins of other projects. Therefore, there is no roadmap or planning. Structural financing will be required to make considerable progress.
Does the BIMserver.org software meet all standards?
The BIMserver software conforms fully to IFC and IFC related standards. This also includes the Dutch extensions and standards, and the IFC data that is structured using IFD.
Additionally, there are exports to ifcXML, CityGML (with the official GeoBIM/IFC extension), Collada (Sketchup), KMZ (Google Earth) and O3D/WebGL (web browser). This means that the BIMserver meets most mature open standards that are used with BIM applications.
Why doesn’t the BIMserver software have IFC certification?
The IFC certification procedure focuses mainly on the correct interpretation and creation of the geometry. Other BIM software has to interpret the IFC geometry into its own internal structure. The certification checks whether this takes place correctly. The BIMserver stores all data in IFC without interpretation or conversion to another or its own internal structure. The current certification procedure is therefore not suitable for the BIMserver.
However, the BIMserver input and output is 100% valid IFC. The development team is proud of this and is highly motivated to keep it this way. The user group (including major IFC managers) monitors this closely. Incidentally, this also applies to the output to the other standards such as ifcXML, CityGML, etc.
Can the BIMserver also cope with IFD?
Yes and no. What many people do not realise is that BIM models which are structured using an IFD library or IFD compatible library, are simply ‘property sets’ in IFC models. Therefore, the BIMserver has absolutely no difficulty in processing these models.
The BIMserver itself is not an IFD library and therefore does not recognise this metadata.
There is an interface with COINS?
Yes and no. Since COINS Containers contain IFC files these can be imported into the BIMserver. A link can be made from a CBIM model to the URL of a specific IFC object in the BIMserver. This means that the IFC model no longer has to be sent in a COINS Container, but the BIMserver REST interface can be used.
Using the BIMserver ‘advanced query’ function, CBIM models can be derived from a BIMserver model.
The CBIS system which was devised by COINS can therefore interface fully with the BIMserver. However, the BIMserver itself is still not a CBIS system, but because the BIMserver software is open source, this can form the basis for a CBIS system. However, there are currently no recourses available to realise this interface.
There is an interface with VISI?
No. A licence fee must be paid to implement VISI in the software. This contravenes the basic principles of the open source BIMserver.
Can project partners and clients use my BIMserver?
YES! Or no, it is up to you. If you want to give project partners and/or clients access to your BIMserver, you only have to create a user-id and give the user rights to access the project. All the user needs is a web browser, for example Internet Explorer, Safari, Firefox, or Chrome, to upload, download, query and view the models. By carefully assigning user rights you can authorise users so that they can modify their own data and can only enquire or download data created by other users in the project.
Who can I contact if something goes wrong or if there is something I don’t understand?
This is a standard question in every open source project. And the answer is also the same as for most open source projects. You can send an e-mail to the mailing list. Many users and developers read the list and help each other. Usually you will have an answer to your question the same day; try getting answers that quickly from a closed software supplier!
There are also an increasing number of companies (and small organisations) offering services based on the software. For example, they offer hosting facilities for a BIMserver, including backups, updates, etc. and all this with the certainty of a fast connection, sufficient memory and often even with the guarantee that bugs will be solved. You can engage one of these companies, and therefore call them should you have any problems. You are not committed to any one software supplier, but you can select the party that suits you best.
Does the BIMserver also work on Apple?
The BIMserver software is written in Java and is platform independent. This means that the BIMserver software can be installed on all systems where Java runs, in practice that is all systems. However, this is not very interesting for the average end user who only wants to connect to a BIMserver via a web browser. The built-in web user interface (that is what you see when you login to the BIMserver via a web browser) conforms fully to W3C standards. This means you can use any regular web browser. So, to answer the question: Yes, it runs on Windows, Apple, Unix, Linux, etc. and the web user interface has been tested on Internet Explorer, Safari, Firefox, Chrome, K-Meleon, etc.
Because the BIMserver also uses the IFC Engine DLL, it may be the case that some export functions do not work on some systems. However, we haven’t come across any of these systems yet. The IFC Engine DLL functions have been tested and are known to work on Windows, Linux, UNIX and Apple; on both 32 bit and 64 bit machines.
What does the system architecture look like (for the nerds)?
Well, it’s very ingenious. It uses a ‘model driven architecture’ approach. The software reads the IFC schema (.exp files), and from this it reads all the IFC object classes and properties. This structure is placed in an EMF (e-core) model. This EMF model is the core of the BIMserver software. This is used to generate Java objects and the SOAP Interface. This approach means that the BIMserver source code contains application logic which will please every application developer.
This application logic is also used to generate a database. Because IFC has a network structure, a key-value-store database was chosen, and the Oracle BerkeleyDB database is used. This database processes transactions very quickly and is exactly what the BIMserver needs. There are some generic interfaces between the EMF model and the Berkeley database that also enable other databases to be used for storage.
Various internet interfaces are generated at the top of the EMF model, including the SOAP Interface, but also the web user interface and an interface similar to REST.
The IFC Engine DLL is added to the side of the EMF model. This is not open source and is used for interpreting the geometry. Communication between the IFC Engine DLL and the EMF model is streamed, so it’s nice and fast.
Who is working with BIMserver?
There are several hundred users (May 2010) throughout the whole world who use this software, for whatever reason. In addition, there are a large number ‘transient’ users who try out the software. There are research institutes in Australia, Canada and Sweden where people are experimenting with the source code. And of course, the TU Eindhoven and TNO are very active.
Furthermore, there are various software suppliers who are very interested in linking up their own software to the BIMserver Interface (SOAP). At the time of writing, no solid steps have been taken.
In the Netherlands, the users number are falling a little behind. Bit by bit, the first users are getting going. However, the Netherlands is the country where this initiative is being discussed the most.
Why can’t I simply use Navisworks?
Navisworks and the BIMserver do have a number of features in common. However, the background and objectives of these software tools is quite different. But Navisworks combined with the BIMserver can offer your project many extra facilities. Navisworks is primarily a software package for model analysis. The BIMserver is designed to manage models. Consider here the ability to merge sub models, but also user management, revision management, version management, warnings of simultaneous changes (concurrent engineering when using different applications), alternatives analyses, live link to Google Earth, query facilities, and so on. The objectives of Navisworks are therefore quite different from that of the open source BIMserver. Navisworks is more frequently used as ‘a’ package that retrieves data from the BIMserver in order to conduct analyses.
You have an O3D viewer, but Google has announced it is scrapping this plug-in. What now?
Google has indeed announced that it will stop working with O3D and will work with WebGL in future. We consider this an excellent initiative as far as standardisation on the web is concerned. In the long-term, 3D viewers on the web will develop more rapidly now that O3D will be stopped. This also means that the BIMserver will have to make the move to WebGL, but for the time being, there are no significant consequences. You will still be able to use the O3D viewer. We will need financing to make the transition from O3D to WebGL.
What is CityGML and what about the extension for GeoBIM?
CityGML is a relatively young open standard for modelling cities. This standard originates in the geographic world (GIS). The GIS world is known for its 2D maps, but has recently started adding 3D objects. Agreements have been defined in CityGML about how roads, buildings, water, vegetation, green spaces and so on are described. Because this is documented for complete cities, the level of detail describing a building in CityGML is rather limited (not nearly as detailed as in IFC). However, it is possible to define expansion sets in CityGML. This makes it possible to add specific information to a CityGML model (for the nerds: comparable to Psets in IFC). The initiator of the GeoBIM extension is BIMserver open source. This CityGML extension for GeoBIM information enables IFC data to be added to the buildings in CityGML. The BIMserver software export to CityGML facility, adds the IFC information according to this official GeoBIM extension.