You are on page 1of 37

Revit Families: A Step-by-Step Introduction

Paul F. Aubin – www.paulaubin.com

AB7877-L: Maybe you know the power of Revit software’s family editor but you’ve avoided it
or it has intimidated you until now. Wait no more. This hands-on lab will introduce you to the basics of
family editor. Once you get past being intimidated, you will find that while family editor is extremely
powerful, it can actually be great fun. In this short introduction to family editor, you will create a Revit
component family complete with constraints and parameters. Don’t worry if you don’t know what a
constraint or parameter is—we’ll cover that too. Whether you’ve never worked in Revit software before,
or you’ve used Revit software for a while but you’ve simply avoided family editor, this lab will teach you
the basics of the editor in the most effective way possible—hands on. (The session uses architectural
examples, but the concepts apply to the flavors of Revit software, including Revit LT software.)

Learning Objectives
At the end of this class, you will be able to:

• Create a simple, fully parametric model family


• Learn how to use reference planes, constraints, and parameters
• Learn how to nest components and set up a parametric array
• Learn how to apply materials and other accoutrements

About the Speaker


Paul Aubin is the author of many Revit software books, including the widely acclaimed Aubin Academy
Mastering Series, the all-new Renaissance Revit: Creating Classical Architecture with Modern Software,
and the Revit training videos at www.lynda.com/paulaubin. Paul is an independent architectural
consultant providing implementation, training, and support services for Revit Architecture software.
Paul’s involvement in the architectural profession spans 25 years, with experience in design, production,
CAD management, mentoring, coaching, and training. He’s an active member of the Autodesk, Inc., user
community, as well as a top-rated repeat speaker at Autodesk University, Revit Technology Conference,
Building Information Modeling (BIM) workshops, and the University of Minnesota. His diverse experience
in architectural firms as a CAD manager and as an educator gives his writing and his classroom
instruction a fresh and credible focus. Paul is an associate member of the American Institute of
Architects, and he lives in Chicago with his wife and 3 children.
Contact Paul at: www.paulaubin.com. Twitter: @paulfaubin
Revit Families: A Step-by-Step Introduction

This part is only in the Paper


I want to devote as much time as possible in the lab to working hands-on in the software.
Therefore, this part of the paper which includes background and conceptual information is only
being provided here in the paper. Since the papers are made available online before AU begins,
you can read up on this background information before attending the lab. Therefore, in the
actual lab time, I am going to dive right into the software and assume you have already read this
first topic. However, if this is the first time you are seeing this and did not get a chance to read it
before the lab, don’t worry, you will do just fine in the session. I think it is good to provide you
with some background information before beginning the process of creating family content, but
you can begin without it. So if you are reading this before the class; read on and enjoy and come
to class ready to start building. If you are reading this after the class, hopefully you find it a nice
supplement to what you already learned in the session.

Introduction
This class will introduce you to the basics of the Revit Architecture family editor. The family editor is
extremely powerful but sometimes intimidating. In this hands-on introduction to the family editor, we'll
work through the creation of a few Revit component (loadable) families complete with constraints and
parameters. Don't worry if you don't know what a constraint or parameter is; we'll cover that too. So
whether you've never worked in Revit Architecture before, or have used Revit for a while but simply
avoided the family editor, this lab will help get you acclimated to this critical and powerful aspect of using
the Revit software.

Even if you are completely new to Revit, you have no doubt discovered how important families and the
family editor are to your success in Revit. Everything you create in Revit is part of a family—
consequently, understanding families and what it takes to manipulate them is a vital part of learning the
software. Beginning with the difference between System and Component families this section will
explore the critical concepts and terminology. We’ll also take a quick look at what is provided in the Revit
libraries and learn about family templates. After this brief introduction to terminology, the rest of the
paper and the lab will focus on the component family creation procedures and strategies. Using the
concepts and techniques covered in this lab, you will learn how to begin tapping into one of the most
powerful aspects of the Revit Architecture package.

Everything in Revit is part of a Family


In order to get started with the family editor, it is important to understand some basic concepts and
terminology. All elements in the Revit platform are part of a family and they fit into a clearly defined
hierarchy. At the top level of this hierarchy, are Categories. Categories are pre-defined within the
software and cannot be added, deleted or renamed. A wide variety of Categories are included in Revit
and distributed among two overall master groups: model and annotation. Model Categories include all
elements that comprise your building model such as: Walls, Doors, Floors, Stairs and Beams. Annotation
categories include items like Text, Dimensions and Tags. Categories are by definition very broad. It
would not be enough to simply have a Walls or Doors Category. These items come in all shapes, sizes
and behaviors. The next level of the hierarchy is therefore the family. All Revit elements belong to a
family. The two most common types of family in Revit are the System Family and the Component
(Loadable) Family. Both kinds of family are best thought of simply as a collection of like items sharing
the same overall look and behavior. Revit includes many families such as the “Basic Wall” Wall family,
the “Single-Flush” Door family and many Annotation families like “Text” or “Linear Dimension Style.”
Even the Views themselves like Floor Plans and Sections are system families in Revit.

System families include anything that is built into the software and cannot be manipulated by the user in
the interface. As noted above, this can include model components like Walls and Floors, but also

2
Revit Families: A Step-by-Step Introduction

includes less obvious items like Views, Project Data, and Levels. System families cannot be created or
deleted. Their properties are pre-defined at the “factory.” However, most system families like Walls,
Floors and Roofs can have more than one Type. A Type is our next level or hierarchy in Revit. Think of it
as a collection of variables (sizes, materials or other settings) saved to certain values and given a name
for ease of reuse. A Type is basically a convenient way to switch several variables of a family at once. A
family can contain one or more Types; each with its own unique user-editable settings. So while we
cannot create or delete Wall families for example, we can add, delete and edit the Types associated with
each of the provided Wall families. For example, “Basic Wall” is the most common Wall family. In the out-
of-the-box template files, there are several predefined Basic Wall Types such as: Exterior – Brick on
CMU, Generic 6″ and Interior – 5 ½″ Partition (1hr). The Basic Wall definition simply means that it is a
layered Wall that has the same structure along its entire length and height. The actual make-up of this
structure can vary widely from Type to Type as the names noted here imply.

Other system families vary considerably in their specific composition and features, but at the conceptual
level they share the same basic characteristics: the overall behavior of the object is defined by the
system and cannot be redefined; however, the specific object-level parameters can be manipulated via
the creation and application of Type and/or Instance variations.

As already noted, system families include both things that are part of the physical model in your Revit
projects (like Walls, Floors and Roofs) and other items that are not (like Views, Project Data, and
Levels). To distinguish further, system families that also happen to be model elements are referred to as
“Host” elements. A Host is an element that can receive or support or provide structure for other model
elements. While not a perfect analogy, model system families or host families are the parts of the
building that are typically assembled onsite from a collection of raw materials. This includes Walls,
Floors, Roofs, Stairs, etc.

