Revit Parameters

I had a client email me about Parameters. They were having a tough time getting their head around the different types, so I thought I would make a quick post about it.

In Revit there are four five kinds of Parameters:

System Parameters
Shared Parameters
Project Parameters
Family Parameters

Global Parameters (New in 2017)

System Parameters which include the two you highlighted are built-in to Revit and cannot be changed, but they are always available. This means they show in tags, schedules, projects, families, etc. Project Parameters are custom parameters you add to a project. When adding a project parameter, it is available to all objects of the specified category throughout the project and CAN appear in schedules but NOT tags. You create them with the command on the Manage tab of the ribbon. Family parameters are only available to the Family in which they are added. They do NOT show in tags or schedules nor to other Families of the same category. However, you can make a custom parameter (Project or Family) available to tags and schedules by making them a Shared Parameter. Shared Parameters are defined in an external text file (a Shared Parameter file) and you can access them also on the Manage tab. It is VERY important that you have a single shared parameter file for the entire firm to “share” thus the name. You do NOT want more than one Shared Parameter file. All this file is used for is to define the parameter. Once defined, it knows how to behave. So ALL shared parameters will be created from this single source file. The end users will not need to have access to, nor do they need to even know about the Shared Parameter file. Kind of like a recipe for your favorite cookies. You need the recipe to get the cookies right, but you don’t need the recipe to enjoy eating them.

If you think there is any chance that a custom parameter will want to be scheduled or tagged, you should make it a shared parameter. So on your titleblock, you need to make those custom parameters at LEAST a project parameter. This will tell Revit what to do with them. But consider making them Shared for additional flexibility down the road.

*Update for 2017 – Had a comment below about Global Parameters (GP). So I added them to the table. Global parameters work in a project environment. They can be assigned to drive the values of instance and type parameters of elements in the project. So if you flex the global parameter, it can potentially impact several objects or types across the project. They are user-defined, but can be pre-built in your office standard template (RTE) files if you want. They can only be assigned to properties that are “exposed” by the factory. So certain things cannot yet be driven by GP. Most dimensions can also be labeled directly in a project environment with GP as well. This allows you to build relationships across the project to elements that are not necessarily physically next to one another.


Kind of Parameter Who Creates it Where does it live Appear in Tags Appear in Schedules Description
System Parameters Built in Project and Family Yes Yes Built-in to Revit, You cannot change it
Shared Parameters User Defined Project and Family Yes Yes Custom Parameter created for the highest portability and flexibility
Project Parameters User Defined Project No Yes Custom Parameter accessible to all objects in a Project
Global Parameters User Defined Project No No Custom Parameter that can drive exposed instance and type parameters in the project
Family Parameters User Defined Family No No Custom Parameter accessible only to the Family

Hope that helps to clarify things a bit.

