SetSymbolStep method (LineStyleElement)

Метод задает шаг между символами объекту LineStyleElement.

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

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolStep(dStep As Double)

dStep - шаг между символами.

Описание:

Шаг - расстояние между соседними символами вдоль линии. В отличие от шага штрихов, который задается в миллиметрах, шаг символов при выводе методом Draw измеряется в точках устройства. Масштаб символа на расстояние между ними не влияет.

При нулевом шаге символы не рисуются. У только что созданного элемента шаг как раз нулевой, поэтому его нужно задать явно.

Отрицательное значение метод принимает и возвращает как есть.

Пример:

Пример собирает стиль, в котором символы стоят через каждые 30 точек.

Visual Basic:

Sub LineStyleElement_SetSymbolStep
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set lsd = CreateObject("ZuluLib.LineStyleDef")
Set lse = CreateObject("ZuluLib.LineStyleElement")
lse.SetSymbol L.Symbols.ItemById(9)
lse.SetSymbolScale 1
'Символы через каждые 30 точек
lse.SetSymbolStep 30
lsd.AddSymbolElement lse
S = "Шаг символов в элементе: " & lsd.StyleElements.Item(0).GetSymbolStep
S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1)
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_SetSymbolStep():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    lsd = zulu.LineStyleDef()
    lse = zulu.LineStyleElement()
    lse.SetSymbol(L.Symbols.ItemById(9))
    lse.SetSymbolScale(1)
    # Символы через каждые 30 точек
    lse.SetSymbolStep(30)
    lsd.AddSymbolElement(lse)
    print("Шаг символов в элементе:", lsd.StyleElements.Item(0).GetSymbolStep())
    print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))