Component (or “Loadable”) families include everything that is not a system family. Many component
families are model elements, but they can also be annotation or other non-model elements as well.
Component families can be “host based” (require a host), or they can be “free-standing” (not requiring
a Host). Revit users can create, delete and modify component families (and their associated types). This
is accomplished in the family editor and each family thus created can be saved to its own unique file
(with and RFA extension). Like system families, component families can contain one or more types.
They can also have instance parameters that vary from instance to instance (not part of the type). Unlike
system families, they are completely customizable by the end user in the family editor.

Loadable component (model) families are the primary focus of this lab.

In addition to the system and component families, there is a third type of family in Revit called the “In-
Place Family.” In-place families are similar to component families in terms of creation, editing and
strategy. However, an in-place family is created directly within a project (not in a separate family file as
component families are) and it cannot be exported to other projects. Further, you can create in-place
versions of many system family categories like Walls, Roofs and Floors. This capability allows the
creation of custom or free-form shapes not otherwise possible in pre-defined system families. You
should only consider creating an in-place family for elements that are unique to a particular project with
little possibility that you will ever want to reuse them in future projects. Also, in-place families as already
noted, offer the only means to “customize” certain system families like Walls or Roofs. in-place families
therefore prove effective for modeling unique existing conditions or very specialized and unique design
scenarios. However, wherever possible, consider if the item you wish to create can be built using either
predefined system elements or a component family first before resorting to an in-place family. Often
creating an in-place element seems like a good idea at the time only to later be the source of regret.

3
Revit Families: A Step-by-Step Introduction

Revit and Family terminology


Here is a brief summary of Revit Architecture critical terminology. The illustration is borrowed from the
online help file. If is reproduced here with permission from Autodesk.

Element—Anything in your Revit Architecture project.


(Elements in italic can be created and edited in the family editor)
Model Element—Something that represents the actual geometry of your building.
Host Element—An element that can receive or support or provide structure for other
model elements (built in-place construction).
Component Element—An item inserted into a project (items that are pre-manufactured,
purchased and installed). Can be freestanding or require a host.
Host Based Component Element—A Component Element that must be inserted
on or into a Host.
Freestanding Component Element—A Component Element that can be inserted
independently without a Host.
View Element—An item in the Revit interface that allows you to see and interact with all other
elements. Views conform to the characteristics of typical architectural drawing types like plan,

4
Revit Families: A Step-by-Step Introduction

section, elevation and schedule. Some View Element families allow customization of Types,
many do not.
Datum Element—Include Levels, Grids and Reference Planes. These are used establish project
context, limits, extents and the like. Datum Elements provide guidelines and limits for other
elements within a project and can also include annotative qualities. The families and types of
datum elements cannot be edited.
View-Specific Element—Something that is used to document, describe or embellish a view of
your project. View-specific elements do not appear in any other views automatically. If you wish
to repeat view-specific items in other views, you can copy and paste them.
Detail Element—A two-dimensional family typically representing a model element but
at a level of detail that would be impractical to model. Detail elements appear only in
the view in which they are added. Detail Elements remain their actual size as create and
do not adjust scale with the view.
Annotation Element—Include text, dimensions tags and symbols. These items are view-
specific (appearing only in the view in which they are added) and are used to notate,
embellish, describe and document design intent within a Revit Architecture project.
Annotation elements maintain a constant size relative to the plotting scale of the view in
order to maintain a constant size relative the sheet on which they are placed.
Tags and Symbols (Generic Annotation families) can be created and modified in the
family editor. Text and Dimensions cannot.
Each of the elements in the previous classifications is also governed by the following hierarchy.

Category—A predefined list of classifications under which all elements within Revit fall. Every element in
Revit must belong to a category. The list of Categories is fixed in the software.
Family—Everything in Revit belongs to a family. Each family is a class of element belonging to a
particular category and representing a particular physical item or organization concept within a
project. Families include two major types: System families are those whose definition,
geometry, behaviors and characteristics are pre-defined in the software and cannot be changed
by the user. Component families are those whose definition, geometry, behaviors and
characteristics can be created and edited by the user. There are both system and component
families for model, annotation and detail element types.
Type—A saved and named variation of a family usually based upon standard sizes or
other commonly recognized characteristics.
Instance—An actual physical element within the model or project. Depending
on the definition of the category and family, an instance can have unique
properties not governed by the type.
The first step to working in Revit in general and building families in specific is to become comfortable
with this list of terms. Keep it handy as reference as you continue.

Family Libraries and Resources


Before you embark on the process of building family content, it should be noted that there are many
families included with the software and many more resources available online. A quick search in Google

5
Revit Families: A Step-by-Step Introduction

will turn up hundreds of hits of sites containing tips, tricks and downloadable content. Do take the time to
explore some of these sites if you have not already done so.

As has been noted, you cannot create or delete system families. All system families will already be in
your project file. To add types that are not present to a system family, you either have to duplicate an
existing type, rename and modify it, or import one from another project. To import from another project,
you can use Transfer Project Standards (Manage tab) or copy and paste.

To use a component family from outside the project in your current project, you can load it from a family
file (RFA) or copy and paste from another project. To load a family file, use the Load Family button on
the Insert tab of the ribbon, or the contextual ribbon tab when a command is active. For example, if you
click the Door tool (Architecture tab), the Load Family button will appear on the Modify | Place Door tab.
This lets you load a door family and place it all in the same procedure. There is also the Autodesk Seek
web site. On the Insert tab of the ribbon, on the Autodesk Seek panel, you can run a search directly in
the product. You can also type: seek.autodesk.com into your web browser.

In many cases, a family similar to the one you wish to create will already exist somewhere in the product
or online in one of the myriad online resources. Most companies also maintain their own libraries of
office standard content on their internal servers. Check with your CAD/BIM Manager to see what your
firm offers.

Practical wisdom says that it makes more sense to begin with something in the library and either use it
as-is, or modify it to suit your needs. Typically this will be easier than starting from scratch. In your day-
to-day work when you are up against deadlines, this is by far the best approach. Just be sure to take a
little time to “vet” any unknown or newly downloaded content to ensure that it meets your office
standards before using it on a live project.

If you are new to creating families in Revit (as I assume you are because you attending this lab), then I
recommend that you create your first few families FROM SCRATCH. By building the entire family
yourself, you will learn more than simply modifying one. Furthermore, families can include very complex
parameters and constraints that often link to one another in a chained and sometimes complex or even
convoluted fashion. If you are new to family editing and creation, it can be difficult to dissect these often
complex relationships. To avoid becoming discouraged, it is recommended that you start with a small
simple example and work your way to more complexity over time.

Don’t start with a Door or Window family. These are more complex than they at first seem. Begin with
something small, simple and boxy: like a simple piece of furniture or equipment. You can work your way
up from there.

Family creation procedures


The basic process for creating a family is as follows: decide what type of family you need. This will
include deciding what it should look like, how much detail to include and whether the graphics or level of
detail should change in different views. You can start by sketching out the family you intend to create
and make notes about its requirements.

