¬аше окно в мир —јѕ–
Ќовости —татьи јвторы —обыти€ ¬акансии Ёнциклопеди€ –екламодател€м
—татьи

26 июл€ 2023

ƒостижени€ геометрического €дра RGK в 36 рисунках и подробных комментари€х

—ергей  озлов, Ћеонид Ѕаранов

—ергей  озлов Ћеонид Ѕаранов

јвторы: —ергей  озлов Ч директор по разработке, Ћеонид Ѕаранов Ч директор по развитию технологий 3D моделировани€, «јќ Ђ“оп —истемыї

ќригинал: √еометрическое €дро RGK на форуме компании Ђ“оп —истемыї

—одержание

»стори€ создани€ RGK
ѕринципы построени€ и архитектурные особенности RGK
ѕостроение поверхностей и задачи сглаживани€
Ќекоторые инструменты дл€ решени€ специальных задач


ядро RGK


Ќа прошедшем 24 ма€ форуме компании Ђ“оп —истемыї одна из основных сессий была посв€щена представлению продукта компании Ђ“оп —истемыї Ч геометрического €дра RGK. —ессию вели директор по разработке компании —ергей  озлов и директор по развитию технологий 3D моделировани€ Ћеонид Ѕаранов. ќн, в частности, €вл€етс€ руководителем группы разработки геометрического €дра RGK.

»стори€ создани€ RGK

¬ первой части секции —ергей  озлов рассказал об истории создани€ и текущем статусе геометрического €дра.

–азработка геометрического €дра , по сути, началась в далЄком 1984 году, когда в ћосковском станкоинструментальном институте (позже ћ√“” Ђ—танкинї) была организована группа по исследовани€м в области геометрического моделировани€ и разработке 3D €дра под руководством доцентов ј.¬. –ыбакова и ¬.ё. —удзиловского. »менно с того момента Ћеонид Ѕаранов начал заниматьс€ этой работой в качестве математика-программиста, а позже, после завершени€ учЄбы в —танкине, возглавил эту группу. –езультат работы оказалс€ существенным. ¬ 1995 году была выпущена верси€ T-FLEX CAD, в которой функциональность 3D моделировани€ обеспечивалась собственным геометрическим €дром. –есурсов дл€ ведени€ столь наукоЄмкой и дорогосто€щей разработки у компании на тот момент было недостаточно. ќдновременно с этим представилась возможность лицензировать геометрическое €дро ACIS, а потом и Parasolid. “ак, в 1996 году была выпущена 6-€ верси€ T-FLEX CAD на геометрическом €дре ACIS, а в 1998 году вышла верси€ 7 на €дре Parasolid. “аким образом, разработчики T-FLEX CAD получили возможность поработать со всеми основными геометрическими €драми и оценить их архитектуру и особенности.

¬ 2011 году ћ√“” Ђ—танкинї получил контракт на разработку российского геометрического €дра в рамках развити€ программы отечественного станкостроени€. ¬ качестве задела этой работы были вз€ты наработки компании Ђ“оп —истемыї. — целью обеспечени€ наиболее современного уровн€ решени€ алгоритмы €дра были практически полностью модернизированы, но основные подходы к реализации сохранены. ѕо завершении работы по контракту в 2013 году компани€ Ђ“оп —истемыї не остановила разработку RGK (именно в то врем€ получил название этот продукт), а продолжила его развитие.

—ергей  озлов и Ћеонид Ѕаранов

—ергей  озлов и Ћеонид Ѕаранов представл€ют геометрическое €дро RGK

√еометрическое €дро RGK нашло своЄ применение в проекте Ђ√ербарийї, который компани€ Ђ“оп —истемыї выполн€ла по заказу ‘онда перспективных исследований (‘ѕ») в 2015-2016 годах, а также в проекте —ѕ∆÷ Ђ÷ифровое предпри€тиеї (Ђ—ј–”—ї) Ч проекте, первый этап которого завершилс€ совсем недавно. ¬ разработке этого проекта компани€ Ђ“оп —истемыї прин€ла самое активное участие.

