The I in BIM
Building information models are enriched with data, yet most building information modelling applications are focusing on visualizing the building and its elements in 2D and/or 3D, but fail to provide deep insight in all the data these elements carry with them. We wanted to give users of modelling applications a tool that would allow them to visualize and interact with that data. Already convinced of the strong capabilities of Microsoft® Power BI® for visualizing data, and instead of reinventing the wheel, we decided to make it possible for Power BI to live query your building information while it is being modelled. RTBI is our attempt to make the I in BIM visible, with RTBI for Autodesk® Revit® being our first integration.
In this tutorial you will learn more about the basics of RTBI for Revit, how to create a Power BI dashboard that will visualize various data fields of rooms in an open Revit model and how to select those rooms in Revit from within Power BI.
1 – Setting up RTBI in Revit
After downloading RTBI from our website and installing it for your version of Revit, a new button named RTBI will be added to the Add-Ins tab in the Revit ribbon. Pressing that button will open the RTBI dialog. It is in that dialog that you are able to actually launch RTBI and to decided which Revit element categories Power BI will be allowed to query for information. For this demo we are only going to expose the Rooms category.
2 – Connecting Power BI to Revit
Once RTBI is launched from within Revit, Power BI will be able to connect to it using a standard web connector, pointing to http://localhost:19723
After establishing the connection it is important to specify that Power BI has to handle the data source as a JSON file.
3 – Filtering the data
RTBI serves 3 tables of data to Power BI, all contained in that single JSON “file” from the previous step. One table contains various data fields about the queried document, one contains all encountered elements of the exposed categories and one contains all encountered element types. Both the elements and element types tables will have many columns, one for each unique encountered parameter name of all encountered elements and element types. For this demo we are only interested in all rooms (that are served in the elements table) and their element id, name, number, level, perimeter and area. To do so we will filter the data source to only contain these specific columns. We will also create 2 custom columns, one for the perimeter in meters and one for the area in square meters. Revit’s internal units are based on feet and, although the perimeter and area of each room is exposed in both internal and model units, it is safer to create a custom column based on the internal units.
4 – Visualizing
Once the data has been filtered it is time to bring it to life in one or more visualizations and tables in the Power BI dashboard. Using some shipped visuals it is possible to quickly craft a basic dashboard providing insight to various data fields. In this example we created a bar chart that shows the number of rooms per type, a treemap to visualize the area by type and level, a listing table and a slicer allowing us to filter rooms by area.
5 – Interaction
An important functionality of RTBI is not only that it will make it possible to visualize data that is available in your building information model, it also ships with a custom visual that is able to invoke actions in Revit, such as quickly highlighting Revit elements that currenlty fall within your Power BI query. For example, we noticed that there happens to be a room named “Cafertaria” instead of “Cafetaria”and also a single “Admin” room while there are multiple rooms named “Administration”. By using the custom RTBI visual (located in the installation folder) we can pinpoint those rooms in Revit and make fixes to the model. Finally, hit the “refresh” button in Power BI to update the data and see your corrections.
Tip: press the “open directory with examples” button to open the directory containing the visual in windows explorer.
6 – Reuse
Once a dashboard has been created it can be reused to query other models as well. Just open up another model in Revit, hit the refresh button in Power BI and see the updated data.