Listing Pressure Pipe Styles

By Augusto Goncalves

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


Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading