I included the following tips and advice (edited a little in this version) in a door tutorial I wrote for my Autodesk University 2005 lab called "Autodesk Revit Building Family Editor: From the Beginning". It wasn't necessarily a really better door as it was a chance to explore a number of different techniques using the family editor. Such as nesting families, Variable swing features 2d/3d, Alignment for adjacent walls and creating a variable multi-lite panel. You can download the PDF HERE.
General Advice and tips
- Use snaps and snap overrides
- With dimensions and align/lock make sure you select the correct element, as a reference, that you intended.
- Use temporary hide/isolate to make sure only the objects you want to reference are visible.
- Alter dimension style(s) so it/they work(s) better for laying out your family, remove extension line offset, decrease text size etc.
- Dimension only to reference planes, align/lock solids/voids to reference planes
- If you ignore #5, don’t do both “inside the sketch” and “outside the sketch”
- Don't move the "origin", check the location of the origin by importing a dwg with linework representing 0,0, and use “Origin to Origin” if you think you did. A little background, if you move the reference planes defining the origin you will think the placement origin is moved. In fact the reference planes don't really define the origin anymore because Revit maintains the original origin is actual the internal 0,0 for placement. [This was a bug and has supposedly been fixed in the releases following 2005.]
- Don't use "-" in parameter names because it turns into a minus if you use the parameter in a formula, in fact don't use any characters that double as "math" symbols.
- Change the scale of the view to make it easier to constrain, select geometry.
- Be sure to test the family at various scales including for line weights, graphic performance and particularly if nested annotation are included.
- Add additional types to the host in hosted families. This makes it faster to test for different host thicknesses.
- Don't define materials in families, define material parameters instead (or possibly sub-categories) as much as possible so materials can be assigned in a project, where they really matter.
- Don't include parameters in families that don't change geometry, instead put them in project templates and apply them to the categories they affect.
- Don't dimension objects inside a sketch and then constrain the object outside the sketch, either all in or out. The exception to this is the depth of an extrusion which you can constrain outside of a sketch because you can’t constrain it with dimensions elsewhere. It is safer to align/lock to reference planes.
- Angles and arcs are hardest to constrain because Revit deals with them using orthogonal dimensions. Examine the Automatic Sketch Dimensions (ASD's see below) to see how they constrain endpoints of lines and arcs. Save them for last and use Hide/Isolate and remove unnecessary objects from view so it is easier to ensure you constrain the right parts.
- Window and Door families use the cut plane (view range) defined in the family, not just the project's view setting for view range.
- Make a system type parameter into an instance parameter, select dimension with a label in view, check instance parameter in option bar.
- Shared families can only pass (forward) instance based parameters
- Voids don't allow visibility on/off or level of detail
- Mirror tool does not pass along locked relationships, need to establish them for each copy.
- (added) Remember Revit is work plane focused, use reference planes and name them. Then use them wisely. There is a head and tail and they define positive and negative depth values for solid/voids.
- (added) Reference Lines are for angular relationships. Reference Planes are NOT. Reference planes don't have real endpoints, they are infinite in length but have grips so we can control how much we have to see.
- (added) The conceptual massing environment (CEA) is VERY different from all other component family editing you'll do.
- (added) A family doesn't "have to" be hosted if it doesn't "need" to "cut" the host or in other words, create a hole in the host. It must be hosted if it does.
- (added) Build "bones" first, then add "muscle" and finally the "skin".
- Bones = Reference planes/lines
- Muscle = Dimensions/parameters
- Skin - solids/voids and model/symbolic lines
If you are interested in some additional reading and curious about Automatic Sketch Dimensions (ASD's), these are some earlier posts.
Locking Stuff (January 2011)
Automatic Sketch Dimensions (August 2009)
The Family Editor: Bones, Muscle & Skin (April 2009)
Revit MEP Air Terminal - Troubleshooting (April 2008)
Railing Encore (August 2008)
Automatic Sketch Dimensions (April 2006)