Метод задает тип толщины линии.
Visual Basic:
Sub SetLineWidthType(eType As eThickType)
eType - тип толщины линии:
0 - постоянная.
1 - добавочная.
2 - пропорциональная.
Тип решает, как толщина элемента сочетается с толщиной, с которой рисуют линию (у метода Draw это его параметр LineWidth).
При типе 0 элемент рисуется своей толщиной независимо от толщины линии; при типе 1 толщины элемента и линии складываются, при типе 2 - перемножаются. У элемента с нулевой толщиной пропорциональный тип оставляет тончайшую линию при любой толщине, а добавочный дает толщину самой линии.
У только что созданного элемента тип равен 0, а у элементов готовых стилей обычно 1: своей толщины у них нет, и линия рисуется толщиной объекта.
Значение метод не проверяет: число вне набора констант принимается и читается обратно как есть.
Пример собирает стиль, толщина которого складывается с толщиной линии.
Visual Basic:
Sub LineStyleElement_SetLineWidthType 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active Set lsd = CreateObject("ZuluLib.LineStyleDef") Set lse = CreateObject("ZuluLib.LineStyleElement") 'Красная сплошная линия толщиной 1 миллиметр lse.SetLineColor RGB(255, 0, 0) lse.SetLineType 0 lse.SetLineWidth 1 'Толщина элемента складывается с толщиной самой линии lse.SetLineWidthType 1 lsd.AddLineElement lse S = "Тип толщины в элементе: " & lsd.StyleElements.Item(0).GetLineWidthType S = S & vbCrLf & "новый стиль получил Id " & L.LineStyles.AddItem(lsd, -1) MsgBox S End SubPython:
import zulu def Macro_LineStyleElement_SetLineWidthType(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active lsd = zulu.LineStyleDef() lse = zulu.LineStyleElement() # Красная сплошная линия толщиной 1 миллиметр lse.SetLineColor(255) lse.SetLineType(0) lse.SetLineWidth(1) # Толщина элемента складывается с толщиной самой линии lse.SetLineWidthType(1) lsd.AddLineElement(lse) # Сам вид толщины в python не прочитать: GetLineWidthType возвращает None print("Толщина в элементе:", lsd.StyleElements.Item(0).GetLineWidth()) print("новый стиль получил Id", L.LineStyles.AddItem(lsd, -1))