NOTE THIS METHOD AND POST IS 10 YEARS OLD AND SOME OF THESE CONCEPTS BELOW DO NOT APPLY or HAVE BEEN RESOLVED IN LATER VERSIONS OF REVIT.
REVIT ROTATION
RIGS THAT DO NOT USE THE ANGLUAR DIMENSION
What if I
said the following, “you will never need to use the angular dimension again
when creating rotation parameters in families” would you believe me?
I have found two alternative methods to create rotation parameters that do not use the angular dimension. Why did I create these two methods? The answer is simple, the need for stability.
I have found two alternative methods to create rotation parameters that do not use the angular dimension. Why did I create these two methods? The answer is simple, the need for stability.
The
traditional method, shown in the rig above, uses the angular dimension command.
It is not a secret that it is unstable when it is at a zero value and breaks
most of the time at other angles. Because of this, I have created two methods
that completely avoid this unstable dimension. It’s called “Ride the Rail”
method for use in the mass and adaptive component family environment and “open
reference circle” method for use in the classic family environment.
I have
already showed these two methods at the Los Angeles Revit User Group (LARUG) and the BIM Users Group Inland Empire (BUGIE) in the month of April 2012.
These methods will also be shown in the two classes I am teaching at the Revit Technology Conference in Australia
in May and at the Revit Technology Conference in Atlanta, GA, USA in June.
I created
the “Ride the Rail” method as a solution to a challenge at the Los Angeles Revit User Group Meeting
where members could submit Revit challenges. Read all about the history of Ride
the Rail method here thanks Jay Zallan.
As shown
above in the rotation rig, the Ride the Rail method does not use the angular dimension
to control the angle of the hosting reference line hence it is extremely stable.
It uses the power of the reference point to “ride” the “rail” of the circle or
curve to control the angle. There is only one major drawback from this
extremely stable method. Since it uses the power of the reference point, it is
only able to be used in the mass family environment or the adaptive component
family environment because all other environments do not have reference points.
This was very troubling to me and so I
decided to create a rotation rig/method that could be used in any family,
classic, mass, and project environment.
I realized
that the whole concept of ride the rail method was based not on the point but
the reference plane of the point. I then made the connection…open up the circle
and host the reference line on the reference plane at the end of the open reference
circle.
From this, I
created the “open reference circle” rotation method as shown in the rotation
rig above and notice that it uses the arc angle of the open circle to control
the angle NOT the angle parameter. Below is a step by step process on how to
create the open reference circle rig to control rotation for a door family in
Revit. Of course this method could be used to a rig that could then be used to rotate
anything.
1.
First
start a new door family from the default family template in Revit. Go to the
reference plan view.
2.
Create
a reference circle whose center is set away from the center of rotation
3.
Turn
on the center of the circle mark. Developers please turn it on by default.
4.
Align
and lock the center of the circle mark to the horizontal reference plane
5.
Align
and lock the center of the circle mark to the vertical reference plane
6.
Note
that in the step above the circle center was placed away from the center of
rotation so that it would be easy to confirm that it was aligned in the correct
location
7.
Split
the circle with the split tool
8.
Delete
the portion of the circle to create an “arc”
9.
Align
and lock the tail end of the open circle to the horizontal axis
10. Select
the open circle.
11. Note
that when the open circle/arc is selected a very very very interesting element
pops up that is not available anywhere else in Revit…..the arc degree dimension! It is this phenomenon that I took advantage
of in order for the open reference circle method to work.
12. Select
the arc angle dimension and make it permanent
13. Please
note that the arc angle is NOT the arc length
14. As
shown above, do not get the arc angle and arc length confused. They are two
completely difference dimensions. The difference is that the arc angle is able
to be converted to a parameter that is CHANGEABLE. In contrast to the arch
length, the arch length is a reporting parameter only, meaning it is only able
to “show” the length value and not able to be changed.
15. Create
two angle parameters
a.
Create
an angle parameter called “INPUT_ANGLE”
i.
This
will be used as the input angle, what is traditionally used to define how “open”
a door is.
ii.
I
like to use the arc angle to control the back side of the angle instead of the
front because it is easier to work with
b.
Create
another angle parameter called “ANGLE_180_FIX”
i.
it is the true arc angle
ii.
Give
it a formula = 180-INPUT_ANGLE
16. Assign
the “ANGLE_180_FIX” parameter to the arc angle parameter
17. Make
the radius of the open circle a permanent dimension
a.
This
is done to further constrain the open circle
b.
It
is also very critical that it is done at this step and not any other time.
18. Set
the work plane to the end of the open circle, this is done so that the
reference line that will host the door geometry is placed at the correct plane.
19. Draw
a reference line on the set work plane from the open circle end to the center
of rotation of the open circle.
20. Congratulations!
The open reference circle rotation rig is now complete.
21. Set
the reference plane of the host reference line to receive the door geometry,
create the door geometry on the hosting reference line.
22. How
to create the door geometry will not be covered in this posting however, it is
very simple to perform.
23. The
following shows the rig in action in the door family and in the project environment.
24.The
door family was covered here however; this method is applicable to host any
geometry, in any family, in any environment.
Above is the
example Door family at different angles that are hosted on a wall element in
the project environment that is using the open reference circle rotation rig.
12 comments:
Interesting. However, there seems to be an issue. Since the parameter that controls the angle of the arc is also determining its length, indirectly, this method will break if the user enters 180 or 360, because at 180 there won't be any arc to do, and Revit will issue the "line is too short" error. It will also break if the user enters 360. It could be fixed, but that requires more work on the formula.
Also, I don't agree that the other method is "unstable when it is at a zero value and breaks most of the time at other angles." That is simply not true. The other method, with only one parameter and one line, can rotate an element all the way around without breaking at any angle, not even at 0, 180, or 360.
Having said that, this method is an alternative, not necessarily an replacement or an improvement over the other method, since this one takes more steps to do, anyway, and the reason that you have provided about the "instability" of the other method is not true.
The blog article begins with this statement in capital letters: "YOU NEVER NEED TO USE THE ANGULAR DIMENSION AGAIN WHEN CREATING ROTATION PARAMETERS IN FAMILIES", and it says that the other method "is unstable when it is at a zero value and breaks most of the time at other angles." Both statements are misleading. That is my point. I am not being harsh. I am just pointing out what is true and what is not.
You are correct that it's usefulness is a bit overstated but it is a wonderful method and uses some 'hidden' Revit functionality (the hidden, radial angle dimension), I guess "never" was a bit over the top!!! I modified my comments to reflect my view better and think that we can let the post stand on it's own...Obviously it generates conversation and that is always good!!!
I do still think this is a good method for some situations and is more stable and while you are technically correct about 180 & 360 degrees that fact misses the reality of a door IMO...
Doors cannot open to 180 degrees with the normal hinge setup, that this method is applied to... there are handles on doors, therefore "in reality" these doors should only open to approx. 178 degrees maximum.
Furthermore doors cannot swing 360 degrees, no matter what, that's a circle...these can go from 0 degrees (closed position) to 178 degrees (fully open, with handle bumping into wall)...at least what I saw worked like that :-)
We did speak to this at the LARUG and noted that if an offset hinge, such as Rixon hinges are used a different method would be appropriate.
As to the instability that is opinion...the most stable way to get the traditional method to go to 0 degrees and open back up is to nest a panel into a door family and as we said, that may be appropriate in some instances, this method is useful to alleviate nesting in cases where it is no longer necessary, thus lighter families, etc...but again opinions...we all have em...
There are always different needs for different objects and designs, but this method is not only useful for doors, that is just a simple way to teach and explain that there are different methods possible... I might also add that this method is one that nobody in Revitland, at least as far as I have seen has come up with.
This method is yet another tool in one's cache and it's a very creative & newly found solution, so while it may overstate it's use the post & method are a valid new option.
BTW: The quote about "...always..." was posed as a question...we obviously are being challenged to find out when and where it's appropriate!!!
We can break any method of content creation (and content) ...I am curious how many applications I find this method useful for...at the very least it opens up a potential for more hidden functionality to be found and for that I think it's very helpful
Jay,
Yes, the method is useful and it is a valid alternative. Not a replacement, though. And, about the angles, I was not referring to doors in particular, but about the usage of this method for rotating any other element in the standard family editor, as proposed in the blog article. I see some limitations that the other method does not have. It might be much more useful in the conceptual design environment.
Ahh I get it...Stay tuned there is a slight modification coming that allows this method to swing to any angle from 0 to 360 degrees and doesn't break!!!
I am curious as to how you make this work. The 180/360 issues normally come from opening and closing the swing arc. Do you nest the swing arc or other parts of your families? Also, how do you address when the angular dimension flips from one side to the other. Mathematically the angles are complimentary and the same. Revit world though it tends to jump references and break geometry when the dimension flips...
So, where's that "slight modification?" Not like you guys have been busy with RTCs and USC BIM Seminars and work and stuff....
Good day Marcello.
I tried your technique but keep getting a “Constraints are not satisfied” error. See capture at http://screencast.com/t/vAmrdWKJMn25 What am I doing wrong?
looks like you have to lock the center of the open circle to the intersections of the reference planes
make sure to turn on the center mark of the circle
Thanks for the reply.
I did lock the center if the circle to the reference planes as you described in the article prior to cutting the circle to make it open. It unlocks the endpoint lock when I try adjusting the angle.
Hello and thanks for all the intuitive ideas, I am trying them out and have even had luck with them. However I am facing a issue I can not seem to figure out involving a MEP valve with actuator. The valve will be stationary but I need the center (Z axis) of the actuator to revolve around the center of the valve (the Z axis). I accomplished it in the mass environment but I can not add pipe connectors, I have accomplished it in a family, rotation works great in family environment, but once in a project it breaks and the actuator comes of the z axis. Any ideas?
Thanks,
Aaron
Post a Comment