Тема: координаты вершин полилинии записать в массив или файл...

Вроде с отрезками получалось, а вот как дело дошло до полилиний - ни в какую. Может, у кого есть фрагмент кода?
Да, и всех - с Наступившим!

Re: координаты вершин полилинии записать в массив или файл...

> tbiliser
Не совсем готовое решение но идея будет полезна

Option Explicit
Sub VertText()
Dim vertTextObj As AcadMText
Dim objEnt As AcadEntity
Dim spaceObj As AcadBlock
Dim TxtInsPoint(2) As Double
Dim dblWidth As Double
Dim strText As String
Dim n As Integer
Dim i As Integer
If ThisDrawing.ActiveSpace = acModelSpace Then
Set spaceObj = ThisDrawing.ModelSpace
Else
Set spaceObj = ThisDrawing.PaperSpace
End If
Dim objSetPoly As AcadSelectionSet
Set objSetPoly = ThisDrawing.SelectionSets.Add("MyPoly")
objSetPoly.SelectOnScreen
For Each objEnt In objSetPoly
Dim vert As Variant
If TypeOf objEnt Is AcadLWPolyline Then
n = 2
ElseIf TypeOf objEnt Is Acad3DPolyline Or TypeOf objEnt Is AcadPolyline Then
n = 3
Else
MsgBox "Wrong object"
End If
vert = objEnt.Coordinates
For i = LBound(vert) To UBound(vert) Step n
dblWidth = 0#
If TypeOf objEnt Is AcadLWPolyline Then
strText = R2S(CStr(vert(i)), 2, 5) & "," & R2S(CStr(vert(i + 1)), 2, 5)
ElseIf TypeOf objEnt Is Acad3DPolyline Or TypeOf objEnt Is AcadPolyline Then
strText = R2S(CStr(vert(i)), 2, 5) & "," & R2S(CStr(vert(i + 1)), 2, 5) & "," & R2S(CStr(vert(i + 2)), 2, 5)
End If
'' >> а здесь пишешь в файл <<
TxtInsPoint(0) = vert(i)
TxtInsPoint(1) = vert(i + 1)
If TypeOf objEnt Is AcadLWPolyline Then
TxtInsPoint(2) = 0#
ElseIf TypeOf objEnt Is Acad3DPolyline Or TypeOf objEnt Is AcadPolyline Then
TxtInsPoint(2) = vert(i + 2)
End If
Set vertTextObj = spaceObj.AddMText(TxtInsPoint, dblWidth, strText)
Next
Next
objSetPoly.Delete
Set objSetPoly = Nothing
End Sub
'' convert real to string
Function R2S(dblVal As Double, unitEnum As Long, intPrec As Integer) As String
'  unitEnum:
'  2-decimal
'  4-architectural etc.
'  intPrec - precision
R2S = ThisDrawing.Utility.RealToString(dblVal, unitEnum, intPrec)
End Function

~'J'~

Re: координаты вершин полилинии записать в массив или файл...

> tbiliser
Забыл тебя тоже поздравить :)
~'J'~

Re: координаты вершин полилинии записать в массив или файл...

O, Fatty, спасибо огромное! РАБОТАЕТ! Единственный нюанс, кот. осталось доделать - как сделать так, чтобы координаты брались не мировые, а с текущей юзерской системы координат?
Еще раз спасибо

Re: координаты вершин полилинии записать в массив или файл...

> tbiliser
Навскидку могу только подсказать, посмотри
метод TranslateCoordinates в Help'e
Лучше с этим разобраться самостоятельно, это
ведь базовый метод, еще не раз пригодится
Успехов,
~'J'~

Re: координаты вершин полилинии записать в массив или файл...

Спасибо, Fatty, иду смотреть. :)