Check it out at OpenRFA.

There have been some similar attempts in the past. It is a bit of a challenge, because there will often be these ‘custom’ shared parameters that one company needs that are just very unique. But I’m interested to see how OpenRFA continues to grow. No doubt its success will depend on the number of contributors and their engagement.

You can request an account login at

Now that is a very Revit blog title, for sure 🙂

So I had a nice old Curtain Wall Panel Door family, which had a nested ‘container’ Generic Model family…

… in which I arrayed a shared, nested Door Panel Generic Model Family. Basically, it allowed for automatic stacking and sliding doors of varying numbers of panels living inside a Curtain Wall Panel Door, all working automatically. You could tag and edit the Comments and Mark of the nested Panel, but couldn’t change its visibility.

This means that things like slide direction arrows were a problem. I previously had some messy approach to arrows and offsets, but there were tied to the array so they were not flexible enough. As the only parameters that I could access for the shared, doubly-nested panel were Comments and Mark and Image, I couldn’t really use these in visibility parameters or formulas. I wanted to be able to turn off and on arrow annotation (for slide direction), and also set a Keynote or taggable text parameter for ‘FG’ (fixed glass)  or ‘SL’ (sliding) and so forth.

What’s the answer?

For one thing, I’m sorry but you probably have to ditch the array. It is simply too difficult to link through parameters to the elements inside an array, plus you probably really don’t want to.

So, save a backup of your ‘array’ family and rebuild it to use individually placed family instances with visibility parameters based on the ‘Array number’ you had before. You will have 2 panels that have their visibility set to a parameter with a formula like “Array number = 2”. You will have to duplicate all of your elements for each set, and constrain them all individually. This is a pain, but if you want to get the sub-element visibility control, you may think it is worth it. You will have to do this for as many array conditions as you want to cover (like 2, 3, 4 etc).

With this new ‘non array’ family, how do we set up the parameters?

We are going to drive all of it with a single integer value instance parameter in the shared panel family. Then we will tie that to element visibility parameters.

We will link that integer instance parameter through each level like so:

… until we get to our ‘container’ that used to hold an array, but now holds individual family instances that we turn on and off with the array number. From here, we make a new instance parameter for each placed family instance, so we can drive the nested family. So for a three panel sliding family, we might have 3 instance parameters in the ‘container’, like:

  • Left Panel vis type (used for 2 and 3 panels)
  • Centre Panel vis type (used in the 3 panel type only)
  • Right Panel vis type (used for 2 and 3 panels)

Link these three parameters through to the Curtain Wall Door family (they can be instance or type here at the parent family). They are now accessible in the project. Essentially, we can select our Curtain Wall Door family, modify the 3 integers, which drives through all the way to our most deeply nested Panel family.

In the deeply nested Panel family, we use the integer to drive other things, like:

  • turn Plan and Elevation arrows on and off, 
  • set a Shared text parameter to a certain value (with a nested IF statement). Note: Add the Shared text parameter to a Generic Model tag and you can tag and schedule it in the project. 
  •  show / hide model geometry

Note: You can’t use Keynote here because we are not allowed to drive a Type Parameter with our instance parameter.

Unfortunately, we can’t drive a Material parameter directly with the integer value. But, we can have multiple copies of geometry with different materials, and drive the Material visibility with the above process.

Finally, you can do this structure as many times as you like, but obviously the amount of integers you have to keep track of is going to get more and more difficult. You will also need some way of explaining to users what each integer actually does – like if I set the Left Panel to integer 1, what will show up and what will the tag value be? You will probably need some kind of explanatory schedule or document for this…

But there you have it, a framework for driving deeply nested shared family visibility. Congratulations if you made it to the end of the post 🙂

We’ve talked about exporting shared parameters before, but when you are editing a Titleblock (that you have inherited from somewhere) you may find that the Family Types dialog does not list all of the parameters that may already be in use in Labels in that Titleblock family.

So, how do we export those parameters? Easy:

  1. Select a Label
  2. Click Edit Label
  3. In the dialog that appears, select the parameter you want to export in the list on the left
  4. Click the tiny pencil and paper button
  5. Click Export. Done!

