Программное обеспечение для 3D-моделирования с открытым исходным кодом
Open Cascade Technology (OCCT), ранее называвшаяся CAS.CADE , — это платформа разработки программного обеспечения с открытым исходным кодом для 3D CAD , CAM , CAE и т. д., которая разрабатывается и поддерживается компанией Open Cascade SAS .
OCCT — полноценный набор инструментов для моделирования B-Rep (Boundary representation) . OCCT доступен только по лицензии LGPL-2.1 , которая позволяет использовать его в приложениях с открытым исходным кодом и в закрытых приложениях.
История
CAS.CADE (сокращенно от Computer Aided Software for Computer Aided Design and Engineering) был первоначально разработан в начале 1990-х годов компанией Matra Datavision, разработчиком программного обеспечения Euclid CAD в качестве базовой инфраструктуры для его будущей версии Euclid Quantum. В 1998 году компания отказалась от разработки программного обеспечения, чтобы сосредоточиться на услугах, и большинство возможностей по разработке программного обеспечения были проданы [4] компании Dassault Systèmes , разработчику конкурирующей CATIA .
Открытый исходный код
В 1999 году Matra Datavision решила опубликовать свою инфраструктуру CAS.CADE в рамках модели с открытым исходным кодом под лицензией Open CASCADE Technology Public License [10] и переименовала ее в Open Cascade. [11]
В 2000 году была создана отдельная компания Open Cascade SAS для ведения бизнеса вокруг Open Cascade. [12] Open Cascade SAS была продана в 2003 году французской корпорации-поставщику услуг Principia, а затем в 2006 году ее приобрела Euriware Group, дочерняя компания Areva .
В 2004 году программное обеспечение было переименовано в Open Cascade Technology, чтобы отличать его от названия самой компании.
Open Cascade SAS предоставляет сертифицированную версию библиотеки, которая выпускается спорадически, обычно 1–2 релиза в год. [13] До версии 6.5.0 (2011) общедоступными были только второстепенные и основные версии, в то время как промежуточные (обслуживающие) релизы были доступны только клиентам Open Cascade SAS. Например, версия 6.3.0 была публично выпущена в 2008 году, а следующая публичная версия 6.5.0 была выпущена в начале 2011 года. Все последние релизы, начиная с версии 6.5.0, являются общедоступными. [14]
Сообщество форк
В марте 2011 года Томас Павиот инициировал форк последней на тот момент общедоступной версии 6.5.0 библиотеки Open Cascade. Инициатива называется Open Cascade Community Edition. Целью проекта является создание отдельного процесса выпуска и сообщения об ошибках для библиотеки на основе сообщества. [15]
Портал совместной разработки
В декабре 2011 года Open Cascade установил веб-портал для внешних участников [16] и сделал свой Mantis Bug Tracker [17] и дополнительный репозиторий Git [18] общедоступными (зеркало GitHub только для чтения [19] было создано в 2020 году). Согласно заявлениям на новом веб-сайте, внешние участники из сообщества Open Source поощряются к участию в разработке технологии Open Cascade, т. е. регистрируют ошибки непосредственно в bugtracker , вносят вклад в код после подписания лицензионного соглашения участника [20] и т. д .
Изменение лицензии
С 18 декабря 2013 года с версии 6.7.0 Open Cascade Technology доступна только по лицензии LGPL-2.1 с дополнительным исключением. [3] [21] Версии до этого лицензировались по «Open Cascade Technology Public License», которая не была совместима с GPL [22] и считалась несвободной в проекте Fedora . [23]
Функциональность
Библиотеки объектов
Функциональность OCCT разделена на несколько больших модулей. Каждый модуль определяет список наборов инструментов (библиотек). Ключевые модули:
- Базовые классы : определяют базовые классы, распределители памяти, уровень абстракции ОС, коллекции (карты данных, массивы и т. д.), структуры данных ускорения ( деревья BVH ) и векторную/матричную математику , используемую другими модулями.
- Данные моделирования : предоставляет структуры данных для представления 2D- и 3D-геометрических примитивов (аналитические кривые: линия, окружность , эллипс , гипербола, парабола , Безье , B-сплайн , смещение; аналитические поверхности: плоскость, цилиндр , конус , сфера , тор , Безье , B-сплайн , вращение , выдавливание, смещение) и их композиций в моделях B-Rep .
- Алгоритмы моделирования : содержит широкий спектр геометрических и топологических алгоритмов (пересечение, булевы операции, построение поверхностной сетки , скругления , восстановление формы).
- Визуализация (рендеринг) : предоставляет интерактивные сервисы для отображения геометрии в 3D Viewer; реализует компактный рендерер OpenGL / OpenGL ES , поддерживающий традиционные модели затенения шероховатости металла PBR в реальном времени , а также интерактивный движок трассировки лучей / трассировки пути .
- Обмен данными : обеспечивает возможность импорта/экспорта различных форматов САПР.
STEP , IGES , glTF , OBJ , STL и VRML поддерживаются изначально. [24] Другие форматы можно импортировать с помощью подключаемых модулей. [25] Компоненты расширенного обмена данными ( XDE ) опираются на унифицированное определение документа XCAF , которое включает в себя структуру сборки фигур САПР, цвет/имя/материал/метаданные/атрибуты слоя, а также другую дополнительную информацию, такую как PMI . - Application Framework : предлагает решения [ модное словечко ] для обработки данных, специфичных для приложений.
- DRAW Test Harness : реализует интерфейс сценариев для алгоритмов OCCT на основе Tcl -интерпретатора для интерактивного использования, автоматизации процессов, создания прототипов приложений и тестирования.
Комплект для организации семинара
Workshop Organization Kit (WOK) — это среда разработки Open Cascade, которая была разработана для того, чтобы позволить большому количеству разработчиков работать над продуктом, используя преимущества общей эталонной версии, распространяемой по локальной сети.
До выпуска OCCT 7.0.0 существенные изменения в исходном коде были невозможны без использования WOK, поскольку это единственный инструмент, который обеспечивает поддержку CDL (язык определений CAS.CADE), используемый для объявления большинства классов OCCT, а также служащий для определения логической структуры библиотек OCCT. WOK был включен в предыдущие дистрибутивы OCCT; начиная с версии OCCT 6.4 он стал независимым инструментом.
В версии 7.0.0 все файлы CDL были удалены из исходного кода OCCT, поэтому WOK больше не нужен для разработки OCCT.
Работа с файлами IFC
Open CASCADE IFC Import SDK предоставляет приложениям возможность чтения данных BIM из файлов в формате IFC . Он поддерживает версии IFC2×3 и IFC4, которые используются большинством современных приложений. [26]
Это позволяет визуализировать и манипулировать геометрией здания и проектами САПР.
Также доступны внешние инструменты для преобразования Open CASCADE в IFC. [27]
Программы САПР на основе технологии Open Cascade
Несколько программ САПР используют технологию Open CASCADE, в том числе: [28]
- FreeCAD — это параметрический 3D-моделировщик с открытым исходным кодом, поддерживающий информационное моделирование зданий , метод конечных элементов (FEM) и скрипты Python . [29] [30]
- SALOME — платформа с открытым исходным кодом для предварительной и последующей обработки данных численного моделирования.
- KiCad — пакет с открытым исходным кодом для автоматизации электронного проектирования (EDA). [31]
- Gmsh — генератор конечно-элементной сетки (FEM) с открытым исходным кодом. Начиная с версии 3.0, Gmsh поддерживает все функции конструктивной твердотельной геометрии на основе OCCT.
- FORAN — интегрированная система CAD/CAM/CAE, разработанная SENER для проектирования и производства практически любого военного корабля и оффшорного объекта. FORAN использует OCCT с версии V80R2.0 [32] для работы с аналитическими поверхностями.
Смотрите также
Ссылки
- ^ "Open CASCADE Technology 7.8.1 Maintenance Release" . Получено 15 апреля 2024 г. .
- ^ "README.txt".
- ^ abc "Лицензия OCCT".
- ^ «Dassault Systemes подписывает соглашение о приобретении дочерней компании Matra Datavision». 27 января 2020 г.
- ^ "Параметры склеивания в булевом компоненте - Форум Open Cascade Technology". dev.opencascade.org . Получено 18 августа 2021 г. .
- ^ "Нечеткие булевы операции - Форум Open Cascade Technology". dev.opencascade.org . Получено 18 августа 2021 г. .
- ^ "Интеграционные сервисы VTK в OCCT - Форум Open Cascade Technology". dev.opencascade.org . Получено 18 августа 2021 г. .
- ^ "Стереоскопический рендеринг в технологии Open CASCADE - Форум Open Cascade Technology". dev.opencascade.org . Получено 18 августа 2021 г. .
- ^ "Трассировка лучей как альтернативный метод рендеринга для компонента визуализации OCCT - Форум Open Cascade Technology". dev.opencascade.org . Получено 18 августа 2021 г. .
- ^ «Открытая общественная лицензия технологии CASCADE».
- ^ "Загрузка исходного кода Open Cascade набирает обороты | Market Wire | Найти статьи". 9 апреля 2012 г. Архивировано из оригинала 9 апреля 2012 г. Получено 22 ноября 2021 г.
- ^ Исследование европейского рынка электронного бизнеса: сервисы с открытым исходным кодом от Open Cascade SA. Архивировано 26 июля 2011 г. на Wayback Machine.
- ^ «Предыдущие выпуски OCCT».
- ^ «Становимся все более и более открытыми!».
- ^ "Размышления о выпуске 6.5.0, статусе OCCT и отношениях с Сообществом". Архивировано из оригинала 16 апреля 2011 г. Получено 15 апреля 2011 г.
- ^ «Открытие разработки технологии Open CASCADE».
- ^ «Mantis Bug Tracker для проекта OCCT».
- ^ «Интерфейс GitWeb к основному репозиторию OCCT git».
- ^ "Пассивное зеркало git-репозитория OCCT на GitHub". GitHub .
- ^ «Подписание лицензионного соглашения с соавтором».
- ^ "Повторное лицензирование OCCT - Форум Open Cascade Technology". dev.opencascade.org . Получено 22 ноября 2021 г. .
- ^ "OCCT FAQ". dev.opencascade.org . Open Cascade . Получено 25 июня 2021 г. .
- ^ Callaway, Tom. "Licensing:Main – Bad Licenses". fedoraproject.org . Red Hat, Inc. и другие . Получено 18 мая 2013 г. .
- ^ "Data Exchange | Open CASCADE Technology". dev.opencascade.org . Получено 22 ноября 2021 г. .
- ^ "Datakit - Open Cascade". opencascade.com . Получено 22 ноября 2021 г. .
- ^ "Open CASCADE: компонент импорта IFC" . Получено 15 ноября 2022 г. .
- ^ "CAD Exchanger: Как конвертировать Open CASCADE в IFC?" . Получено 15 ноября 2022 г. .
- ^
Open Cascade SAS. «Проекты и продукты».
- ^ Okoi, Martins (1 декабря 2017 г.). «FreeCAD – программное обеспечение для 3D-моделирования и проектирования для Linux». FOSSMint . Получено 2 мая 2019 г.
- ^ Ли, Хок (22 июня 2018 г.). "FreeCAD FEM Workbench (Calculix 2.14)". Архивировано из оригинала 3 мая 2019 г. Получено 2 мая 2019 г.
- ^
KiCad «Зависимости библиотек».
- ^ "Последняя версия FORAN V80R2.0 от SENER позволяет пользователям управлять сериями судов". 19 июля 2016 г. Архивировано из оригинала 21 августа 2018 г. Получено 4 августа 2020 г.