GetSymbolShiftVer method (LineStyleElement)

Метод возвращает вертикальный сдвиг символа.

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

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolShiftVer() As Double

Описание:

Метод возвращает то самое число, которое задали методом SetSymbolShiftVer, - в том числе отрицательное. У только что созданного элемента сдвиг равен 0.

При нулевом сдвиге символы стоят прямо на линии; ненулевой сдвиг уводит их в сторону от нее.

Пример:

Пример собирает стиль из символов по обе стороны линии и читает сдвиги обратно.

Visual Basic:

Sub LineStyleElement_GetSymbolShiftVer
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
'Два ряда символов: по одну и по другую сторону линии
For Each shift In Array(6, -6)
  Set lse = CreateObject("ZuluLib.LineStyleElement")
  lse.SetSymbol L.Symbols.ItemById(9)
  lse.SetSymbolScale 1
  lse.SetSymbolStep 40
  lse.SetSymbolShiftVer shift
  lsd.AddSymbolElement lse
Next
Set els = lsd.StyleElements
S = "Элементов в стиле: " & els.Count
For j = 0 To els.Count - 1
  S = S & vbCrLf & "элемент " & j & ": сдвиг поперек " & els.Item(j).GetSymbolShiftVer
Next
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_GetSymbolShiftVer():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    # Два ряда символов: по одну и по другую сторону линии
    for shift in (6, -6):
        lse = zulu.LineStyleElement()
        lse.SetSymbol(L.Symbols.ItemById(9))
        lse.SetSymbolScale(1)
        lse.SetSymbolStep(40)
        lse.SetSymbolShiftVer(shift)
        lsd.AddSymbolElement(lse)
    els = lsd.StyleElements
    print("Элементов в стиле:", els.Count)
    for j in range(els.Count):
        print("элемент", j, ": сдвиг поперек", els.Item(j).GetSymbolShiftVer())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))