Тема: разбить полилинию на точки

Здравствуйте возникло несколько вопросов:
Как разбить все полилинии на точки (т.е. заменить полилинию точками с заданным шагом). С отрезками все понятно - из координат начала и конца определить формулу прямой => строить точки с заданным шагом
хотя тоже вопрос как определить координаты начала и конца всех отрезков чертежа?
Желательно на vba...

Re: разбить полилинию на точки

С отрезками все понятно

dim points as variant
points = PlObj.Coordinates

Это массив, элименты которого и есть координаты вершин, пару таких координат можно рассмотреть как отдельные отрезки

Re: разбить полилинию на точки

Я думаю, что здесь просто надо посылать команду _.measure, передавая ей нормальные значения параметров.

Re: разбить полилинию на точки

kpblc
спасибо даже не знал о существовании этой команды :)
вот только возникает другой вытикающий вопрос
эта команда не работает в режиме командной строки, да и как в нее передать полилинию? (т.е. я так понимаю нужно имя полилинии?)

Re: разбить полилинию на точки

ThisDrawing.SenCommand "_.measure" ну и дальше как там принято :)

Re: разбить полилинию на точки

не бейте сильно, как же measure имя примитива подсовывать?
    Dim dd As AutoCAD.AcadSelectionSet
    Dim gpcode(0) As Integer
    Dim dataValue(0) As Variant
    Dim groupCode As Variant, dataCode As Variant
    Dim pl As AcadSpline
    Dim i As Integer
    gpcode(0) = 0
    dataValue(0) = "spline"
For Each dd In ThisDrawing.SelectionSets
    If dd.Name = "dd" Then
       ThisDrawing.SelectionSets.Item("dd").Delete
       Exit For
    End If
Next
    Set dd = ThisDrawing.SelectionSets.Add("dd")
    dd.Select acSelectionSetAll, , , gpcode, dataValue
    i = 0
    Set pl = dd.Item(i)
    For Each pl In dd
        Set pl = dd.Item(i)
        ThisDrawing.SendCommand "_.measure" & vbCr & pl.'что тут ??????????????????????
        i = i + 1
    Next
    dd.Delete

Re: разбить полилинию на точки

Ну например

ThisDrawing.SendCommand "_.measure" & vbCr & "(handent " & """" & pl.Handle & """" & ")" & vbCr