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

ADN Club => Inventor API => Тема начата: filat от 07-07-2014, 12:55:03

Название: Передача атрибутов
Отправлено: filat от 07-07-2014, 12:55:03
У объекта есть несколько атрибутов. Можно ли эти все атрибуты передать другому объекту разом? Или нужно выполнить добавление атрибутов другому объекту по одному?
Название: Re: Передача атрибутов
Отправлено: Владимир Ананьев от 07-07-2014, 13:19:50
у объекта AttributeSet есть ряд свойств, которые могут оказаться полезными при копировании атрибутов:
Название: Re: Передача атрибутов
Отправлено: filat от 12-03-2015, 14:52:54
Что-то не получается сохранить атрибуты через Апренсис:
Код - Visual Basic [Выбрать]
  1.        Dim aDoc As ApprenticeServerDocument
  2. ...
  3.         oAttribSet = aDoc.AttributeSets(ComboBox1.Text)
  4.         oAttribSet.Item(ComboBox2.Text).Value = RichTextBox1.Text
  5.         Dim oFileSaveAs As FileSaveAs
  6.         oFileSaveAs = oApprentice.FileSaveAs
  7.         ' сохранение  файла  сохранение файла
  8.        Call oFileSaveAs.AddFileToSave(aDoc, aDoc.FullFileName)
  9.         Call oFileSaveAs.ExecuteSave()
  10.  
Считывается все без проблем, а вот с сохранением не знаю, что и делать?
Название: Re: Передача атрибутов
Отправлено: R.I.Chernov от 12-03-2015, 18:49:51
Добрый день, если вас не затруднит, просветите пожалуйста, для чего используются атрибуты? Никогда не сталкивался с ними, а в справке толкового объяснения не нашел :( Для пометки объекта? Или в них можно хранить информацию?
Название: Re: Передача атрибутов
Отправлено: Владимир Ананьев от 12-03-2015, 21:08:38
Кратко атрибуты представлены здесь:
https://ru.wikibooks.org/wiki/Autodesk_Inventor_API._%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B5_%D1%88%D0%B0%D0%B3%D0%B8/%D0%A1%D1%81%D1%8B%D0%BB%D0%BE%D1%87%D0%BD%D1%8B%D0%B5_%D0%BA%D0%BB%D1%8E%D1%87%D0%B8_(Reference_keys)_%D0%B8_%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D1%8B_(Attributes) (https://ru.wikibooks.org/wiki/Autodesk_Inventor_API._%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B5_%D1%88%D0%B0%D0%B3%D0%B8/%D0%A1%D1%81%D1%8B%D0%BB%D0%BE%D1%87%D0%BD%D1%8B%D0%B5_%D0%BA%D0%BB%D1%8E%D1%87%D0%B8_(Reference_keys)_%D0%B8_%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D1%8B_(Attributes))

Можно помечать объекты для последующего поиска. Именно атрибуты Inventor Engineer-To-Order (ETO) использует для разметки геометрии с целью последующего создания сборочных зависимостей программно.  Присвоение имен элементам геометрии является существенной частью процесса "adoption" - прописки нового компонента в библиотеке.

Можно в атрибутах хранить собственную информацию, которая приаттачена к объектам.  Например, можно привязать к граням величины и ориентации приложенных нагрузок.

Название: Re: Передача атрибутов
Отправлено: Владимир Ананьев от 12-03-2015, 21:11:59
Что-то не получается сохранить атрибуты через Апренсис:
Apprentice может менять свойства и файловые ссылки.  Остальное - на чтение.
Название: Re: Передача атрибутов
Отправлено: filat от 13-03-2015, 08:15:35
Что-то не получается сохранить атрибуты через Апренсис:
Apprentice может менять свойства и файловые ссылки.  Остальное - на чтение.
Печально  :(
Название: Re: Передача атрибутов
Отправлено: R.I.Chernov от 13-03-2015, 10:15:31
Кратко атрибуты представлены здесь:

Спасибо, Владимир Николаевич! Правда вашу статью  прочел до того как задать вопрос :)
Название: Re: Передача атрибутов
Отправлено: R.I.Chernov от 13-03-2015, 12:01:01
Присвоение имен элементам геометрии является существенной частью процесса "adoption" - прописки нового компонента в библиотеке.

Подскажите пожалуйста, вы имеете ввиду библиотеку компонентов?
Название: Re: Передача атрибутов
Отправлено: Владимир Ананьев от 13-03-2015, 12:59:22
ETO может формировать сборки по заданным сценариям только при условии, что довольно много чего знает про свои компоненты.  В частности, необходимо иметь сведения о геометрических элементах, которые должны участвовать в сборочных зависимостях (грани, ребра, вершины, осевые отверстий, рабочая геометрия и т.п.).  Присвоение имен + явное объявление внешних управляющих параметров в каждом компоненте составляют суть процесса превращения детали (сборки) Inventor в компонент ETO.
Именно для таких компонентов ETO я волюнтаристически :) использовал термин ‘библиотека’.  Создается под проект.

Антон Федотов из компании ПОИНТ про ETO рассказывал на московском AU 2014.  Видео должно быть в доступе.
Название: Re: Передача атрибутов
Отправлено: Владимир Ананьев от 13-03-2015, 14:00:05
для чего используются атрибуты?

В моей практике был такой вариант использования атрибутов.
Имелся 3D-эскиз со множеством осевых линий алюминиевой фасадной конструкции.  Осевые были представлены объектами SketchLine3D.  Эти осевые линии с инженерной точки зрения имели очень разный смысл.  Различие в смыслах отражалось в наборе данных, которые ассоциировались с конкретной осевой вплоть до типа и параметров сборок, которые позиционируются по этой осевой.  Все эти данные сохранялись в осевых в некоторой иерархической системе атрибутов.  Атрибуты одновременно решали ряд задач:
- быстрый поиск осевой по известному имени или каким-нибудь характеристикам
- Извлекаемые из атрибутов данные использовались в заданиях на конфигурирование сборок, привязанных к осевым (вплоть до полной автоматической регенерации).
- Признаки классификации осевых из атрибутов использовались для расцвечивания осевых и отображения их имен и направлений (стрелки векторов) средствами ClientGraphics.

Как вы понимаете, схем применения атрибутов может быть сколько угодно.  Все зависит от контекста решаемых задач.

Некоторым затруднением в работе с атрибутами является то, то вам придется самостоятельно создавать пользовательский интерфейс для работы с ними.  В Инвенторе штатных средств нет. 
Brian Ekins в свое время сделал вспомогательную утилиту AttributeHelper для работы с атрибутами.  Исходник здесь:  http://modthemachine.typepad.com/my_weblog/2013/08/attribute-helper-update.html
Название: Re: Передача атрибутов
Отправлено: R.I.Chernov от 13-03-2015, 14:26:27
Антон Федотов из компании ПОИНТ про ETO рассказывал на московском AU 2014.  Видео должно быть в доступе.
Мне довелось эту презентацию посмотреть в живую . Более того, следом целый час её с Вами обсуждать ;)
Спасибо за развернутый ответ. Теперь все стало ясно.
Название: Re: Передача атрибутов
Отправлено: R.I.Chernov от 13-03-2015, 14:29:17
В моей практике был такой вариант использования атрибутов...

Спасибо большое,  очень полезная информация! Заинтригован теперь так, что не знаю, работу текущую делать, или атрибуты изучать!? :)