In a somewhat unexpected post, landarchBIM has described a method of inferring the movement of a Reference Plane that is driven by an angle parameter.  This probably falls outside of the “best practice” category, but it may be worth a read:

The key seems to be “that the plane must be constrained to the plane it wants to move along.”

Personally, I will probably stick to Reference Lines, because I don’t find them too difficult to understand or control.  But hey, whatever works for you!  Oh, and if you have any problems, contact landarchBIM 🙂



To make the swappable profile, use a Generic Model Adaptive template, but don’t add any Adaptive points.  Set the 2 reference planes in the template to “Defines Origin”.  You can parametrize this as much as you like (just don’t use Reference Lines – you need a closed profile of Model Lines as per any Profile).  Then, load this into another new Generic Model Adaptive family.  Host the Profile component on a hosted point (that is, one that has been placed on a line).  You will need one of these nested Profiles at each end of a line to control the form properly.

I am in the habit of using hosted points to host Profiles now.  For example, in a 2pt Adaptive with a Reference Line, I will add 2 hosted points to the Reference Line to carry the Profile instances.  These hosted points will be forced to the end points by using a parameter for zero, and another one for one, and forcing these values by putting 0 and 1 in the Formula box of the Family Types dialog (see image).

If you are using hosted points (make a new point, and drop it on a Reference Line – it will be come a small dot if it is hosted on the line), you can actually adjust the rotation Angle using a parameter – this makes it easy to rotate the profile around the hosting line.

Here is the really cool part – you can apply a Label parameter to the Profile instance in the host family, and then directly swap Profile shapes (different nested RFAs or types in the same RFA, both work).  This even works from the Project Environment.

If you want to drive the profiles parametrically via the host family, you will have to make them un-Shared (otherwise you can’t map parameters from Type to Host).  You can swap between un-Shared and Shared profiles using the Label parameter.

Finally, to create the form, select the Profile families (the ones at each end of the Reference Line) and click Create Form.  Unlike other form creation scenarios, you do not want to select the “lines” by Tabbing through – you actually want to select the family itself.  The Label parameter will allow you to swap these families, which will drive the Form.

In the image below, all of these are one Adaptive family – with profiles swapped, and parameters adjusted, including rotation about the axis.

Download the above example here

Credit:  I’m fairly sure I read about this general idea somewhere… it was a while ago.

Most of us use the old Reference Line with angular dimension method to control rotation in our vanilla Revit families.

However, Marcello Sgambelluri has posted three alternative methods to control rotation and angular dimensions, with full step-by-step instructions, at his blog Simply Complex.

Marcello says:
I have given three rotation rig methods that do not use the angular dimension parameter in these last two postings. These methods are the Ride the Rail method, the Open Reference Circle method, and the Revolve method.

So the method names again are:

  1. Ride the Rail
  2. Open Reference Circle
  3. Revolve

Read more about them at:

BIM Troublemaker proposes a solution that makes Reference Lines normal, at least in the short-term…and he adds a throwdown to Buildz at the end 🙂

I’ll start with my 3d triangle and draw a rectangle on its face. Lookie Dis! They are aligned in the direction i want!

I deleted 2 lines i didn’t need, slapped reference points hosting my extrusion profile on the 2 remaining, and then pulled them to the edges of my triangle…

Read more / via
BIM Troublemaker: Aligning Reference Lines