Метод присваивает сдвиг линии по вертикали.
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 SubPython:
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))