GetBoundingBoxes method (ZLabels)

Возвращает габариты бирок надписей слоя в виде коллекции BoundingBoxes.

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

ZLabels

Синтаксис:

Visual Basic:

Function GetBoundingBoxes(flags As Long) As BoundingBoxes

flags - зарезервирован, должен быть нулем.

Пример:

Visual Basic:

Sub ZLabels_GetBoundingBoxes
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
If L.LabelLayers.Count = 0 Then
  MsgBox "У активного слоя нет подписей"
  Exit Sub
End If
'Берем первый подключенный к слою файл надписей (нумерация с нуля)
Set LL = L.LabelLayers.Item(0)
'Получаем габариты бирок. Параметр flags зарезервирован и должен быть нулем
Set Boxes = LL.Labels.GetBoundingBoxes(0)
'Перебираем коллекцию (нумерация с нуля)
s = "Бирок: " & Boxes.Count & vbCrLf
For i = 0 To Boxes.Count - 1
  Set B = Boxes.Item(i)
  Set R = B.Rectangle
  s = s & "ключ " & B.ElemID & ": " & R.Xmin & ", " & R.Ymin & _
          " - " & R.Xmax & ", " & R.Ymax & vbCrLf
Next
MsgBox(s)
End Sub

Python:

import zulu

def Macro_ZLabels_GetBoundingBoxes():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    if L.LabelLayers.Count == 0:
        print("У активного слоя нет подписей")
        return
    # Берем первый подключенный к слою файл надписей (нумерация с нуля)
    LL = L.LabelLayers.Item(0)
    # Получаем габариты бирок. Параметр flags зарезервирован и должен быть нулем
    Boxes = LL.Labels.GetBoundingBoxes(0)
    # Перебираем коллекцию (нумерация с нуля)
    print("Бирок:", Boxes.Count)
    for i in range(Boxes.Count):
        B = Boxes.Item(i)
        R = B.Rectangle
        print("ключ %s: %s, %s - %s, %s" % (B.ElemID, R.Xmin, R.Ymin, R.Xmax, R.Ymax))