The Model Checker for Revit is a great way to keep an eye on your Revit models and make sure they stay in compliance with your BIM standards. We get a lot of opportunities to build checks and have some tips and workflows that help us make sure that a checkset runs as expected.
One Step From the Revit Database
The Revit model database is, rightfully so, not something that users can directly access. The Revit interface lets users manipulate the database in a safe and controlled manner.
Parts of the Model Checker are basically one step away from the Revit database: you get to query it by building checks with the Model Checker Configurator and report on what you find. Most of the time, that is quick and easy, but there are often ways that Revit stores information about elements that might be unexpected. This series of blog posts is going to walk through an example of a tricky check we had to make that started out simple but it turned out we needed to dig a little deeper to make it work right. It’s a good way to see some workflows that can help you make some complicated checks.
Revit Categories and Secret Names
One of the easiest (typically) checks you can build in the Model Checker is to query the model for all the elements of a certain category. You can usually use the Wizard in the Configurator to build this check, but since it’s often only one or two lines, I make it using the Advanced Interface.
When using the advanced check builder, adding a category to the filter list is very simple: the default filter type is Category, so as soon as you click Add Filter… you are halfway there. Once the filter is added you need to change the Property field to the Revit category of the elements you are looking for.
But, you can’t just type in “Walls” or “Doors,” you need the built-in parameter name. Remember, we are taking a direct look into the Revit database, and the built-in name is how Revit refers to the categories behind the scenes. This page has a list of ALL the Revit categories by built-in name. It looks overwhelming at first, but luckily most of them are just “OST_” and then the word you would expect. I take a look at this page just to confirm I have the right name. The Configurator also has the categories prepopulated, but sometimes there might be two or more that are close and it gets hard to narrow it down.
Note: the category list actually makes minor changes from release to release, so be sure you are looking for a category that actually exists in your version of Revit.
The Check – Finding All the Views in a Revit Model
We were looking to get the number of views in the model for a fidelity check. Sure, you can make a schedule, but the Model Checker report lets you export the results to an HTML or Excel file, so you can review results of your checks without having to open the model.
Should be straightforward. Make a filter in a check that finds all the elements of the View category… specifically OST_Views. It looked like this:
Using the always popular architectural advanced sample project that comes with Revit, we loaded up the checkset and ran it. Results came back with a count of 43 elements found in the model.
We were pretty sure it was okay, but I’ve been doing this job long enough to know that it’s a good idea to double-check everything. We made a simple View List schedule just to confirm. There was some surprise when the total views came back as 31. Because 31 is less than 43.
A manual count in the model confirmed that yes, there were only 31 views. Something was off somewhere, and we needed to figure out where.
The Extra Dozen Views
This is where a little trial and error comes in. For some reason, the Model Checker thought there were 12 extra OST_Views elements in the model. What else might be a “view” in the Revit file.
Sheets? There were only 2. Schedules? There’s 9. And there are no legends in the model. Taking a shot in the dark, we took a look at the view templates. Turns out there are 12.
The view templates were our extra “views.” Turns out, the Revit database keeps views and view templates as the same category. At this point, the “why” isn’t critical. There has to be some way to filter out the views from the view templates that we can leverage in our model check. The next post in this series is going to dig into that, using my favorite free tool: Revit Lookup. Stay tuned for Part 2 next week!