Вставляет символьный объект в отмеченную точку участка сети, разделяя участок на два (дублирует команду редактора Вставить символьный объект).
Visual Basic:
Sub InsertSymbol()
Метод работает с редактируемым слоем сети (EditLayer) в режиме редактора «Узлы» (EditMode = 2). Место вставки пользователь отмечает щелчком мыши по участку. При вызове ZuluGIS показывает список символьных типов слоя; выбранный символ встает в отмеченную точку, а участок делится на два, так что в слое прибавляется два объекта - символ и вторая половина участка.
Вставку можно отменить методом Undo. Вставить символ в участок без участия пользователя - по координатам и с заданным типом - позволяет метод слоя InsertSymbol.
Пример вставляет символ в отмеченную на участке точку и сообщает, сколько объектов прибавилось. Перед запуском включите редактирование слоя сети, режим «Узлы» и щелкните по участку в месте вставки.
Visual Basic:
Sub MapDoc_InsertSymbol 'Берем рабочую карту и редактируемый слой Set Doc = Zulu.ActiveMapDoc Set L = Doc.Layers.EditLayer If L Is Nothing Then MsgBox "Редактирование слоя не включено" Else n = L.ElementKeys.Count 'ZuluGIS покажет список символов - выберите нужный Doc.InsertSymbol MsgBox "Добавлено объектов: " & (L.ElementKeys.Count - n) End If End SubPython:
import zulu def Macro_MapDoc_InsertSymbol(): # Берем рабочую карту и редактируемый слой doc = zulu.App.ActiveMapDoc L = doc.Layers.EditLayer if L is None: print("Редактирование слоя не включено") else: n = L.ElementKeys.Count # ZuluGIS покажет список символов - выберите нужный doc.InsertSymbol() print("Добавлено объектов:", L.ElementKeys.Count - n)