¬ насто€щее врем€ компани€ Ђ“оп —истемыї получила все возможности по самосто€тельному развитию и выводу на рынок RGK в качестве коммерческого продукта. ѕродукт будет поставл€тьс€ сразу дл€ нескольких платформ, включа€ различные версии Linux, в том числе отечественные сертифицированные версии. ѕоставка продукта планируетс€ в виде библиотеки классов дл€ использовани€ на €зыке программировани€ C++, а также всех компонентов, необходимых дл€ удобного применени€ в конечных системах.  омплект инструментов разработчика (SDK) включает в себ€:

  • исполн€емые модули;
  • библиотечные и заголовочные файлы, необходимые дл€ сборки конечного приложени€;
  • файл электронного руководства в виде гипертекстовой справки;
  • набор примеров в исходных кодах;
  • исполн€емую программу RGKWorkshop Ч тестовую и отладочную оболочку, €вл€ющуюс€ одновременно и средством анализа, и средством отладки геометрических моделей;
  • описание формата хранени€ моделей RGK Ч RGK_XML.

ќтдельно стоит отметить, что формат хранени€ данных RGK_XML €вл€етс€ открытым и специфицированным. ќн имеет пон€тную структуру, соответствующую общим принципам организации модели данных RGK. ‘ормат может быть использован с целью стандартизации дл€ обеспечени€ представлени€ точной геометрической модели данных объектов.

ѕринципы построени€ и архитектурные особенности RGK

¬торую часть секции вЄл Ћеонид Ѕаранов. ќн рассказал о принципах построени€ модели данных геометрического €дра RGK, его архитектурных особенност€х и наиболее сложных и интересных задачах, которые приходитс€ решать разработчикам модул€. –ассказ сопровождалс€ большим количеством иллюстраций и демонстрацией сравнительных тестов.

√еометрическое €дро RGK обеспечивает моделирование геометрических объектов по классической схеме граничного представлени€ (B-Rep) с Ђточнойї геометрией Ч с использованием аналитического представлени€ кривых и поверхностей разных типов. “акое представление позвол€ет моделировать объекты с высокой точностью, одновременно обеспечива€ возможность работы с толерантной геометрией, когда вместе с объектами модели хранитс€ точность, с которой они были рассчитаны. ѕараметры точности толерантной геометрии примен€ютс€ при всех вычислени€х, выполн€емых в коде €дра. ƒанна€ особенность обеспечивает возможности по сохранению целостности геометрической модели даже дл€ очень сложных геометрических форм и невысокой точности исходных данных.

√еометрическое €дро обеспечивает выполнение следующих основных функций:

  • хранение геометрической модели (геометрии/топологии тел, поверхностей, кривых);
  • создание и редактирование геометрической модели;
  • управление идентификацией и атрибутами геометрической модели;
  • контроль целостности и качества геометрической модели;
  • измерение и анализ геометрической модели;
  • построение плоскогранных представлений (тессел€ции) модели с целью визуализации или подготовки данных дл€ генерации расчЄтных (CAE) сеток;
  • генераци€ проекций и видов.


 лассы геометрического €дра RGK, доступные дл€ использовани€ в конечных приложени€х, обеспечивают как низкоуровневую функциональность дл€ создани€ и редактировани€ геометрии, так и высокоуровневые специализированные функции, которые в €дре называютс€ генераторами. “ак, в составе библиотеки классов €дра имеютс€ следующие генераторы:

  • примитивы (призма, тор, сфера, цилиндр, конус);
  • кинематические операции (выт€гивание, вращение, по траектории, по сечени€м);
  • булевы операции (глобальные, локальные, селективные);
  • операции сглаживани€ различных типов (фаски, рЄберное сглаживани€, трЄхгранное сглаживание, сглаживание граней);
  • операци€ оболочки/тела смещени€/придани€ толщины;
  • операци€ уклона граней;
  • операции удалени€/замены/трансформации граней (так называемые операции пр€мого моделировани€);
  • операции сшивки/разрезани€;
  • операции копировани€/трансформации тел, в том числе с использованием различных масштабов по ос€м;
  • р€д низкоуровневых операций с телами, а также множество операций с кривыми.


‘ункциональность многих генераторов в RGK весьма развита€. ќстановимс€ на описании особенностей некоторых из операций, поддерживаемых €дром.

