GetSymbolScale method (LineStyleElement)

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

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

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolScale() As Double

Описание:

Метод возвращает то самое число, которое задали методом SetSymbolScale, - в том числе отрицательное. У только что созданного элемента масштаб равен 0, у элементов-линий тоже.

При нулевом масштабе символ не рисуется; у символьных элементов готовых стилей масштаб обычно равен 1.

Пример:

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

Visual Basic:

Sub LineStyleElement_GetSymbolScale
'Берем активный слой карты
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 lse = els.Item(j)
    Set sym = lse.GetSymbol
    'Символьный элемент отличается тем, что у него задан символ
    If (Not sym Is Nothing) And (n < 5) Then
      S = S & "стиль " & LS.Item(i).Id & ", элемент " & j & ": масштаб " & lse.GetSymbolScale & vbCrLf
      n = n + 1
    End If
  Next
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_LineStyleElement_GetSymbolScale():
    # Берем активный слой карты
    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):
            lse = els.Item(j)
            # Символьный элемент отличается тем, что у него задан символ
            if lse.GetSymbol() is not None and n < 5:
                print("стиль", LS.Item(i).Id, ", элемент", j, ": масштаб", lse.GetSymbolScale())
                n += 1