Введение
Программное обеспечение для 3D-моделирования с открытым исходным кодом
+Название продукта Дата выпуска Последняя обновленная версия Дата последней версии Дата выхода Основные характеристики Open CASCADE Technology 7.6 2021 11 03 7.6.2 2022 04 29 Добавлено отображение прогресса/прерывания булевых операций и алгоритма построения смещения. Добавлена поддержка кинематических сущностей в STEP-ридере. Введен интерфейс для частичного чтения документов OCAF. Open CASCADE Technology 7.5 2020 11 05 7.5.3 2021 08 06 Рендерер физически корректного рендеринга (PBR) в реальном времени с использованием модели материала Metallic Roughness. Поддержка целевой платформы WebAssembly (включая WebGL-просмотрщик). Поддержка UNICODE в STEP-читателе/записывателе. Open CASCADE Technology 7.4 2019 10 01 Улучшена производительность, надежность и точность BRepMesh. Улучшена надежность и стабильность булевых операций и Extrema. Улучшена производительность встроенных инструментов параллелизации (OSD Parallel). Добавлены читатели glTF 2.0 и OBJ. Добавлен AIS ViewController, отображающий ввод пользователя в манипуляции камерой 3D-визуализатора. Добавлена поддержка конфигураций отсечения 3/4 и по прямоугольнику для 3D-визуализатора. Добавлен быстрый режим рендеринга OpenGL, аналогичный HLR. Удалена устаревшая функциональность локального контекста из AIS и устаревшие булевы операции. Open CASCADE Technology 7.3 2018 05 29 Добавлен алгоритм построения OBB (ориентированной ограничивающей рамки). Оптимизированы алгоритмы пересечения поверхностей, смещения формы и булевых операций. Добавлены функции отсечения по расстоянию и размеру при рендеринге. Добавлена поддержка имен файлов UNICODE с MinGW w64. Open CASCADE Technology 7.2 2017 08 31 Добавлена поддержка OCAF-бинарных файлов размером более 2 ГБ. Добавлена опция "Glue" для булевых алгоритмов. Добавлена поддержка аннотаций, сохраненных видов и плоскостей отсечения в STEP и XDE. Добавлена функция рендеринга с взвешенной прозрачностью (OIT), независимой от порядка. Улучшен движок трассировки лучей. Open CASCADE Technology 7.1 2016 11 25 ОСАФ без динамически загружаемых плагинов. Улучшена поддержка STEP AP242, включая PMI, размеры и аннотации. Улучшена производительность рендеринга представления Wireframe AIS Shape. Добавлен AIS-манипулятор для интерактивных преобразований объектов в 3D-визуализаторе. TKOpenGl теперь по умолчанию использует программы GLSL. Open CASCADE Technology 7.0 2016 04 05 WOK (Workshop Organization Kit) заменен на скрипты сборки CMake. Файлы CDL заменены предварительно сгенерированными заголовочными файлами C++. Open CASCADE Technology 6.9 2015 05 12 6.9.1 2015 09 28 Внедрены "нечеткие" булевы операции с указанной глобальной погрешностью. Внедрены встроенные многопоточные инструменты параллелизации в качестве альтернативы библиотеке TBB. Улучшена устойчивость пересечения поверхностей и проекции кривой на поверхность. Улучшена производительность реконструкции p-кривой при импорте STEP. Улучшена совместимость с OpenGL ES 2.0. Open CASCADE Technology 6.8 2014 11 10 Добавлена поддержка имен файлов UNICODE (UTF-8). Добавлены итераторы, совместимые со STL, в классы NCollection. "Handle" – умный указатель теперь использует NULL-указатель вместо специального значения 0xfefd0000. Добавлены алгоритмы и структуры иерархии ограничивающего объема (BVH). Внедрен многопоточный вариант алгоритма булевых операций. Введена ограниченная поддержка OpenGL ES 2.0 в 3D-визуализаторе. Добавлен компонент VIS / TKIVtk, предоставляющий конструктор представления формы B-Rep для VTK-визуализатора. Добавлена поддержка стереоскопических дисплеев в 3D-визуализаторе. Добавлена функция отсечения по усеченному конусу, улучшающая производительность рендеринга. Движок трассировки лучей переключен с OpenCL на реализацию GLSL. Open CASCADE Technology 6.7 2013 12 18 6.7.1 2014 04 30 Лицензия изменена на LGPL 2.1 только с дополнительным исключением. Используется OpenCL. Open CASCADE Technology 6.6 2013 04 22 Open CASCADE Technology 6.5 2011 04 04 6.5.5 2013 03 29 Open CASCADE Technology 6.4 2010 09 30 Добавлен многопоточный режим алгоритма BRepMesh (введена дополнительная поддержка библиотеки TBB). Улучшена производительность рендеринга за счет использования объекта Vertex Buffer (VBO). Реализация TKOpenGl преобразована из классов C в C++. Улучшена визуализация текста с помощью библиотек FTGL и FreeType. Улучшены алгоритмы пересечения прямой с прямой, прямой с плоскостью и плоскости с плоскостью. Open CASCADE Technology 6.3 2008 09 03 6.3.1 2009 06 19 Open CASCADE Technology 6.2 ? 6.2.1 2007 12 06 Open CASCADE Technology 6.1 2006 03 24 6.1.1 2006 10 16 Open CASCADE Technology 5.2 ? 5.2.4 2005 07 29 Open CASCADE Technology 5.1 ? 5.1.3 2004 04 23 "Open CASCADE" переименован в "Open CASCADE Technology". Open CASCADE 4.0 2001 12 11 Open CASCADE 3.0 2000 04 24 Open CASCADE 2.0 ? Open CASCADE 1.0 1999
Открытый источник
В 1999 году Matra Datavision приняла решение опубликовать свою CAS. CADE инфраструктуру под моделью открытого исходного кода в соответствии с лицензией Open CASCADE Technology Public License и переименовала её в Open Cascade. В 2000 году была создана отдельная компания Open Cascade SAS для развития бизнеса вокруг Open Cascade. В 2003 году Open Cascade SAS была продана французской корпорации Principia, предоставляющей услуги, а в 2006 году приобретена группой Euriware Group, дочерней компанией Areva. В 2004 году программное обеспечение было переименовано в Open Cascade Technology, чтобы отличать его от названия самой компании. Open Cascade S.A.S. предоставляет сертифицированную версию библиотеки, которая выпускается нерегулярно, обычно 1–2 релиза в год. До версии 6.5.0 (2011) публично доступны были только основные и минорные версии, в то время как промежуточные (обслуживающие) релизы были доступны только клиентам Open Cascade S.A.S. Например, версия 6.3.0 была выпущена в публичный доступ в 2008 году, а следующая публичная версия 6.5.0 – в начале 2011 года. Все последующие релизы, начиная с версии 6.5.0, являются общедоступными.
Общественная вилка
В марте 2011 года Томас Павио инициировал ответвление от самой последней публично доступной версии 6.5.0 библиотеки Open Cascade. Эта инициатива получила название Open Cascade Community Edition. Цель проекта – создание отдельной ветки разработки и процесса сообщений об ошибках для библиотеки, основанных на участии сообщества.
Портал совместной разработки
В декабре 2011 года Open Cascade развернул веб-портал для внешних разработчиков и открыл доступ к своей системе отслеживания ошибок Mantis Bug Tracker и репозиторию Git (зеркало GitHub с правами только для чтения было создано в 2020 году). Согласно информации на новом веб-сайте, внешние разработчики из сообщества Open Source приглашаются к участию в разработке технологии Open Cascade, то есть к регистрации ошибок непосредственно в системе отслеживания ошибок и внесению изменений в код после подписания соглашения с разработчиком.
Изменение лицензии
С 18 декабря 2013 года, начиная с версии 6.7.0, Open Cascade Technology распространяется исключительно под лицензией LGPL 2.1 с дополнительным исключением. Более ранние версии лицензировались по "Публичной лицензии Open Cascade Technology", которая была несовместима с GPL и признавалась несвободной проектом Fedora.
Библиотеки объектов
Функциональность OCCT разделена на несколько крупных модулей. Каждый модуль определяет список наборов инструментов (библиотек). Основные модули:
Основные классы: определяет базовые классы, распределители памяти, слой абстракции операционной системы, коллекции (карты данных, массивы и т.д.), структуры данных для ускорения вычислений (BVH-деревья) и векторно-матричную математику, используемые другими модулями. Данные моделирования: предоставляет структуры данных для представления 2D и 3D геометрических примитивов (аналитические кривые: Линия, Окружность, Эллипс, Гипербола, Парабола, Безье, B-сплайн, Смещение; аналитические поверхности: Плоскость, Цилиндр, Конус, Сфера, Тор, Безье, B-сплайн, Поверхность вращения, Экструзия, Смещение) и их композиции в B-Rep модели. Алгоритмы моделирования: содержит широкий спектр геометрических и топологических алгоритмов (поиск пересечений, булевы операции, создание поверхностной сетки, скругления, восстановление геометрии). Визуализация (рендеринг): предоставляет интерактивные средства для отображения геометрии в 3D Viewer; реализует компактный рендерер OpenGL / OpenGL ES, поддерживающий классическое затенение Phong, модели затенения PBR с учетом шероховатости металла в реальном времени, а также интерактивный движок трассировки лучей / трассировки путей (Ray Tracing / Path Tracing). Обмен данными: обеспечивает возможность импорта и экспорта различных CAD-форматов. STEP, IGES, glTF, OBJ, STL и VRML поддерживаются нативно. Другие форматы могут быть импортированы с использованием плагинов. Компоненты расширенного обмена данными (XDE) основаны на едином определении документа XCAF, которое включает в себя структуру сборки CAD-форм, атрибуты цвета, имени, материала, метаданных, слоев, а также другую дополнительную информацию, такую как 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, используемые большинством современных приложений. Это позволяет визуализировать и обрабатывать геометрию зданий и CAD-проекты. Также доступны внешние инструменты для преобразования из Open CASCADE в IFC.