Monday, April 09, 2012

A Small Collection of Family Editor Advice

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
  1. Use snaps and snap overrides
  2. With dimensions and align/lock make sure you select the correct element, as a reference, that you intended.
  3. Use temporary hide/isolate to make sure only the objects you want to reference are visible.
  4. Alter dimension style(s) so it/they work(s) better for laying out your family, remove extension line offset, decrease text size etc.
  5. Dimension only to reference planes, align/lock solids/voids to reference planes
  6. If you ignore #5, don’t do both “inside the sketch” and “outside the sketch”
  7. 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.]
  8. 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.
  9. Change the scale of the view to make it easier to constrain, select geometry.
  10. Be sure to test the family at various scales including for line weights, graphic performance and particularly if nested annotation are included.
  11. Add additional types to the host in hosted families. This makes it faster to test for different host thicknesses.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. Window and Door families use the cut plane (view range) defined in the family, not just the project's view setting for view range.
  17. Make a system type parameter into an instance parameter, select dimension with a label in view, check instance parameter in option bar.
  18. Shared families can only pass (forward) instance based parameters
  19. Voids don't allow visibility on/off or level of detail
  20. Mirror tool does not pass along locked relationships, need to establish them for each copy.
  21. (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.
  22. (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.
  23. (added) The conceptual massing environment (CEA) is VERY different from all other component family editing you'll do.
  24. (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.
  25. (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)
Railing Encore (August 2008)

4 comments:

Alex Gore said...

This is a great list, very insightful. If readers follow this list they will make their life easier in the future.

NKramer said...

On a somewhat related note, is there a way to change or get rid of added object styles in a parent family?

I.E. you nest a family with a user created object style into a different category. Then realize that you want to change the weight, line style, color or name.

As far as I can tell you only see the nested object styles once the host family has been loaded into a project. Where you have to fix/ delete them.

If that is the case then be very very careful when creating object styles in families that are meant to be nested into another category...

Steve said...

Not sure Nick. I'd have to experiment a bit to see myself. I suspect shared nested families might play by different rules.

Once a family is loaded into a project you can only alter them in the project. Changes in the family won't override the "King" (project).

If you use the Edit Family option in the project to open a family there have been reports of undesirable things happening, but my mind is blanking at what it is at the moment.

NKramer said...

So it turns out all of the nested families sub categories are in the host family... if you change the host family's category to match the nest. They you can delete, rename, etc.

Hidden jewel, special feature or a pain. You choose.