Revit family creation is the process of building custom Revit components using the Revit Family Editor. In Revit, families are data-rich, parametric components like doors, windows, furniture, or lighting fixtures and are built with specific parameters and geometry so they can be easily placed, customized, and reused across different projects.
Learning to build your own families gives you complete design customization, ensures consistency across your projects, and creates massive efficiency by allowing you to reuse content. Revit Family Creation is essential for projects that require unique or non-standard elements, allowing for greater flexibility and precision in architectural and engineering designs.
This comprehensive guide, brought to you by the BIM experts at ViBIM, will walk you through the entire Family creation in Revit. We will define what Revit families are, explore their different types, and provide a detailed, step-by-step tutorial on how to create your own. We’ll also highlight advanced techniques in Revit family creation and common mistakes to avoid, ensuring your BIM content is robust and high-performing.

What are Revit Families?
A Revit Family is a collection of elements with common parameters, similar geometry and identical use. These families can consist of many components like walls, doors, windows, furniture, columns, beams, ductwork, and pipework, they also include 2D annotation elements like door tags, elevation symbols, and column gridlines. These families contain the geometry, data, and behavior needed for specific elements in a project, forming the core of what is 3D BIM model logic.
One of the best parts about Revit families is that they are available in a pre-built format on the platform, but they can also be fully customized with tailored specifications. With the help of custom Revit families, designers and architects can customize their building components to meet specific project needs. Revit families also can be saved, stored, and applied across different projects. This significantly helps in cutting down on effort and optimizing time by creating standardized family templates.
For example, a “window” family might include types like single-hung or casement windows, each with adjustable parameters for width, height, frame material, and glazing type. By modifying these parameters, users can create variations without building new models from scratch.

What are the Different Types of Revit Families?
In Autodesk Revit, families are categorized into three main types: System Families, Loadable Families, and In-place Families. Before diving into the family creation process, you must understand what Revit families are and how they fit into your project.
System Families
System Families are pre-defined within Revit and are fundamental to every project. This category includes all the basic building elements, such as walls, floors, roofs, ceilings, and structural components. While you can’t create a new System Family from scratch, you can duplicate and modify existing types within a family to create variations (e.g., creating a new wall type with different material layers).
Loadable Families
Loadable families are also called component families. They represent components that are typically purchased and installed in a building, such as doors, windows, furniture, lighting fixtures, and plumbing equipment. These are the families you create and modify in the Family Editor. They are saved as external .RFA files, which can be loaded into any project as needed. They are fully customizable, from geometry to parameters.
At ViBIM, 100% of the families in our final BIM deliverables are Loadable families. This commitment ensures a standardized, high-quality model output with components that are manageable and reusable.

In-place Families
In-Place Families are unique, custom components created directly within the context of a project for a specific, one-off condition that will not be reused elsewhere. They are ideal for modeling unique architectural features that are tied to the specific geometry of a project. However, they should be used sparingly, as overusing them can increase the project file size and negatively impact performance. Examples include custom architectural trim, a uniquely shaped reception desk, or complex built-in shelving.
In the Scan to BIM services context, In-place families can be created and subsequently converted into standardized Loadable families, ensuring both custom-fit accuracy and long-term usability. This is a common workflow when creating a Revit model from point cloud, where existing, non-standard conditions must be accurately captured first.
Revit Family Creation: How to Create a Revit Family Step By Step
Revit family creation is the process of building custom, reusable components like doors, windows, or fixtures in Autodesk Revit. This process increases efficiency and design flexibility by enabling users to create or modify components to meet unique project needs, from a custom door size to a complex mechanical system.
In this guide, we will walk through the professional workflow for creating a loadable table family. By following these steps, you will learn to build a robust, parametric, and efficient Revit family from the ground up.
Step 1. Start with the basics
First, define how you want your families to behave and how users will interact with them. Once you have that vision, begin the hands-on work, making sure every step aligns with your original goal.
Select the Appropriate Template
The most critical first step is selecting the correct family template. To create a family in Revit, go to File > New > Family. You will see a list of template files (.RFT). This choice is crucial as it determines the family’s Category (e.g., Casework, Lighting Fixtures, Generic Model) and its Hosting behavior (e.g., wall-based, ceiling-based, floor-based, or standalone).
There are a lot of template options, but most of the time, “Generic Model Face Base” should be a good template to use.

