Revit Model Checker Advanced Check Builder Tips
Everyone wants great Revit models! Nobody wants to spend time reviewing them! Luckily, the Model Checker and the Autodesk Validation Tool are straight-forward ways to help you out.
I wanted to cover some of my tips for using the Advanced Check Builder in the Model Checker Configurator and try to help you have a shorter learning curve than I did.
Start small and iterate - don't try to add every filter at once. Start with your categories and make sure that's working. Then add 1 filter at a time, testing after each one, to see if things are working as you expect.
Use a small test model - we see a lot of new users try to test their new checks on an 800 MB active Revit model and they don't get the expected results. And sometimes, it turns out the model is not quite as perfectly made as thought. Make a small test model that you are POSITIVE has sample elements in it that you can test against. Once that works, then go to your real model.
Knowing the Revit API helps - it's not essential, but it is very useful if you know how Revit stores its data and refers to things. The Model Checker is a thin veil on top of the API. If you can ask the Model Checker to look for things the way Revit stores them, you will be much better off. (track down the Revit Lookup Tool for more on this). As an example, the Configurator supports units, but did you know that Revit stores all length parameters as decimal feet no matter what the project units are? So if you check a length value with the Model Checker, and leave it as "default" you need to build your check with the decimal feet value you are looking for. And don’t get me started on checkboxes…
Don't reinvent the wheel - the checksets are XML files. You can totally edit them in a text editor. You need to be careful, but if you find a check in another checkset you like, just copy it to yours and tweak it.
The Model Checker can sometimes get confused - this goes back to the testing tips above. Test a lot. Test what you know will give you both positive and negative results. The Revit API and database are complicated beasts and while the Model Checker does its best to make it accessible, you could write a check that just finds nothing when it should find something. That said we have made hundreds of checks for different organizations that help automate their standards and data checking.
Recommended by LinkedIn
Learn some Regex - for wildcard checking, the Model Checker uses regular expressions. Find a good online tool to help out (I like regex101)… or I have been told ChatGPT is pretty good at this.
Rounding - as noted, the Revit database stores all lengths as decimal feet and other numeric values as specific units as well. This number can get stupid long so to help alleviate the Configurator only needs value rounded to nearest 5th decimal place.
Post-process filters - Post process filter means that elements need to be collected before this filter is run, so collect a category of elements first.
Family is only a post-process if the property is ‘Is In-Place’, family name is a standard filter. All others listed are post-process regardless of the property and condition settings.
Matches Parameters condition is powerful, but can be pesky
Lightning round
Digital Twin Specialist
1yJason, Thanks for this, I have taken onboard the limited dataset aspect, makes it much easer to find false flags and filter the rules better. A simple idea I had was to check the model for duplicate type names (over multiple families) I have tried 10's of different ways as regards this, is this something you looked at while working with the tool? Thanks, Sam