Since I posted my question have have experimented more & after further investigation,it looks like I'm going to have to use the getpoint3dat method of the Autodesk.AutoCAD.DatabaseServices.Polyline which is the kind of thing I was trying to avoid, since I already have it all worked out in VBA, and was hoping to have to rewrite the whole thing. It looks like there is no way to get an ACADPOLYLINE object out of the GETSELECTION method of the editor.
here is the incomplete code for the begining of my routine, hopefully ffrom this you can tell what is happening, if not I guess I'll post the whole thing. FYI, ACF is a class module with various autocad input functions & containers for objects
Keep in mind I've been experimenting with different things to see what might work
Dim objObj AsObject
'Dim PLObj As AcadLWPolyline
'Dim Plobj As AcadPolyline
Dim PlObj As Autodesk.AutoCAD.DatabaseServices.Polyline
PublicSub vbREPL()
Dim entEntity AsAcadEntity
Dim ent AsEntity
Dim i AsInteger
Dim J AsInteger
Dim idArray AsObjectId()
Dim TransMan As Autodesk.AutoCAD.DatabaseServices.TransactionManager
Dim psResult AsPromptSelectionResult
Dim tXaction AsTransaction
Dim idId As ObjectId
Dim entity As Entity
InitializeREPL() 'sets strPrompt & DefaultSegments
If ACF.SsGetLwPlinesOr3dPolylines() = TrueThen 'continue
If ACF.GetIntFromUser(strPrompt, DefaultSegments) = TrueThen
X =ACF.iResult
Else
Exit Sub
EndIf
idArray =ACF.ssResult.GetObjectIds()
TransMan =ACF.Db.TransactionManager 'start a transaction
tXaction = TransMan.StartTransaction()
Try
ForEach Id In idArray
objObj = TransMan.GetObject(Id, OpenMode.ForRead, True)
ent = CType(objObj, Autodesk.AutoCAD.DatabaseServices.Entity)
' If ent.ObjectName = "AcDbPolyline" Then
'If ent.GetType().FullName = "AcDbPolyline" Then
If ent.GetType().FullName = "Autodesk.AutoCAD.DatabaseServices.Polyline"Then
'entEntity = CType(ent, AcadEntity)
Plobj = ent
' PLObj = Entry
varOrigPLpts = PlObj.Coordinates
PLStPT(0) = varOrigPLpts(0)
PLStPT(1) = varOrigPLpts(1)
PLEndPT(0) = varOrigPLpts(UBound(varOrigPLpts) - 1)
PLEndPT(1) = varOrigPLpts(UBound(varOrigPLpts))
OrigPLptCount = -2
OrigElev = Plobj.Elevation
varPolyElms = Plobj.Explode