Возвращает/устанавливает для слоя текущее имя семантической базы данных примитивов.
Visual Basic:
Property BaseName As String
Строка содержит имя файла описания базы данных системы Zulu, подключенной в данный момент к примитивам слоя. Для базы, файл которой лежит в папке слоя, имя возвращается без пути; полное имя файла даёт свойство Name объекта BaseInfo из коллекции Bases. Если база к примитивам не подключена, свойство возвращает пустую строку.
Это свойство не имеет смысла для типовых объектов слоя, так как каждый тип может иметь собственную базу данных, имя которой можно получить через свойство ObjectTypes.
Запись свойства подключает базу по имени и меняет свойство BaseID. Если база данных с указанным именем отсутствует в списке баз данных слоя, то она будет в список добавлена.
В случае неудачи возникает исключение с одним из следующих кодов:
Код
Описание
513
Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.
Visual Basic:
Sub Layer_BaseName 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active If L.Bases.Count = 0 Then MsgBox "У слоя нет баз данных" Exit Sub End If Old = L.BaseID 'Подключаем к примитивам первую базу слоя по полному имени файла L.BaseName = L.Bases.Item(0).Name MsgBox "Подключена база «" & L.BaseName & "», ее ID " & L.BaseID 'Возвращаем прежнюю базу L.BaseID = Old End SubPython:
import zulu def Macro_Layer_BaseName(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active if L.Bases.Count == 0: print("У слоя нет баз данных") return old = L.BaseId # Подключаем к примитивам первую базу слоя по полному имени файла L.BaseName = L.Bases.Item(0).Name print("Подключена база", L.BaseName, ", ее ID", L.BaseId) # Возвращаем прежнюю базу L.BaseId = old