Tuesday, March 28, 2006

Once Upon a Reference Plane

[Updated to reflect current version options - 09/20/08]

Once upon a time King Solid and his Voids prepared to journey across their great land, alas they weren't sure which vessel to use, Reference Planes or Reference Lines...abrupt end to segway...

Reference Planes have slightly different roles when you are making a family versus working in a project.

In a project they act as a construction line, a guide to layout your design. They do not have a real endpoint even though there is a grip at each end to adjust how much of the Reference Plane we see. Since there is no real endpoint you can’t snap to the midpoint of a Reference Plane. Just to confuse you though, you can snap to the endpoint of a Reference Plane, yes, the endpoint that doesn’t really exist.

They have the same 3D/2D toggle that Grids and Levels have. This gives you global or view specific control over how much Reference Plane you want to see. When you don’t want to see any of it you can choose the Right Click option Hide in View > Elements (or Category if you want to hide them all).

Change your mind later and want it back, click on the little light bulb on the View Control Shortcut Bar to turn on the Reveal Hidden Elements tool.

Find the reference plane or planes you want to restore, select them and then click the Unhide Element button on the options bar or via Right Click.

Related to their role in families they can also provide a work plane for elements like roofs created with Roof by Extrusion, model lines, In-Place Families and Massing. To act as a workplane they must be named first, just edit its properties and supply a name.

In the Family Editor their role is similar though with some additional responsibilities. Each Reference Plane has a parameter called IsReference. This is crucial to use properly so families behave themselves when exchanged for other families of the same category. It is also the key to making adjustable families that can be grip edited to change sizes when combined with instance parameters.

The 3D/2D behavior of Reference Planes in a project does not extend to the family editor environment (not entirely true since Revit 2010). They are invisible in a project except for how the IsReference parameter permits them to be used.

In both a project and the Family Editor the orientation of a Reference Plane determines which direction is positive. Huh? When you create a solid or void on a named Reference Plane the direction or depth of that solid/void that is a positive value is derived by the orientation of the Reference Plane. Still confused? Okay here’s an image.

When you sketch a Reference Plane the first point you place is the tail, the second the Head. When you name the Reference Plane the head is where the name appears. In the image above you should notice that the positive direction is to the left of the Head when the tail is “beneath” the Head. Try turning the image so the Head is at the top and the tail beneath (just try tipping your head to the right instead of trying to turn your monitor).

The positive direction is always to the left of the head when oriented this way. Or is it? The existing Reference Planes in the stock Revit family templates behave exactly opposite. If you sketch your own they will abide by the rule above. Just these existing Reference Planes do not. I do not know why…hmmm.

When you drag the grip endpoint of a Reference Plane across the other end, to flip the orientation, you’ll find that Revit will flip any objects that were using the Reference Plane.

Reference Lines
Since a Reference Plane has no real endpoint it can’t be relied upon to define angular constraints. In some cases you’ll get reliable behavior and you’ll flex a family and suddenly the angle seems to lose its bearings. Reference Lines were created to resolve this issue. So what about them, Reference Lines, that is?

Well first of all, Reference Lines have real endpoints. This is important to maintain angular constraints. They have no counter part in the project environment except that they look and behave more like model lines (Revit 2010 has changed this a bit, update to follow) family editor. Despite this similarity they are a separate annotation category and the option to Hide Ref/work Planes when printing, within the family editor, controls their visibility as well as Reference Planes.

They are associated with the workplane they were created on. This means you can add Reference Lines to the workplanes of other Reference Lines and/or Reference Planes allowing you to create complex nested relationships.

Straight Reference Lines contain four work planes, one flat/parallel to the view/workplane the line is sketched in and the second vertical, perpendicular to the first, as pictured here.

You’ll have to use the TAB key to select the second plane. These workplanes cannot be named nor can the Reference Line itself, you can only select them by using the Pick a Plane option when setting a work plane.

Arc Reference Lines do not define any workplanes.

Reference Lines only have three IsReference options, Not a Reference, Weak and Strong. Accordingly, they will behave the same as Reference Planes when loaded into a project. In the family editor, Reference Lines are also visible in a 3D view where Reference Planes are not.

When you need to define workplanes that will flex according to angular constraints reliably, think Reference Lines. Possible uses for Reference Lines might be parametric trusses, 3D panel door swings or the “Pixar” articulated lamp example David Conant has posted at AUGI.

When you place nested components or create solids/voids using the workplane of a Reference Line they will maintain their position according to their relationship to the Reference Line.

And upon a Reference Plane/Line they lived happily ever after!


Anonymous said...

Good explanations. I've always been confused about what ref lines are meant for. ~irusun.

Anonymous said...

thanks Steve,
great comments, good structure, easy to understand and very important topic.
thanks for taking the time to consider this.

Anonymous said...

Thanks Steve
This solve my problem regarding
angular constraints , it was very
confusing why I could not snap my
objects to the so called snap points on the so looked ends of
the ref planes .

Anonymous said...

Very well explained. That's why they're so difficult to get to work with angles....sometimes you place an angular dimension and then as soon as you assign a label to that dim, the whole thing flips to another direction on it's own! So what exactly do the assignments "Center(Front/Back)" etc do? Are they just descriptive or do they really result in something? Only recently have I begun to understand the "Defines Origin" option too....perhaps some additional topics for another post!

Steve said...

Check out the post Is you Is or Is you Ain't. I talk about that there...there is a link to it in this article.

Anonymous said...

Hello Steve,
You may wish to update your post as reference lines now have 4 workplanes.

Steve said...

Yes they DO!

Just noticed this the other day during a class when I was describing them. The little square planes at each end popped into view, the cheeky devils!


Anonymous said...

Ahh, didn't realize that was a link. Now I understand...I didn't know the named IsReferences were strong references. I made some families that I'm having to "clean up" because when trying to aligning them to some other object, they re-size instead of just moving (because of the instance parameter tied to a strong reference inside the family). Some families seemed to "fall apart" when using the align tool and selecting a reference inside the family. Now I know what to look for.

Anonymous said...

thank you steve Sir

Thegunner said...

great contribution, it help me a lot

rustlight said...

If you use your reference plane to create a sweep and then delete the reference plane ... will it delete or affect the sweep?