AUTODESK REVIT • FAMILIES AND PARAMETERS

Project Parameters — Bind project parameters to categories for project-wide data (intro)

Learn how project parameters attach custom data fields to element categories, enabling powerful project-wide scheduling and organization.

Historical Context & Motivation

Before Building Information Modeling (BIM) transformed architectural practice, design documentation relied on layers of two-dimensional drawings annotated by hand or through rudimentary CAD attribute systems. Tracking project-wide information—such as finish materials, cost codes, or sustainability ratings—required external spreadsheets or labor-intensive manual coordination. As BIM matured, Autodesk recognized that architects and designers needed a way to embed custom metadata directly into models, metadata that could travel with every element across every view and schedule. The introduction of project parameters in Revit addressed this gap by letting users define data fields that bind to entire categories of elements—walls, doors, rooms, furniture—ensuring consistent, queryable information throughout the project file.

1997
Revit Technology Founded
Charles River Software (later Revit Technology Corporation) began developing a parametric building modeler that stored geometry and data in a single relational database—the conceptual foundation for all parameter types.
2002
Autodesk Acquires Revit
Autodesk purchased Revit and accelerated its development. The platform formalized the distinction between system families, loadable families, and in-place families, each carrying built-in parameters.
2005
Shared & Project Parameters Mature
Revit 8.0 and subsequent releases refined the parameter ecosystem, offering project parameters for file-scoped data and shared parameters for cross-file interoperability and tagging.
2015–Present
Global Parameters & Data Standards
Revit introduced global parameters and IFC-mapping capabilities, embedding project parameters even deeper into international BIM standards and interoperability workflows.

The core question this lesson addresses is deceptively simple: how do you add a custom piece of information—say, an acoustic rating or a color finish code—to every element of a given category across an entire Revit project, and how do you make that information appear in schedules? Project parameters are the answer, and understanding them is essential for any designer working within a BIM-driven practice.

Core Principles & Definitions

A project parameter is a user-defined data field that exists only within the current Revit project file (.rvt). Unlike family parameters—which live inside a family definition and travel with it from project to project—project parameters are created at the project level and then bound to one or more element categories. Once bound, the parameter appears on every instance (or type) within those categories, enabling you to fill in values and schedule them. Understanding a few foundational concepts makes the entire system intuitive.

1

Category Binding

When you create a project parameter, you select which Revit categories (Walls, Doors, Rooms, etc.) it applies to. Every element in those categories immediately gains the new data field.
2

Instance vs. Type

A project parameter can be an instance parameter (unique value per element) or a type parameter (shared value across all elements of the same type). Choose based on how the data varies.
3

Data Disciplines & Types

Each parameter belongs to a discipline (Common, Structural, etc.) and has a data type—Text, Integer, Number, Length, Area, Yes/No, URL, and more—that governs how values are stored and displayed.
4

Scheduling Only (No Tags)

Project parameters can appear in schedules and be used for filtering/sorting, but they cannot appear inside annotation tags. For tagging, you need shared parameters.
5

Parameter Group Placement

You assign each parameter to a group (Identity Data, Constraints, Other, etc.) that controls where it appears within the Properties palette, keeping the interface organized.
KEY TAKEAWAY
Think of a project parameter like adding a new column to a spreadsheet that tracks every piece of furniture in a building. You define the column header once—say, "Finish Color"—and every row (every furniture element) automatically gets a blank cell you can fill. The column exists only in this particular spreadsheet (this project), and you choose which sheets (categories) display it. That is precisely how binding works in Revit.

Visual Explanation — The Binding Workflow

The diagram traces the three-step process for creating and binding a project parameter: define the parameter's name and data type, choose instance or type scope, then bind it to one or more categories. Once bound, the parameter appears on every element in those categories and becomes available in schedule views.

Examine the diagram from top to bottom. In Step 1, you open the Project Parameters dialog (Manage tab → Project Parameters) and define a new entry—its name, discipline, and data type. Step 2 asks you to declare whether the parameter should be an instance parameter (each placed element carries its own value) or a type parameter (the value is shared by every element of that type). Step 3 is the binding stage: you check one or more category boxes in the dialog, and Revit attaches the new field to every existing and future element in those categories. The dashed boundary at the bottom of the diagram represents the project scope—the parameter lives here and only here. Finally, the amber box at the bottom reminds us that bound project parameters become schedulable fields, which is their primary strength in documentation workflows.

How It Works — The Parameter Hierarchy

Revit maintains an internal relational database where every element is an object carrying a set of parameter-value pairs. When you add a project parameter, Revit essentially appends a new field definition to its schema for the selected categories. Understanding the parameter hierarchy clarifies when to use project parameters versus other types. At the foundation sit built-in parameters—fields like Width, Height, and Level that Revit hardcodes into each family category. Above them are family parameters, defined inside the Family Editor and embedded in the .rfa file. Then come project parameters and shared parameters, both of which are user-defined but differ in portability and tag-ability.

