SetLineShiftVer method (LineStyleElement)

Метод присваивает сдвиг линии по вертикали.

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

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineShiftVer(dShift As Double)

dShift - величина сдвига по вертикали.

Описание:

Смещение может иметь как положительное, так и отрицательное значение.

Сдвиг задается в миллиметрах и уводит линию в сторону от ее собственного пути, поперек направления: у линии, нарисованной слева направо, положительный сдвиг опускает рисунок, а отрицательный поднимает. Сама линия при этом остается на месте - смещается только рисунок элемента.

Так в одном стиле делают параллельные линии: два элемента с разным сдвигом дают две полосы вдоль одного объекта. Сдвиг действует и у сплошной, и у прерывистой линии.

У только что созданного элемента сдвиг равен 0.

Пример:

Пример собирает стиль из двух параллельных линий - одна идет по объекту, вторая рядом.

Visual Basic:

Sub LineStyleElement_SetLineShiftVer
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
'Первая линия идет по самому объекту
Set lse = CreateObject("ZuluLib.LineStyleElement")
lse.SetLineColor RGB(255, 0, 0)
lse.SetLineType 0
lse.SetLineWidth 0.5
lsd.AddLineElement lse
'Вторая - в трех миллиметрах в сторону
Set lse2 = CreateObject("ZuluLib.LineStyleElement")
lse2.SetLineColor RGB(255, 0, 0)
lse2.SetLineType 0
lse2.SetLineWidth 0.5
lse2.SetLineShiftVer 3
lsd.AddLineElement lse2
S = "Сдвиги элементов: " & lsd.StyleElements.Item(0).GetLineShiftVer & " и " & lsd.StyleElements.Item(1).GetLineShiftVer
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_SetLineShiftVer():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    # Первая линия идет по самому объекту
    lse = zulu.LineStyleElement()
    lse.SetLineColor(255)
    lse.SetLineType(0)
    lse.SetLineWidth(0.5)
    lsd.AddLineElement(lse)
    # Вторая - в трех миллиметрах в сторону
    lse2 = zulu.LineStyleElement()
    lse2.SetLineColor(255)
    lse2.SetLineType(0)
    lse2.SetLineWidth(0.5)
    lse2.SetLineShiftVer(3)
    lsd.AddLineElement(lse2)
    print("Сдвиги элементов:", lsd.StyleElements.Item(0).GetLineShiftVer(),
          "и", lsd.StyleElements.Item(1).GetLineShiftVer())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))