Create a Skeleton
Before drawing any 3D geometry, you must establish a skeleton of reference planes. These planes will act as the structural backbone of your family, controlling its dimensions and behavior.
- In the floor plan view, go to the “Create” tab
- Select the “Reference Plane” tool.
- Draw the Reference Planes that will define the left and right boundaries of your object.
- Select the Aligned Dimension tool (found on the Annotate tab).
- Create a dimension string that connects the new left plane, the center origin plane (Center Left/Right), and the new right plane.
- Click the ‘EQ‘ icon that appears on the dimension string. This makes the left and right planes equidistant from the center.
- Repeat this exact process for the front and back reference planes.
- Select each of the main outer reference planes. In the Properties panel, assign a specific Name (e.g., “Left,” “Right,” “Front,” “Back”). This allows you to snap to these planes when the family is loaded into a project.
Beginning Tip:
- Constantly “flex” your model as you work. Go to the Family Types dialog, change parameter values, and click “Apply” to make sure the skeleton functions as you want it to.
- Always name your parameters clearly. This will help you and others understand what you are editing in the long run.


Step 2. Start drawing
With your skeleton in place, you can now create the solid 3D form.
A. Create the Base
- On the Create tab, select the Extrusion tool to draw the base for the parent family.
- In a plan view (Ref. Level), draw the 2D profile (e.g., a rectangle) for your shape.
- To lock the sketch lines to the reference planes, choose the Lock button (a small padlock icon) that appears as you draw or align the lines.
- Select the desired reference planes to lock your sketch lines to them. This step is essential so you are able to “flex” the model later.

B. Edit in a Different View
After finishing the extrusion, go into an Elevation view to see the new 3D shape’s height.
- Create a new reference plane for the “height” and, if necessary, another for “thickness” values.
- Drag the top handle of the extrusion shape and lock it to the new “height” reference plane.
- Make sure to assign parameters to these new planes using Aligned Dimensions.
- Don’t forget to test (flex) the model and ensure all geometry is locked to your reference planes.

Step 3. Create the other families that will go into the parent.
This part of the process covers creating a nested family—a separate family that will be loaded into your main (or “parent”) family.
A. Create a New Skeleton
- Start a completely new family.
- This time, you can use the Generic Model template (Generic Model.rft). It doesn’t need to be face-based.
Tip: At this point, ask yourself if you will be using this geometry over and over again. If so, you should nest it to save time and control it independently.
B. Draw the Shape
- Draw a simple Extrusion and lock its sketch lines to the reference planes.
- If it’s a circular shape, add a radius dimension.
- Select the dimension and, in the ribbon, click “Label” and select “Add Parameter“. This creates a radius label to control the radius once loaded into the parent family.

C. Add Reference Planes
- Do the same thing you did in the parent family: create a reference plane for height in an elevation view.
- Lock the extrusion’s top and bottom to the corresponding reference planes (e.g., the top plane and the Ref. Level).
- Make sure to test (flex) the family to ensure it reflects the correct height (e.g., the height of the table legs).

D. Add a Diameter Parameter
Since most people don’t think in terms of radius, you should add a Diameter parameter that will eventually be controlled in the parent family.
- Go to the Family Types dialog. Create a new parameter named “Diameter.”
- Find your “Radius” parameter. In its Formula column, enter: Diameter / 2.
This will make the radius automatically report as half of the diameter, making it more user-friendly.
E. Assign a Material
- Select the 3D geometry you created.
- In the Properties panel, click the small associate button next to “Material.”
- Create a new material parameter. Make sure you assign a material so that it can be controlled in the parent family.
F. Draw Support Pieces
Model any additional support pieces (e.ax., brackets to connect table legs to a tabletop). Give these support pieces some definition, but don’t draw every single detail like bolts and screws.
Tip: Don’t model everything in Revit. Over-modeling can really slow down the project file and be frustrating. Be careful when picking and choosing what to model. Ask yourself, “What is a good representation of this, and what is overkill?”

Step 4. Add the other family into the parent family
Now you will load and position the nested leg family within the main table (parent) family.
A. Open the Parent Family
- Go to your parent family file (the table).
- Use the “Load Family” command on the “Insert” tab to add the new leg family you just created.
This piece of geometry is constrained by its own rules, so if you create several instances of it, they will all act in the same way.

