ADN Open CIS
Сообщество программистов Autodesk в СНГ

15/10/2014

Лёгкое программирование под Autodesk Vault Часть 41

На высоком уровне:

Свойства представляют собой тип поведения, который в основном означает, что это функция, которая работает над сущностями, а не с конкретными типами объектов. Есть 2 вещи, которые мы делаем с этой концепцией: 1) мы консолидируем функции и 2) мы позволяем данным быть общими для всех типов сущностей.

Эти концепции можно увидеть на диалоге свойств (Инструменты меню -> Администрирование ->Настройки хранилища -> Вкладка "Поведение" -> Кнопка "Свойства"). Все находится в одном диалоговом окне, вместо раздельных окон для файла, элементов и запросов на изменение. (Рисунок, поз. 1).

Этот диалог дает вам хороший список определений свойств. Обратите внимание, как каждое определение связано с 1 или более классами сущностей.   Это хорошо, так как вы можете описать определение свойства один раз и использовать его в нескольких местах.   Определение свойства могут работать только с теми классами сущностей, с которыми они связаны.

Также вы можете связать определения свойств с категориями. Это позволяет изменить поведение свойства в зависимости от категории, которой является сущность.   Эта функция предоставляет бОльшую специализацию во время повторного использования. (Рисунок, поз. 2)

Системные и определяемые пользователем свойства:
Свойства, поддерживаемые Vault являются системными, либо определяемыми пользователем (UDP). Главное отличие в том, что UDP значения можно редактировать непосредственно, а значения системных устанавливается системой. На уровне определения свойства, системные свойства имеют только несколько вариантов редактирования.   Точно так же, системные свойства не могут быть добавлены или удалены.  

Источник содержимого свойств:
Свойства способны на многое. Они заполняют таблицы данных, позволяют искать, определяют ограничения жизненного цикла и т.д.   Все это возможно потому, что Vault "обладает" этими данными.   Vault хранит данные в своих таблицах и индексах, и все организовано для поддержки функций Vault.  

Но как насчет свойств, которые не принадлежит Vault? Эти свойства не организованы Vault и они не в том формате, который распознает Vault.   Мы называем это свойствами содержимого источника, потому что они из источника, отличного от Vault. Так как же Vault работает с этими данными?

Решение состоит в отображении содержимого исходного свойства в UDP. Таким образом Vault может производить операции над UDP, не имея представления и не заботясь о механике свойства источника контента.

"Клеем" между имущества содержимым источника и UDP является модуль, который называется Провайдер Содержимого Источника (Content Source Provider). Он содержит логику для чтения и/или записи свойства источника содержимого и взаимодействия с фреймворком Vault.   Эти поставщики разбиты по типу файла. Так, есть поставщик для AutoCAD, для Inventor и так далее.   Существует также поставщик "Все файлы", который обрабатывает все файлы, не заявленные другим поставщиком.

Источник: справка Autodesk Vault API.

Обсуждение: http://adn-cis.org/forum/index.php?topic=1023

Опубликовано 15.10.2014
Отредактировано 15.10.2014 в 17:04:23