Blog / How to Build a Parametric Door Family in Revit

How to Build a Parametric Door Family in Revit

A worked walkthrough of building a parametric door family in Revit, from the Metric Door template through to material parameters, with video timestamps.

M
Manish Simon
· 17 min read

Go deeper with Archgyan Academy

Structured BIM and Revit learning paths for architects and students.

Explore Academy →

Every project reaches the same moment. The door schedule calls for a 40mm frame at 125mm depth, the architect wants the shutter flush with the external face, and the out of the box Revit door does none of that. You can fight the supplied family for an hour, or you can spend twenty minutes building one that flexes to whatever the schedule says and then reuse it on every job after this one.

Building a door is the best first family anyone can author. It is small enough to finish in one sitting and it exercises almost everything the Family Editor can do: reference planes, dimensional parameters, a sweep, an extrusion, symbolic lines, a hosted relationship to a wall, and material parameters. Get a door right and windows, casework and furniture stop being intimidating.

The walkthrough below follows a real recorded build from the Archgyan Revit channel. Every step described here is a step demonstrated in the video, with links to the exact moment. The surrounding notes on standards, naming and QA are the parts a thirteen minute recording cannot fit.

Start in the Metric Door template, never in Generic Model

The build begins at File, New, Family, and the choice made there is the single most consequential decision in the whole exercise. A door authored in the Metric Door template is a door: it schedules in the door schedule, it accepts door tags, it cuts its own opening in the host wall, and it inherits the Door category’s visibility behaviour. The same geometry authored in Generic Model does none of that, and no amount of later work fixes it. You would have to rebuild.

The template choice happens at 0:15, and the parallel is worth noting: a window goes in the Metric Window template for exactly the same reasons.

The template opens with a short host wall, an opening already cut, a set of reference planes, and dimensions already in place. It also ships with a placeholder frame. Those supplied frames get deleted straight away at 0:45, because you are about to author your own and leaving Autodesk’s in place gives you two frames fighting over the same space.

If Metric Door is missing from your template list, that is a content library issue rather than a Revit issue. The metric family templates install separately from the application, and on a fresh machine they are frequently skipped. Pull them from your Autodesk account before you start rather than substituting Generic Model.

Reference planes come before any geometry

The habit that separates families that flex from families that break is building the skeleton first. Reference planes are the skeleton. Geometry gets locked to planes, planes get driven by dimensions, and dimensions get driven by parameters. Geometry never gets driven directly.

The first reference planes go in at 1:02 using the RP shortcut, which is worth committing to muscle memory because you will type it dozens of times per family. A pair of planes brackets the frame, a dimension spans them, and with both dimensions selected the Create Parameter button turns that dimension into a named parameter, in this case Door Frame Thickness.

Selecting both dimensions before creating the parameter is the detail people miss. Do it that way and the frame stays symmetrical about the centre of the opening no matter what value you type. Create the parameter from one dimension only and the frame drifts off centre the first time somebody changes the thickness.

A door exists in three dimensions, so the same treatment is needed above the opening. At 1:44 the exterior elevation gets its own reference plane and dimension, assigned to the same Door Frame Thickness parameter so the head of the frame always matches the jambs. Note also the view scale being pushed to 1:10 there. At the default scale the dimension text is too small to read while you work, and fiddling with the scale early saves squinting later.

The deeper reasoning behind reference plane strategy, origin definition and the strong versus weak distinction is covered in our Revit family creation fundamentals guide. This walkthrough assumes it and gets on with the build.

Create the types before you create the geometry

This is the ordering that surprises people. At 2:05 the Family Types dialog opens and two types are created before a single solid exists: 2100 by 900, and 2200 by 1000.

There is a practical reason for front loading it. Every time you add a constraint from here on, you can hit Apply, switch between the two types, and immediately see whether the geometry followed. A family with one type looks perfect right up until the moment somebody duplicates the type, and by then the broken constraint is buried under an hour of work. Two types from the start turn every subsequent step into its own test.

Pick the two types to be genuinely different. If your second type is 900 by 2100 and your first is 910 by 2100, a locked-to-the-wrong-plane extrusion will move ten millimetres and you will not notice. Make the second type obviously larger and errors announce themselves.

The frame is a sweep, and the path is where it goes wrong

The frame geometry starts at 3:09 with Create, Sweep. A sweep is two things: a path that the profile travels along, and a profile that gets carried around it. Sketch the path first.

The path here is a rectangle around the opening with one crucial omission: the bottom line is deleted, because a door has jambs and a head but no threshold in the frame. Leave the bottom line in and you get a sill running across the floor of every opening in the building.

At 3:33 each path line is locked to its reference plane using the Align tool, shortcut AL. The sequence is: select the reference plane first, then the line, then click the padlock that appears. Get the order backwards and Revit aligns the plane to the line instead, which is not what you want.

That padlock is the whole game. An unlocked sketch line sits at the right coordinate today and stays at that coordinate forever, ignoring the parameter completely. Locked, it follows. When somebody tells you their family “does not flex”, an unclicked padlock is the cause more often than every other reason combined.

