8 - 2009

Практические аспекты использования Autodesk Inventor API

Александр Стремнев (Канд. техн. наук, старший преподаватель Белгородского государственного технологического университета им. В.Г. Шухова.)

Интерфейс прикладного программирования

Варианты использования API Autodesk Inventor

Autodesk уже давно специализируется на разработке программного обеспечения для автоматизации проектно-конструкторских работ. Всемирную известность получили такие программы Autodesk, как AutoCAD для двумерного проектирования и подготовки конструкторской документации и Autodesk Mechanical Desktop — для трехмерного конструирования инженерных и прочностных расчетов. Одним из программных продуктов Autodesk, воплощающим наиболее востребованные возможности AutoCAD и Mechanical Desktop, является пакет Inventor (AI), позволяющий выполнять следующие функции:

  • трехмерное моделирование деталей и сложных сборок с возможностью выбора уровня детализации представления объекта проектирования;
  • генерирование металлоконструкций на базе стандартных профилей;
  • проектирование сварных соединений, включая этапы создания сварного шва, стандартизованное обозначение в документации и расчет;
  • тонколистовое проектирование с заданием параметров вырубки и гибки, создание разверток;
  • моделирование кабельных систем и трубопроводных сетей с использованием специализированных стандартных библиотек элементов и соответствующего программного инструментария;
  • конфигурирование изделий путем создания таблиц параметров и замены компонентов сборок;
  • выбор типовых элементов конструкции из библиотеки стандартных компонентов и их авторазмещение в изделии;
  • связывание между собой величин размеров деталей в сборках с применением свойств параметризации и адаптивности;
  • регулирование формы элементов путем варьирования их размеров;
  • создание виртуальных опытных образцов путем наложения статических и динамических зависимостей на входящие в сборки детали;
  • автоматизированное создание спецификаций, генерация и аннотирование видов чертежа;
  • настройка стандартов оформления чертежей;
  • создание сборочных инструкций и руководств;
  • создание фотореалистичных видеороликов, демонстрирующих концепцию и работу изделия;
  • внедрение в изделия типовых механизмов (передач) и сборок (разборных и неразборных соединений) и настройка их параметров с использованием генератора компонентов;
  • автоматический контроль и определение заданных физико-геометрических параметров в сборках и деталях;
  • расчет и визуализация напряжений и деформаций, проверка запаса прочности с последующим выбором на их основе материала конструкции, уточнение ее формы и размеров;
  • технологический анализ созданных в деталях поверхностей;
  • моделирование динамики механизмов путем задания зависимостей на компоненты и различных нагрузок. Результатом динамического моделирования может быть:

- 3-мерная визуализация работы проектируемого изделия с учетом установленных физических свойств и нагрузок,

- отслеживание движения маркированных точек механизма,

- построение графиков для выбранных параметров при изменении их в рабочем цикле моделирования;

  • управление проектами для рабочих групп;
  • обмен файлами и данными с другими автоматизированными производственными системами.

Интерфейс прикладного программирования

Приведенный перечень конструкторских работ выполняется с применением штатных средств среды проектирования AI. Тем не менее одной из возможностей, поддерживаемых Autodesk Inventor, остается создание пользователем программных компонентов, реализующих специальные сервисные возможности или автоматизирующих какие-либо элементы наиболее часто решаемых задач. Программные компоненты реализуются на базе интерфейса прикладного программирования (API) и развитой объектной модели AI. Наиболее оперативный способ создания пользовательских приложений на базе AI — использование среды VBA (Visual Basic for Application).

Общая схема объектной модели AI c рядом основных компонентов представлена на рис.  1.

Рис. 1. Объектная модель Autodesk Inventor (фрагмент)

Рис. 1. Объектная модель Autodesk Inventor (фрагмент)

Проект приложения AI (Application) представляет собой систему специальных документов САПР (Documents), переходной геометрии (TransientGeometry), менеджера команд (CommandManager) и менеджера пользовательского интерфейса (UserInterfaceManager). Основные типы документов AI: сборки (AssemblyDocument), деталь (PartDocument), демонстрация (PresentationDocument), чертеж (DrawingDocument).

AI — среда ассоциативного проектирования, поэтому каждый из типов документов, входящих в проект на всем протяжении разработки, сохраняет взаимосвязь с другими документами, в которых он используется.

Так, изменения в файле детали отражаются в документе сборки, содержащей эту деталь, или файле чертежа, имеющем виды этой детали.

Каждый из типов документов позволяет программно формировать и работать с наборами составляющих объектов (SelectionSet) и отдельными компонентами (ComponentDefinition). Для отдельного компонента доступны все характеризующие его объекты и свойства. Например, описание компонента (ComponentDefinition) детали (PartDocument) включает эскизы (плоские и трехмерные контуры), объемные элементы (вращения, выдавливания, сдвига, оболочки и др.) с опорными эскизами, конструктивные элементы (фаски, сопряжения, резьбы и др.), рабочие элементы (вспомогательные плоскости, оси, точки), таблицы параметров, управляющих геометрией. Описание компонента (ComponentDefinition) документа сборки (AssemblyDocument) в качестве экземпляра компонента (ComponentOccurences) может включать документы деталей (PartDocument).

Элементы переходной геометрии (TransientGeometry) — это объекты (точки, векторы, матрицы), не имеющие графического выражения в моделях, но используемые при создании геометрии в документах AI.