Instance vs. Type: A Decision Framework

The instance-vs.-type decision is perhaps the most consequential choice you make when creating a project parameter. An instance parameter stores a unique value for each placed element: if you have 200 doors, each can carry a different "Installation Date." A type parameter stores a single value per family type: all "36×84 Single Flush" doors share one "Fire Rating" value. Choosing incorrectly does not cause errors at first, but it leads to data management headaches later—dozens of redundant edits if you chose instance when type was correct, or loss of granularity if you chose type when instance was needed.

Decision matrix for choosing instance vs. type when creating a project parameter.
CriterionInstance ParameterType Parameter
Value varies per element?Yes — each element has its own valueNo — one value shared by all elements of that type
Typical use caseInstallation date, room-specific notes, unique IDsFire rating, manufacturer, cost per unit
Editing scopeProperties palette per selected elementEdit Type dialog — changes propagate to all instances
Schedule behaviorEach row shows the individual element's valueAll elements of same type show identical value

Data Types Available

Revit offers roughly two dozen data types for project parameters, grouped under disciplines such as Common, Structural, HVAC, Electrical, Piping, and Energy. For Visual Arts students working primarily with interior finishes, furniture layouts, and spatial design, the most frequently used data types are Text (free-form strings), Integer (whole numbers for counts), Number (decimal values for cost or ratings), Yes/No (boolean toggles for flags like "Accessible"), and URL (links to product data sheets). Selecting the correct data type matters because Revit validates input—if you set a parameter as Integer, you cannot type "Red" into its field.

Detailed Breakdown — Parameter Types Compared

Revit's parameter ecosystem includes several distinct types, and it is crucial to understand where project parameters fit among them. The diagram below maps out the four primary parameter types, their scope, and their capabilities. Misidentifying which type to use is one of the most common mistakes beginners make—especially confusing project parameters with shared parameters, which look similar in the dialog but serve different purposes.

The four Revit parameter types compared side by side. The Project parameter (highlighted with a star) is the focus of this lesson. Notice the critical limitation: project parameters cannot be placed in tags, unlike shared parameters.

The key takeaway from this comparison is that project parameters occupy a sweet spot: they are quick to create, require no external files, and immediately populate schedules. Their one significant limitation—they cannot appear inside annotation tags—is the primary reason shared parameters exist. If you are building a door schedule that tracks custom finish codes and you never need to display those codes as tags on a floor plan, project parameters are the simplest and most efficient choice.

Worked Example — Adding a "Finish Color" Parameter to Furniture

Imagine you are designing an art gallery interior. You have placed dozens of furniture elements—display pedestals, benches, reception desks—and your client wants a schedule listing every piece of furniture alongside its intended finish color. Revit's built-in Furniture parameters do not include a "Finish Color" field, so you need to create one as a project parameter.

Creating & Populating a "Finish Color" Project Parameter
1
Step 1 — Open the Project Parameters DialogNavigate to the Manage tab on the ribbon, then click Project Parameters. The dialog lists all existing project parameters. Click Add to begin creating a new one.
2
Step 2 — Define the ParameterIn the Parameter Properties dialog, select Project parameter (not "Shared parameter"). Enter the Name: Finish Color. Set Discipline to Common and Type of Parameter to Text. Text is appropriate here because color names ("Matte Black," "Warm White") are descriptive strings.
Parameter name: Finish Color | Discipline: Common | Type: Text
3
Step 3 — Choose Instance or TypeAsk yourself: will every individual furniture element potentially have a different finish color, or does the color depend on the furniture type? In a gallery where identical pedestals may get different colors for different exhibition zones, choose Instance. If all pedestals of a given type share the same color, choose Type. For this example, we select Instance.
Parameter grouping: Instance
4
Step 4 — Bind to CategoriesIn the Categories list, check Furniture. You could also check Furniture Systems if you are using system furniture. Optionally, assign the parameter to the group Identity Data so it appears in the Identity Data section of the Properties palette. Click OK twice to confirm.
Bound to: Furniture | Group: Identity Data
5
Step 5 — Populate & ScheduleSelect any furniture element in the model. In the Properties palette under Identity Data, you will now see a "Finish Color" field. Type Matte Black and press Enter. Create a Furniture Schedule (View → Schedules → Schedule/Quantities → Furniture), add "Finish Color" as a scheduled field, and the value appears in the table. You can sort and filter by this field to produce color-coded installation documents.
"Finish Color" now appears on every Furniture element and is fully schedulable.

Strengths, Limitations & Common Pitfalls

