In the world of software development there exists the idea of substitution variables. These are specially denoted words that when encountered by the run-time system are substituted with some well defined value that relates to the name of the variable. This idea is also often used in more high-level use situations such as when one designs a document header/footer in a modern word processor. There are a number of substitution variables available in this situation such as current page number, document title, author, etc. The special notation usually employs some kind of a symbol to denote that this is not a regular piece of text. To carry the word processor analogy, it could be something like $page_number$ (I just made that up).
I think that it would be very powerful to expose most of system parameters as substitution variables in Revit. One use case is to be able to access current view name within filter definitions. Then we could create a filter that filters out elements only if they appear on a particular view. Moreover, with partial matching and clever view naming conventions, we could create filters that filter out elements on a range of views whose name partially matches given criteria.
For example, I have a number of semi-opaque masses that I use to mask out portions of some of my 3D views. 3D view names follow a regular convention such as 3D_V1, 3D_v2, 3D_V3, etc. The masking masses are called 3D_V1_Mask, 3D_V2_Mask, etc. I would like to create a filter that hides these special masses in all views except for the ones where they need to appear. So the filter rule would be specified as something like this:
Note the string $current_view$_Mask in the filter rule. The run-time system (i.e. Revit) would substitute the variable $current_view$ with the exact name of the current view. In my case if the current view was 3D_V1 the rule would read: Family Name equals 3D_V1_Mask.
By the way, in the above example Family Name is an example of a substitution variable, but selecting it from a drop down box limits its potential use. Drop down boxes are fine but also having a more general way of referencing these parameters anywhere where one can enter plain text would be very powerful.
-t
Can't find what you're looking for? Ask the community or share your knowledge.