Метод возвращает масштаб символа.
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 SubPython:
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