Strengths and limitations of project parameters.
StrengthsLimitations
Quick to create—no external file management required.Cannot be displayed in annotation tags on views.
Immediately available in schedules for sorting, filtering, and exporting.Confined to the current .rvt file—does not transfer when families are loaded into other projects.
Can bind to multiple categories at once (e.g., Walls and Floors together).Cannot be used in formulas within the Family Editor.
Supports a wide range of data types (Text, Number, Yes/No, URL, etc.).No GUID-based identity—if you recreate the parameter in another project, Revit treats it as a different field.
Instance or Type scope provides flexibility for varied workflows.Over-creating project parameters can clutter the Properties palette; use parameter groups wisely.
⚠️ Common Pitfall
One of the most frequent mistakes is creating a project parameter when a shared parameter is actually needed. If your team later decides they want a tag on the floor plan that displays "Finish Color," you cannot simply convert the project parameter—you must delete it, create a shared parameter with the same name, rebind it, and re-enter all the data. Planning ahead for tagging needs saves significant rework.
KEY TAKEAWAY
Think of project parameters as custom sticky notes you can attach to every element in a category—fast and easy, but they only exist inside the notebook (project) where you placed them. If you need those notes to appear on a poster (a tag in a view) or travel to another notebook (another project file), you need the more formal system of shared parameters instead.

Connection to Advanced Theory — Shared Parameters & Beyond

Project parameters are an excellent starting point, but professional BIM workflows almost always evolve toward shared parameters and global parameters. Shared parameters are defined in an external .txt file and assigned a GUID (Globally Unique Identifier), which allows Revit to recognize the same parameter across multiple project files, families, and even IFC exports. Global parameters, introduced in later Revit versions, allow project-level values to drive dimensional constraints—useful for maintaining consistent setback distances or clearance zones across an entire model. The table below summarizes the progression from project parameters to these more advanced types.

Progression from project parameters to shared and global parameters.
FeatureProject ParameterShared ParameterGlobal Parameter
Definition locationInside .rvt projectExternal .txt fileInside .rvt project
SchedulableYesYesNo
TaggableNoYesNo
Drives geometryNoNo (unless in family)Yes — constrains dimensions
Cross-project portableNoYes (via .txt file)No

As you advance in BIM practice, you will find that many firms maintain a standardized shared parameter file that ensures consistency across all projects. Understanding project parameters first provides the conceptual foundation—binding, instance vs. type, data types, category selection—that transfers directly to shared parameters. The only additional complexity with shared parameters is managing the external .txt file and understanding GUIDs. Future lessons in this series will explore shared parameters in depth, as well as strategies for parameter naming conventions and organizational standards that keep large projects manageable.

Practice Problems

PROBLEM 1CONCEPTUAL
Explain in your own words what it means to "bind" a project parameter to a category. Why is the concept of binding central to how project parameters work, and how does it differ from simply adding a property to a single element?
PROBLEM 2BASIC
You want to track whether each room in your gallery project has been approved by the client. What name, discipline, data type, and instance/type setting would you choose for this project parameter? Justify your data type choice.
PROBLEM 3INTERMEDIATE
Your design firm creates a project parameter called "Sustainability Rating" (Text, Instance) and binds it to both Walls and Floors. Later, the project manager asks you to add the same parameter to Ceilings. Describe the steps you would take and explain whether existing Wall and Floor data will be affected.
PROBLEM 4APPLIED
You are designing an exhibition space with 45 display pedestals (Furniture category) that will be fabricated in three batches by different workshops. You need to track which workshop is responsible for each pedestal and generate a schedule sorted by workshop name. Walk through the complete workflow—from parameter creation to schedule output—including your instance/type decision and rationale.
PROBLEM 5CRITICAL THINKING
A colleague argues that you should always use shared parameters instead of project parameters because shared parameters can do everything project parameters can, plus they support tagging and cross-project portability. Critically evaluate this argument. Under what circumstances would you still prefer project parameters, and what are the trade-offs of an all-shared-parameter strategy?

Lesson Summary

A project parameter is a user-defined data field that lives within a single Revit project file and is bound to one or more element categories—such as Walls, Doors, Furniture, or Rooms—so that every element in those categories automatically receives the new field. You choose between instance scope (unique value per element) and type scope (shared value across elements of the same type), and you select an appropriate data type (Text, Number, Yes/No, URL, etc.) to govern input validation and display.

Project parameters are schedulable but not taggable—if you need values to appear in annotation tags or be consistent across multiple project files, use shared parameters instead. The creation workflow follows three steps: define the parameter (name, discipline, data type), set instance or type, and bind to categories. This system lets designers embed rich, project-wide metadata—finish colors, sustainability ratings, fabrication assignments—directly into the BIM model, making documentation more accurate and collaborative.

Varsity Tutors • Autodesk Revit • Project Parameters — Bind project parameters to categories for project-wide data (intro)