GetSymbol method (LineStyleElement)

Метод возвращает символ объект Symbol.

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

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbol() As Symbol

Описание:

Если символ элементу не задан - у только что созданного элемента и у элементов-линий, - метод возвращает Nothing. По этому признаку символьные элементы стиля отличают от линейных.

Возвращается копия символа, хранящаяся в элементе: ее Id равен -1, а название пустое, даже если элемент получил символ из библиотеки слоя с номером и названием.

Пример:

Пример находит в библиотеке стилей слоя первые символьные элементы.

Visual Basic:

Sub LineStyleElement_GetSymbol
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set LS = L.LineStyles
S = ""
n = 0
'Перебираем стили и их элементы, нумерация с нуля
For i = 0 To LS.Count - 1
  Set els = LS.Item(i).StyleElements
  For j = 0 To els.Count - 1
    Set sym = els.Item(j).GetSymbol
    'У элемента-линии символа нет
    If (Not sym Is Nothing) And (n < 5) Then
      S = S & "стиль " & LS.Item(i).Id & ", элемент " & j & ": символ с Id " & sym.Id & vbCrLf
      n = n + 1
    End If
  Next
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_GetSymbol():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    LS = L.LineStyles
    n = 0
    # Перебираем стили и их элементы, нумерация с нуля
    for i in range(LS.Count):
        els = LS.Item(i).StyleElements
        for j in range(els.Count):
            sym = els.Item(j).GetSymbol()
            # У элемента-линии символа нет
            if sym is not None and n < 5:
                print("стиль", LS.Item(i).Id, ", элемент", j, ": символ с Id", sym.Id)
                n += 1