Ќапример, в генераторе Ђпо траекторииї и Ђпо сечени€мї поддерживаетс€ р€д довольно продвинутых опций. ¬озможно задание законов кручени€ и масштабировани€ прот€гиваемого контура как отдельно, так и в комбинации (рис. 1), а также задание нескольких траекторий и различных способов их синхронизации.

ѕрот€гивание по траектории с масштабированием и/или кручением

–ис. 1. ѕрот€гивание по траектории с масштабированием и/или кручением

 роме того, поддерживаетс€ обработка изломов на траектории движени€ (рис. 2, 3).

ќбработка изломов при прот€гивании по траектории

–ис. 2. ќбработка изломов при прот€гивании по траектории

ѕрот€гивание по траектории по трЄм направл€ющим

–ис. 3. ѕрот€гивание по траектории по трЄм направл€ющим

ѕостроение поверхностей и задачи сглаживани€

ѕри построении поверхностей в €дре особое внимание удел€етс€ их качеству Ч как с точки зрени€ соблюдени€ требований точности построени€, так и в плане минимизации количества управл€ющих точек и регул€ризации параметризации. ѕоскольку разработчики RGK имеют пр€мой доступ к функциональности, пожалуй, лучшего твердотельного €дра в мире Ч Parasolid, это позвол€ет проводить непредвз€тые исследовани€ и сравнение результатов. ¬ насто€щее врем€ качество алгоритмов генерации поверхностей в RGK в целом сопоставимо с этим €дром и продолжает посто€нно совершенствоватьс€, так как текущей задачей разработчиков €вл€етс€ достижение функционального паритета с лучшими мировыми €драми. ¬ св€зи с этим в процессе разработки проводитс€ больша€ исследовательска€ работа по анализу качества алгоритмов по сравнению и с другими конкурирующими решени€ми Ђт€жЄлогої класса.

 ак известно, одним из наиболее сложных как в математическом, так и алгоритмическом отношении классом задач геометрического моделировани€ €вл€ютс€ задачи сглаживани€ (скруглени€) поверхностей. ”читыва€ это, при разработке €дра RGK особое внимание удел€етс€ именно данной функциональности.

¬ насто€щее врем€ в сглаживании рЄбер поддерживаютс€ практически все основные режимы управлени€ формой, известные по функциональности так называемых систем Ђт€жЄлогої класса: сечение посто€нного и переменного радиуса; заданна€ ширина, как в посто€нном, так и переменном режимах; переменные сечени€ с кривыми второго пор€дка (эллипсы, параболы, гиперболы); режимы гладких переходов и сохранени€ рЄбер на всех типах сглаживаний; сохранение кривизны Ч G2 гладкость (рис. 4); задание отступов от вершины при вершинном сглаживании.

«адание граничных условий в генераторе по сечени€м

–ис. 4. «адание граничных условий в генераторе Ђпо сечени€мї: G2-гладкое сопр€жение поверхностей

ќсобенно стоит отметить архитектуру алгоритма, котора€ позвол€ет в едином формализме поддерживать сглаживание как рЄбер, так и граней, а также трЄхгранное сглаживание, тем самым обеспечива€ очень высокую гибкость алгоритма и возможность развити€. Ѕольша€ работа проделана в части топологической робастности алгоритма сглаживани€. Ќапример, в зависимости от заданного радиуса алгоритм умеет делать большие перестройки топологии тела (рис. 5, 6).

јлгоритм не цепл€етс€ за родительские ребра

–ис. 5. јлгоритм Ђне цепл€етс€ї за родительские ребра Ч его поведение определ€етс€ радиусом

¬ыход алгоритма сглаживани€ на соседние грани при большом радиусе поверхности

–ис. 6. ¬ыход алгоритма сглаживани€ на соседние грани при большом радиусе поверхности (режим сохранени€ ребра)

явл€етс€ допустимым построение сглаживани€ большего радиуса по меньшему. “ака€ задача возникает довольно часто при практическом моделировании (рис. 7).

ќбработка участков с радиусом кривизны, меньшим, чем текущий радиус сглаживани€

–ис.7. ќбработка участков с радиусом кривизны, меньшим, чем текущий радиус сглаживани€

ѕоддерживаютс€ различные Ђпереполнени€ї, то есть переходы на гладкие соседние грани, а также, при необходимости, сохранение рЄбер (рис. 8-10).