B. Add Reference Planes to Help with Placement of Multiple Families
- In the plan view, draw new reference planes offset inside your main left, right, front, and back planes. These will determine where the table legs will sit inset from the table’s edge.
- Add dimensions between the main outer planes and these new inset planes.
- Select all four of these new dimensions and assign them to a single new parameter. Name it (for example, “Leg_Offset”).
- Select each of these new reference planes and, in the Properties panel, set its “Is Reference” property to “Not a Reference“, since no one needs to snap to these locations in a project.
C. Edit the Added Family
- Go to the “Create” tab and select “Component”.
- Place an instance of your leg family at each of the four intersections created by your new “Leg_Offset” reference planes.
- Use the “Align” tool to lock each leg to its two corresponding reference planes.
- Select one of the nested leg families and click “Edit Type” in the Properties panel.
This will open a dialog box where you can associate all of its parameters (like “Leg_Diameter” or “Leg_Material”) to the parent family. This means you can control all legs from the main family dialog box rather than editing each one.

D. Label New Parameters
- In the “Type Properties” dialog for the leg, click the small associate button next to each parameter you want to control.
- When the dialog box asks, choose to add a “New Parameter.”
- Name the parameters to differentiate them. For example, the nested “Height” parameter could be named “Leg_Height” in the parent family.
Think ahead and make sure things are labeled clearly. You don’t want to be trying to edit the “Height” of the table and accidentally change the height of the leg.
E. Make Everything the Correct Size
Open the “Family Types” dialog (blue cube icon) in your parent family.
Find the new “Leg_Height” parameter you just created.
In its “Formula” column, add a formula to tie it to your table’s parameters. For example: Height – Thickness. This makes the table leg’s height automatically report to the underside of the tabletop.
Step 5. Finalize your Revit family
This is where you add the parametric intelligence, preset sizes, and final touches.
A. Add All Pieces
Put the leg family in place and make several instances of it. Now that this is done, all 4 of the legs will act the same.
Optional: Swap Out for Another Leg Style
- Take the nested piece (the leg) and add a label to it. This allows you to swap it out for another family in the same category.
- Make the other leg style by editing the family with the desired features and save it as a new family file.
- Select the original legs in the parent family, and swap them out for the new one.
B. Add Parameters and Constraints to the Family
Think about all the other parameters and constraints you might want to add to this family. For example, you don’t want someone making a 300’ table, so you can add constraints to limit its maximum size.
Test these values out to make sure they respond in the way that they are supposed to.
C. Add the Parameters on the Draw
You have to associate the parameters to the constraints so they don’t move if they don’t meet the condition that is found. Do the same thing with the nested family’s parameters.
If you don’t associate them, the formulas won’t do anything and the geometry won’t respond as you had hoped. Also, make sure to use the constraint parameters in the formulas or they won’t work.
D. Test the Family
Make sure to test out your family and confirm that it works. This stage is very important, especially if it is being sent out to other users.
Go to the “Family Types” dialog (blue cube icon). Change the values for “Width,” “Depth,” and “Height.” Click “Apply.” If your family resizes correctly without “breaking,” your constraints are working.

E. Make Preset Family Types
Create a few preset family types. This allows you to express the design intent and provide the different variations you were intending to have for this family.
In the same “Family Types” dialog, click “New Type”. Name it (e.g., “Small Desk – 1200x600mm”). Set the Width and Depth parameters. Click “New Type” again, name it “Large Desk – 1800x750mm,” and set its values. You now have preset sizes.
If you create more than 6 types, make a type catalog (.txt file) that goes along with the Revit family.

F. Finish Adding Materials
Apply a tabletop material parameter.
Assign a couple of materials (you can use the generic materials).
Make the materials use their render appearance.
G. Clean Up the Preview
Hide the host or any unnecessary geometry in a 3D view to clean up the file preview images.
Click “Save As” > “Family”. In the “File Save” dialog, click “Options”.
Select the clean 3D View (e.g., “3D View: Preview”) in the “Thumbnail Preview” dropdown.

