BaseID property (Layer)

Возвращает/устанавливает для слоя текущую базу данных, подключенную к примитивам по ID базы данных из списка баз данных слоя.

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

Layer

Синтаксис:

Visual Basic:

Property BaseID As Long

Описание:

Это свойство не влияет на базу данных для типовых объектов слоя, т.к. каждый тип может иметь собственную базу данных, ID которой можно получить через свойство ObjectTypes.

ID берётся из списка баз данных слоя — коллекции Bases. Если база для примитивов не подключена, свойство возвращает 0. Выбранная база сохраняется вместе со слоем.

Пример:

Visual Basic:

Sub Layer_BaseID
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
If L.Bases.Count = 0 Then
  MsgBox "У слоя нет баз данных"
  Exit Sub
End If
Old = L.BaseID
'Подключаем к примитивам первую базу из списка баз данных слоя
L.BaseID = L.Bases.Item(0).Id
MsgBox "Было: " & Old & vbCrLf & "Стало: " & L.BaseID & " (" & L.BaseName & ")"
'Возвращаем прежнюю базу
L.BaseID = Old
End Sub

Python:

import zulu

def Macro_Layer_BaseID():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    if L.Bases.Count == 0:
        print("У слоя нет баз данных")
        return
    old = L.BaseId
    # Подключаем к примитивам первую базу из списка баз данных слоя
    L.BaseId = L.Bases.Item(0).Id
    print("Было:", old)
    print("Стало:", L.BaseId, "(" + L.BaseName + ")")
    # Возвращаем прежнюю базу
    L.BaseId = old