Next, create a new family file from the appropriate template or open and existing family file similar to the
one you wish to create and save as. The choice of family template is important. The templates included
with the software are provided by Autodesk with the product. Each contains basic settings, behaviors
and in many cases some simple geometry or reference planes. The geometry included (like a sample
length of Wall) is only for reference and does not get inserted with the family when used in a project.
While it is possible to change the category of family after creation, it is best to choose wisely at the start.
Try to choose the most appropriate category selecting Generic Model.rft only if no other suitable

6
Revit Families: A Step-by-Step Introduction

category can be determined. Unlike category, the hosting behavior of a family file cannot be changed
after it is created. So if you are not certain that you want the family you are creating to require a Host, it
is safer to build it without one. In other words, if you choose Casework wall based.rft as the template, the
family you create will always require a Wall in order to be inserted. If you think you might like to use the
cabinet as a freestanding piece of casework, choose the Casework.rft template instead. You can always
use the Align tool to attach the non-hosted cabinet to a Wall later. You cannot later decide to detach the
hosted casework item from its host Wall.

Once you have decided what you want to build and created a new family file based on an existing file or
the appropriate new template, you are ready to create your family reference planes, parameters and
geometry. It is usually best to start with the framework. If you begin with an existing family, delete
anything you don’t need first. Then in both existing and new families, add the Reference Planes you will
need. Reference Planes provide the skeleton for your family. Some templates already contain basic
Reference Planes. You can use these as-is or modify them. The proper procedure is to manipulate or
create reference planes, optionally constrain or assign parameters to these planes, and then create
geometry and lock it to the reference planes. In this way, the reference planes actually drive the
geometry. This is the most reliable, best-practice way to build your family files.

Once you have laid down your reference plane framework and assigned parameters and constraints,
test the family by “flexing” it. This is done in the family Types dialog which you can access from the
Family Types button on the ribbon. To flex the model, simply try different values for each parameter and
then apply. If the framework moves the way you expect, everything is good. Otherwise, undo, and try to
fix the problem. We will see several examples below.

When all geometry and parameters have been created, applied and flexed, you are ready to save the file
and load it into a test project (this is our 100 Sandbox.rvt file below). If necessary, make any
adjustments, otherwise your family file is complete.

Constraints and Parameters


In its simplest form, a family can be a static graphic or symbol. Such a family would be drawn the way it
was intended to look regardless of the circumstance. The out-of-the-box Chair-Breuer is one such
example. There are no types or user-editable dimensions in this family. However, one of the things that
make families so powerful is their ability to use variables to help them conform to varying circumstances.
This is done using constraints and parameters. While each of these terms has several possible
meanings, in the context of Revit the following definitions are suitable to our discussion.

Constraint— is a fixed rule that can only be manipulated by editing the family file.

Parameter— creates a rule or relationship that has user-editable properties.

Essentially each of these is a rule applied to some part of a family’s geometry or behavior, but a
constraint cannot be manipulated by the end user, and a parameter can. For example, if you were
working with a door family and you wanted to ensure that a vision panel was 10" from the door edge
regardless of the door’s width, you would use a constraint within the family editor to achieve this. On the
other hand, if you want to allow the same door family to have varying (flexible) sizes for height and width
of the vision panel, these would be parameters. By making vision panel width and height parameters and
using them to drive the geometry within the family, the user can exercise much greater control than
would otherwise be possible. However the location of the vision panel with respect to the door would be
fixed.

7
Revit Families: A Step-by-Step Introduction

Solid and Void Form Geometry Types


Geometry in families consists of solid and void forms. Solid forms represent the actual physical parts of
the family and void forms are used to carve away portions of the solid forms. For example, you could
create a solid form box, and then use a void form to cut a hole in it like a donut. Both solid and void
forms come in five varieties. These include: Extrusion, Blend, Revolve, Sweep and Swept Blend (see
Figure 1). We will use an extrusion and a blend in the tutorials below.

Figure 1 Forms available in the family editor

An extrusion is a sketched shape pushed along a distance perpendicular to the sketch plane. A blend is
similar accept that instead of a single shape, you have both a top and a bottom shape and the 3D form
transforms (or blends) from one to the other along the perpendicular height of the form. A revolve spins a
sketch shape around an axis. The revolve can be a full 360° or a partial arc. A sweep pushes a shape
(sketch or loaded profile) along a sketched path. The shape is perpendicular to the path. A swept blend
combines features of both the blend and the sweep. The form morphs between two profiles or sketches
as in a blend, but can follow a non-linear path. Unfortunately the swept blend path can only contain one
segment unlike the sweep. This means that complex forms require a spline path. Bear in mind however
that spline paths can affect performance. Using a combination of solid and void forms you can create
nearly any three-dimensional shape.

Family Types
As we have already pointed out above, families can contain types. A Type is a saved and named
collection of values for the parameters within a family. You can add as many types as you wish. Types
can be added within the family editor or even later in the project.

Nested Families
You can build complex forms using a combination of the solid and void forms available in the family
editor as noted above. In some cases however, managing a complex form in a single family can become
cumbersome. In some cases, it makes sense to break your object into discreet parts and build the parts
as separate families. You can then insert these simpler families into another family that represents the
whole. This is referred to as nested families. When you manage your complex families in this way, you
gain more control and flexibility.

Subcategories and Visibility parameters


Any family you create or load from a library will belong to a certain category. Each of the elements within
the family can belong to a subcategory within the family. Subcategories provide an extra level of visibility
and graphical control over the parts of a family. For example, in the door families included with the
software, there are several pre-defined subcategories. One such subcategory is the Plan Swing. Using
this subcategory it is possible to make door plan swings a lighter pen weight regardless of the specific
family. This helps enforce standards and simplifies such changes.

8
Revit Families: A Step-by-Step Introduction

Visibility parameters are another way to control elements within a family. Sometimes it is useful to see
part of the family only in certain circumstances. For example, you could create a door family where
hardware was an optional display component. In this case, a visibility parameter would be assigned to
the hardware elements within the door family and the visibility parameter could then be toggled on or off
by the user depending on whether or not the needed to show it in a given situation.
This is the end of the introductory material. The rest of the paper contains the tutorial steps that will be
conducted live in the lab. More lessons are included here however than our 90 minutes will allow. So feel
free to perform the additional lessons on your own following the class.

Before we begin
• This is an INTRODUCTORY class. If you already know how to use the Family Editor and
have already created your own family content in Revit, most of the topics covered in this
lab will likely be review to you.
• I assume NO PRIOR KNOWLEDGE of the family editor. We will start at the beginning.
• I will be teaching the course using Architectural examples. However, most if not all
concepts should apply equally to other flavors of Revit. This includes Revit LT.
• This is a Hands-on lab. If you don’t wish to follow along, please pass the mouse to
the person sitting next to you.

Family Editor 000


Prerequisites and Setup

If you were going into the shop to build some cabinetry, you’d want to make sure you had all the tools
you needed and that the shop was in order before you started. Let’s do the same in Revit.

