Is it possible to get the x,y,z coordinates for the pipe ends and appurtenaces from .com?
Solved! Go to Solution.
Solved by Mikexlt. Go to Solution.
No. .NET API only. If you use vl-lisp commands you can check the COM properties and methods for any object:
; IAeccEntity: interface IAeccEntity
; Property values:
; Application (RO) = #<VLA-OBJECT IAeccApplication 000000d40dd1d360>
; Description = " "
; DisplayName (RO) = "Pressure Pipe - (1)"
; Document (RO) = #<VLA-OBJECT IAeccDocument 000000d40dd1df00>
; EntityTransparency = "ByLayer"
; Handle (RO) = "1277D"
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 000000d40dc7c918>
; Layer = "0"
; Linetype = "ByLayer"
; LinetypeScale = 1.0
; Lineweight = -1
; Material = "ByLayer"
; Name = "Pressure Pipe - (1)"
; ObjectID (RO) = 42
; ObjectName (RO) = "AeccDbPressurePipe"
; OwnerID (RO) = 43
; PlotStyleName = "ByLayer"
; ShowToolTip = -1
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 000000d40dc7d510>
; Visible = -1
; Methods supported:
; ArrayPolar (3)
; ArrayRectangular (6)
; Copy ()
; Delete ()
; GetBoundingBox (2)
; GetExtensionDictionary ()
; GetXData (3)
; Highlight (1)
; IntersectWith (2)
; IsReferenceObject ()
; IsReferenceStale ()
; IsReferenceSubObject ()
; IsReferenceValid ()
; Mirror (2)
; Mirror3D (3)
; Move (2)
; Rotate (2)
; Rotate3D (3)
; ScaleEntity (2)
; SetXData (2)
; TransformBy (1)
; Update ()
Solved my question referenced the pressurepipe AeccPressurePipesmgd
code to get to pipe values
Dim pipe As PressurePipe = tr.GetObject(per.ObjectId, OpenMode.ForRead)
Dim startx As Double = pipe.StartPoint.X
Dim starty As Double = pipe.StartPoint.Y
Dim startz As Double = pipe.StartPoint.Z
Dim endx As Double = pipe.EndPoint.X
Dim endy As Double = pipe.EndPoint.Y
Dim endz As Double = pipe.EndPoint.Z
Dim pipeId As Double = pipe.InnerDiameter.ToString
Dim pipeidInches As Double = pipeId * 12
Dim PipeLength As Double = pipe.StartPoint.DistanceTo(pipe.EndPoint)
Thanks Mike