Creating a simple Revit family (Part II)

In Part I we created a simple cube with three parameters to control the length, width and height. In Part II we’ll expand on the cube and use a nested family and create a simple table with the nested family as the legs but unlike the simple cube that was created we’ll be making the table leg using a revolve form where we sketch half of the profile of the leg and revolve it around an axis line.

Step 1 – Creating the legs of the table

Just like we did in Part I, we’re going to create our table leg family using the GENERIC MODEL.RFT file.  Note the file extension: RFT is a Revit family template.  RFA files are the actual Revit family.



Step 2 – Adding Reference Planes

Switch to an elevation view and add two reference planes above the Reference Level, similar to one in the image below. The exact distance above the reference level doesn’t matter – we’ll adjust them later when we add a parameter to control the length of the table leg. To create reference planes, from the CREATE ribbon, on the DATUM panel click REFERNECE PLANE (or type RP).


Step 3 – Creating a solid form

On the CREATE tab, in the FORMS panel click REVLOVE.


When the Work Plane dialog box appears specify a new Work Plane for the solid form. The work plane should be the same as the elevation view that is currently active. For example, if you were in Front or Back view then the work plane you select should be Reference Plane : Center (Front/Back). A light blue line will also appear around the selected reference plane.

Work Plane

Click OK on the Work Plane dialog box and you’ll be in sketch mode. Boundary Line is active by default. Use the tools in the Draw panel to sketch HALF of the profile for the table leg and constrain it to the reference planes.

Constrained Revolve

Next, draw an Axis Line to define the axis around which the solid will be created.

Finish Edit Mode

When you’re done, click the green Finish Edit Mode check button.

Finish Edit Mode Check

Finished Leg

Step 4 – Adding dimensions and parameters

Next we need to add two dimension strings – one will be locked at a fixed length and the other will be controlled by a parameter so we’ll be able to create multiple types of tables in our table family (standard height 30″, counter height 36″, pub height 42″)

I locked the top dimension at 8″ which means the lower portion of the leg will change depending on the height of the table top and added a Type Parameter called Leg Length to control the overall length of the table leg family.

Add Parameter

Step 5 – Creating the table using a nested family

Using the family we created in Part I as the table top, add reference planes and constrain them as shown in the image below. These constraints and intersecting reference planes will be the center of the table legs and will automatically move as the size of the table top changes.

Table Top Leg Constraints

Switch to an elevation view, draw two reference planes, add dimensions, a Type Parameter to control the length of the leg and constrain the table top as shown.

Elevation 01

Elevation 02

In the Family Types dialog box I added a formula to control the length of the legs based on the overall table top height. This way I can make virtually any height table and the legs will adjust automatically.


NOTE: Formulas are case-sensitive and if you have any dashes (-) in your parameter names Revit will look at those as a minus sign and your formula won’t work.

See this post on Revit Forum for more detailed information about formulas.

Now we need to add the table leg family to the table top family, create reference planes, place and constrain the table leg family and finally create multiple types for our regular height, counter height and pub height tables.

Create 4 reference planes as shown below and constrain them to the outer most reference planes of the table (I.E. the edges of the table).

Table Top Leg Constraints

Load your table leg family. In the Project Browser scroll down to the Families category, expand Generic Models and expand your table leg family to see its type. Click on the type and drag and drop it onto a plan view of your table. Create 3 copies so you have 4 legs in your model.

Unconstrained Legs

NOTE: The location of the legs doesn’t matter because we’re going to constrain them to the reference planes we created earlier.

Using the Align command, ALIGN and LOCK the legs to the reference planes.

Constrained Legs

Select one of the table legs. In the Properties palette click the Edit Type button. For the Length parameter click the […] button and select the Leg Length parameter you created. Click OK twice to finish.

Leg Constraint

Step 6 – Create multiple family types

Before we create our family types we need to flex the model. Flexing is Revit’s fancy way of saying “testing” the model to make sure all of the parameters are working correctly. Once you’ve flexed the model enough and are comfortable it won’t “break”, you can go ahead and create a few family types.

Open the FAMILY TYPES dialog box and create three Family Types with the following properties.

Family Types

Family Type Name BVH_WIDTH BVH_LENGTH Table Top Height
Normal Height Table 5′-0″ 2′-4″ 30″
Counter Height Table 4′-0″ 2′-8″ 36″
Pub Height Table 2′-6″ 2′-6″ 42″

Step 7 – Turning off 3D geometry in plan views

And finally, to speed things up we can turn off the 3D geometry in plan views and use a simplified graphic to represent our table. On the ANNOTATE tab in the DETAIL panel click SYMBOLIC LINE, draw a rectangle and constrain it to reference planes that control the length and width of the table.

Symbolic Line

Switch to a 3D view and click on each of the four legs. The Modify tab is enabled. Click Visibility Settings and toggle off the display for Plan/RCP and click OK. Repeat the process for the table top.

Visibility Settings Button

Element Visibility Settings

Now that your model is complete, don’t forget to save your work.

This entry was posted in Uncategorized and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s