Revit MEP Families Simplified
Families are at the heart of everything in Autodesk® Revit®. Yeah—everything, man. Customization, scheduling, and calculations all rely on families. How data is entered and manipulated, the flow of procedures, and more are all affected by the way families are made. If families are truly the linchpin to Revit effectiveness, having an in-depth knowledge of the family editor, best practices, and quirks is essential to success. This article endeavors to go deep into the most mysterious or overlooked parts of Revit families, while attempting to establish a workflow for families in general.
The first thing a user will run into when making a new family is a vast choice of family templates. It can seem overwhelming, but the basics are this: most templates are specific to a Revit category and set the user a good way down the road for a specific family type. Alongside these templates are generic templates. The generic templates allow the user to choose what the family is based to and later pick the Revit category. Call me old-fashioned or a control freak, but I prefer starting a straight-up Generic Model template or Generic Model – Face Based depending on my needs. There has been plenty of discussion over the years regarding the virtues of object-based families versus face-based families versus level-based families for MEP. It is deserving of research for individual firms. In the absence of a clear path, I suggest faced-based as providing the most benefits and the most flexibility.
Generic Model (Level Based)
Generic Model – Adaptive
Generic Model – Ceiling Based
Generic Model – Face Based
Generic Model – Floor based
Generic Model – Line based
Generic Model – Pattern based
Generic Model – Roof based
Generic Model – Two Level based
Generic Model – Wall Based
Reference planes are the basis of nearly every family. That being the case, it is important to discuss some ground rules. First, understand that reference planes have a positive and negative side. What that means is that distances from the positive side are positive numbers and distances form the negative side are negative numbers. Knowing that forms will be driven by dimensions, not keeping parallel planes orientation the same can wreak havoc on families. To protect the family from unintended trouble, never mirror, rotate, reference planes, or drag reference planes end over end. This will cause the positive and negative sides to invert. It is best to establish a habit of always drawing reference planes the same. For me, that means vertical planes are always drawn from the top of the screen toward the bottom, and horizontal planes are always drawn from left to right. This puts the positive side always on the top of horizontal planes and to the right of vertical planes.
Another important habit to establish is naming reference planes. There are many times when the user will want to rehost an element to a specific reference plane, and being able to select it by name really speeds up the process. Naming reference planes also helps those who want to edit the family later. If the control freak in me was not obvious before, you should now recognize it in that I highly recommend having a reference plane naming convention. It makes the naming process easier and consistent.
Every reference plane that is created should be assigned a value for “Is Reference.” This tells Revit how magnetic to treat that plane of the family and what its orientation might be.
“Is Reference” Choices
- Center (Left/Right)
- Center (Elevation)
Revit allows the user to check the “Defines Origin” box on two non-parallel planes. The intersection of these planes defines the origin of the family. The origin is the place the cursor resides on the family when the family is inserted into a view of a project. Think about where the user wants to hold on the family when picking the defining origin planes.
Once the reference planes have been drawn to represent the faces of the geometry, dimensions can be drawn from plane to plane to define a distance which can be assigned to a parameter. This constrains the planes and allows users to drive the dimensions via that parameter. The example in Figure 2a shows a plan view with reference planes for a cube. The front, back, left, and right sides each have a plane, as well as the center (left to right) and the center (front to back). To keep the center planes in the exact center of the form that will be created, a dimension string has been added starting on the left plane to the center (left to right), then onto the right plane. When the dimension is placed, the EQ control is selected to force an equal distance on both sides of the center plane to the edge planes (Figure 2b). For consistency, I always lock the back and right planes and make them define origin. The origin point location doesn’t matter as much as the fact that users appreciate predictability and it will increase speed, even if only fractionally so.
To define the length, width, and depth of this cube, parameters should be created. This also gives users the ability to adjust those dimensions in the project. Again, I will preach standard naming. Choose parameter names and stick to them. Height, width, depth, and length lose their meaning when used inconsistently. Pick something for the X,Y, and Z direction and stick to it. I put a screen shot of an appropriately labeled cube in my firm’s standards manual. To apply a name (Label) to a dimension, select the dimension and pick the “Label” drop down from the Options bar. Select <Add parameter> to add the desired label (Figure 3).
The Parameters Properties box will appear. First, choose to use a Family parameter, Project parameter, or a Shared parameter. The Family parameter will only apply to this specific family. In Revit 2017, Project parameters were introduced which are specific to a project. A shared parameter is independent of the family and the project. The dimensions of a form will usually end up being a family parameter. Next, give the parameter a name. Last, decide if this parameter should be instance or type. An instance parameter applies to individual instances of the family, and a type parameter is tied to family types placed in the project. Creating types gives users control groups of the families by editing a type. This makes a lot of sense for light fixtures and diffusers.
Once the parameter is created and associated with the dimension, it will appear in the Family Types dialog. Repeat this process for width and height. Change the dimension in the dialog to flex the family and ensure the planes adjust as expected (Figure 4).
With all the work put in to simply produce a flexible cube, it’s beneficial to create a family template for the firm that has named, properly drawn reference planes that have been assigned the proper “Is Reference” value, and even pre-labeled to standard parameters. Revit does allow users to save to *.RFT, but users can create a family, save it, and rename its extension to *.RFT. Be mindful of what gets included in a template. Garbage in a template will be garbage in every family created from it.
With the reference planes playing ball, creating the solids and voids that make up the family’s three dimensional shapes can begin. Revit provides five methods of creating a solid form.
Extrusion - Adds depth to a defined footprint. Makes a cube from a square.
Blend - Adds depth between differing upper and lower profiles. Creates a shape that is square at the bottom, a circle at the top, and a squircle in the middle.
Revolve - Rotates a profile 360° round and axis to define a shape. Creates a donut from a circle.
Sweep - Extrudes a profile along the length of a path.
Sweep Blend - Creates a form along a path starting with one profile and ending with another.
There is also a void version of each of the five forms listed above that will create an empty space inside a solid form. Between these 10 options, pretty much anything can be modeled with practice. Start simple and keep improving.
Use the Align tool to align the faces of the forms to the appropriate reference planes and lock them with the lock control. Be mindful that it’s relatively easy to go overboard on parameters and over constrain a family. Don’t worry, Revit will let you know that it cannot process all the constraints simultaneously. It is up to the user to decide which constraint(s) to remove to get things working. To expose any remaining problems, flex the family again by changing values in the Family Types dialog and verifying the correct results.
Warning: take care not to over-model with details. Model what needs to be modeled without showing off. Think about what needs to be shown for what use, and stay close to your goals. Overdo it and the return will be slow-moving models and complicated families that users have trouble working with.
In the world of MEP, it isn’t done until the correct connectors are added. Connectors are the fundamental element that differentiates MEP from Architectural in Revit. Connectors pass information from family to family. Current, air, gas, fluids, and their properties are transferred and combined through the use of connectors. Connectors want to live on a face of a solid form. Their locations can be very predictable, like the open end of a pipe, conduit, or duct fitting, or simply placed in the center of a light fixture.
There are five connector types: Electrical, Duct, Pipe, Conduit, and Cable Tray. Once a connector is placed, select it to set its properties appropriately. The shape and size of duct and pipe can be driven from here along with system type, flow, and more. These values can also be driven by parameters via the “Associate Parameter Value” button directly to the right of their values in the Properties dialog.
When a Generic model template is used to start a family, don’t forget to set the appropriate category for that family using the “Family Categories and Parameters” dialog. While there, any family that provides illumination will require a lighting source. This can be added by checking the Light Source check box in the “Family Categories and Parameters” dialog box. Select the light source to adjust the shape of the light source and distribution type (Figure 5).
There is much more to families and lots to learn before becoming a real guru. Formulas, nesting, symbolic representations, visibility, subcategories, swappable symbols, and more haven’t been discussed in this article. The intent here is to show a general workflow and get new users over the hump to making their own families. It is complex with many moving parts, yet relatively straightforward. Following the path outlined is more than enough for the average user to find success. Good luck.