Spiderinnet has posted a free shared parameter file viewer (download).

  1. Extract the zip
  2. Run RvtSPFViewer.exe
  3. Click the open door and select your Shared Parameter file

“… help view Revit shared parameters in a nice window, we created the Revit Shared Parameter Viewer (RvtSPFViewer.exe).

It can be downloaded below.
Revit Shared Parameter Organizer”

Original post:
Revit Shared Parameter Viewer – RevitNetAddinWizard & NavisworksNetAddinWizard

I have posted about SP.Writer before, but this is the next iteration: BIMsets Cloud Writer.

UPDATE: if you want to update to the latest version of the add-in, in Google Sheets you may need to go to Add-on > Manage Add-Ons and then remove it, and then search for it and install again.

If you just want to build a new parameter file from scratch:

  1. Go to
  2. Press the Free+ button to install
  3. Say yes to all the prompts  
  4. In the new Spreadsheet, go to Add-ons, BIMsets Cloud Writer, and press Start
  5. Start filling in the form and pressing Add for each new parameter
  6. Parameters are created and you can choose to Export to a TXT file

If it keeps failing to Import for you, this will probably be the reason:
Can I use custom groups with this add-on? No. The add-on uses a specific set of parameter groups designed to be compatible with the Autodesk Seek Style Guide. If you have a parameter file that uses the same groups as the Style Guide it should be compatible. If you are starting brand new there should be no issues. If you have used the old SP.Writer Excel tool in the past, those files will also be compatible.
BIMsets – BIM Source

If you have any other issues you can contact the developer.


v2 of the Style Guide is here
and 2.1 here

“Revit makes available the following IFC-specific files:

  • IFC Metric Template.rte. This file allows you to create new projects that are already set to the IFC standard.
  • IFC Parameter Upgrade.rvt. This file enables you to upgrade an existing project to contain IFC parameters by reading the instructions contained in the IFC Parameter Upgrade.rvt file.
  • IFC Shared Parameters.txt. This file contains the shared IFC parameters if you want to manually update an existing project to contain all or some of these parameters.
    Note: It is recommended that you use the IFC Parameter Upgrade.rvt file. If you use IFC Shared Parameters.txt, you must add parameters one at a time, setting the correct categories for each. If you use IFC Parameter Upgrade.rvt, you can use the Transfer Project Standards tool to add the parameters in one operation.”

From Help: Access IFC-Specific Files

It will send you here:

And you can download IFC.exe from this direct link
which contains these files:

A recent post on Ideate Solutions reminded me of a handy Revit Extension that you may not be aware of:
Shared/Project Parameters

Download Revit Extensions for Autodesk Revit 2015:

Multiple Languages (exe – 224406Kb)

It’s called “Shared/Project Parameters” from the pull-down, but when it’s launched it will open a dialog that says “Shared Parameter Converter”.

This image shows that I am asking the tool to read all of the .RFA files found within my “11 Specialty Equip” folder and that I am going to read particular parameters from my Shared Parameter file and push them into these families. The modified families will then be copied into a new folder called “Updated Specialty Equip” and the results of this work will be included in my “!test” folder as a log file.

The Shared Parameters Converter Dialog From
Revit Extensions (2014/2015)

Original post:
Ideate Solutions: Batch Adding Shared Parameters to Revit Families

In the Shared Parameter .txt file (the one in use in your office or project, as per Revit parameter settings), there is a visibility switch at the end of the line for each parameter.

Set it as follows:
1 for visible
0 for invisible

Make sure you don’t load this parameter into Family or Project until after you have set the desired parameter to 0 for invisible and saved the text file.

In other words:

  1. Create the new SP
  2. Edit the text file and change the switch to 0
  3. Add the Parameter to the applicable Family, Project or both

These hidden SPs can still be scheduled and tagged in the Project, you just can’t “see” the parameter entry.

This method could be useful for simplifying the presentation or “interface” of families, or perhaps even for concealing calculations and formulas that never require user input.