Назад в библиотеку

Исследование возможностей применения технологии программных шаблонов для синтеза геометрических объектов языковыми средствами САПР CATIA

Автор: Бондаренко Е.С., Григорьев А.В.
Источник: Материалы VII Международной научно-технической конференции «Современные информационные технологии в образовании и научных исследованиях» (СИТОНИ-2021). – Донецк: ДонНТУ, 2021. – 626 с.

Аннотация

Бондаренко Е.С., Григорьев А.В. Исследование возможностей САПР CATIA для синтеза геометрических объектов. Рассмотрены и систематизированы основные инструменты CATIA для создания шаблонов геометрических объектов. Выявлены преимущества и недостатки построения шаблонов разными способами. Определен наиболее эффективный метод для синтеза геометрических объектов.

Общая постановка проблемы

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

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

Исследования

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

Программное обеспечение CAD (Computer Aided Design), CATIA - это высококачественное программное обеспечение САПР, которое предоставляет множество дополнительных инструментов и опций для создания геометрии и САПР автоматизация. Оно допускает различные уровни параметризации, которые предлагают широкий спектр возможностей автоматизации. Схематическое изображение различных уровней параметризации представлены на рисунке 1.

Рисунок 1 – Уровни параметрического моделирования CAD

Рисунок 1 – Уровни параметрического моделирования CAD

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

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

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

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

4. Правила и реакции - это более высокий уровень параметризации, который можно использовать для введения конструкторских знаний в геометрию [2]. Правила всегда активны в геометрии и могут быть использованы для описания отношений между геометрическими объектами, параметрами и свойствами и т. д. С другой стороны, реакции запускаются, как только они активируются заданным входом. Реакции могут использоваться для определения отклика геометрии на основе определенного триггера или события. Правила и реакции являются удобными инструментами в отношении автоматизации и модификации геометрии.

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

6. PowerCopies (мощные шаблоны) и пользовательские функции (UDF - User Defined Features) - это способы ввода знаний в геометрию. Один различающийся аспект заключается в том, что в отличие от шаблонов, powercopies и UDF зависят от контекста, который означает, что геометрия объекта изменяется в контексте, в котором он создается. Этот означает, что каждый экземпляр представляет собой отдельную сущность, которая может быть изменена. Тем не менее, в отличие от шаблонов, экземпляры powercopies и UDF не могут быть созданы динамически.

7. Динамические объекты достигаются путем добавления скриптов в UDF [2]. Таким образом, динамические объекты могут сочетать преимущества динамических шаблонов, зависимости от контекста и создание экземпляров объектов мощных копий или UDF [1]. Общие динамические объекты представляют собой высочайший уровень параметризации, позволяющий получить сложную геометрию, которая может быть автоматически и динамически создана в правильном контексте. Шаблон знаний – это пример общих динамических объектов в CATIA V5, которые можно использовать для управления геометрией, которые создаются автоматически и динамически.

В программном обеспечении CATIA V5 доступно несколько подходов, которые можно использовать для создания и автоматизации геометрических объектов, а именно: шаблон знаний и макропрограммирование. Оба они реализованы с помощью базы знаний, а также с помощью среды Microsoft Visual Basic IDE для отладки кода Visual Basic в сценариях VB.

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

Шаблон знаний является частью базы знаний в CATIA, и предоставляет язык сценариев, позволяющий создавать и создавать полную проектную спецификацию. Язык шаблонов знаний (KPE) чем-то похож на язык KWA, используемый в правилах CATIA.

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

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

Преимущества шаблонов:

1. Для автоматизации геометрии требуется меньше скриптов по сравнению с другими подходами, такими как создание сценариев VB.

2. В шаблон знаний встроена концепция списков и управления.

3. Удаление геометрии выполняется автоматически, по сравнению с VB сценариями, где все отдельные элементы геометрии, правила и формулы необходимо выбрать перед удалением.

Недостатки шаблонов:

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

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

3. Программирование шаблонов знаний невозможно выполнить в стандартных редакторах программирования, подобных Visual Basic.

4. База знаний не может получить доступ к другим программам, таким как Microsoft Excel и Блокнот, поэтому сложно интегрировать Microsoft Excel и шаблон знаний с помощью макросов или кодирования.

5. Функция проверки ошибок недоступна в языке базы знаний (KPE).

6. Функциональность и функции ограничиваются только созданием геометрии и ее обслуживанием по сравнению с Visual Basic.

Сценарии Visual Basic для автоматизации или модификации геометрии могут быть выполнены в CATIA, а также с помощью Microsoft Visual Basic Editor или IDE.

Преимущества сценариев:

