think parametric – accessing the power of visibility overrides

image by archi-lab

Some time ago, when I made my first video for Think Parametric, we were talking about doing another one, but this time using custom content. At the time, the idea was to use Mantis Shrimp or Bumblebee since they were published and potentially had an established user group that we could grow and support with the training course. However, I have done a handful of labs using these two plug-ins and still have a few more already booked, I thought it would be better to develop something special just for this. That’s when we decided to do an exclusive set of custom nodes just for the Dynamo 102 course and pre-release it on Think Parametric. I still intend to eventually release this content and have it published with Archi-lab Dynamo package, but in the meantime it will be only available at Think Parametric. Hopefully, you like it, and go ahead and download it from their website, and for those of you that still want to wait…well it will be published to Package Manager at some point.

This course is centered around View and Visibility content for Revit. I will be showcasing workflows like, setting Category Overrides for multiple View Templates or adding View Filters to multiple Views all in one go. The hope is that you can start using these nodes and Dynamo to manage your View Templates in a more efficient manner. Here’s a complete list of all custom nodes available with this course:

  • Element.Delete – deletes element from a model.
  • View.AddFilter – add View Filter to View.
  • View.Filters – returns all View Filters applied to a View.
  • View.GetByType – collects all Views by View Type like Floor Plan, Ceiling Plan, Schedule etc.
  • View.IsViewTemplate – returns a Boolean True/False if View is a View Template.
  • View.OverrideGraphicsSettings – Graphics Settings for View Filter or Category overrides.
  • View.RemoveFilter – removes View Filter from a View.
  • View.RemoveViewTemplate – removes View Template from a View.
  • View.SetCategoryOverrides – sets Category Override Settings for a View.
  • View.SetFilterOverrides – sets View Filter Override Settings for a View.
  • View.SetFilterVisibility – controls if a View Filter is hiding or showing filtered Elements.
  • View.SetViewTemplate – applies View Template to View.
  • View.ViewTemplate – returns a View Template applied to View or null.
  • ViewFilter.CreateFilter – creates a new View Filter.
  • ViewFilter.CreateRule – creates a new View Filter Rule.
  • ViewFilter.OwnerViews – returns all Views that View Filter is applied to.
  • Fill Patterns – lists all Fill Patterns available in a model.
  • Line Patterns – lists all Line Patterns available in a model.
  • View Detail Level – lists all View Detail Levels available in a model.
  • View Type – lists all View Types available in a model.
  • Rule Types – lists all View Filter rules available in a model.
  • View Templates – lists all View Templates available in a model.

This list might not seem like much but with these nodes, you basically get plenty of control over visibility settings of Views and View Templates. Here’s a quick example of adding multiple View Filters to multiple Views, all in one go.


Another workflow that will be presented allows you to very quickly change Category overrides in all View Templates to be the same. Now, that kind of task on a large project, might take you some time. Going through all of the View Templates, one by one, and changing Category visibility to one specific thing that your project leader decided that he likes more than the default, can be painful. With these nodes, you can do that all in less than few minutes:


There are couple more things that we will be touching on in these videos. I hope you can find them all useful and that you can learn and build on them.


Also, worth mentioning is, that just as we were getting these ready, it appeared to me that the Dynamo Development Team over at Autodesk has decided to enhance the Dynamo for Revit package by adding a handful of new and super useful nodes to the core package that ships with Revit. That’s great news! I have also noticed that some of the new content will overlap with the nodes that I have created for this package, and unfortunately they will not be interchangeable until I release an update by tapping into that new functionality. Also, you might be thinking to yourself: “Why on earth would I want to download this, while I can get vanilla Dynamo nodes?”. The answer is two fold.

  • Firstly, these nodes were developed for a specific purpose, a specific workflow and using them you can achieve that desired result. Unfortunately using just the OOTB nodes you might not be able to re-create this particular workflow – since you might simply be missing one, or two nodes to achieve the desired result.
  • Secondly, I think that the real value of this course is the ability to follow a clearly structured video tutorial. I can’t stress enough, how much other people’s sample videos and demonstrations have helped me learn what I do. Having those video’s and sample files, makes it that much more accessible and easy to learn.

I have also mentioned in the introduction video that I want people to let me know, if things are not exactly working well. Feel free to post to Dynamo Forum and just tag your posts with #ThinkParametric and/or #archilab, and I will do my best to answer these questions. Think Parametric also has a Forum section over at their website, so feel free to drop them a line if you have any questions.

Cheers, and enjoy!

Support archi-lab on Patreon!


  1. Thiago Turino says:

    Hi Konrad,

    congrats for your work, is quite amazing! Great tutorial in the Think Parametricas well.
    I just have 2 comments about the node “ViewFilter.CreateRule” that would be great if it changes in the future.
    1. I can’t use type parameters to create rules.
    2. I can’t use values as strings
    Maybe Im doing something wrong but that my challenge at this moment.

  2. Thiago Turino says:

    Sorry, comment 2 is wrong, I actually can use strings.

  3. Pierre Houde-McLean says:

    I trying to use that node but it is not in the package :-(
    The reason is I’m able to get the filter settings of a view temlpate, applying them to an existinig view template but those visibility settings on the original view template some are OFF and on the copied one they are ON :-(


    • It’s gone from my package because the Out of the box (OOTB) Dynamo supports that now. Look for View.SetFilterOverrides and it will have a boolean input called “hide”. Feed that True/False to set given filter visibility on/off.

Leave a Comment