A common standard in Australia when it comes to annotating pipe longsections is to add a band showing the depth from the surface to the invert of the pipe.
Civil 3D has the ability to annotate a pipes cover, pipe thickness and diameter into a data band (i.e. to the top of pipe), but no option currently exists to annotate the invert depth to the pipe.
As Civil 3D data bands cannot currently utilise expressions, we can overcome this by using expressions with pipe labels.
The first thing we need to do is to change some of the default settings. In the Settings tab in the toolspace, right-click on the ‘Pipe Network’ section and select ‘Edit Feature Settings’
Expand the ‘Default Profile Label Placement’ and change the ‘Dimension Anchor Option for Pipes’ value from Fixed to ‘Graph View Bottom’ (if it’s not already done)
Creating expressions
Expand the ‘Pipe’ category –> Label Styles –> Plan Profile –> Expressions
Right-click and create a new expression called ‘Depth To Invert – Start’, and add the following formula (Select the calculator icon to add the pipe parameters):
{Start Cover} + {Inner Pipe Diameter} + {Wall Thickness}
Repeat the process for the end of the pipe, call the expression ‘Depth To Invert – End’.
Use a formula similar to the start of the pipe, change the first parameter to ‘End Cover’
{End Cover} + {Inner Pipe Diameter} + {Wall Thickness}
That covers the pipe data values, now we need to add a few more expressions to locate the value relative to the pipe.
Firstly, create an X Offset value for the Start of the pipe (call it ‘Depth To Invert – Start X Offset’), and add the following formula
· ( ( ( {2D Length - To Inside Edges} / 2 ) - 1.5 ) / {Drawing Scale Conversion} ) * -1.0
What this is doing is simply taking the 2D length of the pipe, dividing it by two, then offsetting a small distance back so it does not clash with the vertical line in the data band. The *-1.0 a the end simple means to negate the value (i.e. offset it to the left)
Repeat and create a ‘Depth To Invert – End X Offset’ and add the formula (same as the Start X Offset, without the negative multiplier at the end)
( ( ( {2D Length - To Inside Edges} / 2 ) - 1.5 ) / {Drawing Scale Conversion} )
With our expressions in place, we can now move onto creating the new pipe label using all of the previously defined expressions
Create a new Profile Pipe Label
Expand the ‘Pipe’ category –> Label Styles –> Plan Profile
Right-click and create a new label called ‘_ANZ Depth To Invert’ (from the Information tab)
In the ‘General’ tab, Change the Orientation Reference to ‘World Coordinate System’ – this ensures the text will align with the WCS, not the selected object.
In the ‘Layout’ tab, Remove any existing components with the red ‘X’ button.
Add a new ‘Text’ component and rename this ‘Pipe Start’
Change ‘Anchor Point’ to ‘Pipe Dimension’
In the Text Contents, select the ellipses to enter the ‘Text Component Editor – Contents’ dialog. Delete the existing text (if there is any).
From the properties pull-down, select our new expression ‘Depth To Invert – Start’, and click the ‘right’ arrow to insert the text into the editor (this is the step most people forget).
Click OK to exit the Text Component Editor
Change the text rotation angle to 90 degrees and the attachment point to Middle Left. In the X Offset, Click the Value box, and from the pull-down menu, select ‘Depth To Invert – Start X Offset’.
That’s the start of the pipe done, now we simply repeat the process for the end point. Add a new Text Component in the Layout tab, and call this one ‘Pipe End’
Repeat the steps from the Start Pipe, but using the ‘End’ expressions in the Text Contents and X Offset (see image below). Click OK to exit.
From the ‘Annotate’ tab on the ribbon, select Add Labels. Change the Feature to ‘Pipe Network’, and the ‘Label Type’ to ‘Single Part Profile’.
Change the ‘Pipe Label Style’ to our new ‘_ANZ Depth To Invert’, then click ‘Add’
Select the pipes in the profile view, noting that the new pipe labels are located a the bottom of the profile graph view.
Select all of the pipe labels (or select one, right-click and ‘Select Similar’), then open the Properties window (Ctrl-1). Change the ‘Dimension Anchor Value’ to the required negative value to locate the text values in the correct location within the band (-104mm in the example). Note that I have setup a blank data band called ‘Depth To Invert’ to accommodate the new profile label text.
This should be a one-time setup, once the pipe label and expressions are in your template, you are good to go for future projects.
As you can see, a combination of expressions and labels can be a really powerful addition to your Civil 3D templates.
Regards
Andrew
Cool formulae and labelling option, but I detect one problem.
You use half the length of the pipe to set the x-offset for the label. This is all very well when the pipe is parallel to the alignment. But if they are not parallel, the pipe is forshortened in "profile view" or "longsection". Therefore the label will end up not lining up with the end of the pipe.
If you ever have a road with a bend in it you will see this problem.
Posted by: Mark Green | July 08, 2015 at 06:25 PM
Hi Mark,
That's right, however in this exercise the alignment (and subsequent profile) has been setup to actually follow the pipe network.
Regards
Andrew
Posted by: Andrew Milford | July 10, 2015 at 12:14 AM