Создание группы объектов на основании топологической связанности (VBScript)
Рассматривается пример выделения объектов на карте (формирование группы) на основании решения топологических задач.
Доступные действия по формированию групп:
- Создание группы
- Добавление объектов в группу
- Исключение объектов из группы
- Поиск связанных
- Поиск связанных по направлению
- Поиск связанных против направления
- Поиск несвязанных объектов
Полученную функцию можно закрепить новой иконкой на панели инструментов или назначить для неё "горячую" клавишу
Sub FindDownstream
' Добавление в группу объектов, связанных по направлению
Set L = Zulu.ActiveMapDoc.Layers.Active
L.NetworkTools.ClearResults
L.NetworkTools.ClearOverloadedStates
L.NetworkTools.ClearFlags
UZEL = L.CurrentID
'берем мигающий элемент
L.NetworkTools.AddFlag UZEL
'ставим на него ФЛАГ
Zulu.ActiveMapDoc.Refresh 1
'обновляем карту
L.NetworkTools.FindDownstream
'находим все связанные элементы
'FindConnected - связанные с узлом
'FindDownstream - связанные по направлению
'FindDisconnected - несвязанные с узлом
'FindUpstream - связанные против направления
L.Selection.ModifyByKeys 1, L.NetworkTools.Results
'eSelCreate = 1 Создает группу заново.
'eSelAppend = 2 Добавляет элементы к существующей группе.
'eSelExclude = 3 Исключает элементы из существующей группы
L.NetworkTools.ClearResults
L.NetworkTools.ClearOverloadedStates
L.NetworkTools.ClearFlags
'стираем все флаги
End Sub
Последнее обновление — 27.12.2018 16:31:13