Возвращает коллекцию Points с вершинами текущего объекта.
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 SubPython:
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)))