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

26 но€бр€ 2014

ќбзор Open CASCADE Technology

—ергей —л€днев

Sergey Slyadnev —. —л€днев закончил факультет ¬ычислительной ћатематики и  ибернетики Ќижегородского √осударственного ”ниверситета им. Ћобачевского по специальности ѕрикладна€ ћатематика и »нформатика. ѕо счастливому случаю оказалс€ в компании OPEN CASCADE, где работает с 2008 года. ¬ сфере его профессиональных интересов наход€тс€ численные методы и геометрическое моделирование. ∆енат, имеет двоих детей.

¬ведение

—егодн€ на рынке наукоемкого ѕќ имеетс€ множество открытых (open source) продуктов, обладающих проверенным качеством и хорошо себ€ зарекомендовавших. ¬ этой статье мы расскажем о библиотеке Open CASCADE Technology (сокращенно OCCT), котора€ успешно совмещает в себе индустриальную зрелость и конкурентную производительность вычислений. ћы сделаем краткий обзор функциональности OCCT, не вдава€сь глубоко в детали и останавлива€сь лишь на основных компонентах платформы. ѕрочитав эту статью, вы получите общее представление о библиотеке OCCT и сферах ее возможного применени€.

ѕро библиотеку Open CASCADE Technology в –оссии известно довольно мало. » это притом, что OCCT предоставл€ет широчайшие возможности дл€ разработки инженерного программного обеспечени€. Ѕолее того, библиотека доступна под лицензией LGPL, то есть нет практически никаких ограничений на ее коммерческое использование.

„то такое OCCT

Open CASCADE Technology — это прежде всего библиотека геометрического моделировани€ или, проще говор€, геометрическое €дро. ƒл€ представлени€ трехмерных моделей OCCT «исповедует» подход BRep (Boundary Representation). Ёто ставит библиотеку в один р€д с такими продуктами как ACIS, Parasolid, CGM, C3D и RGK. √лавное отличие состоит в том, что код библиотеки OCCT находитс€ в полном распор€жении программиста. Ёто дает пользовател€м известную независимость от компании-поставщика (заметим лишь, что поставщик €вл€етс€ сервисной компанией, и потому всегда готов помочь своим клиентам в решении разнообразных инженерных проблем).

“ехнически OCCT состоит из множества св€занных модулей, отвечающих за выполнение широкого спектра задач (–ис. 1). —ледующий список перечисл€ет основные компоненты библиотеки:

  • Foundation Classes Ч базовый инструментарий OCCT, включающий Ђумные указателиї, коллекции и все прочие средства, обеспечивающие инфраструктуру библиотеки.
  • Modeling Ч собственно геометрическое моделирование.
  • Mesh Ч встроенные средства дл€ триангул€ции CAD-моделей.  ак правило, эта функциональность используетс€ дл€ визуализации в 3D.
  • Data Exchange Ч обмен данными (STEP, IGES и т.д.).
  • Visualization Ч интегрированна€ подсистема визуализации CAD-моделей, сеток и произвольных данных приложени€.
  • Application Framework (OCAF) Ч компоненты дл€ быстрой разработки приложений с использованием OCCT.

–ис. 1.  омпоненты Open CASCADE Technology.

»сторическа€ справка

ѕоддержкой и развитием €дра занимаетс€ компани€ с одноименным названием — OPEN CASCADE S.A.S (OCC). √оловной офис компании находитс€ во ‘ранции. ¬ –оссии OCC представлена крупным экспертным подразделением, расположенным в Ќижнем Ќовгороде.

»сторически ќ——“ €вл€етс€ наследником математического €дра CAD-системы EUCLID, созданием которой занималась компани€ Matra Datavision, начина€ с 1980-х годов. ¬ 1993 году была выпущена платформа CAS.CADE (Computer Aided Software for Computer Aided Design and Engineering), на базе которой велась разработка системы EUCLID QUANTUM — нового поколени€ EUCLID. ќфициальный релиз системы EUCLID QUANTUM состо€лс€ в 1996 году. ќднако спуст€ несколько лет (в 1998 году) компани€ Matra Datavision изменила свою бизнес-модель и сосредоточилась на оказании сервисных услуг.

