We have a block that we use for an eccentric manhole that shows the lid offset. (see pic)
I would like to create a label that displays the rotation of the structure with N,S,E,W like you can with the pipe direction field.
Has anyone ever tried this?
Solved! Go to Solution.
Solved by Bill_Myron. Go to Solution.
Yes, I have played around with that field a bit, but haven't gotten it to display the data as N,S,E,W.
I like your idea.
Not sure what you mean by having a number to deal with?
I"ll give it a try and see what I can do.
Thanks.
Expressions cannot return strings. Such as N, S, E, W.
There is a terrible workaround though.
Create 4 expressions (8 if you want NW, NE, SW, SE). These will be if statments.
If the the rotation of the structure falls within the Dierection range
=IF(AND(Structure Rotation>XX,YY>Structure Rotation),(Whatever your text hieght is),0.00001)
Make however many of those you need for each direction. In your label add a text component for each direction. Place them all in the same place on top of each other. Apply the coresponding expression to each text.
Now when you rotate your structure it will only display the correct direction. All the other directions will be sooo small you wont even notice them.
Hope this makes sense!
Your Name
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.
It think this drawing has a better example of what you want: http://style.civil3dreminders.com/structurelabel-pipedirection
So I may ahve spoke too soon about the and, apparently it is not included with Civil 3D. BUT, there is a way to get this done still. There are other ways to get an "AND" in the expression to get the range.
From the help on on expressions under operators:
East - 315 to 45
North - 45 to 135
West - 135 to 225
South - 225 to 315
Expression:
IF(({Structure Rotation Angle}>DEG2RAD(135))*({Structure Rotation Angle}<DEG2RAD(225)),TEXT HEIGHT,0.000001)
This tests if the angle is greater thatn 135 AND less than 225.
For the range that crosses th 0 degree you will ahve to change the "AND" to an "OR".
IF(({Structure Rotation Angle}>DEG2RAD(315))+({Structure Rotation Angle}<DEG2RAD(45)),TEXT HEIGHT,0.000001)
Each direction will need its own text component and expression.
I made a quick label in a drawing and attatched it.