для чего используются атрибуты?
В моей практике был такой вариант использования атрибутов.
Имелся 3D-эскиз со множеством осевых линий алюминиевой фасадной конструкции. Осевые были представлены объектами SketchLine3D. Эти осевые линии с инженерной точки зрения имели очень разный смысл. Различие в смыслах отражалось в наборе данных, которые ассоциировались с конкретной осевой вплоть до типа и параметров сборок, которые позиционируются по этой осевой. Все эти данные сохранялись в осевых в некоторой иерархической системе атрибутов. Атрибуты одновременно решали ряд задач:
- быстрый поиск осевой по известному имени или каким-нибудь характеристикам
- Извлекаемые из атрибутов данные использовались в заданиях на конфигурирование сборок, привязанных к осевым (вплоть до полной автоматической регенерации).
- Признаки классификации осевых из атрибутов использовались для расцвечивания осевых и отображения их имен и направлений (стрелки векторов) средствами ClientGraphics.
Как вы понимаете, схем применения атрибутов может быть сколько угодно. Все зависит от контекста решаемых задач.
Некоторым затруднением в работе с атрибутами является то, то вам придется самостоятельно создавать пользовательский интерфейс для работы с ними. В Инвенторе штатных средств нет.
Brian Ekins в свое время сделал вспомогательную утилиту
AttributeHelper для работы с атрибутами. Исходник здесь:
http://modthemachine.typepad.com/my_weblog/2013/08/attribute-helper-update.html