39 Responses to Revit Parameters

  1. Justin says:

    Hi, thanks for all the information you put out there for us.

    I have a question regarding Shared Parameters.

    I have in my project a shared parameter for Wind Zone, it is an instance parameter and I have it marked for “Project Information”.
    When I start a New project I add the wind zone through the project parameters and it reports to tags in the project, but it will not report to schedules.
    When I create a new schedule I add the wind zone parameter to the schedule and ensure it is marked for the schedule ie “Structural Foundations is ticked in the Categories list”, the parameter appears in the schedule but will not report the wind zone? Any help would be great.

    • Paul F. Aubin says:


      Thanks for the comment. I need a little more information. What kind of parameter is “Wind Zone”? Is this a text, number, integer, etc? Did you apply the project parameter to Structural Foundations? Or to other categories as well? I suspect that one of the settings is in conflict either in the shared parameter or the schedule. If you are interested in having me look at your file, I can provide this service. Please contact me directly via the contact form here on the site to request a quote for this.

  2. Roberto Saveri says:

    Hello, first of all thanks for your clarification.
    I have a question relevant the System Parameters:
    I understood that the Room Bounding is a System Parameter and it’s possible to find it in some categories or families (and chang it as yes/no) but not in all.
    Finally my question is: there is a way to include this kind of system parameter in the Structural beam family (as structural esposed element inside of room)? I not understand very well the reason why the Structural Column is considered as Room Bounding and structural beam no
    This will be helpful in order to calculate the net Volume of some room where are exposed not only the Column but also the beams.
    Thanks in advance for your eventyally cooperation.
    Best Regards

    • Paul F. Aubin says:

      Hello Roberto:

      Thanks for your comment. Autodesk determines which categories are Room Bounding. I cannot say why columns are room bounding and beams are not, but I know of no way to add that feature to categories not supporting it.

      • Roberto Saveri says:

        Many thanks Paul for your prompt reply.
        I also leaved this question to Autodesk Sustomer Support (I just hope that someone from Autodesk will take in proper consideration my comments in order to improve the further releases).
        Best Regards

  3. karunakaran says:

    How to find unused parameter in a family because I used no of parameter some are assigned and some for mathematical purpose and some are create and used initially, after optimizing the family formula some parameter are unused. I would like to identify and Delete those parameter that are not assigned.

    • Paul F. Aubin says:


      There isn’t an automated way to do it. What I usually do is select each parameter (one at a time) and then click the Remove button. It will display a dialog. The dialog will either simply confirm deletion, or it will warn you that the parameter is in use. If it is in use, click the cancel button and move on to the next one. If it just confirms, but is not in use, you can click OK and remove it. If you have a lot of parameters, it is tedious, but it works.

      Hope that helps.

  4. Charles Prettyman says:

    Another distinction between shared and project parameters is that project parameters are available to key schedules, while shared parameters are not. An unfortunate side effect of this is that information that is controlled by a key schedule cannot appear in a tag. Do you know of a work around for this?

    • Paul F. Aubin says:

      Hi Charles:

      I wish I did have a work around for this, or better, that this limitation did not exist. It is one of those things I like to refer to as “Artificial barriers”. Ah well.

  5. gzz says:

    So, i deeply need an advice about sth. Like can we assign a yes/no parameters for rooms. This will sound crayz but i have to do 2 different functions in same model. That means some rooms for Design 1 let’s say, some are Design 2 option. We have to place those in the same place and hide on of them in a single option.
    We need to show these two options to the client whenever he asks for it. Design options don’t work good for us, it has such a big project and got a few linked files in it. We can’t do 2 model files it’s such a big scale and we’re a copule of people.
    What would you suggest for this?
    Filters? Phase? Rooms and Spaces? Design Options?
    Anything ?

    • Paul F. Aubin says:

      What you describe sounds complicated and not very effective. I am not sure why Design Options will not work for you, but this is what they are designed to do: manage alternative options. It “MAY” be possible to do this with phases, but again, Design Options would be my first choice.

  6. gzz says:

    It’s because of we need to make groups. It’s a residental project but as i tried to explain we always need to work as if it is a office function.
    So i guess we gonna do 2 different model based on flat and links each one for each option.
    I will check out design options again basen on your idea though. Thanks so much

  7. Lara says:

    Dear Paul,
    I have a very simple question:
    As far as I understand floors are System Family, so are their parameters, right?
    So how can I show a floor Thickness ( the actual parameter) in a tag?
    I use revit 15 and when I try to create a tag I can only choose from Shared Parameter, but in summary table you say that system parameters CAN appear in tags and schedule. So how?
    Thanks in advance

    • Paul F. Aubin says:

      Thank you for the question. So, let me clarify. System parameters can be included in tags. However, it is up to Autodesk to decide which ones will be “exposed”. With each release they expose more parameters but sadly not all of them are available. So I am afraid that you might have to resort to adding a dimension to get the thickness of the slab.

      • Lara says:

        Thank you for your prompt answer.
        I have been trying to find a solution to this for month! I suppose I have to give up for now.
        Thanks again for all your very useful help

  8. Andrew says:

    Hello Paul,
    Thank you for the explanation, very calrifying.
    But since we have Global Parameters, how would you complete the table? Do you think they would fit in it?
    I think I could answer this:
    User defined
    Live in Project and Family
    But not sure of the other aspects you are considering.

    Thank you!

  9. Wayne Bielski says:

    Paul – Is there a way to use the system parameters for a profile in a parts schedule?

    • Paul F. Aubin says:

      Hello Wayne:
      System Parameters are built-in. There is not system parameter that reads the profile used in a Part division. You can add shared parameters for Parts, but you cannot make a parameter that automatically reads the profile used.

      • Wayne Bielski says:

        Thanks – Is there a way to use the original element parameter and assign it to a part shared parameter. I work for a cast stone manufacture and when I create a part from a wall sweep or Generic Model I lose its length. I want to create a schedule of all are cast stone items in one schedule. The best way to do this is using a parts schedule I think. Any help you can give me would be appreciated.


        • Paul F. Aubin says:

          Hello Wayne:
          I was able to generate a Parts schedule and it reported the length of the sweeps on a wall. I am using Revit 2017. Not sure if that is new. The other option is to create the sweeps manually wall by wall. If you do this, you can assign them to a subcategory of walls and even generate a separate wall sweep schedule. Here’s an image:

          • Wayne Bielski says:

            Paul – again thank-you for your time. I want to just add a little more to the problem and that is if I create an integrated wall sweep and break it into parts of any length it those parts report back a volume and a Length for each piece. If I create a wall manual sweep and create an part and divide it up into different lengths each piece reports back a volume but no lengths. (I am not sure why that is). So I need to calculate the lengths by dividing the volume / area of the profile that I used to create the sweep with which I have to add manually. If the profile changes I need to update this profile area manually also (not the best solution). If you have time to look at this and see if there is a better way again I would appreciate it. I know time is valuable so I understand if you don’t have the time to look into it.

            Thanks again for your help

          • Paul F. Aubin says:

            Hi Wayne:
            I see the issue. I did not split up a host sweep in my tests. If it does not report the length, then unfortunately it is a limitation of the software, and nothing you are doing wrong. So sadly you will have to do the math as you indicate. But I think that for such things, Excel is never far away… Best of luck!

  10. Wayne Bielski says:

    Thanks – again for your timely reply.

  11. Darrell Barbery says:

    Mr. Aubin,
    First a sincere “Thank you!” for all of your efforts in the Revit community. When it comes to looking for answers, I look for your content first.

    My team uses “Conduit Run Schedules” in conjunction with “Conduits without fittings”. We have created shared parameters with the ability to be shared with Schedules enabled. We then bring these Shared parameters into our Project and assign them to Conduits, Conduit fittings and Conduit Runs. We enter data such as ???Feeding To???, ???Feeding From???, ???Feeder No.??? etc??? When creating a Conduit Run Schedule we don???t see any of our information populated in the Feeder Run Schedule. In fact, unless we enter the feeder No. into the Comments parameter, they don???t even populate the schedule. Why is this, and is there a way around this? Currently we have to enter data in twice. Once during the modeling process, and the 2nd on our Schedules. It is so time consuming and leaves the door open for inaccurate information if changes occur.

    Once again,
    Thank you for all you do for the community!



    • Paul F. Aubin says:


      My apologies for the late reply. I had to go to my team for some help on this answer. One of my co-authors, Martin Schmid has given me the following reply:

      “The short of it is that the implementation of conduit runs is incomplete for what this user is trying to accomplish. Conduit runs are basically a continuous collection of conduit and fittings, designed with the ability to report the overall length of that run (it is a quasi-implementation of making bent conduit.. but in reality it is just conduit and fittings, as evidenced by the fact that the individual components are schedulable independent of the run itself). The behavior here with regard to the parameters is sort of like assemblies. If you added a shared project parameter to the Assemblies, Doors, and Walls category, and then populated a value of that param on an Assembly instance, the value doesn???t propagate to the doors or windows in the assembly??? and conversely, if you modify a value on one of the walls in that category, it doesn???t propagate to the assembly itself.

      The fact that the Comments property value propagates from the run to the instances, but not vice versa, is ‘interesting’ behavior.. not typical behavior for other parameters in Revit.. This is why it doesn’t happen with shared params assigned to these categories.

      What the user is trying to do in this case, I can???t be 100% sure??? it isn???t something we???ve deeply investigated. However, Applied Software???s Aeries and Greenlee???s Bendworks, both have functionality that I believe has drilled into the needs of the electrical contractor, and may provide value to what it is this user is trying to accomplish.”

      I have not personally tried to replicate what you are doing, but regardless, Martin’s reply seems logical to me the way he explains it. I do hope that sheds some light on things for you.

  12. Gazza says:

    There is also calculated parameters, my problem currently is using this “calculated parameter” inside a family/titleblock

  13. Tawfeek Haddad says:

    Hi Paul,
    Thank you for the information,
    I have problem,
    In dome of our project’s files I some rooms system parameters are not available in Room Style Schedule’s Fields (Key schedule), such as Wall finish, floor finish, etc.. I do not know the reason ???? is it system bug??

    • Paul F. Aubin says:

      You probably already have a key schedule. Properties cannot be on more than one key schedule at a time.

  14. Jason says:

    Good morning Paul,
    I have a client that wants to tell if a beam has been designed or not in their structural model. Possibly by a color I remember seeing info on doing this but can’t find anything anymore. I first instinct is to create a parameter and then implement a filter to control the color. I was looking for your thoughts. Thank you for your time.

    • Paul F. Aubin says:

      Filters should give you what you need. Whether you need a custom parameter depends on the specifics. But possibly.

  15. Basu K says:

    i am having two families, namely floor based insert plates & wall based vertical insert plates.. the parameters defined in the floor based horizontal plates families are L1, W1 & D and they can be called in the material take off sheet so that the dimensions are visible.. but the parameters in the vertical insert plate family are not possible to call… may i have a solution??

    • Paul F. Aubin says:

      Most likely the issue is shared parameters. Make sure that the parameters you want in your schedule are shared and they will be able to show in schedules and tags. If you only need in schedules, you can make them project parameters instead.

  16. Geeta Shrestha says:

    Hi Paul,
    Thanks for all the post. Your posts and book are my go to source when I have revit issues.
    I have a question regarding families and schedule.
    We are trying to custom make all of our medical equipment families, somewhere around 600 families which we use in almost all the projects.
    We would like to add roughly 10 parameters that schedules when we make the equipment schedule in Revit. The plan is to fill in the parameter such as provided by / installed by/ make / model etc in the family and when we bring that family in our project our equipment schedule would populate automatically.
    We tried in couple of families but it did work, family would bring the parameter but we had to fill up the schedule each time we bring that family.
    Can you please help? You might have working solution for this issue.
    We are unsuccessful to find the straight forward solution except making two schedules.
    Thanks in advance.

  17. Geeta Shrestha says:

    Hi Paul,
    Thank u very much for your reply. I am not that familier with the shared parameter therefore I started to read the blog posts regarding shared parameter. I will post the update once I try shared parameter.
    Thanks again,

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.