УДК 004.94
О.В. Кретинин, А.Ю. Сизов, А.А. Туманов, Л.О. Федосова
СИСТЕМА АВТОМАТИЗИРОВАННОЙ ОПТИМИЗАЦИИ СТРУКТУРНО-ПАРАМЕТРИЧЕСКИХ МОДЕЛЕЙ
ПО ТЕХНИКО-ЭКОНОМИЧЕСКИМ КРИТЕРИЯМ В ВИРТУАЛЬНОЙ СРЕДЕ
Нижегородский государственный технический университет им. Р.Е. Алексеева
Показано создание системы автоматизированной оптимизации (САО) с использованием возможностей программирования среды виртуального проектирования Autodesk Inventor. Рассмотрена структура прототипа САО. Показаны принципы реализации целевой функции оптимизации путем применения инструментов Inventor: Application Programming Interface (API), iLogic и Visual Basic for Applications (VBA). Представлен пример доступной целевой функции оптимизации, которая может быть применена для разработки САО в среде Inventor.
Ключевые слова: система автоматизированной оптимизации (САО), Application Programming Interface (API), Visual Basic for Applications (VBA), параметрическая оптимизация, параметр, система автоматизированного проектирования, анализ напряжений, анализ пересечений.
В настоящее время существует множество систем автоматизированного проектирования (САПР) (Autodesk Inventor, SolidWorks, CATIA, Siemens Solid Edge, Siemens NX, T-Flex, Аскон - КОМПАС), с широкими возможностями для расширения/дополнения их функционала для различных нужд, уже непосредственно на производстве.
Актуальной задачей является исследование возможностей, предоставляемых для модификации и создания собственного функционала современных виртуальных сред с помощью интерфейса программирования приложений и применение этих знаний в проектировании комплексного программного решения автоматизированной оптимизации структурно-параметрических моделей на основе заданных условий и диапазонов технико-экономических параметров, таких как размер, масса, материал, выдерживаемые нагрузки, коэффициент запаса прочности, стоимость материала и производства изделия.
На данный момент существуют решения для автоматизированной оптимизации определенных параметров, но представленные решения предоставляют лишь ограниченный набор параметров для выбора и подразумевают вовлеченность человека между итерациями. Создание системы автоматизированной оптимизации (САО) позволит:
- сократить затраты времени на оптимизацию модели;
- значительно сократить затраты времени при повторном использовании модели с измененными параметрами (например при необходимости создать схожую модель, использующую другие материалы и имеющую меньшие размеры необходимо лишь задать другие условия оптимизации);
- избежать ошибок, вызванных человеческим фактором при оптимизации модели;
- упростить пользовательский интерфейс (от пользователя требуется лишь задание диапазонов параметров и их приоритетов).
Рассмотренные САПР предлагают обширный функционал и развитый интерфейс прикладного программирования и в целом имеют схожие возможности. В качестве базовой САПР для системы автоматической оптимизации будет использоваться Autodesk Inventor.
API (англ. application programming interface) - интерфейс программирования приложений (иногда интерфейс прикладного программирования) - набор готовых классов, проце-
© Кретинин О.В., Сизов А.Ю., Туманов А.А., Федосова Л.О., 2014.
дур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах [1].
Интерфейс прикладного программирования Inventor построен на технологии COM Automation. К нему можно получить доступ, используя большинство распространенных в настоящее время средств разработки ПО: Microsoft Visual C++®, VB, C# и Delphi. Autodesk Inventor включает также и популярную среду разработки Microsoft VBA.
Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию - высокоуровневые компоненты используют API низкоуровневых компонентов, а те, в свою очередь, используют API ещё более низкоуровневых компонентов.
Inventor использует такой тип API, где объекты представлены через объектную модель или иерархию. Объектная модель (рис. 1) представляет объекты в структурированном, организованном виде, а также определяет отношения между объектами. Чтобы получить доступ к специфичному объекту, нужно сначала получить доступ к верхнему объекту-родителю в иерархии и только потом двигаться вглубь [2].
Application I Documents ) L-j_PartDocumerit
-| PartComponentDefinition ^Parameters)
Parameter
L Tolerance
ч™
PrcpertySets} Property SiT; Property I
4
Рис. 1. Структура объектной модели Inventor
Важно отметить, что API это лишь другой способ взаимодействия с функционалом Autodesk Inventor. API позволяет делать те же самые действия и операции, которые можно совершить с использование графического интерфейса пользователя.
САО должна предоставлять комплексное программное решение для следующих задач:
• подбор оптимальных параметров модели (длина, толщина и т.п.) по исходным данным;
• определение оптимального количества предварительно определенных структурных элементов по заданным параметрам;
• подбор наиболее экономичного материала удовлетворяющего заданным требованиям. Система должна предоставлять обоснование оптимизации по технико-экономическим
показателям на основе следующего комплекса параметров:
• максимально допустимые нагрузки и напряжения в модели;
• минимально допустимая масса;
• минимальный расход материала на модель.
Разрабатываемая система кроме предоставления широкого спектра возможностей должна удовлетворять следующим требованиям:
• удобный и функциональный интерфейс;
• настраиваемый функционал - система должна содержать достаточное количество настроек, для возможности ее использования в разных задачах (например, оптимизация исключительно структуры и габаритов модели);
• кросс-платформенное ядро - основная часть системы должна быть реализована вне системы, что позволит с минимальными усилиями адаптировать систему под нужды другой САПР или даже комплекса систем;
• расширяемый функционал - реализация системы должна предусматривать возможность расширения функционала, что позволить дополнительно адаптировать систему под определенные нужды, либо использовать новые возможности платформы САПР (поскольку перечисленные ранее платформы САПР постоянно совершенствуются и приобретают новые возможности);
• высокая производительность - система должна содержать максимально эффективные алгоритмы и предоставлять средства повышения производительности системы (облачные вычисления).
Для проектирования САО с целью использования одновременно нескольких виртуальных сред стоит разрабатывать систему как независимое отдельное приложение с собственным графическим интерфейсом, что позволит без каких-либо сложностей пользоваться всеми необходимыми виртуальными средами, а также обеспечит возможность их независимого контроля.
Для разработки прототипа САО с целью проверки доступности функционала стоит использовать предоставляемый Autodesk Inventor встроенный язык программирования VBA и правила iLogic. Преимущество данного варианта в относительной простоте освоения и возможности более быстрого написания функционала.
Первым сдерживающим фактором в рамках разработки САО явилось отсутствие API для модуля «Анализ напряжений» среды Autodesk Inventor. Данная проблема была решена с использованием «автоматического клика», реализованного на скриптовом языке программирования Python. Скрипт запускает создание отчета анализа напряжений в автоматическом режиме и далее получает необходимые значения для оптимизации из этого отчета. Далее другой скрипт выбирает наиболее экономичное решение и передает его обратно в основную программу VBA (рис. 2). Основная часть созданного прототипа САО реализована в коде VBA с использованием iLogic для вызова этого кода.
Рис. 2. Структура вызовов программы
В качестве цели оптимизации используются параметризованные свойства модели, хотя в случае с Autodesk Inventor изменения структурных элементов могут быть выражены в качестве параметров модели с помощью функций подавления структурных элементов iLogic.
Данная разработка была проверена на параметрической модели швеллера (рис. 3). Для реализации САО швеллера было разработано программное обеспечение в среде VBA, интерфейс которого представлен на рис. 3. Пользователю необходимо добавить требуемые па-
раметры и назначить диапазон их изменения, выбрать контролируемые параметры и задать их значения, указать точность, а затем нажать кнопку «Оптимизировать» (рис. 4).
Рис. 3. Параметрическая модель швеллера
В данной задаче целевой функцией является нахождение определенной комбинации параметров швеллера с наименьшей массой, удовлетворяющей исходным заданным условиям (предельное напряжение по Мезису и максимальное смещение). Для нахождения оптимальной комбинации параметров был применён метод полного перебора.
Разработанная САО позволит производить оптимизацию моделей деталей на основе данных расчетов, предоставляемых функцией "Анализ напряжений" виртуальной средой Autodesk Inventor, с возможностью выбора основных требований к данным расчетам, с неограниченным количеством задаваемых параметров и выбором результата по минимальной массе модели с заданными параметрами (что в дальнейшем может быть расширено как стоимость материала используемого в модели). Если среди перебираемых решений было обнаружено несколько удовлетворяющих условиям, то из них будет выбрано решение, требующее наименьшего количества используемого материала в модели (минимальная стоимость). Структура прототипа системы представлена на рис. 5.
Рис. 4. Интерфейс программного обеспечения CAO
Рис. 5. Структура программной реализации прототипа системы
Библиографический список
1. Буздин, К.В. Исполнение моделей при помощи виртуальной машины // Труды Института системного программирования РАН. 2004. Вып. 1. Т. S.
2. Кузьменко, В.Г. VBA / В.Г. Кузьменко. - М.: ООО «Бином-Пресс», 2012. - 624 с.
3. Тремблей, Т. Autodesk Inventor 2013 и Inventor LT 2013. Официальный учебный курс: [пер. с англ. Л.Талхина] / Т.Тремблей. - М.: ДМК Пресс, 2012. - 344 с.
4. Brian Ekins. Inventor® API: Exploring iProperties and Parameters. Synopsis DE101-1 from Autodesk University 200S.
5. David Melvin PE. Autodesk Inventor 2013 Certified: iLogic Made Simple, Multimedia DVD, 2012.
Дата поступления в редакцию 11.12.2014
O. V. Kretinin, A. Yu. Sizov, A. A. Tumanov, L. O. Fedossova
AUTOMATED SYSTEM FOR STRUCTURAL AND PARAMETRICAL MODELS OPTIMIZATION UPON TECHNICAL AND ECONOMIC CRITERIA IN VIRTUAL ENVIRINMENT
Nizhny Novgorod state technical university n. a. R. E. Alexeev
Creation of the automated optimization system (AOS) using software options of Autodesk Inventor virtual design environment is shown. AOS prototype structure is studied. The principle of implementing of the target optimization function by means of Inventor tools: Application Programming Interface (API), iLogic and Visual Basic for Applications (VBA), is shown. An example of the target optimization function available and usable for AOS development in Inventor environment is presented.
Key words: automated optimization system (AOS), Application Programming Interface (API), Visual Basic for Applications (VBA), parametrical optimization, parameter, automated design system, stress analysis, intersection analysis.