¬ 1999 году руководством Matra Datavision было прин€то историческое решение об открытии исходного кода библиотеки CAS.CADE, котора€ с этого момента стала именоватьс€ Open CASCADE. —пуст€ еще некоторое врем€ (в конце 2000 года) Matra Datavision объ€вила о создании дочерней компании OPEN CASCADE S.A.S. дл€ оказани€ поддержки и сервиса на базе нового геометрического €дра. ¬ 2003 году компани€ Matra Datavision была приобретена корпорацией IBM, в то врем€ как OPEN CASCADE S.A.S. оказалась во владении другой французской компании — Principia. Ѕолее подробно с историей можно ознакомитьс€ на официальном сайте компании.

ƒень сегодн€шний

¬ насто€щее врем€ компани€ OPEN CASCADE S.A.S. прилагает существенные усили€ дл€ попул€ризации €дра OCCT. “ак как речь идет о продукте с открытым исходным кодом, а времени с момента его публикации прошло довольно много, то вполне естественно, что вокруг €дра OCCT сформировалось сообщество пользователей. Ќа сегодн€шний день каждый заинтересованный человек может поучаствовать в развитии €дра, зарегистрировавшись на портале разработчиков, где наход€тс€ официальный баг-трекер €дра, а также Git-репозиторий.

ћоделирование (Modeling)

 ак мы отметили выше, библиотека OCCT реализует граничное представление (BRep) объектов в 3D. ƒл€ такого представлени€ базовыми €вл€ютс€ пон€ти€ геометрии и топологии, рассматриваемые в узком смысле. “ак, под геометрией обычно понимаетс€ математическое описание формы, например, в виде кривых и поверхностей Ѕезье, NURBS-представлени€ и проч. “опологи€, в свою очередь, есть структура данных, позвол€юща€ св€зывать геометрические объекты воедино. –ассужда€ отвлеченно, можно провести аналогию между топологией BRep и классической топологией в математическом смысле.  ак известно, математическа€ топологи€ изучает гомеоморфизмы, то есть преобразовани€ без разрезаний и склеек. — этой точки зрени€ бублик (–ис. 2, слева) неотличим от «кофейной чашки» (читатель с хорошим воображением может опознать ее на –ис. 2, справа). “о же самое справедливо и дл€ топологии в BRep: структуры данных, описывающие бублик и чашку, могут быть совершенно идентичными. ¬с€ разница сокрыта в геометрии.

–ис. 2. ћодификаци€ тора без изменени€ топологических структур. “аким образом, одна топологическа€ структура может быть одинаково хорошо «нат€нута» на визуально разнородные модели.

— точки зрени€ программиста, топологи€ представл€ет собой граф объектов, реализующий смежность вершин (vertices) и ребер (edges) дл€ соседних граней (faces).

–ис. 3. ќдна из возможных топологических структур дл€ тора с «заплатками» из –ис. 2.

—труктура геометрических и топологических примитивов OCCT во многом соответствует стандарту ISO-10303 (STEP). ќсобенно полезным будет ознакомление с частью 42 — «Integrated generic resource: Geometric and topological representation». ¬о вс€ком случае, знание о том, что CAD-модель представл€етс€ не как монолитна€ форма, а как своего рода «лоскутное оде€ло», совершенно необходимо дл€ работы с BRep-представлением. « ухн€» BRep довольно стандартна и не €вл€етс€ чем-то присущим исключительно платформе OCCT. ќт €дра к €дру может мен€тьс€ лишь набор используемых топологических примитивов, в то врем€ как объекты «грань», «ребро» и «вершина» присутствуют всегда (именно эти объекты св€зываютс€ с геометрическими примитивами, тогда как остальные играют чисто структурную роль).

—тоит заметить, что, помимо BRep, возможны (и реально используютс€) другие формы представлени€ CAD-моделей, например, фасетчатые оболочки, воксели (voxel) и CSG (Constructive Solid Geometry). “ем не менее, на сегодн€шний день эти способы представлени€ €вл€ютс€ нишевыми и используютс€ только дл€ решени€ строго очерченного круга задач (например, воксели хорошо поддаютс€ параллельной обработке).

