Revit

Revit Parameter Types: Built-in, Project, Shared, Family and Global Compared

Revit parameter types in Revit 2027: instance vs type, which reach schedules and tags, Built-in, Project, Shared, Family, Global and a decision chart.

  • TS. Nguyễn Mạnh Tuấn
  • 11 min read
Decision chart for Revit parameter types: Built-in, Family, Global, Shared, Project Photo: Diagram by the Institute of Information Technology in Civil Engineering

A parameter is a field of information attached to an element: wall thickness, column base level, element code, comments. Revit has five kinds, and they differ in who creates them, where they are stored, and whether they can appear in schedules and tags. This article compares revit parameter types in Revit 2027: Built-in, Project, Shared, Family and Global, with a chart for choosing the right one.

Choosing wrongly means redoing work later: creating a project parameter and then discovering it cannot appear in a tag, or creating a new parameter that duplicates one Revit already has. For guided training, see the Learn Revit course.

What a Revit parameter is: instance vs type

Every parameter sits at one of two levels:

  • Instance: a separate value for each element, edited in the Properties palette when the element is selected. Examples: Mark, Comments, Base Offset of a wall.
  • Type: one value shared by every element of that type, edited in Type Properties via Edit Type. Examples: thickness and Function of the Generic - 200mm Masonry wall type. Change it once and every wall of that type follows.
1 instance parameters Comments and Mark in Properties. 2 type parameters of the wall type in Type Properties Photo: The Properties palette and Type Properties dialog of a wall, Revit 2027

When you create your own parameter, of any of the four user-created kinds: if each element needs its own value, such as an element code or construction phase, choose instance. If all elements of a type share a value, such as a product code or manufacturer, choose type.

The five parameter types compared

Built-inProjectSharedFamilyGlobal
Created byRevitUser, in the projectUser, in a .txt fileUser, in the familyUser, in the project
In schedulesYesYesYesNoNot directly
In tagsYesNoYesNoNo
Shared across projects, familiesPresent in every fileNoYesNoNo
Rename, deleteNoRename and delete; Data Type and Instance/Type lockedRemove from a project, not renameYes, in the familyYes
Instance/typeYesYesYesYesNo

The Parameter Properties dialog in Revit 2027 states it most compactly. Project parameter: "Can appear in schedules but not in tags". Family parameter: "Cannot appear in schedules or tags". Shared parameter: "Can be shared by multiple projects and families, exported to ODBC, and appear in schedules and tags".

A global parameter belongs to no category, so it has no column in a schedule. To show its value in a schedule, associate it with an element parameter and schedule that parameter.

Built-in parameters: what Revit already has

Built-in parameters are created by Revit for each category: Mark, Comments, Level, Base Constraint, Area, Volume, Length, Type Mark. You cannot delete or rename them, and they exist in every project. Some are read-only because Revit computes them, such as a wall's Area, Volume and Length.

Built-in parameters are not listed under Manage › Project Parameters. That list only holds parameters users added; the Revit 2027 Metric Multi-discipline template ships with 14, such as Ceiling Height, Finish and Sheet Group.

1 the template's 14 project parameters, with no Mark or Comments. 2 the New Parameter button Photo: The Project Parameters dialog, Revit 2027

Before creating a parameter, check whether Revit already has it. A common mistake is a project parameter called Notes when Comments already exists, leaving two schedule columns doing the same job.

Built-in parameters in Dynamo and the Revit API

Names in the Properties palette change with the interface language, so scripts that rely on names break on a machine running Revit in another language. The Revit API therefore addresses built-in parameters by fixed BuiltInParameter values:

Interface nameBuiltInParameterParameterTypeId (Revit 2027)
MarkALL_MODEL_MARKautodesk.revit.parameter:doorNumber-1.0.0
CommentsALL_MODEL_INSTANCE_COMMENTSautodesk.revit.parameter:allModelInstanceComments-1.0.1
Base Constraint (walls)WALL_BASE_CONSTRAINTautodesk.revit.parameter:wallBaseConstraint-2.0.0
VolumeHOST_VOLUME_COMPUTEDautodesk.revit.parameter:hostVolumeComputed-1.0.0
AreaHOST_AREA_COMPUTEDautodesk.revit.parameter:hostAreaComputed-1.0.0
LengthCURVE_ELEM_LENGTHautodesk.revit.parameter:curveElemLength-1.0.1
# Python in Dynamo or pyRevit: read Mark and Comments of an element
mark = e.get_Parameter(BuiltInParameter.ALL_MODEL_MARK).AsString()
comments = e.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS).AsString()

Two traps. First, Mark's ParameterTypeId is named doorNumber for historical reasons, even though Mark exists in every category. Second, structural columns have two parameters called Base Level: FAMILY_BASE_LEVEL_PARAM and SCHEDULE_BASE_LEVEL_PARAM. Looking it up by name with LookupParameter("Base Level") may return the wrong one; BuiltInParameter does not. For structured Revit programming, see the Revit API programming course and what the Revit API is.

Project parameter revit: a parameter for one project

A project parameter adds a field to one or more categories in one project, for scheduling, filtering and sorting. According to Autodesk: Create or Modify Project Parameters:

  1. Go to Manage › Settings › Project Parameters.
  2. Click New Parameter (the second icon at the bottom).
  3. In Parameter Properties, choose Project parameter.
  4. Enter a name. Autodesk advises against dashes (-) in parameter names.
  5. Pick Discipline, Data Type and Group parameter under, then Type or Instance.
  6. Tick the categories in the Categories column and click OK.
1 Project parameter: in schedules, not in tags. 2 Shared parameter: shared, in schedules and tags. 3 Type or Instance. 4 categories that receive the parameter Photo: Parameter Properties when adding a project parameter, Revit 2027