Sweep or extrusion, and when each is right

SweepExtrusion
ShapeA profile carried along a pathA flat sketch pushed a distance
Best forFrames, mullions, skirting, handrails, anything with a constant section following a routePanels, shutters, slabs, plates, anything flat
Parametric controlPath length and profile dimensions both drive itSketch dimensions plus extrusion depth
CostHeavier, more to go wrongLight, hard to break

The door in the video uses both, and correctly. The frame follows a route around three sides, so it is a sweep. The shutter is a flat panel, so it is an extrusion. Using a sweep where an extrusion would do is one of the quiet causes of bloated family files, which is the same problem discussed in our notes on keeping Revit models fast.

Edit the profile in the Left view and drive the frame depth

With the path done, the profile is next. You can pick a loaded profile family, or you can sketch one in place. At 4:03 the in place route is taken and Revit asks which view to sketch in. It has to be a view perpendicular to the path, which is why the Left view is the answer here. Choose the wrong view and the sketch tools simply refuse to behave.

The profile is drawn as thick as the wall, snapped against the frame thickness plane already established. Then comes the parameter that makes the frame genuinely adjustable: at 4:45 a dimension runs from one face of the profile to the other and becomes Frame Depth.

Frame thickness and frame depth are two different things, and mixing them up is a common source of confusion in door schedules. Thickness is the face width you see in elevation. Depth is how far the frame runs through the wall. A schedule that reports one when it means the other will be caught in a submission review, so name the parameters unambiguously the first time.

At 5:04 the video pauses on which side of the wall the frame sits. The build keeps it on the exterior face, and flipping it is a possibility rather than a fix. This matters more than it looks. Once your office standardises on frame-to-exterior, every plan reads consistently, every wall type detail lines up, and nobody has to check which way a particular door was authored.

The shutter is an extrusion, locked at a deliberate face

The shutter goes in at 5:23 as an extrusion sketched in the exterior elevation: a rectangle aligned and locked to the inner reference planes on both sides, then locked at the bottom, then locked again in the floor plan so it is constrained in all three dimensions. Three views, three sets of padlocks. Skip the plan and the shutter is free to slide through the wall the first time the frame depth changes.

At 5:53 there is a genuine design decision worth pausing on. The shutter thickness can be measured from the centre of the wall or from the frame edge. The build picks the frame edge on the exterior side, and the reasoning is that a real door leaf sits in the rebate of its frame, not floating at the wall centreline. Whichever you choose, choose it once and apply it to every door family your office authors, because a library where half the doors reference the centreline and half reference the frame is a library nobody trusts.

At 6:24 the parameters get real values: frame thickness 50, frame depth 100, height 2100, shutter thickness around 25 to 35. These are sensible starting numbers for a residential internal door in metric practice, and they are exactly the kind of value that belongs in your office template rather than being retyped per project. The wider argument for standardising this material sits in our guide to building a Revit project template and office BIM standards.

Flex it, and expect the flex to find a break

Here is the most valuable ninety seconds in the recording, and it is valuable precisely because it goes wrong.

At 6:49 the frame is not meeting the floor. Nothing about the model looked wrong until the parameters were changed. The diagnosis and fix run from 6:57: go back into Edit Sweep, into the profile, into Edit Profile, back to the Left view, and lock the bottom line of the profile that was never locked in the first place.

Two lessons come out of that. The first is that flexing a family is a test, not a formality. Type values in, hit Apply, and go looking for the failure. If you have not found one, you probably have not flexed hard enough. The second is that a break in a sweep is almost always in the profile sketch or the path sketch rather than in the parameter, so that is where to look first.

The professional version of this step is a flex matrix. Before a family leaves your desk, run it through minimum plausible values, maximum plausible values, and one deliberately absurd value, checking the 3D view and both the plan and elevation each time. A family that survives 600mm wide and 1500mm wide will survive whatever a project throws at it.

Loading into a project: wall hosted means you need a wall first

At 7:55 the family gets loaded into a fresh project and cannot be placed. Nothing is broken. The Metric Door template produces a wall hosted family, so with no wall in the project there is no valid host and Revit refuses to place it. A wall goes in with WA and the door places immediately.

That behaviour is the template working as intended, and it is also the reason a door authored in Generic Model would have placed happily anywhere in space and then failed to cut its opening. The host relationship is a feature.

At 8:06 there is a small habit that saves real annoyance: save the family before you load it. Load an unsaved family and it arrives in the project named Family 2 or similar, and now the project contains a piece of content nobody can trace back to a source file. It has to be deleted and reloaded properly.

At 8:33 the family is saved into a custom library folder, with the backup count deliberately reduced. That distinction is a good one to adopt: families rarely need a deep backup history because they are small and quickly rebuilt, whereas project files absolutely do. Setting a low backup count on families keeps your library folder readable instead of drowning in numbered copies.

Name it before you file it

