AddPolyPolyLine method (Layer)

Добавляет в слой составной линейный элемент.

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

Layer

Синтаксис:

Visual Basic:

Function AddPolyPolyLine(PPLine As PolyPolyLine, Style As ElemStyle, ElemType As Long, ElemMode As Long) As Long

PPLine - объект - комбинированная ломаная

Style - объект, задающий стиль отображения объекта

ElemType - ID типа объекта, если объект является типовым. В противном случае -1

ElemMode - номер режима (нумерация с единицы), если объект является типовым. В противном случае -1

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта. В противном случае метод возвращает -1.

Объект собирается из ломаных заранее: каждая ломаная добавляется в PolyPolyLine методом AddPolyLine. Все они становятся одним объектом слоя с общим ID.

Объект без ломаных метод не добавляет и возвращает -1.

Пример:

Visual Basic:

Sub Layer_AddPolyPolyLine
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set R = L.GetBoundsRectangle
D = (R.Xmax - R.Xmin) / 10
X = R.Xmax + D
Y = R.Ymin
'Две параллельные ломаные правее слоя
Set PL1 = CreateObject("ZuluLib.PolyLine")
PL1.AddPoint X, Y
PL1.AddPoint X + D, Y
Set PL2 = CreateObject("ZuluLib.PolyLine")
PL2.AddPoint X, Y + D
PL2.AddPoint X + D, Y + D
'Собираем их в один объект
Set PPL = CreateObject("ZuluLib.PolyPolyLine")
PPL.AddPolyLine PL1
PPL.AddPolyLine PL2
'Синяя линия толщиной 2
Set St = CreateObject("ZuluLib.ElemStyle")
St.LineColor = RGB(0, 0, 255)
St.LineWidth = 2
'Тип и режим -1: добавляем примитив
MsgBox "Добавлен объект " & L.AddPolyPolyLine(PPL, St, -1, -1) & vbCrLf & _
       "Ломаных в нем: " & PPL.Count
End Sub

Python:

import zulu

def Macro_Layer_AddPolyPolyLine():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    R = L.GetBoundsRectangle()
    d = (R.Xmax - R.Xmin) / 10
    x = R.Xmax + d
    y = R.Ymin
    # Две параллельные ломаные правее слоя
    PL1 = zulu.PolyLine()
    PL1.AddPoint(x, y)
    PL1.AddPoint(x + d, y)
    PL2 = zulu.PolyLine()
    PL2.AddPoint(x, y + d)
    PL2.AddPoint(x + d, y + d)
    # Собираем их в один объект
    PPL = zulu.PolyPolyLine()
    PPL.AddPolyLine(PL1)
    PPL.AddPolyLine(PL2)
    # Синяя линия толщиной 2
    St = zulu.ElemStyle()
    St.LineColor = 16711680
    St.LineWidth = 2
    # Тип и режим -1: добавляем примитив
    print("Добавлен объект", L.AddPolyPolyLine(PPL, St, -1, -1))
    print("Ломаных в нем:", PPL.Count)