Community
Civil 3D Forum
Welcome to Autodesk’s Civil 3D Forums. Share your knowledge, ask questions, and explore popular AutoCAD Civil 3D topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Offset-Elevation Labels in Sections (C3D 2010)

3 REPLIES 3
Reply
Message 1 of 4
nloder
3374 Views, 3 Replies

Offset-Elevation Labels in Sections (C3D 2010)

I have several hundred cross sections for a surface that I need to label the major section breaks.  Civil 3D gives the option of weeding based on distance, but I want to label only the major grade breaks (i.e. more than 1%).  Is this possible, or is the only option manually labeling the section? 

3 REPLIES 3
Message 2 of 4
Anonymous
in reply to: nloder

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.

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%

1. myPercentControl expression.png


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

2. myGradeChange expression.png


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

3. myLineVis expression.png


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

4. myTextVis expression.png


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)

5. Line element.png


12. Add a new Text element

-        Name = TextElement

-        Anchor Componet = LineElement

-        Anchor Point = End

-        Text Height = myTextVis

-        Attachment = Middle left

-        Gap = 0

6. Text element.png

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

7. Text element contents.png


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:

8. Final result.png


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%

9. Final result value 0.02.png

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

10. Final result expression changes.png

Message 3 of 4
trynders
in reply to: nloder

This works great on a existing ground line in cross sections.  How can I get this to label grade breaks from my propsed assembly?

Message 4 of 4
Umit.Arslan
in reply to: trynders

Hi 

Can anyone tell me please whats wrong with the expression in the attached picture?

- Umit Arslan -
Survey Engineer
Civil 3D 2018 x64
Windows 8.1 Pro 64-bit
32GB RAM

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Rail Community


 

Autodesk Design & Make Report