Объект, содержащий описание и методы работы со стилем линии. В частности, является элементом коллекции LineStyles стилей линий слоя.
Входит в состав ZuluGIS 2021 Library.
PROGID:
ZuluLib.LineStyleDef
CLSID:
{12507450-11DD-4DDC-AFDA-3007DB025F4D}
Свойства
Методы
Стиль линии собирается из элементов: линии добавляются методом AddLineElement, символы вдоль линии - методом AddSymbolElement, а весь набор доступен через StyleElements. Готовый стиль помещается в библиотеку стилей слоя методом AddItem коллекции LineStyles и с этого момента доступен по своему Id.
Стиль можно перенести между слоями целиком: GetBLOB отдает его двоичным блоком, SetBLOB принимает обратно.
Пример собирает стиль из одной красной линии и кладет его в библиотеку стилей слоя.
Visual Basic:
Sub LineStyleDef_cls 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active 'Описатель стиля линии и один его элемент - сплошная красная линия Set lsd = CreateObject("ZuluLib.LineStyleDef") Set lse = CreateObject("ZuluLib.LineStyleElement") lse.SetLineColor RGB(255, 0, 0) lse.SetLineWidth 2 lsd.AddLineElement lse S = "Элементов в стиле: " & lsd.StyleElements.Count & ", Id до добавления: " & lsd.Id 'Добавляем стиль в библиотеку стилей слоя Id = L.LineStyles.AddItem(lsd, -1) S = S & vbCrLf & "новый стиль получил Id " & Id & ", стилей в слое стало " & L.LineStyles.Count MsgBox S End SubPython:
import zulu def Macro_LineStyleDef_cls(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active # Описатель стиля линии и один его элемент - сплошная красная линия lsd = zulu.LineStyleDef() lse = zulu.LineStyleElement() lse.SetLineColor(255) lse.SetLineWidth(2) lsd.AddLineElement(lse) print("Элементов в стиле:", lsd.StyleElements.Count, ", Id до добавления:", lsd.Id) # Добавляем стиль в библиотеку стилей слоя ident = L.LineStyles.AddItem(lsd, -1) print("новый стиль получил Id", ident, ", стилей в слое стало", L.LineStyles.Count)