Применение интерфейса прикладного программирования CAD-систем на примере модуля оптимизации САПР КОМПАС-3D

Рассмотрение преимуществ использования специализированных программных модулей CAD-систем для решения задач проектирования. Список переменных модели, используемых в качестве параметров оптимизации. Возможность задания весового коэффициента параметра.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 27.05.2018
Размер файла 426,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Применение интерфейса прикладного программирования CAD-систем на примере модуля оптимизации САПР КОМПАС-3D

О.А. Горленко,

А.Л. Сафонов

Аннотация

Рассмотрены преимущества использования специализированных программных модулей CAD-систем для решения задач проектирования. Описан модуль САПР КОМПАС-3D, реализующий задачу условной оптимизации. Продемонстрирована его работа на примере элемента электрического соединителя.

Ключевые слова: САПР, специализированный расчетный программный модуль, электрический соединитель, задача оптимизации, метод Бокса.

Сокращение сроков разработки продукции мирового технико-экономического уровня, повышение эффективности затрат на ее создание, максимальное освобождение конструкторов от выполнения рутинных проектных операций при анализе различных конструкторских решений - все это возможно лишь на основе автоматизации процесса проектирования. Для более эффективного использования САПР целесообразно применять автоматизированные объектно-ориентированные системы проектирования, представляющие собой CAD-системы, адаптированные к конкретной предметной области с помощью программно-методических модулей. Применение специализированных модулей CAD-систем для совмещения проектных расчетов (в частности, многопараметрических задач оптимизации) с непосредственным проектированием позволяет сократить длительность цикла "проектирование - анализ - изменение" [1], а также количество натурных экспериментов.

В данной статье описан разработанный автором программный модуль САПР КОМПАС-3D, реализующий задачу оптимизации изделий, и рассмотрено его применение для решения конкретной задачи.

Сложные изделия обладают большим количеством параметров, влияющих на все возрастающие и часто альтернативные требования к показателям их качества, что делает практически невозможной доводку элементов электрических соединителей традиционными методами. В качестве таких параметров могут выступать геометрические размеры или свойства материалов деталей и их покрытий. Поэтому создание инструментальных средств для решения задач оптимизации при проектировании продукции весьма актуально.

При решении конкретной задачи оптимизации исследователь прежде всего должен выбрать математический метод, который приводил бы к конечным результатам с наименьшими затратами на вычисления или же давал возможность получить наибольший объем информации об искомом решении. Выбор того или иного метода в значительной степени определяется постановкой оптимизационной задачи, а также используемой математической моделью объекта оптимизации. В настоящее время для решения оптимальных задач применяется большое многообразие методов. В данной работе реализован комплексный метод Бокса, который представляет собой модификацию метода деформируемого многогранника и предназначен для решения задачи нелинейного программирования с ограничениями-неравенствами. Для минимизации целевой функции n переменных f(x) в n-мерном пространстве строят многогранники, содержащие q>n+1 вершин. Эти многогранники называют комплексами, что и определило наименование метода. Достоинствами комплексного метода Бокса являются его простота, удобство для программирования, надежность в работе. Метод на каждом шаге использует информацию только о значениях целевой функции и функций ограничений задачи. Все это обусловливает успешное применение его для решения различных задач нелинейного программирования. Метод широко освещен в литературе [2].

На основе данного метода оптимизации создан программный модуль, реализованный в качестве прикладной библиотеки САПР КОМПАС-3D и использующий API-интерфейс доступа к данным документа. Объектом параметризации является модель активного 3D-документа. Модуль работает как средство вычисления параметров, визуализация же осуществляется непосредственно самой САПР КОМПАС-3D.

После запуска модуля необходимо задать данные для оптимизации. Прежде всего, это список переменных модели, используемых в качестве параметров оптимизации. Параметрическая модель детали должна быть построена так, чтобы все конструктивные параметры зависели от выбранных переменных, т.е. модель могла быть полностью и правильно переопределена при изменении этих переменных. В качестве параметров оптимизации могут выступать не только конструктивные размеры, но и другие величины, например характеристики материалов, массы компонентов. Такая переменная должна быть искусственно добавлена в список переменных модели, а остальные параметры могут рассчитываться исходя из ее величины. На рис. 1 показан пример определения параметров оптимизации.

Рис. 1. Определение параметров оптимизации

Как уже отмечалось, из списка, который подгружает переменные модели, можно последовательно выбрать переменные, указав область их определения - линейные ограничения на параметры (рис. 2). Тут же существует возможность задать весовой коэффициент параметра (при отсутствии задания целевой функции, описанной ниже, используется целевая функция по умолчанию). После выбора переменных они отображаются в окне модуля "Список параметров", здесь же показывается их текущее числовое значение. Необходимо отметить невозможность повторного добавления одной и той же переменной, что, в принципе, было бы бессмысленно для задачи оптимизации.