Step 6. Test out your new Revit family
Save your .rfa file. Open a new, blank Revit project (.rvt file). Load your family and place it. Check to see if you can select between the “Small Desk” and “Large Desk” types. Try changing its instance parameters. If it all works, congratulations!
By following this professional workflow, you can create a robust and flexible Revit table family that will be a valuable asset in your projects. This systematic process of planning, modeling, and testing is the key to mastering Revit family creation.
Prefer a visual guide? Watch our detailed video tutorial to see every click and command of the Revit family creation process in action, from setting up reference planes to flexing the final parametric model.
While Revit family creation allows you to build custom components digitally, capturing real-world conditions requires a different approach—learn how BIM point cloud technology bridges the gap between existing physical structures and your parametric Revit models, enabling you to create families based on accurate as-built data.
Advanced Techniques in Revit Family Creation
Once you’ve mastered the basics, you can explore more advanced techniques in Revit Family Creation:
- Shared Parameters: This is the key to advanced data management. While standard parameters exist only inside one family, shared parameters are defined in an external .txt file. This allows you to create a consistent data field (e.g., “Fire Rating,” “Manufacturer”) that can be used across multiple families and projects. This is essential for “Property and Attribute Handling,” ensuring your custom components can be accurately scheduled and tagged.
- Formulas and Conditional Logic: This is where you make your families truly “smart.” You can drive parameters using formulas, just like in a spreadsheet. Revit’s formula engine supports algebraic, trigonometric functions , and hierarchical relations. The most powerful tool is conditional logic (IF statements) to create rules.
- Example: You could set a rule for the number of support legs on a table: if(Length > 1500mm, 3, 2). This automatically adds a third leg as soon as the length exceeds 1500mm, embedding a design rule directly into the object.
- Type Catalogs: When a family has a huge number of types (e.g., a steel beam with 50+ sizes), loading the entire family bloats the project. A Type Catalog is an external .txt file that lists all the types and their parameter values. When you load the family, Revit shows you the catalog, allowing you to select and load only the specific sizes you need. This method exchanges parametric objects by referencing an external catalog, keeping the project file light and efficient.
- Visibility Parameters: These are Yes/No parameters used to control the visibility of specific 3D geometry within the family. This technique is perfect for toggling optional components, such as showing or hiding a keyboard tray on a desk or handles on a cabinet. This is also the primary method for controlling the Level of Development (LOD). You can set simple, coarse geometry (like a box) to be visible only in “Coarse” detail view, while setting the fully detailed components to be visible only in “Fine” view.
- Complex Geometry & Surface Modeling: Move beyond simple extrusions. Advanced families for complex facades or signature architecture often require modeling with complex curved surfaces, such as splines and NURBS (nonuniform B-splines). These tools allow for the creation of freeform, organic shapes that are still fully parametric and controlled by rules , as seen in projects like the Fondation Louis Vuitton.
- Scripting and Automation (API): For ultimate customization, you can use scripting or graphical programming (like Dynamo) to automate family creation. The Application Programming Interface (API) allows developers to write code that can build, modify, and manage families in ways impossible through the user interface. This can range from adding complex script-based rules to creating graphical algorithmic tools to generate hundreds of family variations at once.
Common Mistakes In Revit Family Creation
These errors are frequently encountered by users at all levels and can significantly compromise the quality and usability of a family.
- Imported CAD Geometry: Importing geometry from DWG, SKP, or other formats is a primary cause of slow, bloated, and unmanageable Revit models. Best Practice: Always create geometry natively in Revit.
- Over-Detailing: Modeling every tiny screw and weld is unnecessary and drastically hurts performance. Best Practice: Model at an appropriate Level of Detail (LOD) for its intended use in project documentation.
- Incorrect or Inconsistent Parameters: Using inconsistent names, the wrong parameter type, or too many unnecessary parameters creates data chaos. Best Practice: Use a standardized Shared Parameter file and only include relevant, valuable data.
- Incorrectly or Unconstrained Geometry: Geometry that isn’t properly locked to the reference plane framework will break or distort when parameters are changed. Best Practice: Lock all geometry to reference planes and “flex” the model thoroughly.
- Poorly Structured Families: Using unnamed reference planes or an illogical origin point makes the family difficult to use and control. Best Practice: Build a clean, logical framework of named reference planes.
- Missing Information: A family without essential product data (manufacturer, model number, etc.) is just a generic shape. Best Practice: Embed relevant, accurate product information to support scheduling and specification.
- Incompatible Units: Creating a family in only metric or imperial can limit its usability in different regions. Best Practice: Provide separate, correctly configured versions for each unit system.
- Inconsistent Naming Conventions: Using haphazard or unclear names for parameters (e.g., “L,” “W,” “H” instead of “Length,” “Width,” “Height”) makes the family difficult for others (and your future self) to understand and use, especially when creating schedules. Best Practice: Implement a consistent and clear naming convention for all parameters, reference planes, and the final .RFA file.
- Visual Appearance Issues: Inconsistent line weights or poor 2D symbols make for messy documentation. Best Practice: Adhere to industry drafting standards and configure visibility settings for all detail levels.

