Revit Family Reference
Free reference guide: Revit Family Reference
About Revit Family Reference
This Revit Family Reference is a comprehensive guide to creating and managing parametric families in the Autodesk Revit Family Editor. It covers all major parameter types including Length for dimension-driven geometry, Integer and Number for counts and ratios, Yes/No booleans for visibility toggling and conditional logic, Material parameters for assigning finishes, and Shared Parameters for cross-family scheduling and tagging via GUID-based parameter files.
Family categories and templates are documented for common BIM workflows. Wall-hosted categories like Doors and Windows include required parameters (Width, Height, Sill Height), reference plane conventions, and opening creation methods. Standalone categories like Furniture and Generic Models cover placement behavior and parameter design patterns. Templates for wall-based, face-based, curtain panel, and adaptive component families are described with their specific workflows and use cases.
The reference includes the complete Revit formula syntax for arithmetic operations, if conditionals with nested logic and logical operators (and, or, not), and array-driven formulas with safety checks. Visibility and graphics settings cover detail level control (Coarse/Medium/Fine), symbolic line creation for 2D plan representations, and subcategory management for granular override control. Best practices address parameter naming conventions, type catalog creation with unit notation, and family performance optimization including geometry simplification, array minimization, and import avoidance.
Key Features
- Complete parameter type guide: Length, Integer, Number, Yes/No, Material, and Shared Parameters with GUID setup
- Family category reference for Doors, Windows, Furniture, and Generic Models with required parameters and templates
- Visibility and graphics settings including detail levels, symbolic lines, and subcategory management
- Nested family workflows with Shared parameter options and adaptive component creation
- Formula syntax reference: arithmetic, if conditionals with nested logic, and array formulas with safety checks
- Template guide for wall-based, face-based, curtain panel, and adaptive generic model families
- Type catalog creation with comma-separated format, unit notation, and Yes/No encoding
- Performance optimization best practices for geometry, arrays, nesting depth, imports, and formulas
Frequently Asked Questions
What parameter types are available in the Revit Family Editor?
The main types are Length (for dimensions like Width, Height, Depth), Integer (for whole number counts like panel quantity), Number (for real-number ratios and coefficients), Yes/No (boolean checkboxes for visibility toggles like Has_Handle or Is_Fire_Rated), and Material (for assigning finishes to geometry). Shared Parameters use GUID-based text files to enable scheduling and tagging across multiple families.
What is the difference between Instance and Type parameters?
Instance parameters can have different values for each individual element placed in a project, making them suitable for properties like Width that vary per element. Type parameters share the same value across all elements of the same type, suitable for standardized properties. The choice depends on whether each placed element needs independent control of that parameter.
How do I create a Shared Parameter?
Go to Manage > Shared Parameters > Create to generate a shared parameter text file. Create a group (e.g., Dimensions), add a parameter with a name, type (e.g., Length), and an auto-generated GUID. In the Family Editor, use Family Types > Add > Shared Parameter to load it. Shared parameters can appear in schedules, be referenced in tags, and be used across multiple families.
How do formulas work in Revit families?
Formulas define mathematical relationships between parameters. Basic arithmetic includes operations like Height = Width * 2. The if() function supports conditional logic: if(Width > 1200mm, 100mm, 75mm). Nested if statements handle multiple conditions. Logical operators include and(), or(), and not(). For arrays, use round() to convert to integers and add safety checks like if(Count < 2, 2, Count) to prevent invalid arrays.
What are subcategories and why should I use them?
Subcategories allow individual visibility control of family geometry in the project environment. Create them in Object Styles (e.g., Doors > Frame, Panel, Glass, Hardware), assign them to geometry via the Subcategory dropdown, and control visibility per subcategory in Visibility/Graphics Overrides (VV). This gives project users fine-grained control over what parts of your family are visible in different views.
How do I create a Type Catalog?
Create a text file with the same name as your family file (e.g., Door_Panel.txt) in the same folder. The first row defines parameter names with units using the format Name##CATEGORY##UNIT (e.g., Width##LENGTH##MILLIMETERS). Subsequent rows list type name followed by comma-separated values. Yes/No values use 1 and 0. When loading the family, a type selection dialog appears automatically.
What are best practices for family performance?
Simplify geometry by using basic boxes at Coarse detail level and showing full detail only at Fine. Minimize arrays and set parameter upper bounds. Keep nesting depth to 2 levels or less and carefully decide Shared status for nested families. Avoid DWG/SAT imports as they consume excessive memory. Optimize formulas by preventing circular references and using intermediate parameters.
When should I use an Adaptive Component?
Adaptive components are designed for geometry that must conform to variable-point placements, such as curtain wall panels on curved surfaces, freeform facade elements, patterns on doubly-curved surfaces, and structural connections. Create adaptive points (minimum 2), build geometry between them, and place the family by specifying point locations in the project. Use Divide Surface to distribute adaptive panels across curved surfaces in a pattern.