Отдельно следует сказать об объектах типа сборочных зависимостей (Constraints), с помощью которых в документе сборки между деталями устанавливаются взаимные ограничения позиционирования и движения, что позволяет моделировать в сборке функциональность объекта-прототипа. Сборочные зависимости (Constraints) ассоциативно доступны как из объектов деталей, так и из применяющих их сборок.

Варианты использования API Autodesk Inventor

Примеры пользовательских задач, решаемых с помощью API в AI:

  • создание пользовательских панелей инструментов и команд;
  • формирование моделей сборок (из ранее спроектированных деталей и узлов);
  • редактирование параметров моделей деталей;
  • создание сборочных зависимостей и настройка их параметров.

В настройках интерфейса AI (окно Адаптация) имеется возможность задавать ассоциативные (связанные с рабочей средой) наборы панелей инструментов и команд (рис. 2), в том числе созданные пользователем.

Рис. 2. Пользовательская панель инструментов в Autodesk Inventor

Рис. 2. Пользовательская панель инструментов в Autodesk Inventor

В листинге 1 приводится программный код на VBA, реализующий панель инструментов Механизм с кнопкой Добавление звена. Для панели и кнопки задаются внутренние имена (my_bar_vnut и my_but1_vnut соответственно) для обращения к ним из пользовательских программных модулей, определяются типы интерактивных элементов (kRegularCommandBar — обычная панель инструментов, kShapeEditCmdType — кнопка с командой для редактирования геометрии сборок), а для кнопки задается поясняющее изображение (LoadPicture(zveno.ico)).

Листинг 1

Пользователь — разработчик САПР имеет возможность управлять составом компонента модели сборки с помощью как встроенных команд среды AI, так и собственных программных инструментов (рис. 3).

Рис. 3. Добавление компонент-деталей в структуру сборки Autodesk Inventor: вариант использования API

Рис. 3. Добавление компонент-деталей в структуру сборки Autodesk Inventor: вариант использования API

 

В листинге 2 приводится программный код, добавляющий в текущий активный документ-сборку (ThisApplication.ActiveDocument…) деталь (Деталь_звено.ipt). В качестве позиции вставки используется локальная система (матрица) координат, совпадающая с системой координат документа сборки (ThisApplication.TransientGeometry.CreateMatrix).

Листинг 2

В AI управление структурой, формой и размерами моделей производится с помощью параметров. Параметры могут создаваться автоматически в процессе, например, добавления и конфигурирования объемных элементов — это параметры модели (рис. 4). Другой тип параметров — пользовательские, они создаются для хранения специальных характеристик модели, которые могут непосредственно не влиять на геометрию, но служить для расчета параметров модели. Пользовательские параметры в AI можно добавлять посредством связывания таблиц MS Excel с файлами моделей.

В листинге 3 параметру модели
(…ModelParameters.Item…) d0 (см. рис. 4) присваивается значение 10 мм (в единицах измерения длины метрического шаблона документа), а параметру d1 (см. рис. 4) — значение параметра r1 из связанной с документом-деталью электронной таблицы (…ParameterTables.Item(1)…) Параметры.xls.

Рис. 4. Использование модельных и связанных из электронных таблиц параметров в Autodesk Inventor

Рис. 4. Использование модельных и связанных из электронных таблиц параметров в Autodesk Inventor

Листинг 3

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

В листинге 4 для указанного (например, пользователем в рабочей области) набора компонентов — деталей сборки (…SelectSet.Item(1) и …SelectSet.Item(2)) создается сборочная зависимость типа Совмещение
(…AddMateConstraint…) для связывания этих деталей по имеющимся в них компонентам — рабочим осям (…WorkAxes.Item(Os1)). Код листинга 4 реализует сборочную зависимость, показанную на рис. 5. Последний параметр (0) в листинге 4 и соответствующий ему параметр Сдвиг в окне редактора зависимостей (см. рис. 5) определяют расстояние между совмещаемыми зависимостью элементами.

Рис. 5. Сборочные зависимости Autodesk Inventor

Рис. 5. Сборочные зависимости Autodesk Inventor

Листинг 4

Рассмотренные аспекты использования API AI нашли воплощение в проекте для структурного синтеза механизмов (рис. 6), выполненном на кафедре информационных технологий Белгородского государственного технологического университета им. В.Г. Шухова. Проект содержит панель инструментов для добавления, удаления и редактирования звеньев механизма, создания и удаления кинематических пар, анализа механизма.

Рис. 6. Проект Autodesk Inventor с пользовательской панелью для структурного синтеза плоских механизмов

Рис. 6. Проект Autodesk Inventor с пользовательской панелью для структурного синтеза плоских механизмов

В заключение следует заметить, что использование интерфейса прикладного программирования в AI перечисленными вариантами не ограничивается.

Таким образом, пользователь, в достаточной мере освоивший принципы конструирования в системе AI, может применять в своей практике и возможности API этой САПР. Тем более что структура прикладного программного интерфейса отличается (традиционно для продуктов Autodesk) рациональной структурой и ориентацией на эффективное и оперативное выполнение задач предметной области конструирования.

 

Получить подробные консультации об упомянутых в статье программных продуктах вы можете у специалистов «Русской Промышленной Компании» (www.cad.ru). 

САПР и графика 8`2009