All steps and screen shots here are Revit Architecture 2015, R2, but most should work in other flavors or
versions.

The Steps outlined here are meant to supplement the live presentation given in the lab. Steps have been
kept brief and much of the explanations accompanying the steps in the live lab have been omitted from
the paper or included in the first section of the paper above. Please refer back to the topics above for
further details on the concepts showcased herein.

1. If Revit is not already running, launch it now.


2. From the Application Menu (big “R”), or on the Recent Files screen, choose Open >
Project.
3. Browse to the folder containing this lab’s dataset files (I will have this posted up on my
screen) and open the file named: 100 Sandbox.rvt.
4. Minimize the active view.
The project file will remain open as we work through the next several lessons. As you build family
content, you will want to test if frequently. Having a project file open in the background is an excellent
way to do this. I like to minimize it so that it stays out of my way till I need it. There is nothing special

9
Revit Families: A Step-by-Step Introduction

about a “sandbox” except what you put in it. You can open your standard office template, add a few
Walls and other items and save it as a sandbox. It is that simple.

This lab is a repeat of an earlier scheduled lab. However, this timeslot is shorter than the original. I have
included the full text of the paper here, but we will not cover as much of the material in the live lab given
our shorter timeframe. You are encouraged to work through the omitted exercises on your own following
the session.

And now, on with the good stuff! Let’s start building some family content!

Family Editor 101


Getting Started with the Family Editor

It all starts with a box. A box you say? Yes a box. The first thing you need to learn to build in the family
editor is a simple box. But not just any box, we’ll be building a Parametric Box. Ooo ahh.

1. From the Application Menu (big “R”), choose New > Family.
The “New Family – Select a Template File” dialog will appear. Template files do some very important
things to get you off to a good start in your families. For now, we will just choose: Generic Model. (Don’t
be fooled by this choice however. Template choice is very important and was discussed in a little more
detail in the “Family creation procedures” topic above).

2. Select: Generic Model.rft from the list and then click Open.
3. Type WT and then ZA.
4. From the Application Menu choose Save and name the file Box.rfa.
These two keyboard shortcuts tile the windows and zoom them all to fit the available space. If you are
not using keyboard shortcuts, you should consider learning some. Big time savers!

Create Reference Planes


Reference Planes give our family its structure. Think of it as the skeleton of your family. Always start with
reference planes.

1. On the Create tab, click the Reference Plane (not Reference Line) button (or type: RP).
2. Working in the floor plan view, draw a vertical reference plane on the left of the centerline.
Edit the dimension to make it 3'-0" from center. Repeat to create a horizontal one below at
2'-0" from center.

10
Revit Families: A Step-by-Step Introduction

3. Mirror them both to the opposite side to end up with four total.
To name a Reference Plane, select it and on the Properties palette, type in the Name field.

4. Select the one on the left, and on the Properties palette, name it: Left.
5. Repeat for the other four naming them Right, Front and Back.

6. Add dimensions (Modify tab or type: DI) to each group of Reference Planes. Two vertical
and two horizontal. There should be an overall and a continuous string including the
centerline in each direction.

11
Revit Families: A Step-by-Step Introduction

7. Select each of the continuous strings and toggle on the Equality (click the small EQ icon).

8. Select the 6'-0" overall dimension. On the Options Bar, click the Label dropdown and
choose <Add Parameter>.
9. In the “Parameter Properties” dialog that appears, name the new parameter Width, choose
the Instance radio button (do not check “reporting”) and then click OK.

10. Repeat for the other dimension calling it Depth and also an Instance parameter.

Flex the model


What we have so far is a rectangular formwork defined by the Reference Planes. The two labeled
dimensions are “parameters” that will allow these dimensions to be flexible. The two “EQ” dimensions
will constrain the model in such a way as to keep everything centered. Let’s test it out. When you test
your flexible Family, it is called “flexing” the model.

1. On the ribbon, click the Family Types button.

12
Revit Families: A Step-by-Step Introduction

2. Input a different value for both the Width and Depth fields and then click the Apply
button.
The locations of the Reference Planes should adjust but stay equally spaced from the center. If it does,
congratulations, you have completed your first set of correctly configured parameters.

3. Reset the Width to 6'-0" and the Depth to 4'-0" and then click OK.

Repeat the process


Now we’ll shift to elevation and add a Reference Plane to control the height.

1. In the Front elevation view, on the Create tab again, create another reference plane running
parallel to and 3'-0" off the ground.
2. Name the new reference plane to Top on the Properties palette.
3. Add a dimension between the new reference plane and the Ref Level already in the file.
Label the new dimension with a new parameter and call it Height. Make it an Instance
parameter (not reporting).
CATCH UP! If you get behind, look for these boxes. I have saved versions of the files at various stages of
completion. You can open the file completed to this point named: 101 Box_A.rfa.

Add Geometry
How about some geometry? With a good framework in place, you are ready to add your first solid form to
the Family.

1. In Plan view, on the Create tab, click the Extrusion button.


2. On the Modify | Create Extrusion tab, on the Draw panel, click the Rectangle shape.

3. Snap to the intersection of two of the reference planes for the first corner, and then snap to
the opposite intersection for the other corner.

13
Revit Families: A Step-by-Step Introduction

4. Lock all four sides.


5. On the ribbon, click the big green checkmark button to finish.
6. Zoom the 3D view to fit. You can do this quickly by clicking a corner
of the ViewCube. Turn on Shading in the 3D view.
7. In an elevation view, select the box. Drag the triangle shape handle grip at the
top and snap it to the reference plane. Lock it.

Load into a Project


The best way to flex any new Family is to load it into a project. This is where the Sandbox file we opened
earlier comes in.

CATCH UP! You can open the file completed to this point named: 101 Box_B.rfa.

If you did not open and minimize the 100 Sandbox.rvt project file earlier, please open and minimize it now.

1. With your Box Family active, on the ribbon, click the Load into Project button. Place it
anywhere inside the building.

2. Make a couple copies. Try moving or rotating them.


3. On the Properties palette, edit the Width, Depth and Height.
Notice each instance can have its own dimensions (this is because we used Instance parameters).
Expand the Families branch of the Project Browser. Under Generic Models you will see the Family listed.

14
Revit Families: A Step-by-Step Introduction

Congratulations. You have created


your first parametric model Family.
Granted it is just a simple box, but that
simple box can become lots of useful
things as we’ll see in the next section.

Family Editor 102


More than a box

Think of the box we just created as a jig. Naturally there are many useful forms we could create. But
perhaps none is more versatile than a simple flexible box.

1. Minimize the 100 Sandbox.rvt file. Your Box should still be opened with views tiled.
2. Save the file as: Shelf.rfa.
CATCH UP! You can open the file completed to this point named: 102 Shelf_A.rfa.

3. In the Front elevation, create a new Reference Plane below the Ref. Level about 4" away.
Name it Underside.
4. Select the Extrusion. On the ribbon, click the Edit Work Plane button. From the Name list,
choose Reference Plane: Underside and then click OK.

