ExcludeSymbols method (Selection)

Удаляет из слоя символьные объекты группы, соединенные с двумя участками, и объединяет эти участки.

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

Selection

Синтаксис:

Visual Basic:

Function ExcludeSymbols() As Long

Описание:

Метод действует так же, как вызов Layer.ExcludeSymbol для каждого символа группы: символ, к которому подключены ровно два участка, удаляется, а участки объединяются в один, так что связность сети сохраняется. Остальные объекты группы не меняются. Ключи удаленных объектов остаются в группе. Изменения сразу вносятся в слой.

Метод возвращает 0, если удален хотя бы один символ, и -1, если удалять нечего (в том числе у пустой группы). Исключать символы только заданных типов и режимов позволяет метод ExcludeSymbolsEx.

Пример:

Пример выделяет все объекты активного слоя, исключает из сети символы между двумя участками и сообщает число объектов слоя до и после.

Visual Basic:

Sub Selection_ExcludeSymbols
'Берем активный слой карты и его группу
Set L = Zulu.ActiveMapDoc.Layers.Active
Set S = L.Selection
S.SelectAll
N = L.ElementKeys.Count
Res = S.ExcludeSymbols
S.Clear
MsgBox "Результат " & Res & vbCrLf & "объектов в слое: " & N & " -> " & L.ElementKeys.Count
End Sub

Python:

import zulu

def Macro_Selection_ExcludeSymbols():
    # Берем активный слой карты и его группу
    L = zulu.App.ActiveMapDoc.Layers.Active
    S = L.Selection
    S.SelectAll()
    n = L.ElementKeys.Count
    res = S.ExcludeSymbols()
    S.Clear()
    print("Результат", res, ", объектов в слое:", n, "->", L.ElementKeys.Count)