Visual Basic - это всеобъемлющий язык программирования. Редактор Microsoft Visual Basic может помочь в изучении синтаксиса. Синтаксис хорошо известен и имеется много документации относительно написания API. Все библиотеки встроены в VBA-IDE, а значит, есть большое количество API-интерфейсов приложений, которые можно использовать для соединения Visual Basic с другим приложениями или программным обеспечением. Например, при выборе ссылок библиотек CATIA в VBAIDE среда разработки Visual Basic подключается к программному обеспечению CATIA и код можно переписать для автоматизации. Поскольку есть возможность отладки, это делает весь процесс кодирования намного проще, а также разработка кода может быть сделана намного больше устойчивый и надежный, благодаря выполнению широкого спектра тестов и сценариев.

Одним из хороших преимуществ является то, что код Visual Basic можно запускать на всех рабочих средах, доступных в программном обеспечении CATIA, чего нельзя сказать о шаблоне знаний. Используя концепцию записи макросов, встроенную в CATIA, код сценария Visual Basic может быть извлечен практически для любого типа операций. Это очень помогает в ускорении процесса генерации кода.

Недостатки сценариев:

Одним из недостатков сценариев VB является то, что требуется писать синтаксис для всех переменных и объектов, например, при определении нового целого числа в коде всегда требуется ввести «Dim int1 As Integer» и так далее.

Оба этих подхода используют разный синтаксис и основаны на разных языках программирования. Подход, основанный на шаблонах знаний, основан на языке инженерных знаний (EKL), в то время как Visual Basic Scripting основан на языке Microsoft Visual Basic [3].

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

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

Имеется мало информации о шаблоне знаний и его синтаксисе. Это связано с тем, что функция шаблона знаний была введена несколько лет назад. Из-за этого требуется время, чтобы выяснить правильный синтаксис и необходимые функции, прежде чем написать ко для модели. Совершенно иначе обстоит дело с динамическими объектами с использованием сценариев VB. Поскольку он основан на стандарте Microsoft Visual, доступен базовый язык, значительный объем документации и справочник по синтаксису. Написание кода в среде Visual Basic проще благодаря возможности записи макросов.

Кроме того, любая IDE для программирования на VB может быть использована для написания кода для с использованием сценариев VB, а не только того, который включен в CATIA V5.

Нет возможности для проверки ошибок и отладки кода в шаблонах знаний, начиная с версии R18 CATIA V5. Это вызывает множество проблем при поиске ошибки в коде и его отладке. Выполняется сразу весь код шаблона знаний, и его нельзя запускать пошагово. Итак, необходимо точное понимание работы кода, написанного для шаблона знаний, для его отладки. Дело значительно отличается от подхода к написанию сценариев VB, где в стандартной IDE доступно множество способов проверки синтаксических ошибок и отладка кода. Весь процесс поиска ошибок и отладки кода можно сделать логическим и постепенным. Это также позволяет сделать код более надежным для обработки широкого спектра сценариев с помощью отладки и проверки ошибок.

Следует отметить, что не все функции и инструменты, доступные в CATIA V5, могут быть доступны в шаблонах знаний. Это означает, что шаблон знаний в некоторой степени ограничен количеством функций CATIA, к которым он может получить доступ, и, следовательно, код, который написан в шаблоне знаний, содержит лишь встроенные функции. С другой стороны, с подходом сценариев VBA, очень большое количество функций и инструментов становится доступно. Это дает возможность использовать ряд инструментов и функций при программировании моделей, к которым не может получить доступ шаблон знаний.

Выводы

Как подход с использованием шаблонов знаний, так и подход с использованием сценариев VBA могут можно успешно использовать при создании шаблона простейших геометрических объектов.

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

Объем кода, который необходимо написать для универсальной модели, основанной на шаблонах знаний значительно меньше, чем с моделью на основе сценариев VBA.

Отладка и проверка ошибок намного проще с помощью сценариев VBA, чем в шаблоне знаний из-за наличия инструментов отладки в среде VBA.

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

Список использованной литературы

1. Ledermann C., Hanske C., Wenzel J., Ermanni P., Kelm R., "Associative parametric CAE methods in the aircraft pre-design", Journal of Aerospace Science and Technology, Vol. 9, Issue 7, October 2005, pp. 641-651, Elsevier.
2. Amadori K., “On Aircraft Conceptual Design, A framework for knowledge based engineering and design optimization”, Thesis No. 1366, Linkoping University, Linkoping, Sweden, 2008.
3. Д. Зитен. Программирование макросов CATIA V5 с помощью скрипта Visual Basic, McGraw-Hill, 2013.