Revit Model Checker Advanced Check Builder Tips

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.

 

No alt text provided for this image

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.

No alt text provided for this image

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.

No alt text provided for this image

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…

No alt text provided for this image

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.

No alt text provided for this image

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.

No alt text provided for this image

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.

No alt text provided for this image

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 In-Place
  • Parameter
  • API Parameter
  • Room
  • Space
  • Redundant
  • Host
  • Host Parameter

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.

No alt text provided for this image

Matches Parameters condition is powerful, but can be pesky

  • Check is case sensitive
  • Text vs Number works
  • Text vs Length works if you match the database value
  • Text vs Checkbox works if you use 1 for yes and 0 for unchecked or no

No alt text provided for this image

Lightning round

  • If you only select Types, you cannot check Instance parameters
  • If checkbox - use 0/1, true/false, yes/no
  • It's pretty hard to get specific view types - the Revit database just thinks they are all OST_Views and not Section, Plan, etc.
  • Model Text is actually in the Generic Model category
  • Function (PARAM_FUNCTION) stores values different than are in the UI = Exterior =1 , Interior = 0, Foundation = 2, Retaining = 3, Soffit = 4, Core-shaft = 5 (Location Line for wall is same way)
  • If you get the error "Revit could not complete the external command" the majority of the time it's because you don't have any checks active
  • Do NOT mix Pass/Fail checks with Report Checks
  • Filled Regions are NOT OST_Filled_Regions - they are Detail Components
  • Lat/Long stored in RADIANS not degrees - need to do math - actually, just avoid these checks unless you have a lot of free time
  • The "View" Criteria refers to the found element's View… NOT if you are checking a view. Meaning if you want to check the name of a View element, look for the Parameter VIEW_NAME. If you want to see the name of a view that tag is in, use the "View" Criteria.

Sam Oliver

Digital Twin Specialist

1y

Jason, 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

To view or add a comment, sign in

More articles by Jason Kunkel

  • The Power of the Revit Lookup Tool

    Wrapping up Model Checker May with, well, a tool that is not the Model Checker, the Validation Tool, or the…

  • Revit Model Checker Advanced Check Builder Walk-through

    Continuing Model Checker May I want to share a high-level walkthrough of making an Advanced Check in the Configurator…

    3 Comments
  • Revit Model Checker Example Checks

    The promise of data-rich Revit models is only attainable if we trust that data. Garbage in… you know the rest.

Insights from the community

Others also viewed

Explore topics