LXF120:Open CASCADE

Материал из Linuxformat.

Перейти к: навигация, поиск

Содержание

Каскад из CAD'ов

Повертев модель Cassini во FreeCAD, Николай Колдыркаев был так впечатлен скоростью обработки 300 000 деталей, что полгода уговаривал российских разработчиков Open CASCADE открыть личико. Следующие полгода он потратит на то, чтобы написать портрет.

Открытое программное обеспечение – это не только свободно распространяемые приложения, но и библиотеки, на основе которых можно и нужно создавать вполне коммерческие решения. Разработчики технологии Open CASCADE (http://www.opencascade.org) придерживаются открытой модели и концентрируются на коммерческой поддержке пользователей. В результате на основе специализированной свободной библиотеки Open CASCADE был разработан целый ряд САПР-систем промышленного уровня, а также специализированный дистрибутив Linux.

В 1999 году французская фирма MATRA Datavision, известная в то время как международный поставщик технологических решений и услуг в области CAD/CAM/CAE/PDM-систем, объявила об открытии исходных текстов своей библиотеки Open CASCADE. В результате с 2000 года все, кто так или иначе был заинтересован в разработке собственной системы автоматизированного проектирования (САПР), получили бесплатный доступ к функционалу Open CASCADE, на базе которой стали создаваться все новые и новые специализированные программные решения в данной области.

Open CASCADE сегодня – ...

Расшифруем сокращения

По числу использованных ТБА (они же – трехбуквенные сокращения) эта статья явно метит в лидеры. Если вы далеки от систем автоматизированного проектирования, то вот что может пояснить по их поводу всезнающая Википедия:

  • CAD – Computer-Aided Design – система автоматизированного проектирования. Это программный пакет, предназначенный для создания чертежей, конструкторской и/или технологической документации и/или 3D-моделей.
  • CAM – Computer-Aided Manufacturing – подготовка технологического процесса производства изделий, ориентированная на использование ЭВМ.
  • CAE – Computer-Aided Engineering – общее название для программ или программных пакетов, предназначенных для инженерных расчётов, анализа и моделирования физических процессов.
  • PDM – Product Data Management – система управления данными об изделии. Это организационно-техническая система, обеспечивающая управление всей информацией об автомобиле, корабле, самолете и так далее.

Подробности – на http://ru.wikipedia.org

…это целый набор библиотек и средств разработки программного обеспечения для трехмерного поверхностного и твердотельного моделирования, визуализации, обмена данными с другими программами для проектирования и численного моделирования. Кстати, именно для разработки программ численного моделирования Open CASCADE подходит лучше всего. Специалисты по системам автоматизированного проектирования утверждают, что это могут быть не только CAD/CAM/CAE/PDM-системы, но также AEC (Assembly Engineering Manager) или даже геоинформационные (GIS) приложения.

Исходный код библиотеки Open CASCADE доступен и распространяется бесплатно по лицензии Open CASCADE Technology Public License, являющейся производной от GNU LGPl. Сторонние разработчики могут использовать код Open CASCADE в своих продуктах (в том числе коммерческих), однако обязаны, в соответствии с LGPL, отсылать любые изменения в исходных текстах Open CASCADE ее оригинальному разработчику – Open CASCADE S.A.S. Последняя являет собой яркий пример успешного ведения бизнеса, в основе которого лежит открытое ПО. Вот уже 10 лет компания зарабатывает не на продаже программ, а на создании специализированных СAD/CAM/CAE-приложений и их технической поддержке.

Соответственно, и лицензии на это ПО самые разные. Среди программ, разработанных на основе Open CASCADE, есть и свободно распространяемые, и коммерческие, и даже специализированные закрытые системы для промышленного применения, например, в авиастроении и ядерной энергетике. Есть и «наши» разработки: например, появившаяся в самом начале века украинская система Океан-CAD, известная тем, что о ней мало известно, но, тем не менее, предназначенная (судя по плохо сохранившимся экранным снимкам и другим непроверенным данным) для моделирования авиационных двигателей.

Что умеет Open CASCADE?

FreeCAD трудно назвать полноценной САПР, но для демонстрации возможностей библиотеки Open CASCADE она вполне подходит.

С момента публикации исходных текстов, Open CASCADE пользуется заслуженной популярностью среди разработчиков во всем мире. Для создания специализированных CAD/CAM/CAE/PDM-систем на основе Open CASCADE программистам доступны следующие возможности:

  • алгоритмы поверхностного и твердотельного моделирования (скругления и фаски, поверхности смещения и протягивания, булевы операции);
  • обмен данными (как с нейтральными форматами IGES и STEP, так и со специфичными, такими как ACIS, Parasolid и DXF);
  • исправление (‘shape healing’ – «лечение» некорректных геометрических данных и восстановление поверхностей);
  • визуализация (включая прозрачность и наложение текстур).

Однако Open CASCADE – это не только специализированные библиотеки. Эта технология предоставляет полную среду разработки приложений для 3D-моделирования и визуализации, которая включает

  • средства быстрого создания приложений (Application Framework),
  • систему отладки (Test Harness),
  • широкий набор примеров,
  • исчерпывающую документацию

Таким образом, разработчики совершенно бесплатно получают необходимый и достаточный инструментарий для того, чтобы начать создание собственных САПР-приложений. В то же время, компания Open CASCADE S.A.S. предлагает своим заказчикам ряд закрытых коммерческих компонентов – например, для обеспечения обмена данными с проприетарными САПР-системами. Используя такие компоненты, сторонние разработчики создают так называемое Value Added Software – программное обеспечение коммерческого или даже индустриального уровня.

Свободу САПР’ам!

Импорт и экспорт DXF в HeeksCAD только разрабатывается, но уже сейчас эта программа предоставляет больше средств для редактирования моделей, чем FreeCAD, да и развивается динамичнее.

Было бы странно, если бы на основе свободно распространяемой библиотеки никто не попытался бы создать свободную же систему автоматизированного проектирования. FreeCAD (http://free-cad.sf.net) – одна из таких попыток. Разработчик FreeCAD, Юрген Ригель [Ju..rgen Riegel], работает в корпорации DaimlerChrysler. Он позиционирует свою программу как первый бесплатный инструмент проектирования механики, созданный на основе библиотеки Open CASCADE. Сам автор сравнивает FreeCAD с такими развитыми коммерческими системами, как CATIA версий 4 и 5 и SolidWorks. Но полноценной САПР FreeCAD пока назвать сложно – в интерактивном режиме представлен лишь базовый инструментарий библиотеки Open CASCADE. В результате в программе FreeCAD не так-то просто что-нибудь спроектировать и тем более смоделировать – большинство операций выполняется из командной строки. Тем не менее, в ней можно работать с файлами, форматы которых поддерживает Open CASCADE.

Другой открытый проект на базе Open CASCADE предоставляет больше возможностей для редактирования и даже позволяет подключать дополнительные модули расширения. Программа HeeksCAD (http://code.google.com/p/heekscad/) позволяет импортировать твердотельные модели из файлов STEP и IGES. Она также умеет визуализировать модели, выполнять редактирование с помощью смешивания и булевых операций, сохранять наработки в форматах IGES, STEP и STL. Двоичный дистрибутив HeeksCAD пока доступен только пользователям Windows. Но пользователи Linux также могут принять участие в тестировании этой программы, собрав ее из исходных текстов, доступных через Subversion. Подробно этот процесс описан на странице http://code.google.com/p/heekscad/wiki/CompilingForUbuntu.

К сожалению, многие создатели САПР на платформе Open CASCADE не стремятся поделиться своими наработками с широкой общественностью, и зачастую это оправдано тем, что в них используются еще и коммерческие компоненты. Сама же фирма Open CASCADE S.A.S., кроме своего основного продукта, продвигает собственную открытую интегрируемую платформу для численного моделирования под названием SALOME.

Шалом, SALOME!

Как и Open CASCADE, платформа SALOME распространяется на условиях GNU Lesser General Public License. Первоначально она играла роль связующего звена между CAD- и CAE-системами. В настоящее время SALOME объединяет в себе различные модули, применяемые в приложениях численного моделирования – от создания моделей в САПР до параллельных вычислений. При этом САПР-средства в SALOME как раз и реализуют возможности технологии Open CASCADE.

Проект SALOME на сегодняшний день объединяет 20 участников, включая таких лидеров рынка, как Renault (автомобилестроение), Bureau Veritas (кораблестроение), EADS (авиастроение) и другие. При поддержке Правительства Франции, одной из самых серьезных областей применения SALOME стала ядерная энергетика. Платформа SALOME используется как база для проекта NURESIM (European Platform for NUclear REactor SIMulations), который предназначен для полномасштабного моделирования ядерных реакторов.

Для использования технологии Open CASCADE группой разработчиков служит специальный инструментарий – WOK (Workshop Organization Kit). Он позволяет большому количеству людей создавать несколько программных продуктов одновременно. При этом разработчики могут генерировать несколько версий программы для разных аппаратно-программных платформ и специальные версии с функциональным наполнением, диверсифицированным под разные рыночные условия. WOK поощряет использование в разных программах одних и тех же компонентов, для достижения максимальной эффективности, и, в общем, позволяет наладить производство САПР-приложений промышленного уровня.

Более того, в рамках WOK возможно использование специального макроязыка CDL (Component Definition Language) программной платформы Open CASCADE. Поэтому компоненты, созданные при помощи CDL, будут использовать программную архитектуру Open CASCADE.

Все вместе

Собственная платформа для численного моделирования Salome — центральное приложение в специализированном дистрибутиве CAELinux.

Технология Open CASCADE и система численного моделирования SALOME стали центральной частью специализированного LiveDVD-дистрибутива для CAD/CAM/CAE. Дистрибутив CAE Linux основан на PCLinuxOS и загружается непосредственно с DVD без необходимости установки, хотя при желании вы можете выполнить и эту операцию. Его создатели проделали большую работу, собрав вместе и обеспечив интеграцию наиболее развитых средств CAD/CAM/CAE-систем для Linux. Например, инструменты численного моделирования системы SALOME в дистрибутиве расширены средствами анализа конечных элементов от Code Aster.

Как можно видеть, спектр применения открытой технологии трехмерного моделирования Open CASCADE настолько широк, что до сих пор не было создано универсальной открытой САПР на его основе. И это не парадокс. Дело в том, что каждая новая разработка на базе данной технологии обычно нацелена на решение конкретных отраслевых задач. Но если сторонние разработчики объединят усилия для работы над новым открытым проектом, то мы сможем рассчитывать на появление полноценной универсальной САПР для Linux. Лично я считаю, что полная реализация заложенного в Open CASCADE потенциала в открытом ПО для моделирования – это лишь вопрос времени.

Слово – разработчикам

Linux Format не упустил возможности побеседовать с Сергеем Зерчаниновым, менеджером по поддержке клиентов (Open CASCADE Customer Support manager) в компании Open CASCADE Russia.

Linux Format (LXF): Расскажите немного о компании Open CASCADE S.A.S. Чем она занимается? Сколько людей в ней работает? И какая роль отводится отечественному филиалу?

Сергей Зерчанинов (СЗ): Open CASCADE S.A.S. – сервисная компания, предлагающая разработку специализированного программного обеспечения для решения инженерных задач. Open CASCADE является дочерним предприятием компании Euriware (Франция), входящей в группу компаний Areva. Опыт работы на рынке – более 25 лет.

Штат сотрудников – около 100 человек, включая квалифицированных программистов, инженеров-экспертов, опытных консультантов и проектных менеджеров, обладающих глубокими знаниями в сферах трехмерного и численного моделирования, обмена данными САПР, визуализации и графического пользовательского интерфейса.

В головном офисе компании Open CASCADE S.A.S., помимо администрации, работает несколько проектных менеджеров, ответственных за исполнение проектов и развитие бизнеса с крупными клиентами, такими как AREVA, CEA, EDF, RINA и так далее.

Основная же техническая работа по реализации проектов и поддержке заказчиков, по выпуску и развитию Open CASCADE Technology и SALOME осуществляется российской командой, которая насчитывает около 70 инженеров. Мы также занимаемся технической поддержкой: отвечаем на вопросы, консультируем, обучаем пользователей.

LXF: Интересно, а каков вклад отечественных разработчиков как в саму технологию Open CASCADE, так и в создание приложений на ее основе?

СЗ: В рамках регулярной деятельности по реализации проектов и поддержке заказчиков компании Open CASCADE S.A.S. происходит и эволюция открытых платформ, которая в первую очередь следует за пожеланиями коммерческих клиентов и призвана улучшить качество исполнения проектов заказчиков, создаваемых на основе Open CASCADE Technology. Именно российская команда осуществляет коррекцию ошибок, реализацию новых или улучшение существующих возможностей с точки зрения надёжности и производительности.

C момента публикации в 2000 году версии 3.1 (первой, подготовленной в России) платформа Open CASCADE Technology непрерывно эволюционировала: всего было выпущено порядка 20 версий, последней на сегодняшний день является Open CASCADE Technology ver. 6.3. За это время структура платформы весьма изменилась, став намного более удобной; все модули платформы подверглись существенным изменениям и улучшениям, добавлялись или оптимизировались алгоритмы, добавлялась поддержка новых форматов данных, новых операционных систем.

LXF: А как много программ на основе Open CASCADE распространяется на коммерческой основе? И сколько они стоят?

СЗ: Среди заказчиков компании Open CASCADE S.A.S. большой процент составляют промышленные компании (например, TATA Motors), имеющие необходимость в специализированном программном обеспечении для внутренних нужд. Естественно, такие программы не распространяются, и более того, информация о них не может быть опубликована по соображениям защиты от конкурентов.

Другую группу составляют компании – производители программных продуктов, такие как Samtech, MidasIt. Как правило, информация об их решениях доступна в Интернете.

И наконец, Open CASCADE S.A.S. производит собственные коммерческие программные продукты, расширяющие возможности открытой платформы в области обмена данными с другими CAD-системами, специальных алгоритмов, работой с дискретными моделями (mesh) и так далее.

LXF: А можно подсчитать, сколько существует открытых проектов, использующих Open CASCADE? Вы ведете такую статистику?

СЗ: Точно оценить количество открытых проектов, основанных на наших платформах, сложно, поскольку наши пользователи не всегда информируют нас о своих разработках. Однако их не слишком много, поскольку создание такого рода программ требует высокой квалификации и значительных ресурсов, которые не всегда могут быть обеспечены даже в крупных коммерческих компаниях.

Тем не менее, на нашем сайте в разделе «Сообщество/Community» представлено около 60 интересных проектов Open Source, созданных с использованием технологии Open CASCADE. Помимо уже упомянутой вами FreeCAD, могу отметить Cadmai Рихарда Бренделя [Richard Brendel], адаптивную систему, интегрируемую в приложения (например, Internet Explorer или Excel) и позволяющую изменять их дизайн или отображать двух- и трехмерные объекты. В настоящее время разрабатывается еще одна открытая и бесплатная CAD-программа HeeksCAD.

LXF: Как вы думаете, почему выгодно использовать именно открытую технологию, свободно распространяемую библиотеку Open CASCADE? Какие это дает преимущества?

СЗ: Я думаю, основных преимуществ два:

  • Экономия средств клиента благодаря модели Open Source. Не нужно покупать лицензии и делать лицензионные выплаты – вы инвестируете средства только в решение своих конкретных проблем. Экономия средств особенно высока в долгосрочной перспективе.
  • Гарантия надежности решений – клиент имеет полный доступ к исходным текстам программных средств, как самих решений, так и базовых платформ.
Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию