Historical Context & Motivation
Doors and windows have always been more than utilitarian openings; they are the architectural elements that mediate between interior experience and exterior environment, between privacy and connection. In traditional drafting practice, an architect would painstakingly draw every door swing arc, every mullion profile, and every dimension line by hand—then redraw them whenever a design revision occurred. The shift toward Building Information Modeling (BIM) fundamentally changed this relationship between the designer and the opening, transforming doors and windows from static graphic symbols into intelligent, data-rich objects that carry material specifications, thermal performance values, cost data, and scheduling information within a single parametric definition.
Autodesk Revit, first released in 2000, emerged from the vision of Leonid Raiz and Irwin Jungreis at Charles River Software, who recognized that architecture needed a purpose-built parametric modeler rather than a repurposed mechanical CAD tool. Their insight was that building elements like doors and windows are hosted components—objects that exist only in relation to a wall, just as a painting exists only in relation to a gallery surface. This host-guest relationship became a cornerstone of Revit's data architecture and remains central to how we place and modify openings today.
The essential question this lesson addresses is both practical and conceptual: how does a parametric BIM environment allow you to place an opening once and then reshape it—its size, its material, its swing direction, its position along a wall—without redrawing anything? The answer lies in understanding the distinction between type parameters and instance parameters, a duality that governs every family in Revit and empowers the kind of rapid design iteration that visual arts professionals demand.
Core Principles & Definitions
Before placing a single door or window in Revit, you need a clear mental model of how the software organizes building components. Every element you see in a Revit project belongs to a family, which is essentially a template that defines the geometry, behavior, and available parameters of a class of objects. Within each family, you encounter types—specific configurations that share the same underlying logic but differ in dimensional or material values. And each type can be placed multiple times in the model, with every placement constituting an instance. This three-tier hierarchy—family, type, instance—is the grammar of Revit's parametric language.
Hosted Components
Type Parameters
Instance Parameters
The Properties Palette
Scheduling & Tags
Visual Explanation — The Family–Type–Instance Hierarchy
Study the diagram above carefully, because it encapsulates the single most important structural concept in Revit. At the top of the tree sits the family—in this case, a single-flush door—which encodes the parametric logic: how the geometry flexes when you change width, how the swing arc draws, how the wall cut shape is defined. Branching down, each type locks in a specific combination of dimensional and material values. The 800 × 2100 oak type and the 1200 × 2100 glass type share the same geometric intelligence but look and measure differently. At the bottom tier, individual instances are placed in the model, each carrying its own level assignment, sill height, orientation, and comment text. The propagation note at lower right is critical: editing a type parameter ripples through every instance of that type across the entire project, while editing an instance parameter affects only the selected element.
How Placement Works — Step-by-Step Mechanism
Placing a Door
To place a door, navigate to the Architecture tab on the ribbon and click Door in the Build panel (keyboard shortcut: DR). Revit enters placement mode, and your cursor becomes a crosshair that tracks along walls. Before clicking, use the Type Selector dropdown in the Properties palette to choose the specific door type you want. As you hover over a wall, Revit displays a temporary preview showing the door's swing direction and panel orientation. A thin dashed line previewing the opening appears in the wall, and the swing arc flips to the side of the wall where your cursor sits. The spacebar toggles the swing direction before you click, allowing you to control whether the door opens left or right, inward or outward.
Placing a Window
The workflow for windows is nearly identical. Click Window on the Architecture tab (shortcut: WN), select a type, and hover over a wall. The key difference is that windows carry a default sill height instance parameter—typically 900 mm or 3′-0″—that positions them vertically within the wall. You can adjust this value in the Properties palette before or after placement. Like doors, windows automatically cut a rectangular void in the host wall and insert the frame, sash, and glazing geometry according to the family definition.
Temporary Dimensions & Nudging
Immediately after placement, Revit displays temporary dimensions measuring the distance from the center of the opening to the nearest wall ends or intersecting walls. You can click on any temporary dimension value and type a precise number to reposition the element along its host wall. This is often the fastest way to achieve exact placement, and it reinforces Revit's philosophy that every element in the model should be precisely located, not merely 'eyeballed.' The blue grip dots on temporary dimensions can be dragged to re-reference from a different wall face (center of wall, face of wall, or face of core).
Tag on Placement checkbox, which automatically attaches a door/window tag annotation to each new element. You can also set leader orientation. For production workflows, enabling this option eliminates a separate tagging pass later.The Properties Palette — Instance vs. Type Editing
Select any placed door or window, and the Properties palette reveals its instance parameters: level, sill height, head height, orientation (flipped or mirrored), phase, and user-defined fields like comments and mark. To access type parameters, click the Edit Type button, which opens the Type Properties dialog. Here you find dimensional parameters (width, height, frame width, frame depth), material parameters, and construction type settings. A critical workflow distinction: if you want to create a variation—say, a 750 mm wide version of an existing 900 mm door—click Duplicate in the Type Properties dialog, give the new type a descriptive name, then modify its dimensions. Never edit a type's width expecting it to affect only one door—it will change every instance of that type project-wide.
Detailed Parameter Breakdown
Understanding which parameters live at the type level and which live at the instance level is essential for working confidently with doors and windows. The table below catalogs the most commonly encountered parameters for both categories, along with their data types and typical use cases. This reference will help you predict the scope of any change before you commit it.
| Parameter Name | Level | Data Type | Description & Scope |
|---|---|---|---|
| Width | Type | Length | Rough opening width; changes all instances of this type |
| Height | Type | Length | Rough opening height; changes all instances of this type |
| Frame Material | Type | Material | Assigned material for the frame geometry; affects rendering and scheduling |
| Glass Material | Type | Material | Glazing material for windows; governs transparency in renders |
| Sill Height | Instance | Length | Distance from level datum to bottom of opening; unique per placement |
| Head Height | Instance | Length | Distance from level datum to top of opening; computed from sill + height |
| Level | Instance | Level | The floor level to which this element is associated |
| Mark | Instance | Text | User-defined identifier (e.g., 'D-101'); appears in tags and schedules |
| Comments | Instance | Text | Free-text field for notes; useful for tracking design intent or conditions |
Notice in the elevation view how the door's sill height is 0, meaning it sits directly on the floor level—the default for most door families. The window, by contrast, has a sill height of 900 mm, which is a common residential standard that positions the bottom of the glazing roughly at countertop height. The head height is typically a computed value: sill height plus the type-defined height. In this case, the window's head height equals 900 + 1500 = 2400 mm. Understanding this arithmetic relationship helps you predict how changes to either sill height or window height will affect the overall composition of a façade.
Worked Example — Customizing a Gallery Entrance
Imagine you are designing a small art gallery. The main entrance requires a pair of glass doors at 1800 mm total width × 2400 mm height, while the clerestory windows above should be 2400 mm wide × 600 mm tall, with a sill height of 2700 mm. Let us walk through the process of placing and customizing these elements.
Insert tab → Load Family. Navigate to the Doors folder in the default Revit library and select Double-Glass.rfa. If your library does not include this family, use any double-panel door family as a starting point. Click Open to load it into the project.Architecture → Door), select the Double-Glass family in the Type Selector. Click Edit Type in the Properties palette, then click Duplicate. Name the new type 1800 × 2400 Gallery Entry. Set Width to 1800 mm and Height to 2400 mm. Assign the frame material to Metal - Anodized Aluminum and the glass pane material to Glass - Clear. Click OK.3100, and press Enter. The door snaps to center.Architecture → Window). Load or duplicate a fixed window family to create type 2400 × 600 Clerestory (Width: 2400, Height: 600). Place the window on the same front wall above the door. After placement, select the window and change the Sill Height instance parameter in the Properties palette to 2700. The head height will automatically compute to 2700 + 600 = 3300 mm, sitting neatly above the 2400 mm door head.Ctrl + Shift + 3D to open the default 3D view, or create a building section through the entrance. Confirm that the glass doors and clerestory window are correctly positioned, that materials render as expected, and that the wall is cleanly cut. Check the door schedule (View → Schedules → Door Schedule) to verify that your new type appears with correct width, height, and material values.Type vs. Instance Parameters — Strengths & Pitfalls
One of the most common errors that new Revit users make is modifying a type parameter when they intended to change only a single instance, or vice versa. This confusion can cascade through a project, altering dozens of elements unexpectedly or failing to propagate a deliberate design change. The following table clarifies the strengths and appropriate use cases for each parameter level, helping you develop the habit of pausing to ask, 'Should this change affect one element or all elements of this type?'
| Criterion | Type Parameters | Instance Parameters |
|---|---|---|
| Scope of Change | All instances of that type project-wide | Only the selected element |
| Typical Examples | Width, height, frame material, panel material, construction type | Sill height, level, mark, comments, phase, orientation (flip/mirror) |
| Best For | Establishing standard sizes and specifications that ensure consistency across the project | Fine-tuning individual placements to respond to local conditions (varying sill heights on a sloped façade, unique identifiers) |
| Risk if Misused | Changing a type parameter accidentally resizes or re-materials every instance; can be difficult to notice in large projects | Tedious if the same change must be made to many instances; consider creating a new type instead |
| Access Method | Properties palette → Edit Type button → Type Properties dialog | Properties palette (directly visible when element is selected) |
| Schedule Behavior | Appears in schedule under the type column; same value for all rows of that type | Appears in schedule with potentially different values per row |
Connection to Advanced Techniques
The fundamentals of placing and modifying doors and windows lay the groundwork for several advanced Revit workflows. Understanding type and instance parameters prepares you for the Family Editor, where you can build entirely custom door and window families from scratch—defining your own parametric constraints, visibility settings per detail level, and nested sub-components like hardware or decorative grilles. The table below maps how today's concepts connect to more sophisticated techniques you will encounter as your Revit practice deepens.
| Fundamental Concept | Advanced Extension |
|---|---|
| Placing hosted components | Creating curtain wall systems with embedded door and window panels; face-hosted families on curved surfaces |
| Editing type parameters (width, height) | Building parametric families with formulas (e.g., panel width = opening width ÷ number of panels) and conditional visibility rules |
| Instance parameters (sill height, mark) | Shared parameters linked to schedules and Dynamo scripts for automated numbering and data extraction |
| Tag on Placement | Custom annotation families with calculated values; keynote legends and specification linking |
| Temporary dimensions for positioning | Permanent dimensions with equality constraints; alignment locks; Design Options for alternate layouts |
For visual arts students specifically, the next frontier often involves rendering and visualization. The material assignments you make in type parameters—glass type, frame finish, panel texture—directly feed Revit's built-in rendering engine and any linked visualization tools like Enscape, Lumion, or V-Ray. A meticulously parameterized window family with correct glass reflectivity values and mullion profiles will produce dramatically more convincing renderings than a generic placeholder. Additionally, learning Dynamo visual programming allows you to algorithmically place and modify hundreds of windows across a façade based on daylighting analysis or aesthetic patterning rules—a powerful intersection of computational design and the parametric foundations covered here.
Practice Problems
Lesson Summary
Doors and windows in Autodesk Revit are wall-hosted families that automatically cut openings in their host walls and carry rich parametric data. The family–type–instance hierarchy organizes every component: the family defines the parametric logic, the type locks in shared values like width, height, and material, and each instance carries unique placement data such as sill height, level, and mark. Editing a type parameter changes every instance of that type project-wide, while editing an instance parameter affects only the selected element.
Placement is initiated from the Architecture tab using the Door or Window tool; the Type Selector sets the type, the spacebar controls orientation, and temporary dimensions enable precise positioning. The Properties palette exposes instance parameters directly and type parameters via the Edit Type button. Mastering this two-level editing workflow—knowing when to duplicate a type versus when to adjust an instance—is the foundation for efficient, error-free BIM modeling and the gateway to advanced topics like custom family creation, automated scheduling, and computational design with Dynamo.