Метод задает горизонтальный сдвиг символа объекту LineStyleElement.
Visual Basic:
Sub SetSymbolShiftHor(dShift As Double)
dShift - горизонтальный сдвиг.
Сдвиг двигает символы вдоль линии и измеряется в тех же единицах, что и шаг символов, - в точках устройства при выводе методом Draw: все символы смещаются вдоль линии на величину сдвига.
Сдвигом чередуют символы двух элементов одного стиля: второй элемент сдвигают на полшага, и его символы встают между символами первого.
Отрицательное значение метод принимает и возвращает как есть; у только что созданного элемента сдвиг нулевой.
Пример собирает стиль, в котором символы двух видов чередуются вдоль линии.
Visual Basic:
Sub LineStyleElement_SetSymbolShiftHor 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active Set lsd = CreateObject("ZuluLib.LineStyleDef") 'Открытые задвижки через каждые 40 точек Set lse = CreateObject("ZuluLib.LineStyleElement") lse.SetSymbol L.Symbols.ItemById(9) lse.SetSymbolScale 1 lse.SetSymbolStep 40 lsd.AddSymbolElement lse 'Закрытые задвижки с тем же шагом, но на полшага дальше Set lse2 = CreateObject("ZuluLib.LineStyleElement") lse2.SetSymbol L.Symbols.ItemById(10) lse2.SetSymbolScale 1 lse2.SetSymbolStep 40 lse2.SetSymbolShiftHor 20 lsd.AddSymbolElement lse2 S = "Сдвиги элементов: " & lsd.StyleElements.Item(0).GetSymbolShiftHor & " и " & lsd.StyleElements.Item(1).GetSymbolShiftHor S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1) MsgBox S End SubPython:
import zulu def Macro_LineStyleElement_SetSymbolShiftHor(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active lsd = zulu.LineStyleDef() # Открытые задвижки через каждые 40 точек lse = zulu.LineStyleElement() lse.SetSymbol(L.Symbols.ItemById(9)) lse.SetSymbolScale(1) lse.SetSymbolStep(40) lsd.AddSymbolElement(lse) # Закрытые задвижки с тем же шагом, но на полшага дальше lse2 = zulu.LineStyleElement() lse2.SetSymbol(L.Symbols.ItemById(10)) lse2.SetSymbolScale(1) lse2.SetSymbolStep(40) lse2.SetSymbolShiftHor(20) lsd.AddSymbolElement(lse2) print("Сдвиги элементов:", lsd.StyleElements.Item(0).GetSymbolShiftHor(), "и", lsd.StyleElements.Item(1).GetSymbolShiftHor()) print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))