Investigating Revit's Shared Parameter File

Using Shared Parameters in Revit, allows users the ability to connect Component Families, Tags and Schedules to communicate information between them.  Have you ever wondered what your Shared Parameter file looks like outside of Revit?  Have you ever actually opened your Shared Parameter file or wondered if you could open it outside of Revit?  We are going to dig into this “secure” file and go over some of the do’s and don’ts and some of the unique things you can do with the Shared Parameter file that can’t be done without actually opening the file outside of Revit.

 

**I want to preface this blog with, please use caution when doing the following and always have an original backup in the event something gets messed up.  Editing the Shared Parameter file incorrectly can mess it up and make the file unusable by Revit.**

 

Where is your Shared Parameter file located?  Your Shared Parameter file is located where you told Revit to save the file when you created it.  The Shared Parameter file is nothing more than a .txt file that is formatted as tab delimited.  A common place to store a Shared Parameter file is with your Revit templates in a standards directory.

Can you move your Shared Parameter file?  Yes, you can use windows explorer and move the Shared Parameter file to another folder.  If you do this, you will need to remap Revit to its new location, but all the parameters will be the same and will work with your content that you built previously with it.  You can even copy the Shared Parameter file and send it to consultants as needed for things like titleblock parameters.

How to create a Shared Parameter File:

If this is your first Shared Parameter file that you have ever used or created, then you will need to create and map the Shared Parameter file to your Revit.  Under the Manage Tab in either a project or family, look for the Shared Parameters button under Settings  .  The “Edit Shared Parameters” dialogue box will appear, if you have never created a Shared Parameter file before, it will tell you and ask you create one.  You can create a new file by clicking “Create…” or you can open an existing file by clicking “Browse…”.

When creating a new Shared Parameter file in Revit, the first thing that needs to be done, is create a group.  Groups are used to organize your shared parameters, some groups you may create could include Views/Sheets, Project Information, Rooms/Areas, etc. Groups are what creates the line item under the group block and a number is associated to the Group for an ID and the Name is the name you entered when you created the group.

Next when a parameter is created within that group, a Name is given, as well as the Parameter Type based on the Discipline selected (i.e., Common -> Text) and the Tooltip (if inputted). 

Figure 1: Editing a Shared Parameter file within Revit

Revit then automatically generates the GUID to make sure that the parameter is unique and gives it an alphanumeric combination. This value will always be unique within this Shared Parameter file.  This is what allows Revit to identify and connect a parameter in a tag to a parameter in a family.

Figure 2: Shared Parameter GUID

How do you edit or open a SP file outside of Revit? Looking inside/opening the SP file can be done using a simple notepad text editor like, Windows Notepad or Notepad++ (I prefer Notepad++).  You can also import the txt file into Microsoft Excel as a tab delimited file.

Figure 3: Shared Parameter File open in Excel and Notepad++ for editing

First thing you should take note of when opening the file is the second line in the file.

Figure 4: Shared Parameter File Warning (Do Not Edit Manually)

This is because if you get a tab off or mess up values you can completely ruin a Shared Parameter file; therefore, always have a backup of the file prior to editing it.

The Shared Parameter file is organized in a very distinct order and this order must be followed.

Group Block:

The Group Block contains group entries that associate and organize parameter definitions with a group.  This block contains the following fields

  • ID -> Unique identifying number for each group
  • Name -> Name of the group that users see inside of Revit’s Shared Parameter File editor

PARAM Block:

The PARAM Block contains the parameter definitions which contains the following fields:

  • GUID -> Unique identifier for the parameter definition
  • NAME -> Parameter Name
  • DATATYPE -> The Parameter Type; i.e. Text, Length, Structural Force, Pipe Pressure, etc.
  • DATACATEGORY -> Used when the Datatype is a <Family Type> Parameter Type, identifies the Family Category for the Family Type
  • GROUP -> Group ID from the Group Block
  • VISIBLE -> Identifies whether the parameter is visible to the user in the Properties palette
  • DESCRIPTION -> This is the Tooltip from the editor
  • USERMODIFIABLE -> Identifies whether the parameter is editable by the user within the Properties palette.
  • HIDEWHENNOVALUE -> Controls whether the parameter will be visible or not in the Properties palette in a project if the parameter is blank.

 

A little more on these different blocks and fields can be found here Help | Definition File | Autodesk.

 

Editing a Shared Parameter:

If you create a Shared Parameter you will notice that you are unable to modify any of it’s values within the Shared Parameter editor.  This is done because if that parameter is already used in multiple projects and families, editing it can cause issues down the rode of mismatching information.

Figure 5: Shared Parameter Uneditable

However, if you open the file with an editor outside of Revit, you can make changes to things such as the “Name”.  The downside is that once a Shared Parameter is loaded into a project, it is stored deep in the code, even after it has been deleted out of the project and there is no way of updating this Shared Parameter.  On the positive side, these changes can be seen in an existing family, you must remove the parameter and re-load it back into the family for the change to occur.  Keep in mind that if you also used this parameter as a project parameter in a template or some other project, then you will see two different names, but they will still communicate to each other because they have the same GUID.  As can be seen in the figure below, this Shared Parameter is the same one from Figure 5 above, but the name has been edited.  The new name can be seen in Figure 6 below.

