Angled Reference Planes / Reference Lines

Angled Reference Planes / Reference Lines

Anonymous
Not applicable
27,554 Views
13 Replies
Message 1 of 14

Angled Reference Planes / Reference Lines

Anonymous
Not applicable

I have been trying for over a day now to add parameters to control reference plane, or reference line angles, and I'm start to go nuts over this. Despite most posts online saying "don't use angular reference planes", I actually got mine to work at first. Problem was that I drew it in the wrong view, so had to re-do it. I have not managed to get it to work again since.

 

I have tried reference lines instead. They are more stable, but still not satisfactory. I have tried fiddling with the "Weak Reference"/"Strong Reference" settings. This worked initially when I used an actual reference plane instead of a reference line. It has done nothing for me since. Plus, now almost every time I flex the family, the reference lines fly off the screen for no apparent reason, and require me to modify the extents so they're actually visible on the screen, or the family breaks altogether.

 

I have drawn a reference line which is at an angle to an original, horizontal reference plane. Then I offset a 2nd reference line off the 1st reference line. The two reference lines are parallel to one another. When I assign all the parameters (angle between reference plane and 1st line, and alligned distance between the two reference lines), and flex it, nothing works. I have attached the file.

 

The parameter which "breaks" the parametric relationships is: 

 - Roadway Slope

 

You can find it in the "Front" view.

 

After spending quite some time going through all kinds of posts on the internet about this, I have noticed that I am not the first person with these kinds of problems. There are some work-arounds, but few people seem to have a clear idea of what is going on, and when they get it to work eventually, they don't even know how they did it. Solutions to these problems almost never are just a one-post answer, but instead span several pages even. Surely Autodesk ought to improve the stability of working with angles in the family editor?

 

Overall I will need to have probably up to 15 angular surfaces controlled by angular parameters. Some of these angular parameters will be the "Roadway Slope", but there are also several others. I need to get this to work.

Accepted solutions (1)
27,555 Views
13 Replies
Replies (13)
Message 2 of 14

Anonymous
Not applicable

Once I locked the reference line to the intersection of the "Abutment Base Depth" reference plane I was able to change the Roadway slope.  Problem about your method is once the roadway slope changes to 0 it will break as the reference lines won't know which way to go.

 

This is one of my favorite blogs on rotating families... http://therevitcomplex.blogspot.com/2012/04/rotation-rigs-that-do-not-use-angluar.html  

It should help a lot.  If you ever get to go to the Revit Technology Conference or Autodesk University, find Marcello's classes.  He does a lot of neat stuff with Revit.

Message 3 of 14

Anonymous
Not applicable

Thanks. That link looks useful. It'll take time for me to get my head around it.

 

I am aware of the "0 angle", or "0 value" errors in general when working in the family editor. This was going to be my next challenge. Last resort would be that I'd just put in the manual "don't use 0 values, use 0.001 instead", or something like it. I wasn't too concerned about that.

 

EDIT: I just managed to get rotating reference planes (not lines) to work again. I had to open a brand new file though (Generic Model template). After fiddling with the contents of it a little, I think the angular rotation stops behaving stable. I thought initially that it would only allow me to use rotation reference planes in the plan view. Now I realise I can do it in any view... but it tends to flip out pretty quickly, and I haven't figured out what the variables are yet which cause this.

 

I think what causes it, is assigning an existing angle parameter, to a newly created angle. If on the other hand, I create a new angle between the two reference planes, and then create new angle parameter altogether... it seems to work. I think.

 

To use this method, I will probably end up with 15 separate angle parameters, each separately controlling the inclination of various reference planes (even though they will be equal to each other). At best, I might be able to link the parameters into one "global" parameter which will control them all. Or perhaps use nested families and the "associate parameter" option.

0 Likes
Message 4 of 14

L.Maas
Mentor
Mentor
Accepted solution

For angles I alway use reference lines. Because reference lines have begin and end point, so can be constrained to a rotation point.

It is also good practice to use the reference line as work plane. Because then other objects follow automatically the angle of the rotation.

 

Workplane 2.png

For example here the second (top) reference line is autoamtically rotating with the other (bottom) reference line because it uses that bottom reference line as a workplane.

 

When things get complex, think multiple rotations, then it is good practice to nest elements. Than you can organize one rotation in the nested family and another in the host family.

 

If you expect to need so many retation angles it might be worth considering to split your families in several families. In each family you can keep certain things fixed and only have to focus on a few rotations. Probably keeps the families more manageable.

Louis

EESignature

Please mention Revit version, especially when uploading Revit files.

Message 5 of 14

Anonymous
Not applicable

I actually managed to get this to work for reference planes, but it is pointless since I can only view them from perpendicular view planes.

 

So I'm using reference lines instead for the inclinined slopes.

 

I am actually using exactly the method you are suggesting with the nested families. I've broken the bridge abutment into several families:

 - abutment slab

 - front wall

 - side wall(s)

 - bearing pads

 

Then I'll load them into a main "host" family and associate whichever parameters I need to.

 

If you have a better idea of how to break this down, I'll be grateful. I have only started working in Revit a month ago with tutorials.

0 Likes
Message 6 of 14

L.Maas
Mentor
Mentor

Think about if it has to be in a single family. Maybe just four separate families can be sufficient.

 

Consider uploading a family with what you have so far. Then we can have look and maybe give some advice.

 

 

Louis

EESignature

Please mention Revit version, especially when uploading Revit files.

0 Likes
Message 7 of 14

Anonymous
Not applicable

I'm having trouble trying to prevent the "0 angle" errors. I've attached two family files showing 2 versions where I have attempted to fix this. Neither works. I thought that perhaps "inverting" the dimension and subtracting it from 180 degrees might work. I was wrong.

 

