GetCenter method (IZEnumElements)

Возвращает центральную точку текущего объекта.

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

IZEnumElements

Синтаксис:

Visual Basic:

Function GetCenter() As ZPoint

Описание:

Возвращает ту же точку, что и GetXY: на линейном, символьном, площадном и текстовом объекте обе совпадают.

У линии это середина по длине, а не центр габаритов. Для объекта с вершинами (37050, 52600), (36050, 52600), (36050, 53200) метод возвращает (36250, 52600) — 800 единиц от начала при общей длине 1600, тогда как центр габаритов равен (36550, 52900).

Пример:

Visual Basic:

Sub IZEnumElements_GetCenter
'Итератор по объектам активного слоя карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set En = L.EnumElements
En.MoveFirst
Set c = En.GetCenter
Set r = En.GetBoundsRectangle(0)
MsgBox "Центр объекта: " & c.X & ", " & c.Y & vbCrLf & _
       "Центр габаритов: " & (r.Xmin + r.Xmax) / 2 & ", " & (r.Ymin + r.Ymax) / 2
End Sub

Python:

import zulu

def Macro_IZEnumElements_GetCenter():
    # Итератор по объектам активного слоя карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    En = L.EnumElements()
    En.MoveFirst()
    c = En.GetCenter()
    r = En.GetBoundsRectangle(0)
    print("Центр объекта:", c.X, ",", c.Y)
    print("Центр габаритов:", (r.Xmin + r.Xmax) / 2, ",", (r.Ymin + r.Ymax) / 2)