РАЗРАБОТКА ПРОГРАММНОГО ПРОДУКТА ДЛЯ ИНТЕГРАЦИИ САПР CATIA V5 И САЕ-СИСТЕМЫ GEANT4 Ошкина Е.В.
Ошкина Елена Владимировна - студент, кафедра систем автоматизированного проектирования, Московский государственный технический университет им. Н.Э. Баумана, г. Москва
Аннотация: в данной работе представлено краткое описание методики обмена триангулированной геометрической информацией между системами CATIA и GEANT4. Приводится описание способа конвертирования конструктивной твердотельной геометрии (CSG) в твердое тело, описанное с помощью границ (BREP). Ключевые слова: физика, catia, geant, моделирование, vba, stl, gdml.
Введение
На современном этапе развития технологий невозможно представить работу ни одного производства без применения организационно-технических систем, таких как CATIA, NX, AutoCAD. Представление и отображение всех этапов жизненного цикла изделия, начиная от маркетинговых исследований и заканчивая утилизацией, является одной из первостепенных задач систем автоматизированного проектирования.
При использовании достаточно большого количества различных систем рано или поздно приходится столкнуться с вопросом, связанным с обменом информацией о комплексных решениях, полученных на разных этапах проектирования изделий. Сегодня физика элементарных частиц исключительный пример, отражающий успешную интеграцию теоретических данных с разработкой и применением современных информационных технологий.
Создание моделей и установок, которые являются сложной наукоемкой продукцией, выполняется в CAD-системах, а анализ и исследования выполняются в системах CAE. Несмотря на повсеместное использование и распространение систем CAD для проектирования и систем CAE для анализа, до сих пор не был разработан достаточно эффективный способ интегрируемости между ними.
Проблема заключается в том, что модели CAD и CAE используют разные типы геометрических моделей, а именно BREP и CSG.
Формулировка задачи
Исходя из вопросов и проблем, возникающих при использовании систем CAD и CAE в исследованиях и экспериментах физики высоких энергий, потребовалось разработать методику представления триангулированной геометрии, используемой в системе GEANT4 с помощью стандартных средств САПР CATIA, а также разработать программные средства для работы системы CATIA с форматом GDML.
Проблема проектирования и выбор алгоритма
Кроме BREP и CSG существует способ представления геометрических моделей в виде тесселированных тел. Особое внимание в работе будет отведено именно этому методу. Триангуляция - это аппроксимация поверхности моделируемого объекта с помощью треугольных пластин [1]. В данном представлении накладывается требование на состыковку треугольных вершин между собой. Как результат, вершины находятся на поверхности модели (рисунок 1).
Рис. 1. Модель триангулированной призмы в системе CATIA
Работать с набором треугольных пластин намного легче, чем с поверхностью общего вида. Но следует также отметить, что проблема построения триангуляции является одной из сложных и актуальных задач, возникающих в сфере машинной графики, механики и геометрического моделирования в настоящее время.
Разработанная методика опирается на использование формата STL в системе CATIA и формата GDML в системе GEANT4. STL расшифровывается как Stereolithographic (объемная литография). Компания Albert Consulting Group выдвинула на рынок первое описание алгоритма обработки по слоям [2]. STL является «мозаичным» форматом, в нем для отображения формы объемной модели используется последовательность треугольников, так называемых фасетов.
Как было определено выше триангуляция тела позволяет отойти от описания моделей поверхностями высоких порядков к использованию фасетной геометрии. В данном способе представления каждый треугольник описывает четыре набора данных: координаты X, Y, Z от всех вершин и нормальный вектор, который показывает ориентацию фасета, указывается, как и в других форматах, направление из центра модели.
GDML - Geometry Description Markup Language, язык используется для описания геометрии и материалов в файлах XML, что является достаточно удобным способом представления [3]. Данный формат также позволяет изменять модели деталей и установок без перекомпиляции программы.
Отличительной особенностью реализации тесселированных тел в системе GEANT4 является строго определенное описание фасетов для их представления. Каждый треугольник определяется специальной ссылкой в дереве, для создания которой необходимо предварительно определить все используемые в нем вершины в единичном варианте, то есть нужно хранить информацию только об уникальных вершинах, что же касается формата STL, то в нем повторение вершин допускается. Данные отличия в описании геометрической информации и являются основными причинами для специализированной обработки вершин.
Описание методики конвертирования
Перед использованием программы необходимо подготовить данные в формате STL, используя CAD систему. В САПР CATIA есть возможность выбора количества узлов, что позволяет в зависимости от необходимости и постановки задач получать модели с той или иной точностью. Пример STL файла представлен на рисунке 2.
facet normal 0.000000e+000 0.000000e+000 1.000000e+000
vertex P9.053075e+001 5.919615e+001 0.000000e+000 vertex 8.485281e+001 8.485281e+001 0.000000e+000 vertex 8.773519e+001 5.555291e+001 0.000000e+000
facet normal 0.000000e+000 0.000000e+000 1.000000e+000
vertex 9.053075e+001 5.919615e+001 0.000000e+000 vertex 9.508366e+001 5.979556e+001 0.000000e+000 vertex 8.485281e+001 8.485281e+001 0.000090e+000
facet normal -8.857022e-018 -6.727561e-017 1.000000e+000 vertex 9.053075e+001 -5.919615e+001 1.776357e-015
Рис. 2. Фрагмент файла в формате STL
На вход разработанной программе поступает файл формата STL, полученный в системе CATIA. Считываемые строки разбиваются на лексемы, среди которых находятся координаты вершин фасетов.
Организуется последовательное занесение вершин в динамические массив, затем вычленяются вершины, образующие треугольники, но в набор данных не происходит включения вершин, имеющих равные координаты.
Далее обработанные данные, согласно строгому регламенту представления формата GDML организуются и отправляются на вывод в файл.
Результатом, получаемым после выполнения программы, является GDML файл, полностью готовый к использованию, результат одного из тестовых запусков представлен на рисунке 3.
Tircul - -vi«" vtiieii - vertexl - /
<tilingiili[ verteil - verteil • verteil - -vlii* У
<Eri*ngul*r verteil - "V151- vette« - -vtJil- vemejti - /
verteil - vertex! - **v610" verteil - /
ar,g"jlar verteil - -iMli" mttt: - T4»' - /
< t r L ar.gMl л г verteil - "vtil" verteil - "TilS" vertex3 - -Т61Й" /
verteil - *v6S?p vertex! - -Tibi* verteil - -TlfiS' /
rianauiar vettexl - "V969" vette*J - - /
i^nar.fiilai verteil - vertex! - verteil - **T6Ü* /
vcitcul - -4-6J2- wnit! - ш*Л22ш v*rt«3 - "Tili" /
verteil - -VtHC" verteil - verteil - /
iirilMJjlil verteil - 'тЗ1!«' verteil - *7(M" verteil - -TlTT" /
verteil - "rtOi" verteii - •vili- - -VI 10' /
itrur.ijjUr verteil - *v<lö» veiteii - verteil - "TtJf* /
itrLififful** VtrtCMl - *vtlü> v«rttM! - vtl!«} - «rill' /
<trltngulir verteil - verteil - verteil - •Yl(3* /
c.rl.ir.g-jlii' vtltf*1 ■ • -viis- verteil * /
cdir.g-jjit verteil - -41Ü- nitnl - -v«S" verteil - /
<t[lingiili[ verteil * verteil - 4v3?S* verteil - /
verteil - -vit-J- verteij - -V3TS- verteil - •vilf /
</teis«ll*ted>
Рис. 3. Фрагмент файла в формате GDML
Результаты тестирования разработанного метода
Для осуществления корректной реализации алгоритма было принято решение использовать примитивные модели на начальных этапах. Это также позволило осуществлять быстро и удобное тестирование программы. В системе САПР CATIA была получена модель пирамиды, представленная на рисунке 4.
Рис. 4. Геометрическая модель в системе CATIA
Данная пирамида содержит пять уникальных вершин и шесть фасетов. При реализации программы также был учтен факт обхода вершин в системе GEANT4 против часовой стрелки, результат представлен на рисунке 5.
Рис. 5. Модель, полученная в системе GEANT4
При финальном тестировании программы была использована реальная часть физической установки, содержащая 5531 вершину. Деталь представлена на рисунке 6.
Рис. 6. Деталь, построенная в системе CATIA
В системе GEANT4 в течение нескольких секунд также был получен корректный результат, представленный на рисунке 7.
Рис. 7. Тесселированный солид, построенный системой GEANT4
Создание исполняемой программы моделирования установки в системе GEANT4 -задача конечного пользователя. В самом простом случае от него достаточно описания геометрии детектора, списка физических процессов, учитываемых в моделировании и генерации первичной вершины.
Работа осуществляется на основе базового механизма: описания геометрии, описания физических процессов, визуализации и интерфейса пользователя.
Заключение
Разработана объектно-ориентированная программа для конвертации в геометрию, распознаваемую системой GEANT4 с помощью стандартных средств САПР CATIA, в качестве языка был использован C++.
Реализована автоматизация геометрического моделирования сложных поверхностей для физического моделирования.
Выполнено автоматическое получение GEANT4-подобной геометрии из инженерной.
Предоставлена возможность для удобного визуального контроля процесса моделирования, а также для одновременной работы с CAD-моделью при анализе физических процессов в системе CAE GEANT4.
Список литературы
1. Голованов Н.Н. Геометрическое моделирование. М.: Академия, 2011. 272 с.
2. Басов К.А. CATIA V5. Геометрическое моделирование М.: ДМК Пресс, 2008. 268 с.
3. Маклахлин Б. Java и XML М.: Символ-Плюс, 2002. 544 с.