ѕоддержка различных сценариев при выходе на гладкие рЄбра

–ис. 8. ѕоддержка различных сценариев при выходе на гладкие рЄбра

—охранение ребра при работе с большими радиусами сглаживани€

–ис. 9. —охранение ребра при работе с большими радиусами сглаживани€

–ежим сохранени€ острых рЄбер на переменном сглаживании

–ис. 10. –ежим сохранени€ острых рЄбер на переменном сглаживании (обеспечиваетс€ G1 гладкость всей последовательности граней)

ќсобого внимани€ заслуживает способность алгоритма сглаживани€ RGK обрабатывать вырождение топологических элементов (рис. 11).

ќбработка исчезновени€ граней в предельном случае

–ис. 11. ќбработка исчезновени€ граней в предельном случае

ѕоддерживаетс€ сложна€ топологи€ перекрытий сглаживаний, что значительно повышает качество работы алгоритма при реальном применении (рис. 12).
ѕример поддержки перекрыти€ сглаживаний из нескольких граней

–ис. 12. ѕример поддержки перекрыти€ сглаживаний из нескольких граней

»нтересные результаты достигнуты при построении переменного сглаживани€. ¬ частности, поддерживаетс€ обработка перекрыти€ сглаживающих последовательностей с перевычислением закона изменени€ радиуса в области перекрыти€ (рис. 13).

¬ыпукло-вогнутое сглаживание переменным радиусом

–ис. 13. ¬ыпукло-вогнутое сглаживание переменным радиусом

≈стественно, алгоритмами RGK реализована поддержка различных сечений переменного радиуса (рис. 14).

»спользование переменных законов смещени€ при рЄберном сглаживании в RGK

–ис. 14. »спользование переменных законов смещени€ при рЄберном сглаживании в RGK

»спользование управлени€ типом кривой сечени€ через выпуклость-дискриминант конического сечени€

–ис. 15. »спользование управлени€ типом кривой сечени€ через выпуклость-дискриминант конического сечени€ (переход от отрезка пр€мой к гиперболе)

ѕоддержка G2 гладкости на переменном и посто€нном радиусах

–ис. 16. ѕоддержка G2 гладкости на переменном и посто€нном радиусах

ѕоддержка режима посто€нной ширины сечени€ дл€ разных типов сечени€

–ис. 17. ѕоддержка режима посто€нной ширины сечени€ дл€ разных типов сечени€

ѕример работы режима заданной ширины

–ис. 18. ѕример работы режима заданной ширины

 роме того, разработана математика построени€ гладких Ђзат€гиванийї n-угольных областей (рис. 19).

G1 зат€гивание n-угольных областей

–ис. 19. G1 зат€гивание n-угольных областей

Ёти разработки позвол€ют, в частности, решать задачу построени€ поверхностей с отступами от вершины (setback) Ч рис. 20 и 21.

ѕрименение алгоритма зат€гивани€ области дл€ задачи отступов

–ис. 20. ѕрименение алгоритма зат€гивани€ области дл€ задачи отступов

Ќагл€дный пример задачи отступов

–ис. 21. Ќагл€дный пример задачи отступов

јлгоритм сглаживани€ работает как на твЄрдых, так и на поверхностных телах Ч в RGK нет различий между этими топологи€ми (рис. 22).

—глаживание ребра поверхностного тела

–ис. 22. —глаживание ребра поверхностного тела

¬ €дре RGK функциональность сглаживани€ граней и рЄбер реализована, по сути, одним и тем же алгоритмом Ч отличие только в интерфейсе верхнего уровн€, но при этом решаютс€ классические задачи сглаживани€ граней (рис. 23-25).

—глаживание граней, принадлежащих разным телам

–ис. 23. —глаживание граней, принадлежащих разным телам

—глаживание граней с удалением сложной топологии

–ис. 24. —глаживание граней с удалением сложной топологии

ѕример трЄхгранного сглаживани€ Ч поверхность, касательна€ к трЄм стенкам

–ис. 25. ѕример трЄхгранного сглаживани€ Ч поверхность, касательна€ к трЄм стенкам

Ќекоторые инструменты дл€ решени€ специальных задач