“очна€ BRep-модель «лучше» дискретных в том смысле, что из нее всегда можно получить как воксели, так и пространственные сетки нужного качества. ќбратна€ задача (получение точной модели по дискретной), как правило, не €вл€етс€ тривиальной и сопр€жена со многими трудност€ми — прежде всего, неоднозначностью восстановлени€ геометрии граней и реконструкцией топологии. ѕоэтому в задачах трехмерного моделировани€ необходимо иметь некоторое «идеальное» представление объекта в том виде, в котором он существует или замыслен в реальности.

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

√еометри€ в OCCT представл€етс€ в стандартном параметрическом виде. Ќаиболее универсальным подходом к описанию геометрической формы, как известно, €вл€етс€ NURBS. ѕомимо NURBS, в библиотеке OCCT реализованы также поверхности вращени€, линейчатые поверхности, кривые и поверхности первого и второго пор€дка и т.п. Ќа сегодн€шний день OCCT поддерживает весь «джентельменский» геометрический набор, за исключением таких технологий, как T-сплайны и поверхности подразделени€ (subdivision surfaces).

–ис. 4. B-сплайн поверхность в OCCT.

√еометри€ обрезаетс€ и компонуетс€ при помощи топологических ограничений. ѕри этом мы можем наблюдать, как измен€етс€ параметрический портрет каждой грани. ѕод «параметрическим портретом» понимаетс€ пространство (U, V), на котором определена интересующа€ нас грань, дополненна€ параметрическими 2D-кривыми (p-curves).  онфигураци€ этих кривых вместе с их ориентацией позвол€ет судить о том, как заданы ребра на грани и где наход€тс€ отверсти€.

–ис. 5. ѕараметрический портрет грани с внутренними вырезами.

ѕосле краткого знакомства с общими принципами BRep, мы рассмотрим основные возможности OCCT, св€занные с собственно CAD-моделированием. ƒл€ более глубокого изучени€ доступной функциональности можно обратитьс€ к официальной документации или тестовым приложени€м, поставл€емым вместе с библиотекой.

¬осстановление поверхности по точкам

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

–ис. 6. NURBS-поверхность, восстановленна€ по облаку точек.

—киннинг поверхности (тела)

¬осстановление формы модели по заданному набору сечений — стандартна€ задача геометрического моделировани€. OCCT предоставл€ет средства как дл€ поверхностного скиннинга, так и дл€ построени€ твердотельных объектов с автоматическим восстановлением замыкающих граней.

–ис. 7. ћодель, построенна€ по сечени€м.

 инематическое моделирование

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

–ис. 8. “рубка, построенна€ прот€гиванием круглого профил€.

Ѕулевы операции

¬ычитание, объединение, вз€тие общего, пересечение тел и поверхностей — все эти фундаментальные алгоритмы реализованы в OCCT и «обкатаны» на множестве реальных инженерных моделей.

–ис. 9. ¬ычитание призмы из тела вращени€.

–ис. 10. ќбъединение тел.

–ис. 11. ѕересечение тел.

–ис. 12. ѕересечение оболочек тел.

ѕоверхности сопр€жени€

‘аски и скруглени€ также доступны в OCCT. ѕри этом поддерживаютс€ скруглени€ переменного радиуса.

–ис. 13. —круглени€ на ребрах.

–ис. 14. —круглени€ переменного радиуса.

„то-то еще?

ѕожалуй, наиболее конструктивный способ дать читателю представление о моделизационных возможност€х библиотеки OCCT — сослатьс€ на открытую документацию продукта. «аметим лишь, что имеющегос€ функционала достаточно дл€ решени€ широчайшего круга задач из области CAD.

ќбмен данными

Open CASCADE Technology предоставл€ет развитые средства дл€ обмена CAD-данными. ѕоддерживаютс€ такие базовые форматы как STEP, IGES, STL и VRML.  орректность передачи данных при помощи формата STEP обеспечена не только богатой историей применени€ этого трансл€тора в индустриальных проектах, но и участием команды разработчиков в «тест-ралли» ProSTEP (1998-1999 годы, TR 8-10), а позднее в CAX-IF (2000-2002 годы, TRJ 3-10).

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

