CreateConvexHull method (Selection)

Строит выпуклую оболочку объектов группы и возвращает ее контуром.

Применяется к:

Selection

Синтаксис:

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 Sub

Python:

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)