After creation, Modify (the pencil icon) only lets you change the name, the display group and the categories. Discipline, Data Type, Type/Instance and the Project/Shared choice are locked, so get them right the first time.

The key limitation: a project parameter cannot appear in a tag. A tag is a separate family and can only read parameters it also knows, meaning built-in or shared ones. A project parameter exists only in the project, so the tag cannot see it. If the value must appear in a tag, use a shared parameter from the start.

To reuse project parameters on the next job, put them in the office template; see Revit templates.

Shared parameters: for tags and reuse

A shared parameter's definition lives in a .txt file outside any project or family, and each parameter carries a GUID. That lets it do three things a project parameter cannot:

  • Appear in tags: the tag family and the project read the same definition with the same GUID.
  • Stay consistent across projects and families: one company .txt file gives every project the same names and data types.
  • Feed multi-category schedules and ODBC export.

The cost: name and data type cannot be changed after creation, and the .txt file must be managed carefully. The full workflow, from creating the file to schedules, tags and the Vietnamese-text font issue, is in Revit shared parameters.

Family parameter revit: parameters inside a family

Family parameters are created in the Family Editor and drive a family's shape and materials: width b and depth h of a column, the leaf width of a door. Open them with Family Types on the Properties panel of the Create tab.

1 parameters b and h of the concrete column family. 2 the New Parameter button Photo: Family Types dialog of M_Concrete-Rectangular-Column, Revit 2027

Once the family is loaded, family parameters show in Properties or Type Properties and can be edited. But they cannot appear in schedules or tags. The schedulable field list for structural columns in Revit 2027 has no b or h. To schedule column sizes, create b and h as shared parameters inside the family.

1 Family parameter: no schedules, no tags. 2 Shared parameter: both Photo: Parameter Properties in the Family Editor, Revit 2027

Families can also have reporting parameters, which read a value from geometry, such as the distance between two reference planes, for use in formulas. Building parametric families with formulas and reference planes is covered in how to create a family in Revit.

Global parameter revit: one value driving many elements

A global parameter is created in a project, belongs to no category and has no instance or type. According to Autodesk: Global Parameters, it controls many parameters at once: grid spacing, a fixed clearance, a common material, or the label of a dimension.

Example: create a global parameter Cot_b = 300 and associate it with the b parameter of the 300×450 column type.

  1. Go to Manage › Settings › Global Parameters, click New Global Parameter, name it Cot_b, Data Type Length, value 300.
  2. Select a column and click Edit Type.
  3. On the b row, click the = button at the end (Associate Global Parameter), pick Cot_b and click OK.
1 global parameter Cot_b = 300. 2 the New Global Parameter button Photo: The Global Parameters dialog, Revit 2027
1 parameter b greyed out because it is driven by a global parameter. 2 the Associate Global Parameter button Photo: Type Properties of the 300×450mm column type, Revit 2027

Change Cot_b to 350 and b of every column of that type becomes 350; the volume of a 3.6 m column rises to 0.35 × 0.45 × 3.6 = 0.567 m³.

Not every parameter can be associated. Autodesk notes that only a selection of system parameters is available. In Revit 2027, walls allow Base Offset but not Unconnected Height. Structural columns allow Base Offset, Top Offset and the type parameters b and h.

Which parameter type should you use?

Decision chart: work from the top and stop at the first Yes Photo: Diagram by the Institute of Information Technology in Civil Engineering

Three common cases:

  • An element code that must show in tags and schedules: shared parameter, instance.
  • An internal note used only to filter and sort in one project: project parameter.
  • All typical-floor columns share one size that may change later: a global parameter associated with the column type parameters.

Common problems

SymptomCauseFix
Parameter missing from a tag's Edit LabelIt is a project or family parameterRecreate it as a shared parameter
Column b, h missing when schedulingb and h are family parametersEdit the family and make b, h shared parameters
Two schedule columns meaning the sameA new parameter duplicates a built-in one, such as Notes vs CommentsUse the built-in parameter and delete the extra
A Dynamo script works on one machine but not anotherParameters looked up by display name, which changes with languageUse BuiltInParameter
A global parameter cannot be associatedThe system parameter is not eligible, or the data type differsChoose another parameter, or create a global parameter of the right Data Type
A parameter field is grey and lockedIt is driven by a global parameter, or computed by RevitEdit the global parameter value, or remove the association with the = button

FAQ

What is the difference between a project parameter and a shared parameter?

Both add a field to elements and both reach schedules. A shared parameter's definition lives in a .txt file with a GUID, so it can appear in tags and be reused across projects. A project parameter lives in one project and cannot be tagged.

Can a project parameter be converted to a shared parameter?

Not directly: in the Modify dialog the Project/Shared choice is locked. Create a new shared parameter, copy the values across, then delete the old project parameter. For many elements, copy the values with Dynamo.

Do global parameters appear in schedules?

Not directly. Schedules only show element parameters. Associate the global parameter with an element parameter, then schedule that parameter.

Can I see a parameter's BuiltInParameter name without programming?

Use an add-in such as RevitLookup. Free add-ins are listed in Revit add-ins.

In short, revit parameter types are Built-in (provided by Revit), Project (one project), Shared (tags and reuse), Family (shape inside a family) and Global (one value driving many elements). Before creating a parameter, ask: does Revit already have it, must it appear in a tag, and will other projects use it?

About the author

TS. Nguyễn Mạnh Tuấn — BIM Manager, Revit Architecture and Revit Structure lecturer at the Institute of Information Technology in Civil Engineering – Hanoi University of Civil Engineering