Возвращает стиль линии в виде бинарного объекта (от BLOB - binary large object).
Visual Basic:
Function GetBLOB()
Метод возвращает переменную типа VARIANT, которая содержит массив байт (VT_UI1 | VT_ARRAY).
В блок попадают элементы стиля со всеми их параметрами. Номер стиля и его название в блок не входят - у объекта, заполненного методом SetBLOB, Id остается -1.
Пара GetBLOB и SetBLOB - обычный способ перенести стиль в другой слой: блок отдается из библиотеки одного слоя и принимается описателем, который добавляют в библиотеку другого.
В макросах на python метод недоступен: он возвращает None, и передавать в SetBLOB оказывается нечего - описатель остается без элементов, а AddItem такого описателя возвращает -1.
Пример копирует стиль линии внутри слоя через двоичный блок.
Visual Basic:
Sub LineStyleDef_GetBLOB 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active 'Штриховой стиль слоя с номером 4 Set src = L.LineStyles.ItemById(4) b = src.GetBLOB S = "Размер блока: " & (UBound(b) - LBound(b) + 1) & " байт" 'Переносим стиль в новый описатель Set dst = CreateObject("ZuluLib.LineStyleDef") S = S & vbCrLf & "SetBLOB: " & dst.SetBLOB(b) S = S & vbCrLf & "элементов было " & src.StyleElements.Count & ", стало " & dst.StyleElements.Count S = S & vbCrLf & "Id копии до добавления: " & dst.Id MsgBox S End Sub