Author Topic: read Civil objects  (Read 1499 times)

0 Members and 1 Guest are viewing this topic.

cadplayer

  • Bull Frog
  • Posts: 390
  • Autocad Civil3d, OpenDCL.Runtime, LISP, .NET (C#)
read Civil objects
« on: January 11, 2013, 05:56:52 AM »
Hi !

I have this http://www.theswamp.org/index.php?topic=43544.0 started and have found
http://adndevblog.typepad.com/infrastructure/2012/12/accessing-the-object-layers-using-civil-3d-net-api.html
I´m very new in .NET programming. Have anybody a example how I can ask properties from CivilObject ?




VVeli

  • Newt
  • Posts: 27
Re: read Civil objects
« Reply #1 on: January 16, 2013, 08:32:39 AM »
Hi,
this is very raw example just for testing AeccCorridor using COM API.

Public Sub ShowCorridorDetails()
            Dim ed As Autodesk.AutoCAD.EditorInput.Editor = Application.DocumentManager.MdiActiveDocument.Editor
            Dim C3DApp As New C3DUtilities.C3DUtil
            Dim objEnt As Autodesk.AutoCAD.Interop.Common.AcadEntity = AutocadUtilities.CadUtil.SelectEntityByCOM("Select a corridor")
            If TypeOf objEnt Is Autodesk.AECC.Interop.Roadway.AeccCorridor Then
                Try
                    Dim oCorridor As AeccCorridor = CType(objEnt, AeccCorridor)
                    ed.WriteMessage(vbCrLf + "CorridorName = " + oCorridor.Name)
                    ed.WriteMessage(vbCrLf + "CorridorDisplayName = " + oCorridor.DisplayName)
                    ed.WriteMessage(vbCrLf + "CorridorDescription = " + oCorridor.Description)
                    ed.WriteMessage(vbCrLf + "CorridorColor = " + oCorridor.TrueColor.ColorName)
                    ed.WriteMessage(vbCrLf + "CorridorLayer = " + oCorridor.Layer)
                    ed.WriteMessage(vbCrLf + "CorridorOutOfDate = " + oCorridor.OutOfDate.ToString)
                    Dim oBaselines As AeccBaselines = oCorridor.Baselines
                    ed.WriteMessage(vbCrLf + "CorridorBaselines = " + oCorridor.Baselines.Count.ToString)
                    For Each oBaseline As AeccBaseline In oBaselines
                        ed.WriteMessage(vbCrLf + "BaselineType = " + oBaseline.Type.ToString)
                        ed.WriteMessage(vbCrLf + "BaselineProfile = " + oBaseline.Profile.Name)
                        ed.WriteMessage(vbCrLf + "BaselineAlignment = " + oBaseline.Alignment.Name)
                        ed.WriteMessage(vbCrLf + "BaselineIsProcessed = " + oBaseline.IsProcessed.ToString)
                        ed.WriteMessage(vbCrLf + "BaselineRegions = " + oBaseline.BaselineRegions.Count.ToString)
                        For Each item As AeccBaselineRegion In oBaseline.BaselineRegions

                        Next
                        Dim oFeatureLines As AeccBaselineFeatureLines = oBaseline.MainBaselineFeatureLines
                        Dim oOffsetBaselineFLines As AeccBaselineFeatureLinesCol = oBaseline.OffsetBaselineFeatureLinesCol
                    Next
                    Dim oCorSurfaces As AeccCorridorSurfaces = oCorridor.CorridorSurfaces
                    Dim oFeaLineInfos As AeccFeatureLineCodeInfos = oCorridor.FeatureLineCodeInfos
                Catch ex As Exception
                End Try
            End If
        End Sub

BlackBox

  • King Gator
  • Posts: 3770
Re: read Civil objects
« Reply #2 on: January 16, 2013, 10:39:25 AM »
I´m very new in .NET programming. Have anybody a example how I can ask properties from CivilObject ?

FWIW - Since there are so many Civil 3D API's exposed to COM, you can use Visual LISP in lieu of .NET (for most things?), as this thread demonstrates.
"How we think determines what we do, and what we do determines what we get."