System Parameters Vegas Style – Type or Instance?

Since both Gary and I are here in Las Vegas at Autodesk University, I thought a post with a little bit of “now you see it, now you don’t” magic would be appropriate.

In an Electrical Equipment family there is a system parameter for Voltage. As a system parameter it cannot be modified in any way—when the parameter is selected, the “Modify…” button is greyed out. It’s set as a type parameter, but let’s say I need it to be an instance parameter in a particular situation. You can tell type and instance parameters apart in a Family Types dialog box by looking for the “(default)” text that follows all instance parameters.

This is where the magic comes in. Pay attention to the trick or you might miss it. Now you see it as a type…

Family Types dialog displaying the Voltage parameter as a type

And now you don’t!

Family Types dialog displaying the Voltage parameter as a type

There are many things you can do in Revit that are not standard. Last night I was talking with Steve Stafford here at AU and discussing with him how some of these non-standard ways to achieve a result are too much of a hack to rely on (e.g. having connectors appear and disappear at will — oh yes, you can do that!). Then there are others, like the one being shown here, that I feel more comfortable using when creating families. They are workarounds more than hacks, and as such I give them a longer shelf life.

I was doing some consulting in Kuwait a little over a year ago when I was asked about doing just this kind of workaround in a family, where the best workflow would be achieved by having the Voltage parameter as an instance rather than a type. I managed to pull it off as I was complaining to Gary Ross (then at Autodesk) about this particular limitation. I found it more of a user interface limitation rather than an intended feature of Revit.

So how do you do this trick? Luckily you don’t have to be a magician. Open your Revit Electrical Equipment family, with your Voltage parameter set to type. Make sure you initialize the parameter with some value if none is there. Change the family’s category to something else, where Voltage is not a system parameter, for example Electrical Devices. Now your Voltage parameter is no longer a system parameter, so you can change it from being a type parameter to a system parameter. Once this is done, set the family category back to Electrical Equipment and you are done!

There are a few more things regarding this workaround that I’ll write about in a follow up post. In the meantime, I hope you find this little trick to be of use, and if you are at AU and would like to have a chat or meet for a drink, drop me a line.


About The Author

Jose Fandos
CEO, Apple aficionado, gluten-free living, London resident.