Рис. 2. Задание области определения параметров оптимизации

В данной статье рассматривается задача условной оптимизации. Это означает возможность задания ограничений на вектор параметров оптимизации. По сути область определения параметров - тоже простейшие линейные ограничения. Но на практике оказывается, что только эти ограничения не могут удовлетворить проектировщика при решении задачи оптимизации реального проектного задания. Поэтому в разработанном программном модуле предусмотрено создание других видов ограничений.

Первый вид ограничений назван условно в модуле ограничительными параметрами. Это означает, что созданные в документе КОМПАС-3D переменные, значение которых задано каким-либо алгебраическим выражением, содержащим константы и другие переменные документа, могут выступать в роли ограничений. На рис. 3 показан момент определения ограничительного параметра. Переменная, выбранная из списка переменных проекта, получает лимитирующие значения (максимум и минимум) или одно из них. При поиске оптимального значения целевой функции эти ограничивающие параметры с лимитирующими значениями используются в соответствии с описанным алгоритмом.

Рис. 3. Определение ограничительных параметров

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

Для создания такого ограничения необходимо в модуле нажать соответствующую кнопку, после чего внести необходимые данные: название ограничения, ограничивающие значения (максимум, минимум либо оба значения) и файл, содержащий тело функции (рис. 4). Можно указать существующий файл или создать новый. Структура данного файла должна соответствовать синтаксису языка программирования Си и содержать тело лишь одной функции. В нем можно использовать выражения, функции, директивы, операторы, что позволяет реализовать достаточно сложные алгоритмы, которые нельзя или проблематично выполнить при помощи ограничительных параметров (алгебраических выражений, содержащих переменные документа). Также в этом файле можно использовать переменные документа или объявлять новые. Как уже отмечалось, возможно использование операторов цикла и условия.

Рис. 4. Создание ограничивающей функции

После определения файла необходимо компилировать его в программный код динамической библиотеки. Для этого следует нажать кнопку "Читать файл". В модуль входит простейший консольный компилятор программного кода cl.exe, поэтому дополнительного программного обеспечения для создания dll-библиотеки не нужно. Если файл с исходным кодом не содержит синтаксических ошибок, то пользователь не получит сообщение о них и для завершения создания ограничивающей функции необходимо подтвердить информацию. При вызове функции (на каждой итерации поиска оптимального решения) значения переменных проекта будут обновляться в dll-библиотеках ограничивающих функций, что позволит получать актуальное ее значение при каждом вызове.

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

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

С целью демонстрации работы модуля и творческого решения задачи проектирования рассмотрим поиск оптимального решения для вилочного контакта электрического соединителя. За первоначальную точку принималась конструкция существующего контакта. Было решено, что параметрами оптимизации будут 3 конструктивных размера: длина, ширина контакта и толщина материала, из которого изготовлена деталь. В САПР КОМПАС-3D была выполнена ее параметрическая модель - таким образом, что конструкция модели полностью и без ошибок определялась по этим 3 параметрам (все размеры определены константами или выражениями, значения которых однозначно вычисляются исходя из значений параметров оптимизации). Вид исходной модели показан на рис. 5.

Рис. 5. Вид исходной модели

Далее были наложены ограничения на проектируемую систему. В список ограничительных параметров добавлены 3 переменные. Их значения определяются выражениями, смысл которых заключается в запрете на появление вырожденных объектов (отрицательных размеров, отдельных частей детали и т.п.).

В качестве ограничительных функций были использованы электрическое сопротивление контакта и усилие расчленения контакта [3]. На практике необходимо обеспечить значение сопротивления не больше оговоренной в техническом задании величины и значение усилия расчленения контакта, лежащее в определенных пределах (иначе при малом усилии возможно нарушение контактирования, а при большом - деформация контактов и поломка соединителя) [4; 5]. При этом считается, что известна толщина рабочей части вилочного контакта. Обе характеристики (сопротивление контакта и усилие расчленения контакта) зависят от жесткостных характеристик контакта, обеспечивающих силу контактирования рабочих частей контактов. Для задания ограничивающих функций были созданы файлы, содержащие написанный на языке программирования Си исходный код тела функций. После этого исходный текст был компилирован в динамическую библиотеку. Также заданы ограничивающие значения (для сопротивления - максимальное, для усилия сочленения/расчленения - максимальное и минимальное). Конечно, это не все необходимые ограничения, но здесь приведен лишь пример использования модуля, поиск же и формулирование зависимостей характеристик изделия от конструктивных параметров выходит далеко за рамки данной работы.

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

,

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

Далее, так же как и для ограничивающих функций, составляется файл с исходным кодом тела функции и компилируется в dll-библиотеку. После этого программный модуль будет обращаться к ней на каждом шаге итерации при поиске оптимального значения. На рис. 6 показан вид программного модуля с заданными исходными значениями.

Рис. 6. Исходные данные для задачи оптимизации

