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))