“ак как €дро RGK изначально разрабатываетс€ с целью конкуренции с лучшими мировыми промышленными €драми, в число инструментов €дра внесена различна€ функциональность, котора€ требуетс€ прикладным системам Ђт€жЄлогої класса дл€ решени€ различных специальных задач. Ќапример, задача построени€ уклона граней формулировалась изначально как задача с указанием фиксированных рЄбер произвольной геометрии и возможностью изменени€ топологии тела в процессе операции (рис. 26).

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

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

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

ѕостроение уклона грани с заданной поверхностью разъЄма

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

ƒругой пример: в булевых операци€х помимо традиционного Ђглобальногої режима операций (объединение, вычитание и пересечение) предусмотрены режимы локальных операций, когда приложение может указать, с какими именно гран€ми надо проделывать селективные булевы операции с возможностью выбора частей исходных тел, которые останутс€ в результате.  роме того, предусмотрена обобщЄнна€ булева операци€, котора€ может формировать топологическую модель, представл€ющую тела, контактирующие друг с другом по гран€м и рЄбрам. ¬ажно также отметить, что булевы операции работают как над твЄрдыми, так и над поверхностными телами, а также их комбинаци€ми (рис. 28-32).

Ѕулевы операции над поверхностными телами

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

Ћокальные булевы операции над заданным набором граней тела

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

—елективна€ булева операци€ (вычитание)

–ис. 30. —елективна€ булева операци€ (вычитание)

—елективна€ булева операци€ (объединение) над твЄрдым и поверхностным телами

–ис. 31. —елективна€ булева операци€ (объединение) над твЄрдым и поверхностным телами

ќбобщЄнна€ булева операци€ (объединение)

–ис. 32. ќбобщЄнна€ булева операци€ (объединение): красным цветом выделены грани контакта

¬ наборе инструментов булевых операций поддерживаетс€ функциональность по работе с экземпл€рами тел (instancing) Ч техники оптимизации булевой операции над массивами тел, геометри€ которых отличаетс€ только положением экземпл€ров в пространстве.  роме этого, поддерживаютс€ операции Ђпо образцуї (patterning), когда элементы размножаютс€ по заданной грани (рис. 33).
–азмножение граней тела операцией Ђмассив гранейї (patterning)

–ис. 33. –азмножение граней тела операцией Ђмассив гранейї (patterning)

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

ѕример работы алгоритмов булевых операций RGK

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

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

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

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

ѕроекци€ с удалением невидимых линий сборки крана 9356 тел

√рафик загрузки процессора на этой задаче

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


¬ насто€щее врем€ комплект разработчика RGK (SDK) готов к передаче сторонним разработчикам дл€ пробного использовани€. ∆елающие попробовать RGK могут обратитьс€ в компанию Ђ“оп —истемыї.

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

–абота над €дром идЄт высокими темпами, так как компани€ Ђ“оп —истемыї ставит перед собой задачу в максимально короткие сроки достичь уровн€ существующих западных мировых лидеров в области геометрического моделировани€, а возможно, и превзойти этот уровень.



¬акансии:

јктуальное обсуждение

RSS-лента комментариев

-->

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: „тобы не пострадать от роботов, человеку нужно надЄжно отличатьс€ от продуктового контейнера
ѕроект ЂЌародное —јѕ–-интервьюї

—лучайна€ стать€:

ќбзор ZW3D 2024 √ќ—“ ≈— ƒ — ¬италий Ћоза (5 окт€бр€ 2023)
isicad Top 10

—амые попул€рные материалы

   ‘орумы isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

ќ проекте

ѕриглашаем публиковать на сайте isicad.ru новости и пресс-релизы о новых решени€х и продуктах, о проводимых меропри€ти€х и другую информацию. јдрес дл€ корреспонденции - info@isicad.ru

ѕроект isicad нацелен на

  • укрепление контактов между разработчиками, поставщиками и потребител€ми промышленных решений в област€х PLM и ERP...
ѕодробнее

»нформаци€ дл€ рекламодателей


¬се права защищены. © 2004-2023 √руппа компаний «Ћ≈ƒј—»

ѕерепечатка материалов сайта допускаетс€ с согласи€ редакции, ссылка на isicad.ru об€зательна.
¬ы можете обратитьс€ к нам по адресу info@isicad.ru.