InsertSymbol method (MapDoc)

Вставляет символьный объект в отмеченную точку участка сети, разделяя участок на два (дублирует команду редактора Вставить символьный объект).

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

MapDoc

Синтаксис:

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 Sub

Python:

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)