Метод возвращает сдвиг линии по вертикали.
Visual Basic:
Function GetLineShiftVer() As Double
Метод возвращает то самое число в миллиметрах, которое задали методом SetLineShiftVer, - в том числе отрицательное.
У только что созданного элемента сдвиг равен 0. Сдвиг поперек линии нужен для параллельных полос; у обычных штриховых стилей он нулевой.
Пример собирает стиль из двух линий с разным сдвигом и читает сдвиги обратно.
Visual Basic:
Sub LineStyleElement_GetLineShiftVer 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active Set lsd = CreateObject("ZuluLib.LineStyleDef") 'Три полосы: по объекту и по обе стороны от него For i = -1 To 1 Set lse = CreateObject("ZuluLib.LineStyleElement") lse.SetLineColor RGB(0, 128, 0) lse.SetLineType 0 lse.SetLineWidth 0.5 lse.SetLineShiftVer i * 2 lsd.AddLineElement lse Next Set els = lsd.StyleElements S = "Элементов в стиле: " & els.Count For j = 0 To els.Count - 1 S = S & vbCrLf & "элемент " & j & ": сдвиг " & els.Item(j).GetLineShiftVer Next S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1) MsgBox S End SubPython:
import zulu def Macro_LineStyleElement_GetLineShiftVer(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active lsd = zulu.LineStyleDef() # Три полосы: по объекту и по обе стороны от него for i in (-1, 0, 1): lse = zulu.LineStyleElement() lse.SetLineColor(32768) lse.SetLineType(0) lse.SetLineWidth(0.5) lse.SetLineShiftVer(i * 2) lsd.AddLineElement(lse) els = lsd.StyleElements print("Элементов в стиле:", els.Count) for j in range(els.Count): print("элемент", j, ": сдвиг", els.Item(j).GetLineShiftVer()) print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))