RTV Tools

Tuesday, April 12, 2016

Using some Visibility parameters and a simple formula structure, you can use a Revit family to store a collection elements and then selectively show them by using a single lookup value. This allows you to drive many visibility states (programmatically) through the modification of a single instance parameter value.

In the case below, I created a Annotation family and multiple Yes/No visibility parameters, which I applied to Lines:

Then, I make a VisibilityEnum integer parameter, and set the Yes/No parameter formulas to a given integer:

You can also use Greater Than and other operators to show items that are visible across multiple visibility states:

In the project environment, you only need to set one instance parameter to change visibility states:

Finally, with some inventive use of Excel and Dynamo, you can drive this visibility parameter programmatically, even mapping the visibility state to the owner view of the family instance in Revit:

3 comments:

I'd love to see some simple formulas be available in the Visibility = dialog box. Even something as simple as not(Parameter) would save half of the parameters I use now. Extending it to your concept, what if - right within the Visibility box - you could specify VisibilityEnum > 35 ?

Can you provide an example where something like this would be useful in a set of construction drawings? I'm having difficulty picturing the relevance. It's a pretty unintuitive method for controlling graphics, so I would hope this solves an ailing Revit issue.