“рансл€торы данных позвол€ют работать не только с геометрической информацией, но и с некоторыми ассоциированными атрибутами. “ак, из формата STEP Open CASCADE Technology «умеет» читать цвета и имена компонентов, их вложенность в сборки, слои и некоторые другие свойства.

–ис. 15. STEP-файл с цветами, прочитанный средствами Open CASCADE Technology.

¬изуализаци€

Ѕиблиотека Open CASCADE Technology поставл€етс€ с собственной подсистемой визуализации, основанной на OpenGL. Ќаличие такой подсистемы не только позвол€ет эффективно работать с алгоритмическими средствами библиотеки, но также €вл€етс€ серьезным подспорьем дл€ реализации интерактивных 3D-сцен в реальных приложени€х —јѕ–.

–ис. 16. ƒинамическое сечение сцены средствами OpenGL.

–ис. 17. ¬изуализаци€ методом трассировки лучей (FPS реального времени).

–ис. 18. ¬изуализаци€ модели насоса методом трассировки лучей с совмещением режимов shading и wireframe.

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

ѕара слов о развитии

Ќи дл€ кого не секрет, что функциональность, св€занна€ с геометрическим моделированием, должна работать очень надежно. »звестно, что абсолютно безошибочного программного обеспечени€ не существует, но бывает недостаточное тестирование. Ќесмотр€ на наличие пор€дка 16000 тестовых сценариев, ошибки в Open CASCADE Technology обнаруживаютс€ регул€рно (и это неизбежно). «десь особенно важно иметь в виду, что OCCT — не «мертвый» продукт. ≈го развитие обеспечиваетс€ согласованной работой нескольких внутренних экспертиз, среди которых моделизационна€ группа €вл€етс€ основной.

–ис. 19 показывает распределение улучшений, сделанных в последних верси€х библиотеки OCCT, по их функциональной принадлежности. Ќетрудно заметить, что львина€ дол€ всех исправлений и улучшений св€зана с геометрическим моделированием, т.е. с наиболее технологически сложной и наукоемкой частью библитеки. Ёто означает, что даже с исчезновением системы EUCLID, библиотека OCCT динамично развиваетс€ в сторону наращивани€ геометрической функциональности и повышени€ ее надежности.

–ис. 19. –аспределение улучшений и исправлений в OCCT за последние 3 года
(версии 6.5.1, 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.6.0, 6.7.0 и 6.7.1).

«аключение

Open CASCADE Technology — это полнофункциональный и максимально открытый продукт, который может существенно расширить ваш инструментарий дл€ разработки наукоемкого ѕќ. —тоит заметить, что применение этой библиотеки не исчерпываетс€ исключительно задачами —јѕ–. –азвитое математическое €дро, подсистема визуализации, компоненты быстрого прототипировани€ приложений — все это может пригодитьс€ не только разработчику инженерного ѕќ индустриального качества, но и сотрудникам учебных заведений и институтов в качестве математической «экосистемы» дл€ научных разработок.

–азумеетс€, полный охват всей доступной функциональности OCCT невозможен в рамках небольшой вступительной статьи. ѕоэтому дл€ продолжени€ знакомства с библиотекой мы приглашаем читател€ на официальный сайт разработчиков. »сследуйте вместе с нами и участвуйте в развитии библиотеки. ¬аш творческий вклад в OCCT будет доступен всему инженерному сообществу мира!

© OPEN CASCADE S.A.S., 2014
“екст статьи €вл€етс€ собственностью компании OPEN CASCADE S.A.S. и не может быть процитирован, перепечатан, изменен или скопирован целиком или полностью без письменного согласи€ OPEN CASCADE S.A.S.


„итайте также:


¬акансии:

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

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

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: ћолоток, лопата и порождающее проектирование
ѕроект ЂЌародное —јѕ–-интервьюї

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

5 причин внести Autodesk University Russia 2017 в свой календарь уже сейчас — ёли€ Ўмакотина, директор по маркетингу Autodesk CIS (26 июл€ 2017)
isicad Top 10

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

   ‘орумы isicad:

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

ќ проекте

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

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

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

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


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

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