What is it?

The xBIM Toolkit (eXtensible Building Information Modelling) is a .NET open-source software development BIM toolkit that supports the BuildingSmart Data Model (aka the Industry Foundation Classes IFC).

xBIM allows .NET developers to read, create and view Building Information (BIM) Models in the IFC format. There is full support for geometric, topological operations and visualisation. In addition xBIM supports bi-directional translation between IFC and COBie formats. Core libraries for data manipulation are all written in C#, core of geometry engine is written in C++.

Getting Started

Our main distribution channel is NuGet. Versions published there are assumed to be stable and safe. You can also use our development feeds as listed at the bottom of this page. Have a look at this quick guide to get up to speed with basic xBIM functions. Examples contain other code samples and snippets which present various xBIM features. You will see that it is quite powerful.

Two core libraries xBIM Essentials and xBIM Geometry are to be used for the creation of complex applications, other repositories under the xBIM Team page include a number of example applications to demonstrate its capabilities:

Please note: all the applications except for xBIM WebUI are provided to demonstrate how to use the xBIM library, they are not intended for use in uncontrolled production environments.

Licence

The XBIM library is made available under the CDDL Open Source licence. List of third party licenses is here.

All licences should support the commercial usage of the xBIM Toolkit within a 'Larger Work', as long as you honour the licence agreements.

Compilation

The toolkit uses the NuGet technology for the management of several required packages as well as for distributing the libraries. If you wish to use the development versions of xBIM make sure to add our NuGet feeds for the master and develop branches of the solution. NuGet can download all the required dependencies for you if you have the correct package source configuration.

If you use Visual Studio 2015+ add the following package sources:

If you use Visual Studio 2013+ add the following package sources:

History

xBIM Toolkit was started by prof. Steve Lockley in 2007. Steve made it initially as a hobby while on a career break for a year. When he joined Northumbria University in 2009 the core of xBIM was already developed and it implemented most of IFC2x3. This means Steve developed the core methodology of mapping between EXPRESS schema and C#. He also developed the core infrastructure for data management of any IFC model. All this is good to know when you read our license;

Steve took xBIM to university with him and since than it is being actively developed mostly as a part of successful government funded research projects with industrial partners mainly from UK. It evolved over time into a lot more than just an implementation of IFC2x3. Current release supports 100% IFC2x3 and IFC4. We use code generation to keep all the code consistent and complete. xBIM allows developers to program against IFC2x3 models using IFC4 interfaces so it is possible to develop and maintain single codebase which is agnostic to the IFC version. You can choose between Esent DB or in-memory model based on your needs. We have geometry engine which can process complex IFC geometry and make it usable for 3D analyses or visualization. We have our own JavaScript library using WebGL for visualization on a web without any plug-ins. There are also many projects we developed over time which use xBIM core libraries (xBIM Essentials and xBIM Geometry) for some interesting tasks.

There are about 10 developers in the core of xBIM Team. All of us are keen to keep xBIM ready for enterprise deployment. Part of the team is based on Northumbria University the rest is spread over enterprises who have adopted xBIM as an engine behind the BIM related functionality of their products.

Our GitHub page lists public members of the core team. There are other internal members from the enterprises. If you want to contact us to ask something about xBIM source code we prefer GitHub issues as a way to talk about the code.

Recent Research Projects Using xBIM

Some of the companies using xBIM Toolkit: