Кремень КД Реклама
Кремень КМ Реклама

Российское геометрическое ядро RGK - функциональность для систем "тяжелого" класса

T-FLEX CAD
Идет загрузка
Загрузка
08.08.2023
1632
2
Разное

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

4

Продолжение публикации о российском геометрическом ядре RGK.

Российское геометрическое ядро RGK (часть 1)

Российское геометрическое ядро RGK - Построение поверхностей и задачи сглаживания (часть 2)

Так как ядро RGK изначально разрабатывается с целью конкуренции с лучшими мировыми промышленными ядрами, в число инструментов ядра внесена различная функциональность, которая требуется прикладным системам «тяжёлого» класса для решения различных специальных задач. Например, задача построения уклона граней формулировалась изначально как задача с указанием фиксированных рёбер произвольной геометрии и возможностью изменения топологии тела в процессе операции (рис. 26).

Российское геометрическое ядро RGK - функциональность для систем

Рис. 26. Построение уклона граней с фиксированным ребром и изменением топологии модели

Уклон относительно поверхности разъёма, конечно, тоже поддерживается, как частный случай более общей постановки (рис. 27).

Российское геометрическое ядро RGK - функциональность для систем

Рис. 27. Построение уклона грани с заданной поверхностью разъёма

Другой пример: в булевых операциях помимо традиционного «глобального» режима операций (объединение, вычитание и пересечение) предусмотрены режимы локальных операций, когда приложение может указать, с какими именно гранями надо проделывать селективные булевы операции с возможностью выбора частей исходных тел, которые останутся в результате. Кроме того, предусмотрена обобщённая булева операция, которая может формировать топологическую модель, представляющую тела, контактирующие друг с другом по граням и рёбрам. Важно также отметить, что булевы операции работают как над твёрдыми, так и над поверхностными телами, а также их комбинациями (рис. 28-32).

Российское геометрическое ядро RGK - функциональность для систем

Рис. 28. Булевы операции над поверхностными телами

Российское геометрическое ядро RGK - функциональность для систем

Рис. 29. Локальные булевы операции над заданным набором граней тела

Российское геометрическое ядро RGK - функциональность для систем

Рис. 30. Селективная булева операция (вычитание)

Российское геометрическое ядро RGK - функциональность для систем

Рис. 31. Селективная булева операция (объединение) над твёрдым и поверхностным телами

Российское геометрическое ядро RGK - функциональность для систем

Рис. 32. Обобщённая булева операция (объединение): красным цветом выделены грани контакта

В наборе инструментов булевых операций поддерживается функциональность по работе с экземплярами тел (instancing) — техники оптимизации булевой операции над массивами тел, геометрия которых отличается только положением экземпляров в пространстве. Кроме этого, поддерживаются операции «по образцу» (patterning), когда элементы размножаются по заданной грани (рис. 33).

Российское геометрическое ядро RGK - функциональность для систем

Рис. 33. Размножение граней тела операцией «массив граней» (patterning)

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

Российское геометрическое ядро RGK - функциональность для систем

Рис. 34. Пример работы алгоритмов булевых операций RGK

Российское геометрическое ядро RGK - функциональность для систем

Рис. 35. Характерный график загрузки процессора на задаче с предыдущего рисунка

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

Российское геометрическое ядро RGK - функциональность для систем Российское геометрическое ядро RGK - функциональность для систем

Рис. 36. Проекция с удалением невидимых линий сборки крана (9356 тел) и график загрузки процессора на этой задаче

В настоящее время комплект разработчика RGK (SDK) готов к передаче сторонним разработчикам для пробного использования. 

Помимо работы над самим ядром выполняются связанные работы в T-FLEX CAD 17. В частности, формат RGK (RGK_XML) теперь поддерживается в составе функций импорта/экспорта как через пользовательский интерфейс системы, так и при помощи Open API. Кроме этого, доступ к объектам модели (телам, кривым) в формате RGK можно получить, воспользовавшись новыми функциями в составе Open API T-FLEX CAD. Эти функции системы позволяют получить геометрические объекты CAD-системы в формате RGK наиболее удобным способом. Последнее обновление T-FLEX CAD 17 поддерживает эти новые возможности.

Работа над ядром идёт высокими темпами, так как компания «Топ Системы» ставит перед собой задачу в максимально короткие сроки достичь уровня существующих западных мировых лидеров в области геометрического моделирования, а возможно, и превзойти этот уровень.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

4
Комментарии к статье