5. Drag the control grip down and snap it to the Ref. Level. (This will cause an error). When
the error dialog appears, click the Remove Constraints button.
6. Lock the new position of the Extrusion shape handle. You should have a very short box
completely below the Ref. Level.

15
Revit Families: A Step-by-Step Introduction

16
Revit Families: A Step-by-Step Introduction

Re-Constrain the Height


Let’s apply the Height parameter to our new Reference Plane.

1. Add a Dimension between the Underside Reference Plane and the Ref. Level.
Be VERY careful to dimension to the reference plane and level NOT the box. Use TAB if necessary.

2. Label it with the existing Height parameter.


This will immediately “flex” the extrusion and make it 3' tall, but in the negative direction!

3. Delete the Top Reference Plane.


There are other ways to achieve a similar effect. This approach is taken to keep the extrusion height a
positive number but make the insertion point of the shelf at the top surface of the shelf.

Flex and Save


While it is possible to have a 4 x 6 shelf, it is pretty unlikely that we would have a shelf that is 3' thick.
Let’s return to Family Types and set the sizes to more reasonable values.

CATCH UP! You can open the file completed to this point named: 102 Shelf_B.rfa.

1. Open Family Types and flex. Input values of Width = 4'-0", Depth = 1'-4" and
Height = ¾" and then click Apply.
2. Assuming there are no errors, click OK and then Save the file.

So with minor adjustment, our simple box becomes a shelf. Now let’s give it some supports.

17
Revit Families: A Step-by-Step Introduction

Family Editor 103


Solids and Voids

To create a support bracket for our shelf, we’ll try a new form: a Solid Blend. However, it starts with the
same basic armature that we used for the box. So rather than start from scratch, let’s save it as a new file.

CATCH UP! You can open the file completed to this point named: 102 Shelf_C.rfa.

1. From the Application Menu (big “R”), choose Save As > Family. Call it Bracket.rfa.
Since we are starting with an existing file, we need to make a few adjustments. Ultimately in your own
work, you can proceed as we are doing here, or you can build each new Family from scratch including all
Reference Planes and Dimensions. The choice is up to you.

2. Select the Underside Reference Plane and on the Properties palette, rename it: Bottom.
3. In the Front elevation, with the Reference Plane still selected, click on the Height
dimension.
It will become an editable temporary dimension which allows you to flex it directly.

4. In the dimension, input a value of 1'-0" and press ENTER.


CATCH UP! You can open the file completed to this point named: 103 Bracket_A.rfa.

OK, it doesn’t look much like a bracket yet. But as we’ll see it has all the raw materials we need to
quickly transform it. We need to first add one more Reference Plane and adjust a few parameters.

5. In the Front view, zoom in if necessary and add a new Reference Plane ¾" below the Ref.
Level. Add a dimension between this one and the Ref. Level. Instead of adding a
parameter, simply lock it. This will make this dimension “fixed” making it a constraint.
Important: Be sure to dimension to the Ref Level and NOT the box.

18
Revit Families: A Step-by-Step Introduction

6. Open the Family Types dialog. Select the Width parameter and on the right side, click the
Modify button. Change the name to Thickness and then click OK twice.
7. In the Front elevation view, delete the Extrusion. Save the file.

Create a new Blend


Let’s now build some new geometry.

CATCH UP! You can open the file completed to this point named: 103 Bracket_B.rfa.

Work Planes are very important when creating solid forms. We saw above that we can edit the work plane
of a solid element after it is created. A better approach is to set a Work Plane current before you create
the form. This gives much more control. Any named reference plane can be used as a work plane.

1. In the Front view, on the Create tab, on the Work Plane panel, click the Set button.

2. In the “Work Plane” dialog, from the Name list, choose Reference Plane: Back and then
click OK.
3. Stay in the Front elevation and then on the Create tab, click the Blend tool.
4. On the Draw panel, select the Rectangle shape and snap to the opposite corners of the
rectangle defined by Ref. Level, Bottom, Left and Right Reference Planes. Lock all sides.

5. On the ribbon, click the Edit Top button.


6. Choose Rectangle again and create a thin rectangle between the Ref. Level, Left, Right and
the new Reference Plane at ¾". Lock all sides.
7. On the ribbon, click the green checkmark button to finish.

19
Revit Families: A Step-by-Step Introduction

8. Zoom in on the Left elevation view. Use the control grip to drag the depth of the blend and
snap it to the Front Reference Plane. Lock it.

Flex the Blend


While it is certainly possible to have a bracket in this shape, its proportions are perhaps a bit off.

CATCH UP! You can open the file completed to this point named: 103 Bracket_C.rfa.

1. Open Family Types.


2. Change the Thickness to ¼", the Height to 4". Leave the Depth at 1'-4" and then click OK.

3. Save the file.

***Add a Void Form


There are many other solid forms available. Feel free to explore more on your own. There are also void
forms. Voids cut away from solids. Let’s do a simple example.

1. Open the Left elevation view and Zoom in on the bracket toward the back.
2. On the Create tab, click the Void Forms dropdown and then choose Void Extrusion.
3. Create a circle inside the space of the bracket with a 1 ¼" radius.

20
Revit Families: A Step-by-Step Introduction

4. Click the Modify tool to cancel. Select the circle and on the Properties palette, check the
Center Mark Visible checkbox.
5. Add a dimension from the Ref. Level to the center of the circle. Select the circle and edit
the dimension to 1 ¾".
6. Add a second dimension from the Back Reference Plane to the center of the circle at 2"
away.
Tip: Select the circle and on the Properties palette, check the Center Mark Visible box.

7. Click the Finish Edit Mode button.


Like any Extrusion, this one defaulted to the last value used, or 1'-0" here. It also uses a Work Plane of
the Center (Left/Right). You can Edit the Work Plane, use the grips to edit the depth, or type in values on
the Properties palette. We want the void to cut all the way through the blend.

8. In the Front view, adjust the depth of the Void to cut through the blend.

***Adjust the Origin


The way our Family is currently defined, the origin point which controls the insertion of the Family is at
the intersection of the two center Reference Planes. For a shelf bracket, the Back plane and Center
(Left/Right) would make a better choice.

21
Revit Families: A Step-by-Step Introduction

1. In the Plan view, select the Back Reference Plane. On the Properties palette, check the
Defines Origin checkbox.
2. Save the Bracket.rfa file.

Family Editor 104


Nesting Families

To make more complex forms, you will often want to model it in parts. Break a large item into smaller
parts, model each as a separate Family and then pull them all together in a single host Family. This is
referred to as “nesting” Families.

1. Keep your Bracket Family open. Reopen your Shelf.rfa Family file.
CATCH UP! You can open the file completed to this point named: 104 Shelf_D.rfa for the shelf
and 104 Bracket_D.rfa for the bracket.

