ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Сравнение Таблиц идентификаторов и Словарей


Таблицы идентификаторов и словари исполняют по существу ту же самую функцию; они содержат входы, которые являются базой данных, возражает, что можно искать, используя текстовую строковую клавишу{*ключ*}. Вы можете добавлять входы к этим контейнерным объектам, и Вы можете использовать iterator, чтобы шагнуть через входы и сделать запрос их содержания.

База данных AutoCAD всегда содержит установленный набор девяти таблиц идентификаторов, описанных в следующем разделе. Вы не можете создавать или удалять таблицу идентификаторов, но Вы можете добавлять или изменять{*заменять*} входы в таблице идентификаторов, которые вызваны{*названы*} записи. Каждая таблица идентификаторов содержит только специфический тип объекта.

Например, AcDbLayerTable содержит только объекты типа AcDbLayerTableRecord. Таблицы идентификаторов определены этим способом главным образом для совместимости с Выпуском AutoCAD 12 и предыдущих выпусков AutoCAD.

Словари обеспечивают подобный механизм для сохранения и восстановления{*поиска*} объектов со связанными клавишами{*ключами*} имени. База данных AutoCAD создает названный объектный словарь всякий раз, когда это создает новый рисунок. Названный объектный словарь может рассматриваться как главное “оглавление” для структур объекта небытия в рисунке. Этот словарь, по умолчанию, содержит четыре словаря: словарь ГРУППЫ, MLINE

словарь стиля, словарь размещения, и графический стиль называет словарь. Вы можете создавать любое число дополнительных объектов и добавлять их к названному объектному словарю. Однако, лучшая практика должна добавить один объект непосредственно к названному объектному словарю и иметь тот объект, в свою очередь имеют другие объекты, связанные с вашим приложением. Как правило, объект обладания - контейнерный класс типа словаря. Используйте ваш назначенный Зарегистрированный Символ Разработчика с четырьмя символами для имени этого класса.

Объект AcDbDictionary может содержать любой тип AcDbObject, включая другие словари. Объект словаря не исполняет контроль соответствия типов входов. Однако, MLINE словарь стиля должен содержать только образцы класса AcDbMlineStyle, и словарь ГРУППЫ должен содержать только образцы AcDbGroup. Приложение может требовать определенного печатания для входов в словаре, который это создает и обслуживает{*поддерживает*}.



Содержание раздела