Different online BIM services from Autodesk, Bentley, Tekla, Graphisoft, Nemetschek, Onuma and others support different APIs. Connecting BIM applications requires n(n-1)/2 custom interfaces. Data can still be exchanged using standard like IFC or COBie. Currently interfacing between different BIM applications requires human intervention. Implementing BIM in the cloud requires automated (machine-to-machine) interaction between different online BIM services.
Research has shown that a centralized BIM data server is unlikely to fit with the way the fragmented construction industry works. A network structure with an event-driven architecture is believed to be more appropriate. Each BIM appplication on the network offers remote services such as a clash detection service to other BIM applications. These services can be free or paid so this model supports commercial applications. An example would be that when I revise a BIM model, an event would trigger a model checker to ensure the model is IFC-compliant. Another event could trigger a class-detection application. If it is then an new event would trigger an building energy performance application on another server to update the energy performance parameters for the building. The architecture is intended to support multiple BIM models for a project on different servers at different locations, supporting a virtual design team.
A standardized web services API for online BIM services would enable machine-to-machine exchange of BIM data and enable innovation in the industry. This is what motivated the BIM Service interface exchang (BIMSie) project. The goal of this project is to create an open web services API for online BIM services. The core team supporting the BIMSie initiative includes
- Netherlands organisation for applied scientific research TNO
- NIBS / BuildingSMART Alliance USA
- U.S. Army, Corps of Engineers, Engineer Research and Development Centre
- BuildingSMART Australasia chapter
- BuildingSMART BeNeLux chapter
Leon van Berlo, who is with the Netherlands organisation for applied scientific research TNO and is the person behind the BIMServer project, is chair of the project.
Examples of API calls (services) that are standardized in BIMSie are 'addProject', 'download', 'getAllRevisionsOfProject', 'newRevision', 'getAccessMethod', 'login', 'abortTransaction', 'commitTransaction', 'getDataObjectsByType', and 'getProgress'.
BIMSie relies on existing standards as much as possible. Currently BIMSie supports JSON and SOAP, but is designed to be independent of protocol so that other protocols could be added if required. For example, BIMSie also uses existing web standards for authentication and encryption.
BIMSie is comprised of modules such as 'ServiceInterface' with 36 services, 'NotificicationInterface' with 12, 'RemoteServiceInterface' with 4, and 'Authinterface' with 7. Software vendors can choose which modules they support in their application. Not all modules are required in every BIM software. The API calls/services are documented on the BuildingSMART page of github. The documentation includes descriptions and example code. There is also an online BIMSie compliant service for testing.
The first version of BIMSie 1.0 was released in July 2013. As of January 2014 BIMSie is in the process of being updated to V1.1.
A reference implementation of BIMSie is being developed by the open source BIM Collective. The open source BIM collective has migrated several of their tools to use BIMSie. The open source BIMserver.org project, the BCF server and the BIM Surfer WebGL viewer are all using (parts of) BIMSie. These tools are available for developers to help them implement BIMSie in their own applications.
At this moment several software vendors are implementing BIMSie modules in their software interface.
- 'IFC Validator' - online tool to complinace of IFC BIM models. A presentation about the IFC Validator can be found here.
- 'BIM Browser' - an Android app to view BIM models on any android device. This app can connect to any BIMSie compliant server.