Figure 6: Same Shared Parameter from Figure 5 but the name is edited.

 

Additional "Hidden" Fields for Editing:

The following fields are not visible or controlled within the Revit Shared Parameter Editor, Visible, UserModifiable, and Hidewhennovalue.  These fields can only be seen within the SP file inside of an editor outside of Revit.  One catch to editing these fields is that for the edits to work, they must be done prior to using the parameter in the family or project; otherwise, the parameter will have to be deleted out of the family or project and loaded again from the Shared Parameter file.

VISIBLE

VISIBLE is a setting that allows users to control whether the parameter will be visible to users within a project if there is not parameter value prepopulated within the Family Editor.  This field has a value of either 0 or 1; 0 being invisible to the user in the properties palette and 1 being visible to the user to the user in the Properties palette (1 is the default).

Figure 7: Visible Controlled Parameter in the Family Editor

Figure 8: Visible Controlled Parameter in the Project Properties.

Example above shows a text parameter “Visible Setting Parameter”, that has been created and then edited in the Shared Parameter file so that it is not visible to users at the project level.  Figure 7 shows the parameter is visible at the family editor level where the parameter was inserted into the family under the Text group.  Then Figure 8 shows the parameter missing or not visible within a project under the Type Properties.

 

USERMODIFIABLE

USERMODIFIABLE is a setting that allows users to control whether the parameter can be edited by users within the family or project.  This field has a value of either 0 or 1; 0 being the parameter cannot be modified in the properties palette and 1 being the parameter can be modified in the Properties palette (1 is the default).  The key to this setting is that you need to create the parameter as a family or project parameter first and populate the information you want in it.  Then change the parameter to a shared parameter.  Once it is changed, the parameter will not be modifiable by users within the Properties palette.

You can find instructions on how to convert a Family Parameter to a Shared Parameter here.

 

 

 

 

 

Figure 9: Usermodifable Shared Parameter

One of the benefits of this setting is it allows content developers to create parameters that need to be seen and scheduled but want information to be locked in so that users can’t edit the information.  This setting can be useful for parameters used in lookup tables or for a copyright parameter.

 

HIDEWHENNOVALUE

HIDEWHENNOVALUE is a setting that allows users to hide a parameter if the parameter has no value in it.  This parameter is only used for Project Parameters, when the parameter is blank it will not show in the family’s properties in the Properties palette (Figure 10).  Once a value is put in at the schedule, the parameter will appear in the Properties palette for that family (Figure 11).  Since the parameter is hidden when it is blank, then in order to populate the parameter, the parameter needs to included in a schedule; once in a schedule the parameter can be seen in the schedule and populated as needed (Figure 12).

Figure 10: Parameter Hidden

Figure 11: Parameter Visible

Figure 12: Hiddennovalue Parameter in a Schedule

 

As stated at the beginning, editing the Shared Parameter file manually can be tricky, if not done correctly and carefully, can cause a file to become unusable in the future.  It is recommended to always keep a backup of the file prior to editing it.  However, if you are strong willed enough to go down this path, you can create a more controlled environment for Revit users when they are working with families and Shared Parameters.  Keep in mind that these controls are available for Family or Project Parameters.  Use caution and remember that once a parameter is loaded/inserted into a project it is stored there and can’t be edited or modified even if you delete it.  If the parameter is in a family, then you can make the Shared Parameter into a family parameter, then reload the edited Shared Parameter back into the family and it will update with the new edits.

 

One last piece as I wrap up, over the last several releases Autodesk has released many new Parameter Types that we can create Shared Parameters for.  These new Parameter Types are not usable in previous releases; therefore, if you try to use only one Shared Parameter file for different versions of Revit, you will see Parameters that can’t be used in older versions.  Keeping a Shared Parameter file for each version of your Revit Template allows you to have matching versions, allowing for new Parameters to be created as needed for new Parameter Types.

 

Hope this helps you get more out of your Shared Parameters.

About the Author

Jamie Owens

Solutions Consultant, Building Solutions <br><br>As a Solutions Consultant, I enjoy working with many leading-edge firms to help implement and adopt new technologies across a variety of exciting projects.

Follow on Twitter Follow on Linkedin More Content by Jamie Owens
Previous Video
Leverage your Revit Models with Twinmotion
Leverage your Revit Models with Twinmotion

See how to leverage the Datasmith exchange workflows from Revit and/or Navisworks into Twinmotion.

Next Video
Use Ideate BIMLink to Run a Health Check on your Revit Models
Use Ideate BIMLink to Run a Health Check on your Revit Models

See how to use Ideate BIMLink to keep your Revit models healthy. In this session, you'll get an overview of...