Rotation parameter breaks

Rotation parameter breaks

Anonymous
Not applicable
5,522 Views
21 Replies
Message 1 of 22

Rotation parameter breaks

Anonymous
Not applicable

https://knowledge.autodesk.com/support/revit-products/learn-explore/caas/CloudHelp/cloudhelp/2015/EN...

 

What is the right way to constrain a reference line in order to add an angle parameter? In all the tutorials I saw seems pretty simple.. But what happens when you set a 0/90/180 parameter? Everytime I do this in a family, it breaks because it got constrain to the main reference lines....

 

Example: I created a simple rectangle family (model line).... Should be rotating with the reference line (image 01), but breaks everytime you set the angle to 0 or 90 and then you want to turn back (image 02)....

 

So, how to handle?

 

0 Likes
Accepted solutions (1)
5,523 Views
21 Replies
Replies (21)
Message 2 of 22

ToanDN
Consultant
Consultant

You need to workaround that.

 

Capture.PNG

Message 3 of 22

Anonymous
Not applicable
Sorry, what do you mean?
0 Likes
Message 4 of 22

ToanDN
Consultant
Consultant

@Anonymous wrote:
Sorry, what do you mean?

Look at the attached Revit file and see my workaround the 0, 90 ,180, 270 angle issues.

Message 5 of 22

Anonymous
Not applicable

Actually I didn't try with a circle as reference line.... Could be the twist in my family.. thanks!

0 Likes
Message 6 of 22

ToanDN
Consultant
Consultant

@Anonymous wrote:

Actually I didn't try with a circle as reference line.... Could be the twist in my family.. thanks!


The circle does not solve the issue.  I added it there for graphical clarity only.  The key are the formulas and visibility settings of elements in the family.

0 Likes
Message 7 of 22

Anonymous
Not applicable
So.. if the solving keys are the formulas, I didn't get it...
I applied some formulas to my families, and they worked well for EVERY angles, expect for those ones that aligned with the reference planes...
How do you get rid of that problem?
Thanks again
0 Likes
Message 8 of 22

ToanDN
Consultant
Consultant

Did you look at the family I posted?

0 Likes
Message 9 of 22

Anonymous
Not applicable

Yes I took a look twice... And still I don't get the difference between your approach and mine...

 

I mean, I see you just attached the rotating line to a radial dimension... actually there's no reference line in that... 

How can you make it break when it's passing through the reference lines?

 

The formula and parameters are ok, but should they be necessary or not?

 

 

0 Likes
Message 10 of 22

ToanDN
Consultant
Consultant

The formulas are to ensure the line never rotates 0, 90, 180, 270 degrees.  When you enter one those special angle, the family turn off the rotating line and turn on the fixed line pre-drawn for the angle. 

 

Capture.PNGCapture1.PNG

0 Likes
Message 11 of 22

Anonymous
Not applicable
Oh I see.. well I thought of a solution of this kind, but I supposed there was a simplier way...
This with vis parameters is a little bit complex (for the basic user, I'm creating a set for a generic set of families for my firm...)
0 Likes
Message 12 of 22

Anonymous
Not applicable
Accepted solution

Do not do as the other user suggests. There's a much easier and simpler way.

 

Draw in your reference line at an angle and lock the end of the reference line to the two crossing reference planes.

Constrain the reference line with an angle parameter.

Draw your model lines.

Change the workplane host of the model lines to the reference line.

 

You can now rotate however you want because the model lines aren't creating temporary dimensions with the reference planes when the host was the reference level.

Message 13 of 22

Alfredo_Medina
Mentor
Mentor

@Anonymous If you are trying to rotate a group of lines, dimensions and constraints together, like this rectangle with constraints, the simple way is to do that piece as a separate family, work-plane based, and then host that family on the workplane of a reference line in a host family. The starting point of the reference line must be constrained in x and y to reference planes. Using nested families simplifies not only the rotation but also the modification of this piece. Using this method the family can accept any rotation value without breaking.


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Profile on Linkedin
0 Likes
Message 14 of 22

Anonymous
Not applicable

Yes, I usually create nested families for this kind of conditions/constraints, but I was looking for a less complicated way to do it. I'm not so keen of nested families, and since this family should be embedded in two others, I didn't want a Three-level hierarchy family... But if it's only stable way to do that, I'll accept it

 

Thank you!

0 Likes
Message 15 of 22

Anonymous
Not applicable

I remember I tried this option too... Should I set the reference line as workplane in the perpendicular plane or the default one?

0 Likes
Message 16 of 22

Anonymous
Not applicable

I've found that this family breaks in the 260 degree range for some reason. Try 265 degrees and see what happens.

 

Also, could you explain the workaround a bit more?

 

My attempt at such an explanation would be:

You've created parameters that redirect the flexible desired angle parameter to non flexible parameters of 0, 90, 180, and 270 degrees that allows the flexible parameter to never encounter the mysterious (and unacceptable IMO) error that occurs at those angles by using if/then and if not/then formulas?

 


@ToanDN wrote:

You need to workaround that.

 

Capture.PNG


 

0 Likes
Message 17 of 22

Anonymous
Not applicable

Can you explain a bit more, please? 

 

Why are temporary dimensions creating a problem if the host is a reference level?

 

How does aligning a model line with the reference line plane eliminate these temporary dimensions? The angle parameter is still from a ref. plane to a ref. line?

 

Do you then snap modeling elements to the model lines, and for instance turn them to invisible lines?

0 Likes
Message 18 of 22

ToanDN
Consultant
Consultant

@Anonymous wrote:

I've found that this family breaks in the 260 degree range for some reason. Try 265 degrees and see what happens.

 

Also, could you explain the workaround a bit more?

 

My attempt at such an explanation would be:

You've created parameters that redirect the flexible desired angle parameter to non flexible parameters of 0, 90, 180, and 270 degrees that allows the flexible parameter to never encounter the mysterious (and unacceptable IMO) error that occurs at those angles by using if/then and if not/then formulas?

 


See if this one works.  The family is self explanatory.

Annotation 2019-03-21 123819.png

0 Likes
Message 19 of 22

RaresMarin
Explorer
Explorer

Grate answer solved my problem in a much easier way than adding formulas and parameters, if i may say one thing that you didn't explain clearly or maybe its just me who didn't understand how to change the work plane of the model lines, this is done by selecting the desired model lines and click in Edit Work Plane under Modify tab then specify the new work plane by picking a line and select the reference line with angle constraint.
Worked Like a Charm Thanks!

Message 20 of 22

mcobb
Advocate
Advocate

I have spent a fair amount of time being driven nuts by rotational problems in Revit. Solving this singular problem is, by itself, a huge step in producing a more efficient and effective workflow.

 

For what it is worth, here are a few resources I developed. I'm sure they don't solve all your problems with angular parameters you might have, but I hope they at least help.

 

In the interest of putting the problem to bed, I have gone down the rabbit hole of conditional statements to address the full gamut of rotation (at least to 360 degrees) as a previous user did. I'm attaching a door family that uses this technique along with a summary image to serve as an introduction to its basic performance. 

 

In a more direct and less involved way, I also have also availed myself of a little trig (see attached screencast) along with some slightly weird math to avoid some of the problems Revit runs into with positive and negative numbers. 

 

In short, Revit's performance tracking the free end of a line around an origin can be problematic. I hope these tools help.  If anyone else has less involved ways to produce similar reliability, I am eager to hear about it and make  life easier.

 

Rotation family.jpg

 
 
 
 
Regards,

Mike