I just recently was upgraded to C3D 2013 and I am designing my first road using the software. I've been having all sorts of fun and frustrations with Corridors and Cross Sections and learning slowly, but its all the little things that keep bogging me down.
One of the problems I have run into is when I use the Code Set label for Grade/Slope in Cross Sections I get label that reads -2.00% and then the word "Vertical". Is there an easy way to get rid of the word "Vertical" in every one of my 90+ Cross Sections? I checked under Label Style and it seems the only option is {Link Grade} which is what puts the Slope and Vertical. I mean what is the purpose in that word even appearing? I know that I can right click on the label and change visibility to False and it won't show, but I shouldn't have to do that for 90+ Cross Sections. Also I've seen the word "Horizontal" labeled as well and I don't want that word to show either.
I'd appreciate any help dealing with this issue. Thanks.
Bryan Collins
Solved! Go to Solution.
Solved by Jeff_M. Go to Solution.
'/12' converts from inches to feet.
Civil 3d Imperial unites are feet. "Height" in the label style composer is displayed in inches, but appears to be stored internally in feet. When you use an expression to set the "Height" C3D is expecting the result of the expression to be in feet.
The example below shows a label with 3 lines of text.
The fist has the height set to 0.08 (inches assumed)
The second has height set to the expression "Feet" where the expression is "0.08/12"
The third has height set to the expression "Inch" where the expression is "0.08"
As you can see the first 2 lines are the same height, but the third line is 12 times as high.
If you experiment with manual input of height, you will see that 0.08, 0.08", 0.00666', 0.0315cm or 0.00315mm will all display as 0.08"
It seems that the conversion to inches, for display, is done on the fly. Also the treatment of the expressions indicates to me that the height is stored internally as feet. (I suspect that there are similar meter to mm considerations in C3D Metric.)
Christopher Stevens
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.
@Jared.Reddy the /12 is needed for Imperial units to get the value in Inches, else the label will be 12 times larger than expected. If using Metric units, this would need to be removed or changed to another value.
@ChrisRS wrote:
'/12' converts from inches to feet.
...
(I suspect that there are similar meter to mm considerations in C3D Metric.)
Yes. In metric drawings we will generally set label style text height in mm, but when text height is set by an expression it must be done in m.
Mark Green
Working on Civil 3D in Canada
Hi guys,
So I have the same issue and it's driving me nuts lol. I can't really get my head around the offered solutions given on this thread so I am attaching a screenshot of a corridor section (one from a section group I have cut). Like Bryan Collins was enquiring about, I too am just trying to eliminate the ridiculous "vertical" labels that are shown and I have attempted to modify the "expression" but even although I've used C3D on a daily basis since 2010 this subject is out of my comfort zone and where I have typically had a C3D wizard in my office, the company I now work for is very small and there is no one I can ask face to face. Can someone please make this idiot proof for me please, as it is an ongoing issue I encounter and my laptop is about to be launched through the window haha.
Any clear resolution would be much appreciated. I am running C3D 2020 fyi.
Thanks in advance,
Kenny
@kenny.jackF7N4P did you read the excellent explanation that @ChrisRS provided earlier in the discussion? Here's a link to a short screencast showing the steps to take.
Thank you for the kind words @Jeff_M.
Jeff is referring to my explanation in post 18.
Post 18 gives a detailed procedure, but it omits the overview.
Overview:
We want to eliminate "Vertical" labels from section views.
"Vertical" is hard coded in Civil 3D; no one has found a way to edit this.
"Vertical" is part of link label group. It cannot be automatically eliminated.
There is no known way to eliminate "Vertical".
Hmmm .....
Okay.... we cannot eliminate "vertical" but can we make it invisible?
Yes, we can!
The classic Civil 3D Label "Text Height" trick will let us make "Vertical" invisible.
Details of the classic Civil 3D Label "Text Height" trick. *
Expression "No Vertical"
IF(ABS({Link Grade})>0.25,0,0.08/12)
ABS lets us handle both positive and negative slopes.
This will hide all elevations >25%. you may want to change the 0.25 to a higher value.
0.08 is text height in inches. 0.08/12 is text height in feet.
This is hard coded in the style and overrides the default Text Height for link labels.
For metric, with 3mm text height, I believe that this would be: IF(ABS({Link Grade})>0.25,0,0.03/1000)
Recently, I have switched to a more structured approach to text height.
Instead of hard coding text height into each style, I use a "TxtHt" expression. This allows the text height of a family of label styles to be controlled by one expression.
"TxHt"; 0.08 which is 0.08 inches.
In this case "No Vertical" would be IF(ABS({Link Grade})>0.25,0,{TxHt}/12)
If you are concerned about accommodating both Imperial and Metric, you may want to include a paper space to drawing unit conversion expression ("PS2DU").
For Imperial, "PS2DU"; 12 For Metric, "PS2DU"; 1000
"No Vertical" would be IF(ABS({Link Grade})>0.25,0,{TxHt}/{PS2DU})
This may be a bridge to far. What do you think, Jeff?
Good Luck!
* There is also a classic Civil 3D Label "Ignore Negative Values" trick that will not be discussed here.
** Some people use a very small value, say 0.0001.
I think that at one time Civil 3D would not accept a text height of 0.
*** When in the label style editor, Text Height is input and displayed in paper space units (inches). I believe that this value is stored internally in drawing units (feet). When text height is set by reference to an expression, the expression must return a value in drawing units. For metric, this would be mm and m.
Christopher Stevens
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.
Thank you soooooo much Jeff/Chris. This made it simple stupid for me to incorporate into the point code label style and now no more totally useless, obnoxious "vertical" callouts whoohoo!!!! Brilliant! Much appreciated.
Now then, how do I get rid of any 0.00% callouts? lol.
Christopher Stevens
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.
@ChrisRS Do you mean my question regarding 0.00% callouts, because it wasn't a joke so if you were referring to that I guess I must be a moron if you thought I was being facetious lol. This is the first time I have ever tried to create expressions to control labels/code style etc. I am going to try the examples you provided and see what happens. Thanks Chris.
Kenny
Well ... the lol did make me think that you were laughing at your own joke.
No offence intended.
Good luck with your expression.
If you get it to work, post it here for other users to benefit from.
You can accept your own post as a solution!
Christopher Stevens
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.
Haha...if we can't laugh at ourselves then we're eff'd imo 😄. I want to use the "no vertical labels" expression in addition to eliminating horizontal labels so I got stumped since it only allows us to pick one expression. How can I use both? Nonetheless, I couldn't get the horizontal expression to work.
It will be easier to trouble shoot your expression if you post a screenshot.
As far as eliminating both Steep and Flat ... that's the beauty of my suggestion.
You get 2 expressions for the price of one.
Actually, you get one expression that screens out both vertical and 0%. (Untested)
IF(ABS({Link Grade})>0.25,0,IF(ABS({Link Grade})<0.00001,0,0.08/12))
This expression returns the height of the text component, if it to be visible and 0 if to be invisible.
Let's parse out the expression:
IF(ABS({Link Grade})>0.25, Test to see if grade is steep (vertical).
0, Yes it is steep. Return height of 0.
IF(ABS({Link Grade})<0.00001, No it is not steep. Test to see if Grade is flat (0%).
0, Yes it is flat. Return height of 0.
0.08/12)) It is neither steep or flat.
Return the text height in feet.
Note: You may have to adjust the "Flat" test.
"<0,0001 hides grades lees than 0.001%.
You can adjust this value as you see fit.
Good Luck!
Christopher Stevens
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.