The video files the family under a working name, which is fine for a tutorial and not fine for an office library. A workable convention is category, then type, then defining dimension, for example DR_Single_Swing_900x2100. Whatever you choose, the rules that matter are: no version numbers in the filename, no personal initials, no project codes, and a prefix that groups the category alphabetically. Content that is bought in from manufacturers needs the same treatment plus a provenance check, which we cover in manufacturer BIM content and product data templates.

The plan swing is symbolic lines in the right subcategory

A door that reads correctly in 3D and shows as a blank rectangle in plan is not finished. Plans are the deliverable.

At 9:20 the plan swing begins with Annotate, Symbolic Line, and the subcategory is set to Plan Swing before anything is drawn. That subcategory assignment is not cosmetic. It is what lets a view template control the lineweight and visibility of every door swing in the project at once, rather than leaving you to chase individual families. Symbolic lines are the right tool here because they always present to the viewer in plan and do not exist as 3D geometry, so the swing never appears in a section or a rendering.

The leaf line is aligned and locked to the frame, then dimensioned. At 10:02 that dimension is associated with the width parameter so the swing grows and shrinks with the door rather than staying at whatever size it was drawn. The line then gets unlocked and moved to the correct side of the frame, which is a reminder that the side a swing reads from is a real convention and not an accident.

At 10:26 the arc goes in with the Arc tool, running from the leaf tip to the jamb, and at 10:36 both types are flexed again to confirm the swing follows. It does. That is the payoff for having created two types back at the start.

One practical warning from the recording that will happen to you too: after reloading, the plan swing appears to be missing because you are looking at the wrong plan view. Check the level before you go hunting for a bug.

Materials belong to parameters, not to geometry

The last stage is the one that makes a family reusable across projects rather than useful on one.

At 11:06 the frame is selected and its Material property is associated with a family parameter using the small Associate Family Parameter button at the right of the property row. A new parameter called Frame Material is created, grouped under Materials and Finishes, and set as a Type parameter. The shutter gets the same treatment with a Shutter Material parameter.

Assigning a material directly to the geometry instead would hard code oak into the family file. Every project that wants a painted frame would need the family edited and re-saved, and within a year you would have five near identical door families in circulation. With material parameters the family ships neutral and each project sets its own values through Edit Type.

Type versus instance is the judgement call here. Materials are set as Type parameters in the video, which is right for most doors: all instances of a given door type should share a finish, and a project that needs both an oak and a painted version of the same geometry creates two types. Reach for an instance parameter only where the value genuinely varies per placement.

When the shaded view stays stubbornly grey

At 12:29 the materials are assigned in the project and the shaded view still shows grey. The family is fine. The material definition is the problem.

A Revit material carries a shading colour and a separate appearance asset used for rendering. Until you tell the material to take its shading from that appearance, the shaded view keeps showing the default. Turning on Use Render Appearance on the material resolves it and the timber reads correctly.

This is worth knowing because it presents as a family problem and sends people back into the Family Editor to look for a fault that is not there. Anything that looks wrong only in Shaded or Realistic, and looks correct in the material browser preview, is a material settings question rather than a geometry question.

Common mistakes, and what each one looks like

MistakeHow it shows upFix
Sketch lines not locked to reference planesFamily looks fine, refuses to flexAlign tool, click the padlock, verify in every view
Parameter created from one dimension of a pairFrame drifts off centre when the value changesSelect both dimensions before Create Parameter
Only one family typeBroken constraints stay hidden until a project finds themAuthor two obviously different types on day one
Bottom line left in the sweep pathEvery door gets a threshold across the openingDelete it from the path sketch
Symbolic lines left in the default subcategorySwings cannot be controlled by a view templateSet the subcategory before drawing
Material applied to geometryFamily has to be edited per projectAssociate Family Parameter, group under Materials and Finishes
Family loaded before it is savedArrives as Family 2, untraceableSave to the library first, then load
Never flexedFails on the project, not on your deskFlex minimum, maximum and one absurd value

A note on versions

The recording is from an earlier release of Revit. The tools it uses, sweep, extrusion, align and lock, symbolic lines, Create Parameter and Associate Family Parameter, are unchanged in current versions, and the workflow transfers directly. What has moved is peripheral: where the metric template library installs, and the exact arrangement of the material browser dialog. If a button is not where the video shows it, the concept is still correct and the location has shifted.

Where to take this next

The door you have just built is the base case. The same reference plane and parameter discipline scales to nested handles and vision panels, to double leaf doors where the panel count drives an array, and to families with conditional visibility so a single type can present as glazed or solid. The concepts are identical; only the number of moving parts grows. Curtain wall doors and storefront systems are a related but distinct problem, covered in our guide to curtain wall systems and facade coordination in Revit.

If you want the full sequence rather than a single build, the complete Revit course on Archgyan works through door and window families in order, from the first reference plane to nested components and a finished project library. Browse the courses and start with the family authoring section.

Level up your skills

Ready to learn hands-on?

  • Project-based Revit & BIM courses for architects
  • Go from beginner to confident professional
  • Video lessons you can follow at your own pace
Explore Archgyan Academy
← Back to Blog