Строит выпуклую оболочку объектов группы и возвращает ее контуром.
Visual Basic:
Function CreateConvexHull() As Contour
Выпуклая оболочка - наименьший выпуклый многоугольник, охватывающий все объекты группы. Метод возвращает новый контур в координатах слоя; в слой он не добавляется (добавить его можно методом Layer.AddContour). У пустой группы и у группы из одного символа метод возвращает Nothing. Вогнутую оболочку строит метод CreateConcaveHull.
Пример строит выпуклую оболочку всех объектов активного слоя и добавляет ее в слой площадным примитивом.
Visual Basic:
Sub Selection_CreateConvexHull 'Берем активный слой карты и его группу Set L = Zulu.ActiveMapDoc.Layers.Active Set S = L.Selection S.SelectAll Set C = S.CreateConvexHull S.Clear If C Is Nothing Then MsgBox "Оболочку построить не по чему" Else 'Добавляем оболочку в слой Key = L.AddContour(C, CreateObject("ZuluLib.ElemStyle"), -1, -1) MsgBox "Оболочка из " & C.NumTops & " вершин добавлена в слой, ключ " & Key End If End SubPython:
import zulu def Macro_Selection_CreateConvexHull(): # Берем активный слой карты и его группу L = zulu.App.ActiveMapDoc.Layers.Active S = L.Selection S.SelectAll() C = S.CreateConvexHull() S.Clear() if C is None: print("Оболочку построить не по чему") else: # Добавляем оболочку в слой key = L.AddContour(C, zulu.ElemStyle(), -1, -1) print("Оболочка из", C.NumTops, "вершин добавлена в слой, ключ", key)