Возвращает/устанавливает для слоя текущую базу данных, подключенную к примитивам по ID базы данных из списка баз данных слоя.
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 SubPython:
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