GetPoints method (IZEnumElements)

Возвращает коллекцию Points с вершинами текущего объекта.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Function GetPoints() As Points

Описание:

Вершины нумеруются с единицы и до Count включительно. Выход за этот диапазон не контролируется: в макросе на python и для нулевого номера, и для номера больше Count возвращается 0.0, а при обращении из внешней программы через COM выбрасывается исключение.

У символьного и текстового объекта вершина одна — точка привязки. У площадного объекта из нескольких контуров Count даёт суммарное число вершин по всем контурам.

Пример:

Visual Basic:

Sub IZEnumElements_GetPoints
'Итератор по объектам активного слоя карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set En = L.EnumElements
En.MoveFirst
Set pts = En.GetPoints
'Нумерация вершин начинается с единицы
s = "Вершин: " & pts.Count & vbCrLf
For i = 1 To pts.Count
  s = s & i & ": " & pts.GetX(i) & ", " & pts.GetY(i) & vbCrLf
Next
MsgBox s
End Sub

Python:

import zulu

def Macro_IZEnumElements_GetPoints():
    # Итератор по объектам активного слоя карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    En = L.EnumElements()
    En.MoveFirst()
    pts = En.GetPoints()
    # Нумерация вершин начинается с единицы
    print("Вершин:", pts.Count)
    for i in range(1, pts.Count + 1):
        print("  %d: %s, %s" % (i, pts.GetX(i), pts.GetY(i)))