Рис. 7. График поиска оптимального решения:

1 - параметр X1; 2 - параметр X2; 3 - параметр X3;

4 - целевая функция

Затем необходимо перейти непосредственно к поиску оптимальных значений параметров. Это итерационная процедура, заканчивающаяся, если изменение целевой функции за 5 циклов не превысит определенного малого значения. На рис. 7 показан результат поиска оптимальных значений. Толстой линией на графике показана величина целевой функции, а тонкими - значения параметров оптимизации. По оси абсцисс отложены шаги итерации, а по оси ординат - значения целевой функции и параметров оптимизации (приведены в соответствующих масштабах для наглядности результата).

Достоинством данного метода является управляемость процессом оптимизации. На каждом шаге возможна визуализация результата - представление трехмерной модели КОМПАС-3D, что позволяет проектировщику анализировать результат, делать определенные поправки.

Внешние программные модули САПР служат мощным средством повышения производительности и качества работы. Важнейшим преимуществом применения таких разработок является использование существующей на предприятии САПР как базовой без приобретения дополнительных специализированных пакетов для компьютерного моделирования. Разработанный автором программный модуль САПР КОМПАС-3D позволяет выполнять важную задачу проектирования - поиск оптимальных параметров, ограничиваясь возможностями базовой версии САПР КОМПАС-3D.

Список литературы

1. Ли, К. Основы САПР (CAD/CAM/CAE) / К. Ли. - СПб.: Питер, 2004. - 560 с.

2. Трифонов, А.Г. Постановка задачи оптимизации и численные методы ее решения / А.Г. Трифонов. - http://matlab.exponenta.ru/optimiz/book_2/index.php.

3. Сафонов, Л.И. Прямоугольные электрические соединители. Анализ физических процессов, происходящих в контакте / Л.И. Сафонов, А.Л. Сафонов // Технологии в электронной промышленности. - 2007. - № 6. - С. 54-58.

4. Хольм, Р. Электрические контакты / Р.Хольм. - М.: Изд-во иностр. лит., 1961.- 464с.

5. ОСТ 869-92. Прямоугольные соединители. Общие технические условия.

Размещено на Allbest.ru


Подобные документы

  • Изучение интерфейса и основных инструментов программы Компас. Обзор инструментов моделирования, используемых при создании модели материнской платы. Анализ программных и технических средств, объединенных в единый технологический процесс проектирования.

    курсовая работа [2,7 M], добавлен 05.04.2012

  • Обзор моделей анализа и синтеза модульных систем обработки данных. Модели и методы решения задач дискретного программирования при проектировании. Декомпозиция прикладных задач и документов систем обработки данных на этапе технического проектирования.

    диссертация [423,1 K], добавлен 07.12.2010

  • Направления развития САПР. Технологии интеграции инструментальных приложений. Схемы взаимодействия КОМПАС-3D и MathCAD на основе механизмов интеграции. Разработка интерфейсных модулей и механизма связывания переменных, апробация программного решения.

    диссертация [6,3 M], добавлен 15.04.2013

  • Исследование типовых примеров задач оптимизации. Реализация программы в среде MatLab для их решения. Изучение функций нелинейной оптимизации. Определение оптимума целевой функции одной или нескольких переменных. Поиск оптимальных настроек регулятора.

    лабораторная работа [188,8 K], добавлен 07.12.2016

  • Описание математических методов решения задачи оптимизации. Рассмотрение использования линейного программирования для решения транспортной задачи. Применение симплекс-метода, разработка разработать компьютерной модели в Microsoft Office Excel 2010.

    курсовая работа [1,5 M], добавлен 24.05.2015

  • Структура и классификация систем автоматизированного проектирования. Виды обеспечения САПР. Описание систем тяжелого, среднего и легкого классов. Состав и функциональное назначение программного обеспечения, основные принципы его проектирования в САПР.

    курсовая работа [37,7 K], добавлен 18.07.2012

  • Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели, постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации системы. Разработка программного кода для оптимизации системы.

    дипломная работа [581,7 K], добавлен 27.10.2017

  • Сущность задач оптимизации и методы их решения с ориентацией на современные средства компьютерной техники. Область допустимых решений. Структура оптимизационной модели. Проверка правильности нахождения точек координат методом половинного деления.

    курсовая работа [2,4 M], добавлен 25.04.2015

  • Анализ методов решения разреженных недоопределенных систем линейных алгебраических уравнений с помощью эффективных алгоритмов, основанных на декомпозиции линейных систем и учете их сетевых свойств. Использование встроенных методов пакета Mathematica.

    курсовая работа [4,2 M], добавлен 22.05.2014

  • Изучение особенностей структурного программирования и процесса применения многомодульности оконного интерфейса приложения. Описание внутренних переменных модуля. Рассмотрение и характеристика преимуществ современных интегрированных сред разработки.

    контрольная работа [487,0 K], добавлен 05.07.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.