2. Using Switch Windows, switch over to one of the views for the Bracket Family such as
Bracket.rfa – 3D View: View 1.
3. On the ribbon, click the Load into Project and Close button.
Load into Project and Close is a feature of the R2 subscription release for Revit 2015. If you do not have
subscription, or do not have this update installed, you can click Load into Project instead and then later
manually close the Bracket family.

4. In the dialog that appears, check the Shelf Family only (not the Sandbox) and then click
OK.

This should run the Component tool. If the plan view did not activate, click in the plan to activate it. If you
need to start the Component tool again, click the tool on the Create tab.

5. In the Plan view, place an instance of the bracket. The exact location is not important. Get it
close.

22
Revit Families: A Step-by-Step Introduction

6. Use the Align tool to snap the back of the bracket to the Back Reference Plane in the Shelf
Family. Lock it.
7. Create a dimension between the Left Reference Plane and the center of the bracket.
8. Cancel the dimension command, select the bracket and then edit the temporary dimension
to 4". Lock it.
9. Open the Left elevation view, on the Modify tab, click the Align tool.

10. First select the Underside Ref. Plane for the alignment reference. Then be sure to use the
TAB key and make sure you are aligning the top of the Bracket and NOT the Extrusion:
Shape Handle. Lock it.
11. Mirror the Bracket to the other side and constrain it the same way. You must repeat all
alignment steps and lock them.
12. Open Family Types and flex.
13. Save the Shelf file and close the Bracket file.

***Linking Parameters between Host and Nested


Locking to the Reference Planes keeps the brackets positioned well as the shelf changes shape. If you
like you can establish a relationship between the parameters in the host file (the Shelf) and the nested
Family (the Bracket).

CATCH UP! You can open the file completed to this point named: 104 Shelf_E.rfa.

1. Select both Brackets onscreen. Left view is a good place to do this.


2. On the Properties palette, locate the small Associate Family Parameter button to the right of
the Depth field and then click it.

23
Revit Families: A Step-by-Step Introduction

3. In the “Associate Family Parameter” dialog, choose Depth and then click OK.
4. Flex the Depth.
Notice how the Depth parameter of the host family now also flexes the nested components.

5. Save the Family.

Family Editor 105


Creating Family Types

When you get tired of manually editing the values of each field when you flex, it’s time to create some
Family Types.

1. Continue with your Shelf Family open. Save it as: Shelf w Brackets.rfa.
CATCH UP! You can open the file completed to this point named: 105 Shelf w Brackets_A.rfa.

2. Open the Family Types dialog.


3. At the top of the “Family Types” dialog, on the right, click the New button. Input 48" x
16" for the name and then click OK.
4. Click new again, input 54" x 20" and then click OK.
5. Change the Width to 4'-6" and the Depth to 1'-8" and then click Apply.
6. From the Name list at the top, choose 48" x 16" and then click Apply.
Notice how having Types makes it easy to flex! Feel free to add more Types if you wish.

7. Save the Family.

24
Revit Families: A Step-by-Step Introduction

Family Editor 201


Assemble a complex Family

The shelf we have could be loaded into our sandbox project and aligned with any of the Walls and
copied around as needed. But to make our Family even more useful and powerful, we can nest it further
into a new host Family. In this segment, we’ll build a shelving unit that repeats multiple shelves and
exhibits several other useful features as well.

1. Open the Family named 201 Shelving Unit_A.rfa. Save it as: Shelving Unit.rfa.
This Family already has some reference planes, dimensions, parameters and a simple extrusion in it.
With the exception of a few extra reference planes and a couple extra dimensions, the setup in this file is
very similar to our simple box family above. In fact, in the center we have a long thin box constrained to
the reference planes. This box is the back wall of our shelving unit.

Do note however the difference in the way that the Depth parameter is applied. The shelving unit we will
be building will have the option of being one sided or two sided. Applying the Depth parameter on each
side facilitates this.

2. Directly above the Family Types button click the Family Category and Parameters
button.
Notice that this Family is set to the Furniture category. In the
previous exercises, we used the Generic Model category. In
general, it is preferable to choose a more specific category
wherever possible. MasterSpec lists Retail Furniture in division
12 Furnishings and Storage Assemblies in division 10
Specialties. Translated to Revit categories, this gives us a
choice between Furniture (assigned here) or Specialty Equipment. The choice should be considered
carefully when devising your family content. While possible to change your category later, it can cause
issues if you change it too far into the development process for your family.

***Nest in and Position the Shelf


Load in your shelf w brackets and position it using the Align tool as we did above.

1. Using Switch Windows, switch over to plan view of your Shelf w Brackets Family.
2. Following the steps above, set the Back Reference Plane as the Origin and Save the Family.

25
Revit Families: A Step-by-Step Introduction

CATCH UP! You can open the file completed to this point named: 201 Shelf w Brackets_B.rfa.

3. On the ribbon, click the Load into Project and Close button. In the dialog that appears,
check the Shelving_Unit family only and then click OK.
4. Place an instance of the Shelf in the plan view in the lower portion of the screen.
5. Using the Align tool, align the center of the shelf to the center of the host Family. Lock it.
6. Align the back of the Shelf w Brackets to the Reference Plane named Single-Sided Shelf
Plane. Lock it as well.
7. Cancel the Align command and then Tile the windows (press WT).
8. In the Left view, select the Shelf. On the Properties palette, change the Offset to: 2'-0".

Create a Parametric Array


When you create an Array in Revit, it does not have to be just a one-time copy command. You can leave
it parametric! This means we can adjust quantity later and update the geometry.

CATCH UP! You can open the file completed to this point named: 201 Shelving Unit_B.rfa.

1. In the Left view, select the Shelf. On the Modify | Generic Models tab, click the Array
button.
2. On the Options Bar, verify that the linear icon and that the Group and Associate checkbox
are both selected. Change the Number to 4, choose the Last option and check Constrain.

3. Click a start point near the shelf, drag up and click again about 4'-6" away.
You can try different numbers for the Array value to test it if you wish. Let’s now assign a parameter to
the quantity.

4. Select the Array dimension. (It will be a line near the quantity number onscreen).

26
Revit Families: A Step-by-Step Introduction

5. On the Options Bar, click on the Label dropdown and choose <Add parameter>. For the
Name type Number of Shelves, make it an Instance property, group it under Graphics and
then click OK.
6. Open Family Types and flex.

***Add a Flip Control


A Flip Control provides a quick and easy way to flip or rotate a Family during or after placement. Let’s
add one to our Shelving Unit Family.

1. Continue in your Shelving Unit Family and make sure the plan view is active.
2. On the Create tab, click the Control button. On the Modify | Place Control tab, click the
Double Vertical button and then click beneath the plan geometry to place the control.

3. On the ribbon, click the Modify tool and then Save the Family.

Load into the Sandbox


Let’s test the Family out in our Sandbox project.

CATCH UP! You can open the file completed to this point named: 201 Shelving Unit_C.rfa.

