Wednesday, August 03, 2005

Is you Is or Is you Ain't

Are you confused? Okay, I mean are you confused about the “Is Reference” parameter of Reference Planes? If not, sorry I distracted you…

If you are, care to read on?

Am I assuming too much?
Do you know about this feature? If I am and you don’t, it is a parameter of Reference Planes, not in projects, only in the family editor. Here’s what it looks like in the properties dialog.

Now for the long winded explanation
When you choose an ”Is Reference” value you are telling Revit that this Reference Plane is the same as any other, in other families, by the same name. Big deal you say?

Let’s say you have a door in a wall and you’ve decided to make sure the door is 4’-0” from the nearest wall. (You’ve added a dimension and locked it)

When you later decide to use a different door Revit seems to know how to switch the doors yet maintain the same position.

Magical eh? Well sort of, “Is Reference” is the magic. You’ll have to trust me when I tell you that all stock Revit door families have “Is Reference” values assigned to each important Reference Plane. Okay, I know this is on the internet and you are supposed to believe everything you read on the internet but here’s an image to prove it, at least for the door in the image.

Notice there is no name value. This points out that a Reference Plane can be a “Strong or Weak” reference even if it isn’t named.

Oh great, introduced yet another concept without explaining it! Sorry, let me fix that now. Each Reference Plane can be “Strong” or “Weak”, in fact you can choose “Strong”, “Weak” or “Not a Reference” in addition to specific names like “Right”, “Top”, “Bottom”, etc.

A “Strong Reference” has the highest priority for dimensioning or snapping. That’s straight out of Revit’s help document! There IS good information there, don’t forget to check it out!

Ever notice when you dimension objects they offer you certain Reference Lines, yet tabbing sometimes offers you yet other options? This is “Strong” and “Weak” in action. A “Weak Reference” means you may need to use the tab key feature in order to use it for your dimension. Zooming in and out also affects how these two will act when you place dimensions.

Just remember that a “Strong Reference” gets your attention first when there are other, lesser, Reference Planes present.

Back to “Is Reference”, by choosing one of the predefined names (view descriptive) you are establishing two things, a “Strong Reference” and a common Reference Plane for Revit to use when you want to switch families.

If you don’t want a Reference Plane to take on such a role, don’t choose a name or choose “Not A Reference”. If you want your Reference Plane to be unnamed and play a lesser role than your “Strong” Reference Planes, choose “Weak Reference”.

Instance Parameters, Shape Handles and Is Reference

(Note: I forgot to include this part, many thanks to Steven Campbell for pointing out my oversight?)

[Edited 9/2/09: A reference plane's IsReference parameter can be weak or strong and define grips when paired with Instance Parameters since version 2009 and 2010]

As you may or may not know already, Revit can display grips (drag arrows) for parts of your family so you can stretch them manually within a project. This is true for parameters that are defined as instance parameters. When you make a Reference Plane and assign a Strong Reference or other named option (see list below) Revit will display these grips if you've added a dimension assigned to an instance parameter. When you choose Not a Reference the grips will not be available. If the instance parameter bit is confusing, check my earlier blog post What Are Parameters and Why Should I Care.

The ListHere’s a list of the predefined names you can use. (No, you can’t add your own)

Not a Reference
Strong Reference
Weak Reference

Center (Left/Right)

Center (Front/Back)

Center (Elevation)

I sure hope this hasn’t made it more confusing than it really is??


Anonymous said...

Thanks, Steve. Your articles have been a great hekp. However, I have a question. When making a schedule, how can I get the wall height? If I divide the AREA by the LENGTH I get different numbers depending on the openings in the wall. My goal is to develope a B.O.M. that is exportable to Access, or whatever.

I am using Revit 8.0. I have been using AutoCAD since ver. 2.7, am quite literate with AutoLisp and VBA.

Thanks for your help, this is driving me crazy.

Patrick Wyborny
Senior Product Designer
Modtech, Inc.
Perris CA.

Steve said...


To gain access to wall height you'll need to export to ODBC format. Use the Access driver and then once you've created the database file you can examine the wall height and quite a bit of other information in the Table called Walls. Since your already familier with Access you shouldn't have too much trouble get through this. Beware, the data is output to metric format so a 20 ft high wall will report a 6.096 meter high wall. You'll need to work out some conversion routines to display the info in feet and inches.

David Koch said...


I get the grips for my family in a project if the user-editable instance parameter drives the geometry directly. But if the user-editable instance parameter is used by one or more instance parameters to process that user value, the grips do not appear in a project.

For example, a length needs to be limited to 6" increments. I can set up a user-editable instance parameter for the length, a rounding instance parameter to round the user value to 6" increments using a formula, and a third instance parameter to eliminate the possibility of zero or negative values using a formula on the rounded value.

If the family geometry is driven by either of the formula parameters, the grips do not appear in the project. Is there any way around that?

David Koch said...


I figured out a work around. I added an additional reference plane and added a labeled dimension associated with the parameter that takes the user input. No geometry is tied to this reference plane, but by adding it with the labeled dimension, grips appear in the project when the family is inserted. You can delete both of these comments if you want.