On Civil 3D 2013 we have the ability to create Pressure Pipe Networks. At a first look we cannot see any pressure pipe related API under AeccDbMgd, but a deeper investigation at AeccPressurePipeMgd assembly show some features.
This post will show how access the list of Pressure Pipe styles, also Fitting and Appurtenance styles available at the document. Will come back later with more.
<CommandMethod("pressurePipeStyles")> _
Public Sub CmdPressurePipeStyles()
‘ access civil 3d document
Dim civilDoc As CivilDocument = CivilApplication. _
ActiveDocument
Dim db As Database = Application.DocumentManager. _
MdiActiveDocument.Database
Using trans As Transaction = db.TransactionManager. _
StartTransaction()
‘ ****************************
‘ list Pressure Pipe styles
Dim pressurePipeStyleCollection As _
PressurePipeStyleCollection = _
StylesRootPressurePipesExtension. _
GetPressurePipeStyles(civilDoc.Styles)
‘ for the collection of PressurePipeStyle
ShowStyleCollectionNames( _
trans, _
pressurePipeStyleCollection)
‘ ****************************
‘ list Pressure Fitting styles
Dim fittingStyleCollection As _
PressureFittingStyleCollection = _
StylesRootPressurePipesExtension. _
GetPressureFittingStyles(civilDoc.Styles)
‘ for each PressureFittingStyle
ShowStyleCollectionNames( _
trans, _
fittingStyleCollection)
‘ ****************************
‘ list Pressure Appurtenance styles
Dim appurtenanceStyleCollection As _
PressureAppurtenanceStyleCollection = _
StylesRootPressurePipesExtension. _
GetPressureAppurtenanceStyles(civilDoc.Styles)
‘ for each PressureAppurtenanceStyle
ShowStyleCollectionNames( _
trans, _
appurtenanceStyleCollection)
trans.Commit()
End Using
End Sub
Private Sub ShowStyleCollectionNames( _
ByVal trans As Transaction, _
ByVal collection As StyleCollectionBase)
‘ get the editor
Dim ed As Editor = Application.DocumentManager. _
MdiActiveDocument.Editor
‘ show the collection name
ed.WriteMessage("{0}{0}Collection of {1}", _
Environment.NewLine, _
collection.GetType().Name)
For Each styleId As ObjectId In collection
‘ open each style…
Dim style As StyleBase = trans.GetObject( _
styleId, OpenMode.ForRead)
‘ and show its name
ed.WriteMessage("{0}{1}", _
Environment.NewLine, _
style.Name)
Next
End Sub

Leave a Reply