1. On the ribbon, click the Load into Project button. Load it into the Sandbox file.
We are using Load into Project and not Load into Project and Close this time. We want to leave the
Shelving Unit family open as we test it in the Sandbox.

2. Place an instance in the file.


3. Switch to plan view and try out the flip control.
The basic geometry of the family is complete. The next several topics will add more complexity and
robust features to the Family. We will try to get through as many as the lab time will permit. Feel free to
use the steps outlined here to continue refining this collection of families after the lab on your own.

27
Revit Families: A Step-by-Step Introduction

Family Editor 301


One-sided or Two-sided?

We have many ways to make this Family more robust. Let’s start by giving it the option to be one or two-sided.

1. Continue in your Shelving Unit Family. Close other Families if any are open. Leave the
Sandbox project file open and minimized.
CATCH UP! You can open the file completed to this point named: 301 Shelving Unit_D.rfa.

2. In the Left elevation view, select the base shelf extrusion (it was already in the file above)
and the lowermost shelf in the array.
3. On the Modify | Multi-Select tab, click the Mirror - Pick Axis tool (or type MM). Pick the
Center Front/Back Reference Plane as the axis of reflection.

4. Select the new shelf w brackets created by the Mirror. It will still be grouped. On the
ribbon, click the Ungroup button.
When you array, it creates a Group. Copying grouped elements do not keep them associated with the
original Array but will leave them grouped. So ungrouping the mirrored shelf is important here. Be sure
however to ungroup ONLY the mirrored shelf. Not the ones on the other side of the wall.

Create and Apply a Visibility Parameter


The items that we mirrored we want to display only some of the time. To do this, we can make a
parameter to control element Visibility.

1. Select the two mirrored elements (one extrusion and the ungrouped shelf w brackets).
2. On the Properties palette, click the small Associate Family Parameter button to the right of
the Visible checkbox. (Do not click the checkbox, click the small button next to it).
3. In the “Associate Family Parameter” dialog that appears, click the Add Parameter button
at the bottom.
4. In the “Parameter Properties” dialog, name it Gondola Unit, group it under Graphics.
5. Near the bottom of the dialog, click the Edit Tooltip button.

28
Revit Families: A Step-by-Step Introduction

6. Select all of the text in the “Edit Tooltip” dialog and then type: “Determines if the unit is
one-sided or two-sided.”
7. Click OK three times.

A small equals (=) sign will appear on the button to indicate that it is now driven by
a parameter.

8. Select just the ungrouped shelf. Repeat the process above to array it
using the same settings as before.
9. Label the array with the same Number of Shelves parameter.

***Create Family Types


To test our new parameters, let’s create a few Family Types.

CATCH UP! You can open the file completed to this point named: 301 Shelving Unit_E.rfa.

1. Open the Family Types dialog.


2. Click the New button. Name the new type Wall Unit and then click OK.

29
Revit Families: A Step-by-Step Introduction

3. Uncheck the Gondola Unit checkbox and then click Apply.


4. Click New again. Name it Gondola Unit. Check the Gondola Unit checkbox and then click
OK.
You will not see the effect of the visibility checkbox in the Family Editor. To flex this, we have to load it
into our sandbox project.

5. On the ribbon, click Load into Project. If the “Family Already Exist” box appears, click the
Overwrite the existing version and its parameter values option.
6. Place one of each type onscreen in the Sandbox project file.

If you have been continuing in your own file throughout, you will have an extra type on the Type Selector
with the same name as your family. This was created automatically by Revit when we loaded the family
earlier to test the flip control. If a family has no types (as was the case before we added them just now)
Revit creates a type for you with the same name as the family. You can expand the Families branch of
the Project Browser, expand Furniture, locate and delete this extra type by right-clicking on it.

***Family Editor 302


Tweaking the Graphics

The Visibility parameter immediately introduces a great deal of flexibility to the family. But we have only
scratched the surface. In this segment we’ll look at some ways to refine the graphics.

1. Remain in the Sandbox project file. Open the Level 1 plan view.
Notice the double line at the front edge of the shelf. One of these lines is the edge of the base shelf and
the other is the upper shelves. In small scale plans, you may not wish to see both of these lines. Firstly,
let’s assume that the design is correctly modeled, and depth of the bottom shelf is a bit larger. We can
adjust which elements Revit displays in a number of ways.

30
Revit Families: A Step-by-Step Introduction

2. Minimize the floor plan to switch back over to the Shelving Unit Family file.

***Adjust Visibility
The visibility settings of each element in your family can be customized to determine when they display.
Conditions available include Plan/RCP, elevation views and Course, Medium and Fine detail levels. We’ll
just do a simple example here. Feel free to experiment further.

1. Select one of the shelves. (It will highlight with a dashed box around it indicating that it is
part of a Group – the array group in this case). You can select any instance of the shelf.
2. On the ribbon, click the Edit Group button.
3. In Edit Group mode, select the nested shelf family instance onscreen. On the Modify |
Generic Models tab, click the Visibility Settings button.

4. In the “Family Element Visibility Settings” dialog, uncheck the Plan/RCP box and then
click OK.

5. Click the Finish button on the Edit Group panel.


6. Repeat for the Group on the other side.
If you watch for the names of groups as you select them, you will see that the first array is called Array
Group 1 and the other is called Array Group 2. This is why we have to do the edit twice. However, you
do not need to do every shelf. Edits to a group apply to all instances of the group.

31
Revit Families: A Step-by-Step Introduction

7. Save the family, reload it into the project. When prompted, select Overwrite the existing
version.

***Family Editor 303


Adding Materials

Materials can be assigned to the elements in a family just like elements in a project to give them more
realism. The family editor usually includes only a few Materials however, so it is often best to use a
Material parameter as a placeholder and then assign the actual Material once the family is loaded into
the project. This also makes the family more flexible.

1. Remain in the Shelving Unit Family file.


CATCH UP! You can open the file completed to this point named: 303 Shelving Unit_F.rfa.

2. On the Project Browser, expand Families and then Generic Models. Right-click on Shelf w
Brackets and choose Edit.
3. Select the shelf extrusion solid form. On the Properties palette, click the small Associate
Family Parameter button in the right column next to Material.
4. In the “Associate Family Parameter” dialog, click Add Parameter. Name it Shelf Material
accept the other defaults and click OK twice.
For this example, we will only edit the shelf material. See the note below if you wish to also edit the
material of the brackets.

5. Click the Load into Project and Close button.


6. Choose the Shelving Unit family only (not the sandbox). (Saving the file when prompted is
optional).
7. Overwrite the existing version when prompted.
We must remember that the Shelf w Brackets family is nested inside the Shelving Unit family. In order to
access this new Material parameter, we have to create a matching parameter in the host family and link
it up with the nested one.

32
Revit Families: A Step-by-Step Introduction

8. On the Project Browser, expand Shelf w Brackets to reveal the two Types. Right-click the
48"x16" Type and choose: Type Properties.
9. In the “Type Properties”
dialog, click the small
Associate Family
Parameter button to the
right of Shelf Material and
repeat the steps above to
create a new parameter in
the host file. You can
name it: Shelf Material
again.
When finished, the equal (=) sign will appear to indicate the connection.