Why is Revit Family Creation Important?
Revit family creation allows users to develop their own parametric elements that adhere to specific project needs, increasing flexibility, productivity, and standardization. Revit Families can be saved and stored to be referred to and applied in different projects. Key benefits of Revit family creation are:
- Enforce Design Standards: Build your company’s specific standards and norms directly into the components, ensuring every family member adheres to set guidelines.
- Ensure Design Consistency: Create a harmonized and synchronized aesthetic across the entire project. When all components (like doors or windows) are built with the same logic, your design remains consistent.
- Minimize Errors: Reduce costly mistakes by using standardized, pre-vetted Revit Families. This generates more precise and reliable BIM models from the start.
- Boost Project Efficiency: Stop reinventing the wheel on every project. A library of custom, standardized families streamlines the design process, saving time and synchronizing the workflow for all team members.
- Flexibility and Customization: Parametric families are incredibly adaptable. By changing parameter values, a single family can represent hundreds of variations, allowing designers to quickly iterate and adapt to changing project requirements without starting from scratch.
These benefits of Revit family creation are just the beginning—explore the full scope of advantages of Revit software to understand how its integrated BIM environment, clash detection, and collaborative workflows multiply your productivity far beyond custom component creation alone.
Where to Find and Learn More About Revit Family Creation
You can continue to develop your skills by exploring the official Autodesk Knowledge Network, participating in online forums, and watching video tutorials. Here is more detailed information:
- Online Resources: BIMsmith Market, RevitCity, BIM Object, ARCAT, and the National BIM Library are excellent sources for pre-built families.
- Professional Training: LinkedIn Learning features exceptional courses from experts like Paul F. Aubin.
- Books: The Aubin Academy series provides deep, practical knowledge on all aspects of Revit.
- Expert Support: For tailored solutions, consider professional Scan to BIM Revit services or specialized Revit BIM Modeling services.
FAQs
What is the difference between Revit project and Revit family?
A Revit project is the main file where you create your building model. It contains all the elements of the building, such as walls, floors, and roofs. A Revit family, on the other hand, is a separate file that contains a single component, such as a door, window, or piece of furniture. These families can then be loaded into a Revit project and used to populate the model. In essence, a Revit project is a collection of Revit families.
What is the difference between a Type and a Family in Revit?
The Family is the overall category or file (e.g., “Basic Desk”). A Type is a specific variation within that family defined by preset parameters (e.g., “30×60 Desk” and “36×72 Desk” are two different types within the same “Basic Desk” family).
How to Create a New Family Type in a Project?
You don’t have to go back to the family editor to create a new size.
- In your project, select an instance of the family.
- In the Properties panel, click “Edit Type”.
- In the Type Properties dialog, click “Duplicate”.
- Give the new type a unique name (e.g., “Medium Desk – 1500x700mm”).
- Change the values for the parameters (like “Width” and “Depth”) as needed.
- Click “OK”. You have now created a new family type within your project.
Note: A new family type created in the project exists only in that project.

Revit families are far more than digital objects; they are the intelligent core of your BIM modeling project. Mastering their creation is fundamental to improving efficiency, ensuring consistency in construction documentation, and fostering true collaboration. While the process can be complex, the long-term benefits of a well-built, high-quality Revit content library are immeasurable.
However, creating a comprehensive library requires specialized expertise, especially when tackling the unique challenges of Scan to BIM projects. Our specialists excel at creating precise and data-rich families tailored to your needs. Contact ViBIM today to learn more information about Revit Family Creation.










