Type and Instance Properties

In the previous chapter ‘Concept of Revit Elements‘, we discussed about how Revit elements are organized in a hierarchy:

Elements -> Categories -> Family -> Type -> Instance.

For many CAD users, families may sound similar to blocks or groups. However, the difference between CAD and BIM is the “information”. Thus, blocks and families are fundamentally different from each other because of the information they carry in their parameters and with which they can be controlled.

Each family is controlled by type and instance parameters within the project. Instance parameters affect individual instances only. Type parameters affect all instances of the same type in the entire project. To explain this, let’s go back to our example of chairs that we learnt in Concept of Revit Elements.

M2 Revit Elements

Now in this room, there are two types of desk chairs – blue and black. Let’s say that we want to change the color of all the blue chairs to red. If the color parameter is part of “type properties”of the family, then changing the value of the color in one chair would automatically affect all the 5 blue chairs present in the project. But, if the color parameter is part of the “Instance properties” then, changing the value of the color in one chair would affect only that particular chair. The remaining 4 chairs would remain blue.

In system families, type and instance parameters are pre-defined. For example, the thickness of the wall, by default, is a type property. Whereas, the height of the wall is an instance property.

For loadable families, you can decide which parameters to include as type and which as instance, depending on how you want to control the behavior of the family. This is typically done while you are creating a new family or editing an existing one.

Learn more about differences between type and instance parameters in a Video Tutorial by Autodesk.



What are Revit Families?

In the last chapter ‘Concept of Revit Elements‘, we learnt about how Revit elements are organized in a hierarchy of Elements -> Categories -> Family -> Type -> Instance.

Now, let’s dig deeper into different kinds of Families available to use in Revit.

System families are predefined in Revit. You do not load them into your projects from external files, nor do you save them in locations external to the project.

Examples of System families include Walls, Roofs, Floors, Ducts, Pipes, Levels, Grids, Viewports, etc.

Unlike system families, loadable families are created in external *.RFA files and are loaded in the project. Building elements that are usually purchased, delivered and installed in/around a building such as windows, doors, electrical fixtures, furniture, mechanical equipment, plumbing fixtures, etc are examples of loadable families. Some annotation elements that require customization, such as symbols, title blocks, tags, etc are also loadable families.

In-place elements are created when you need a unique component that is specific to the current project. The in-place geometry may reference other project geometry. It may also be resized or adjusted according to the referenced geometry in the project. When you create an in-place element, Revit creates a family for the in-place element in the project, which contains a single family type.

Learn more about different kinds of families, here.

Concept of Revit Elements

All elements in Revit are organized in a hierarchy of,

  • Elements
    • Categories
      • Families
        • Types
          • Instances.

Understanding Revit elements is very similar to understanding real world elements in a typical building project.

  • There are mainly three types of Elements in Revit:
    • Model Elements include categories that have 3D geometry such as Walls, Doors, Windows, etc.
    • Datum Elements include categories that are used as references for the project such as Levels, Grids, etc.
    • View-Specific Elements include categories that describe or document the project on a specific view such as Dimensions, Text, Annotations, etc.

Let’s take an example of Model Element category such as Door.

  • A specific design of a door is known as Family such as a Single Flush Door.
    • Each family of this element can have multiple types within it. For example, the Single Flush Door family with 0.8m, 0.9m and 1.0m width types.
      • Now, when you place a particular type of door at a particular location in your project, it is known as the Instance. So, if there are 4 Single Flush Doors with 0.8m type in the project, then we can count 4 instances of 0.8m Type of Single Flush Door family in the project.

To make it yet easier to understand, let’s take the following example of chairs in a room:

M2 Revit Elements

  • Element Type: Model Elements (because they contain 3D geometry)
  • Category: Furniture
  • Family: There are two different design of chairs in this example:
    1. Executive Chair
    2. Desk Chair
  • Type:
    • Executive Chair Types:
      1. Blue Chair
    • Desk Chair Types:
      1. Blue Chair
      2. Black Chair
  • Instances:
    • Executive Chair -> Blue Chair -> 6 Instances (around the table)
    • Desk Chair -> Blue Chair -> 5 Instances (in the left)
    • Desk Chair -> Black Chair -> 4 Instances (in right)

I hope these examples make it more clear for you to understand how elements are organized in Revit.  To further understand Revit elements, please review About Element Behavior in Revit