SOFTWARE SOLUTIONS FOR CIVIL ENGINEERING

Civil Fast Forward

THE OFFICIAL CADMAGIS BLOG

Major section grade break Labels with a Percent Controller

If you want to add grade break labels to the major section grade only (where the difference is greater than 1%) you can add labels with an offset and an elevation to hundreds of crosses sections for a surface and change a percent controller globally in Autodesk Civil 3D.

Using this method you can do it fast and easily:

1. Select the Section node from Toolspace,

2. Choose the Grade Break node from Label Styles,

3. Create a new Expression and give it a meaningful name e.g. myPercentControl,

- Set the value 0.01 which is equal 1%

4. Create a new Expression and give it a meaningful name e.g. TextHigh,

- Set the value 0.002 which is equal 2mm

5. Create a new Expression and give it a meaningful name e.g. LineLength,

- Set the value 0.01 which is equal 10mm

6. Create a new Expression and give it a meaningful name e.g. ValueInv,

- Set the value 0.00000000001 which is equal almost 0

7. Create a new Expression and give it a meaningful name e.g. myGradeChange,

- Set the Expression and choose Format result as: Percent

 

IF(
({Distance from Centerline}<={Left Length}),{Section Grade Out},
(IF(
({Distance from Centerline}>={Right Length}),{Section Grade In},
{Section Grade Change})))

 

8. Create a new Expression and give it a meaningful name e.g. myLineVis,

- Set the Expression

IF(
({Distance from Centerline}<={Left Length})|
({Distance from Centerline}>={Right Length}),LineLength,
IF(
ABS(myGradeChange)>{ myPercentControl},LineLength,ValueInv))

 

 

9. Create a new Expression and give it a meaningful name e.g. myTextVis,

- Set the Expression

IF(
({Distance from Centerline}<={Left Length})|
({Distance from Centerline}>={Right Length}),TextHigh,
IF(
ABS(myGradeChange)>{ myPercentControl},TextHigh,ValueInv))

10. Now create a new label and call it e.g. myPercentSectionOffsetElevation,

11. Delete all the existing elements and add your new line element

- Name = LineElement
- Start point anchor point = Anchor Grade Break
- Length = myLineVis
- Angle = 90.0000(d)

12. Add a new Text element,

- Name = TextElement
- Anchor Componet = LineElement
- Anchor Point = End
- Text Height = myTextVis
- Attachment = Middle left
- Gap = 0

- Contents -

OFF:<[Offset from Centerline(Um|P2|RN|AP|GC|UN|Sn|OF)]> ELEV:<[Section Elevation(Um|P2|RN|AP|GC|UN|Sn|OF)]>

(Optionally to see how it works you can also add):

DIFF: <[myGradeChange(FP|P2|RN|AP|Sn|OF)]>

13. Choose Edit Section Labels and Select a Section,

14. Choose from Type: Grade Breaks and from Section Grade Break Label Style: myPercentSectionOffsetElevation,

15. Change Weeding to the value = 0

16. You can also use the Stagger Labels option and set it as Stagger both with the following values:

Stagger line1 height = 6.00mm and Stagger line2 height = 3.00mm

17. Click the OK button,

18. You will see the final result:

19. Now you can control globally the values: TextHigh and LineLength
You can also control globally your decision value myPercentControler and change the frequency labels to control the percent value e.g. 2%

20. At last if you do NOT want to show the values at LeftLength and RightLength you can change the expression in myLineVis to:

IF(
({Distance from Centerline}<={Left Length})|
({Distance from Centerline}>={Right Length}), ValueInv,
IF(
ABS(myGradeChange)>{ myPercentControl},LineLength,ValueInv))

21. And also for the same reason you can change the expression in myTextVis to:

IF(
({Distance from Centerline}<={Left Length})|
({Distance from Centerline}>={Right Length}), ValueInv,
IF(
ABS(myGradeChange)>{ myPercentControl},TextHigh,ValueInv))

6 comments

  1. Vernon /

    You made some nice points there. I did a search on the subject and found most individuals will consent with your website.

    • Alina /

      Johnie / I like the valuable info you provide in your articles. I will bookmark your blog and check again here regularly. I’m quite sure I will learn plenty of new stuff right here! Good luck for the next!

  2. Johnie /

    I like the valuable info you provide in your articles. I will bookmark your blog and check again here regularly. I’m quite sure I will learn plenty of new stuff right here! Good luck for the next!

  3. rushia /

    I like this web site very much so much superb information.

  4. David /

    Very interesting info! Perfect just what I was looking for!

  5. Celinda /

    I love your writing style genuinely loving this website.

Leave a Reply to Johnie Cancel reply

Your email address will not be published. Required fields are marked *

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>