10. Edit the properties of the other Type. Link up the Shelf Material parameter you just created
to this one as well. (You do not need to make a new parameter this time).
11. Save the family, load it into the Sandbox and overwrite the original.
12. Open a 3D view, select the Shelving Unit and on the Properties palette, click Edit Type.
You can now choose a Material for the shelves.
To assign materials to other parts of the family like the support wall, the base shelf or the brackets, you
have to repeat the process. For the Brackets, you will need to edit the nested bracket family select the
blend within that nested family and repeat the steps here to add the material parameter. However, you
will need to link it to host parameters in both the Shelf w Brackets family and the Shelving Unit family.
Go ahead and performs these steps if you like.

A version of the Family with Materials assigned to all pieces is included with the lab dataset:
303 Shelving Unit_G.rfa.

***Family Editor 401


Bonus Material – Formulas

One of the most powerful features of the family editor is the ability to use mathematical formulas to drive
parameters in the Family Types dialog. Formulas can be simple arithmetic expressions that create a
direct relationship between one or more parameters or complex conditional and trigonometry statements
that trap errors and create robust relationships. In many ways, using formulas in the family editor can be
considered the “deep end of the pool.” Therefore, in keeping with the course’s goal of being an
introduction to the family editor, I am presenting a few fairly straightforward examples here just to give
you some idea of the possibilities. Covering the topic of formulas in-depth would require an entire lab or
likely several labs to do it justice.

33
Revit Families: A Step-by-Step Introduction

1. Keep the Sandbox file open and minimized and close other files.
2. To try some of these ideas, a version of the Box file has been provided. It is called:
401 Box_A.rfa.

Simple Arithmetic
To use a formula in a Family, you need to know the proper syntax and where to input it. The syntax is
covered adequately in the help. Simply search for “formulas” and you will find the information required.
To input a formula, open the Family Types dialog and type the formula into the field at the right of the
parameter.

Arithmetic formulas include simple addition, subtraction, multiplication and division.

3. In the “Family Types” dialog, next to the Width parameter, type: Depth * 2 in the Formula
column. (Formulas are case sensitive, so be sure to type: Depth and not: depth).
A formula like this will work both ways. For example, if you type 4'-0" for the Width, the Depth becomes
2'-0". If you type 5'-0" for the Depth, then the Width becomes 10'-0". Try it out.

You try other options as well. The figure shows an example to make a cube. Try others.

***Medium Complexity Expressions


More robust formulas are also possible. Let’s do a couple more.

1. Close the box and open the file named 401 Shelving Unit_H.rfa.
This is a copy of our Shelving Unit Family with a few parameters added. Bottom Shelf Height sets the
height of the first shelf in the array and is measured from the floor Level. Top Shelf Offset sets the
distance below the Top Reference Plane for the topmost shelf. These give a little more control over the
location of the shelving array both at the top and bottom.

34
Revit Families: A Step-by-Step Introduction

Using formulas, we can set the quantity of shelves in a few ways. One very common approach is to
create a conditional statement that prevents the Array from failing if someone inputs a bad value. In the
case of a linear array, we need at least two items, so a bad value is less than 2. To create such a
formula, open Family Types, and create a new parameter of the type: Integer. In the formula column
input:

if (Number of Shelves < 2, 2, Number of Shelves)

This is how it works. There are three parts; the “if” condition which in this case tests if the Number of
Shelves parameter is less than 2. Next comes the value to be used if the test returns true, and the last
part is the value to use if the test returns false. Read it like this and it makes more sense: “if the Number
of Shelves is less than 2, then use a value of 2. Otherwise just use the Number of Shelves.” Go ahead
and input this formula and flex if you like.

35
Revit Families: A Step-by-Step Introduction

To use this new parameter, assign it to the array dimensions in the family in place of Number of Shelves.

There is another way to ensure not only valid array input, but end up with a logical quantity of shelves.
We can use math.

2. In the formula field next to Number of Shelves, type this:


roundup((Height - Bottom Shelf Height - Top Shelf Offset) / 1' 6")

You will recall from High School math, that in mathematical formulas, parenthesis keep things organized
and tell you which part of the formula to process first (order of operations I believe they called it…) So
let’s start with the innermost parenthesis:

Height - Bottom Shelf Height - Top Shelf Offset

This is just more arithmetic. Simply subtract both Bottom Shelf Height and Top Shelf Offset from the
Height parameter (remember that the parameter names are case sensitive). Assuming a 7' Height, 2'
Bottom Shelf Height and 6" Top Shelf Offset, that is 7 – 2 – .5 or 4'-6".

Next, this result is divided by the distance we want between shelves or 1'-6" in this example. You can
make this distance anything you like. Now, since 4'-6" divided by 1'-6" is exactly 3, it works out very
nicely. But what if you change any of the dimensions. For example, make the Top Shelf Offset 1' instead
of 6"? In that case, because the Number of Shelves parameter is an Integer, you would end up with a
value of 2. So the Roundup function effectively makes the 1'-6" value in the formula a “maximum” value
or “not to exceed.”

SAMPLE FILE! You can open a file that includes the following ideas named: 401 Shelving_Unit_I.rfa.

Family Editor 501


What now?

Well, that is all we have time for. (Probably more than we have time for). There are so many ways to
enhance even this simple family. Consider adding more parameters and formulas to control shelf
placement, offsets, add end panels, etc. You can add more geometry to refine the design add moldings,
different kinds of shelves, etc. You can add more Family Types with additional variations. The sky’s the
limit. Feel free to send me a screen shot or finished family file of what you come up with. I’d love to see
your progress.

Please feel free to experiment further. Thank you for attending.

Further Study
You can find more information and tutorials in:

36
Revit Families: A Step-by-Step Introduction

Renaissance Revit: Creating Classical Architecture with Modern Software. This book can be thought of
as a “deep dive” into the family editor. It starts with the basics, but gets very advanced as well. The entire
book is on family creation using classical architectural examples. Both the traditional and massing family
editors are covered.

The Aubin Academy Master Series: Revit Architecture. Chapter 10 is devoted to the subject of the family
editor.

The Aubin Academy Master Series: Revit MEP. Chapters 12 and 13 are devoted to the subject of the
family editor.

Other Autodesk University courses: I have taught this family editor lab before in previous years here at
AU. I have also taught an advanced follow-up lab. Both class have papers and materials available for
download from my website: www.paulaubin.com/au

If you prefer video training, I have several Revit video courses at:
www.lynda.com/paulaubin. Check out: Revit Essential Training, Revit Family Editor,
Revit Family Curves and Formulas and Revit Advanced Modeling.

If you have any questions about this session or Revit in general, you can
use the contact form at www.paulaubin.com to send me an email.

Follow me on Twitter: @paulfaubin

Thank you for attending. Please fill out your evaluation.

37

You might also like