Extracting room finish materials is a topic that we try to figure out for quite a time now. Based on our local requirements the architect needs to provide quantities for his architectural project. This is valid for all disciplines in fact. But the issue is that extracting material quantities and element counts could be a very hard and time-consuming task. Some of the software dealers will tell you that Revit is doing this with a click of a button. And they will be right for some of the situations. But for a lot of cases, Revit can’t directly show you the numbers you need. This is the case with the room finish materials.
In Revit to get the quantity of something, you need to have an underlying element. For example, if you need the tile quantities, you have to model them or you need to extract the quantity some other way. We were looking for this “other way”. Because in the usual scenario you have one straight wall going through different rooms. In each room, you have a different room finish and to get the quantity of this finish you need to model it. Or split face and paint it. Both options are time-consuming and not very efficient for large scale projects and even for smaller projects you need to spend a lot of time modeling or splitting and in the end, there is always room for errors. Again the information is already in the model we just need the right tool to extract it. The key to the room’s finish materials is the room.
We have all the rooms placed and we need to extract the area of the contact surface between the room enclosing walls and the room element itself. We looked into the Revit API and found exactly what we need. HERE you can find further information. At that time we were using Dynamo BIM. The short article about this approach – HERE. After we extracted the information from the Revit model we write it into an external excel file. But this workflow has two main downsides – the speed of execution was very poor using Dynamo on big projects and the information wasn’t part of the Revit model. There was also one more general challenge – substracting windows, doors and other openings from the material areas. Because the Revit API method is giving us gross wall areas. Back then we used a very heavy method – we temporarily deleted all the openings and get wall areas, then roll-back the transaction and subtract the two numbers to get the net area. We got what we needed but the process was very heavy.
Fortunately, we become better using Python and pyRevit brings us a better solution. We used the initial idea but rewrote everything. Now our tool is integrated into the Revit ribbon menu. Aside from this interface upgrade, we decided to keep the extracted information inside Revit. Having a single source of information is essential for BIM. Based on all unique room finish materials for each model we create custom project parameters. After that, we fill the area for each material (custom parameter). We improved the subtraction of the opening areas, so now we have a much better tool.
We are looking for new improvements so take a look and let us know what you think. And if you are struggling to extract room finish materials – we can help.
Every organization has its special needs and requirements, right? Good news! We’re here to fulfill that gap.
Contact our team for custom plugin development today!