Also, using "arc degree dimensions" didn't work either.

 

 

 

0 Likes
Message 8 of 14

L.Maas
Mentor
Mentor

The difficulty is that there are two (perpendicular) angles operating at the same time. In general when you have multiple angles in different directions you should start to make use of nested families. In one family you control an angle in one direction in the host family you control the other angle.

 

In this case I would model the wall differently (if I understand your design correctly).

Use an angle to create the Roadway Camber.and use a swept blend to create the Front Wall Bearing Shelf Inclination.

Both angles can be set to 0°

 

Abutment.png

 

Attached the concept family in Revit 2016.

 

 

Louis

EESignature

Please mention Revit version, especially when uploading Revit files.

Message 9 of 14

Anonymous
Not applicable

I considered this... and I will be using it in a different context.

 

The problem I think with using it on the abutment front wall... is that each angular parameter effects other parameters, and the overal geometry of the abutment. Doing it as a nested family, I think might break down the relationships between the parameters. I would have to associate parameters anyway, and control them with reference planes/lines in the main family... and the problem would remain.

 

I am too new to know this for a fact.

 

It sounds like it could involve a lot of experimentation before I'd get it right, and the way I see it there's no guarantee it would work at the end anyway. The 0 angle problem is not worth that amount of my time at the moment. The bearing shelf is never at 0 degrees anyway (or it shouldn't be), and the abutment wall is the left half of a larger overal model (the origin is located in such a way to reflect this), where the origin/center is the road axis, sloping both ways by 2.5%.

 

Standard abutments usually don't come in 2 halves, just one piece instead, and are flat (aka 0%). Road layers are then just built up to provide the slope, instead of sloping the actual abutment.

 

If I have time at the end of the project, I might come back to this. Thanks anyway though.

0 Likes
Message 10 of 14

MuirEng
Collaborator
Collaborator

Hi, I could use a hand implementing the marked solution here. I can't seem to create a reference line that uses a (reference plane associated with) a prior reference line at the work plane. All my reference lines come out with the work plane as "reference level", and the control is grayed out. I've tried shifting to a 3d view to draw my reference line but I can't figure out how to execute the operation. 

 

I have a family with two locked and perpendicular reference lines that allow rotation about their intersect point, and now I want to create additional reference lines parallel but offset to these. Locking any new line to these rotating lines with dimensions leads to constraints failure during rotation. The posted reply seems to solve this problem, if only I could figure out how...

 

Advice please?

thanks!

 

Brian Muir, P.Eng, Muir Engineering
0 Likes
Message 11 of 14

Anonymous
Not applicable

Hi. It has been nearly a year since I completed my last project using these tools, so my memory of the detailed processes is fading.

 

I remember one of the solutions (that isn't described in this thread), was using extra reference lines as "construction lines" (as you would in some traditional hand-drawn geometry).

 

So, in the context of the project I was working on (example above), in some cases this meant not using angular constraints at all. Instead, I would "draw" (of sorts) a triangle using reference lines, and control the lengths of the triangle's sides (reference lines) using trigonometric functions. Then, I would also have a separate angular parameter, that was not directly associated with any geometry in the model, but was instead used as an "input" parameter. Aka, I would input "10 degrees", Revit would do the trigonometry and length calculations, and move the reference lines appropriately. With this method, no angular parameters were directly associated with any reference lines or planes. Only length parameters parameters were directly associated with reference lines.

 

Then when I had to offset extra reference lines from those, I would offset them off the original reference line, and create a parameter controlling the distance directly, and only to, the original reference line. So, if I had 6 different offset reference lines, they were not constrained to one another, but instead constrained only to the original reference line they were offset from.

 

This led to unreasonably large and complicated formulas being used, in order to control the offsets. Even with 3 monitors to work with, the formula often would go off the screen, and I had to use a text editor in order to view the entire formula.

 

With this method, I could "combine" triangles and form 3-dimensional sloping planes (sloping in two directions), that were reasonably stable. It required lots of construction lines controlling the various lengths.

 

The model would break though when I input parameters that reduced any angle between two planes to 0 degrees. I played with rotating the model 90 degrees, by using the vertical reference plane instead of the horizontal one, and adding "90 degrees" in the formulas to compensate for the difference. This way, the angle between two planes was never technically reduced to "0 degrees", unless you entered "-90 degrees" as the angle. There were some problems with this, but I don't remember. It was too late in the project for me to spend time fully investigating this and re-assigning all the constraints.

 

Revit is quite stable with math problems and formulas, so the trigonometric method usually worked after some trial and error (although it was laborious and in my view, inefficient). When I last used Revit, it had numerous problems with more complex geometry though. By the end of the project I was thinking whether it might have been in some respects a better idea to use the massing environment. It's something I haven't experimented with or used much, so can't give you advise on. It might be an idea though.

0 Likes
Message 12 of 14

MuirEng
Collaborator
Collaborator
Hi John,

Thanks for the ideas. I was really just looking for specific guidance on how
to place a reference line using another reference lines as the work plane.
This seems like a better route than attempting to lock things together using
trigonometric formulas, but it's an idea I'll keep in mind.


Brian Muir, P.Eng, Muir Engineering
0 Likes
Message 13 of 14

mcobb
Advocate
Advocate

The trigonometric approaches have their limits but, in many cases can be more stable in conjunction with a reference line, than simply using reference line by itself. You might check out these thoughts.

 

 

 

 

Regards,

Mike
0 Likes
Message 14 of 14

mcobb
Advocate
Advocate

<iframe width="696" height="715" src="https://screencast.autodesk.com/Embed/Timeline/2649f5b4-3fc2-4c31-8b54-5bf8f06f2465" frameborder="0" allowfullscreen webkitallowfullscreen></iframe>

Regards,

Mike