Open Cascade Technology ( OCCT , anteriormente llamada CAS.CADE ) es una biblioteca de clases C++ orientada a objetos para diseño asistido por computadora (CAD), fabricación asistida por computadora (CAM), ingeniería asistida por computadora (CAE), etc. [ 4 ] Es desarrollada y mantenida por la empresa Open Cascade SAS. Es software libre y de código abierto publicado bajo la Licencia Pública General Reducida de GNU (LGPL), versión 2.1 únicamente, que permite usos de código abierto y propietarios.
OCCT es un conjunto de herramientas de modelado de representación de límites (B-rep) a escala completa .
Historia
CAS.CADE (abreviatura de Computer Aided Software for Computer Aided Design and Engineering) fue desarrollado originalmente a principios de la década de 1990 por Matra Datavision, desarrollador del software CAD Euclid, como infraestructura subyacente para su futura versión Euclid Quantum. En 1998, la empresa abandonó el desarrollo de software para concentrarse en los servicios, y la mayor parte de las instalaciones de desarrollo de software se vendieron [ 5 ] a Dassault Systèmes , desarrollador del software de la competencia CATIA .
Código abierto
En 1999, Matra Datavision decidió publicar su infraestructura CAS.CADE bajo un modelo de código abierto bajo la Licencia Pública de Tecnología Open CASCADE [ 11 ] y la renombró Open Cascade. [ 12 ]
En 2000, se creó una empresa independiente, Open Cascade SAS, para hacer negocios en torno a Open Cascade. [ 13 ] Open Cascade SAS se vendió en 2003 a Principia, una corporación francesa de proveedores de servicios, y luego en 2006 fue adquirida por Euriware Group, una subsidiaria de Areva .
En 2004, el software pasó a llamarse Open Cascade Technology para distinguirlo del nombre de la propia empresa.
Open Cascade SAS proporciona una versión certificada de la biblioteca, que se publica esporádicamente, generalmente 1 o 2 versiones por año. [ 14 ] Hasta la versión 6.5.0 (2011), solo las versiones menores y mayores estaban disponibles públicamente, mientras que las versiones intermedias (de mantenimiento) solo eran accesibles para los clientes de Open Cascade SAS. Por ejemplo, la versión 6.3.0 se publicó públicamente en 2008, y la siguiente versión pública, la 6.5.0, se publicó a principios de 2011. Todas las versiones recientes a partir de la versión 6.5.0 son públicas. [ 15 ]
Bifurcación comunitaria
En marzo de 2011, Thomas Paviot inició una bifurcación de la versión 6.5.0 de la biblioteca Open Cascade, la más reciente disponible públicamente en ese momento. La iniciativa se denomina Open Cascade Community Edition. El proyecto tiene como objetivo establecer un proceso independiente de publicación y reporte de errores basado en la comunidad para la biblioteca. [ 16 ]
Portal de desarrollo colaborativo
En diciembre de 2011, Open Cascade instaló un portal web para colaboradores externos [ 17 ] y puso a disposición del público su Mantis Bug Tracker [ 18 ] y su repositorio Git [ 19 ] (en 2020 se creó un espejo de GitHub de solo lectura [ 20 ] ). Según las declaraciones en el nuevo sitio web, se anima a los colaboradores externos de la comunidad de código abierto a participar en el desarrollo de la tecnología Open Cascade, es decir, registrar errores directamente en el bugtracker , hacer contribuciones al código después de firmar un Acuerdo de Licencia de Colaborador [ 21 ] , etc.
Cambio de licencia
Desde el 18 de diciembre de 2013, con la versión 6.7.0, Open Cascade Technology está disponible bajo la licencia LGPL-2.1 únicamente, con una excepción añadida. [ 3 ] [ 22 ] Las versiones anteriores a esa estaban licenciadas bajo la "Open Cascade Technology Public License", que no era compatible con la GPL [ 23 ] y era considerada no libre por el proyecto Fedora . [ 24 ]
Funciones
Bibliotecas de objetos
La funcionalidad de OCCT se divide en varios módulos grandes. Cada módulo define una lista de conjuntos de herramientas ( bibliotecas ). Módulos clave:
- Clases básicas : define las clases básicas, los asignadores de memoria, la capa de abstracción del sistema operativo, las colecciones (mapas de datos, matrices, etc.), las estructuras de datos de aceleración ( árboles BVH ) y las operaciones matemáticas vectoriales/matriciales utilizadas por otros módulos.
- Modelado de datos : proporciona estructuras de datos para representar primitivas geométricas 2D y 3D (curvas analíticas: línea, círculo , elipse , hipérbola, parábola , Bézier , B-spline , desplazamiento; superficies analíticas: plano, cilindro , cono , esfera , toroide , Bézier , B-spline , revolución , extrusión, desplazamiento) y sus composiciones en modelos de representación de límites (B-rep).
- Algoritmos de modelado : contiene una amplia gama de algoritmos geométricos y topológicos (intersección, operaciones booleanas, mallado de superficies , redondeos , corrección de formas).
- Visualización (renderizado) : proporciona servicios interactivos para mostrar geometría en un visor 3D; implementa un renderizador OpenGL ES compacto, compatible con el modelo Phong convencional , modelos de sombreado de rugosidad metálica PBR en tiempo real y motor de trazado de rayos interactivo .
- Intercambio de datos : permite importar y exportar diversos formatos CAD. STEP , IGES , glTF , OBJ , STL y VRML son compatibles de forma nativa. [ 25 ] Otros formatos pueden importarse mediante complementos. [ 26 ] Los componentes de Intercambio de datos extendido (XDE) se basan en una definición de documento XCAF unificada , que incluye una estructura de ensamblaje de formas CAD, atributos de color/nombre/material/metadatos/capa y otra información complementaria como información de producto y fabricación (PMI).
- Marco de aplicación : ofrece los medios para gestionar datos específicos de la aplicación.
- DRAW Test Harness implementa una interfaz de scripting para algoritmos OCCT basada en el intérprete Tcl para uso interactivo, automatización de procesos, creación de prototipos de aplicaciones y fines de prueba.
Kit de organización de talleres
Workshop Organization Kit (WOK) es un entorno de desarrollo Open Cascade, diseñado para permitir que muchos desarrolladores trabajen en un producto, aprovechando una versión de referencia común compartida a través de una red de área local (LAN).
Hasta el lanzamiento de OCCT 7.0.0, no era posible realizar modificaciones sustanciales en el código fuente sin utilizar WOK, ya que es la única herramienta que ofrece soporte para CDL (lenguaje de definición CAS.CADE), utilizado para la declaración de la mayoría de las clases de OCCT y también para definir la estructura lógica de las bibliotecas de OCCT. WOK se incluyó en distribuciones anteriores de OCCT; desde la versión 6.4 de OCCT, se convirtió en una herramienta independiente.
Con la versión 7.0.0, todos los archivos CDL se han eliminado del código fuente de OCCT, por lo que WOK ya no es necesario para el desarrollo de OCCT.
Trabajar con archivos IFC
El SDK de importación IFC de Open CASCADE proporciona a las aplicaciones la capacidad de leer datos de modelado de información de construcción (BIM) desde archivos en formato Industry Foundation Classes (IFC). Es compatible con las versiones IFC2×3 e IFC4, utilizadas por la mayoría de las aplicaciones modernas. [ 27 ]
Esto permite visualizar y manipular geometrías de edificios y diseños CAD.
También existen herramientas externas para convertir de Open CASCADE a IFC. [ 28 ]
Programas CAD basados en tecnología Open Cascade.
Varios programas CAD se basan en la tecnología Open CASCADE, entre ellos: [ 29 ]
- FreeCAD es un modelador paramétrico 3D de código abierto, con soporte para modelado de información de construcción , método de elementos finitos (FEM) y scripting en Python . [ 30 ] [ 31 ]
- SALOME es una plataforma de código abierto para el preprocesamiento y postprocesamiento en simulación numérica.
- KiCad es un conjunto de software de código abierto para la automatización del diseño electrónico (EDA). [ 32 ]
- Gmsh es un generador de mallas de elementos finitos (FEM) de código abierto. Desde la versión 3.0, Gmsh admite todas las funciones de geometría sólida constructiva, basadas en OCCT.
- FORAN es un sistema integrado CAD/CAM/CAE desarrollado por SENER para el diseño y la producción de prácticamente cualquier buque naval y unidad offshore. FORAN utiliza OCCT desde la versión V80R2.0 [ 33 ] para trabajar con superficies analíticas.
Véase también
Referencias
- ↑ "Versión 8.0.0" . 7 de mayo de 2026. Consultado el 8 de mayo de 2026 .
- ↑ "README.txt" . Archivado del original el 22 de agosto de 2021. Consultado el 11 de enero de 2022 .
- 1 2 3 "Licencia OCCT" . Archivado del original el 1 de julio de 2021. Recuperado el 25 de junio de 2021 .
- ↑ "Descripción general del proyecto | Tecnología Open CASCADE" . dev.opencascade.org . Archivado del original el 16 de mayo de 2025. Consultado el 11 de mayo de 2025 .
- ↑ "Dassault Systemes firma un acuerdo para adquirir la filial de Matra Datavision" . 27 de enero de 2020. Archivado del original el 6 de junio de 2020. Consultado el 1 de septiembre de 2018 .
- ↑ "Opciones de pegado en el componente booleano - Foro de Open Cascade Technology" . dev.opencascade.org . Archivado del original el 18 de agosto de 2021. Consultado el 18 de agosto de 2021 .
- ↑ "Operaciones booleanas difusas - Foro Open Cascade Technology" . dev.opencascade.org . Archivado del original el 18 de agosto de 2021. Consultado el 18 de agosto de 2021 .
- ↑ "Servicios de integración de VTK en OCCT - Foro Open Cascade Technology" . dev.opencascade.org . Consultado el 18 de agosto de 2021 .
- ↑ "Renderizado estereoscópico en Open CASCADE Technology - Foro Open Cascade Technology" . dev.opencascade.org . Archivado del original el 18 de agosto de 2021. Consultado el 18 de agosto de 2021 .
- ↑ "Ray tracing as alternative rendering method for OCCT visualization component - Forum Open Cascade Technology" . dev.opencascade.org . Archivado del original el 18 de agosto de 2021. Consultado el 18 de agosto de 2021 .
- ↑ "Licencia pública de tecnología Open CASCADE" . Archivado del original el 7 de diciembre de 2014. Consultado el 4 de diciembre de 2014 .
- ↑ "La descarga del código fuente de Open Cascade cobra impulso | Market Wire | Buscar artículos" . 9 de abril de 2012. Archivado del original el 9 de abril de 2012. Consultado el 22 de noviembre de 2021 .
- ↑ Estudio de caso de European e-Business Market Watch: Servicios basados en código abierto de Open Cascade SA. Archivado el 26 de julio de 2011 en Wayback Machine.
- ↑ "Publicaciones anteriores de OCCT" . Archivado del original el 30 de junio de 2021. Consultado el 25 de junio de 2021 .
- ↑ "¡Cada vez más abiertos!" . Archivado del original el 19 de junio de 2011 . Consultado el 21 de junio de 2011 .
- ↑ "Reflexiones sobre la versión 6.5.0, el estado de OCCT y la relación con la comunidad" . Archivado del original el 16 de abril de 2011. Consultado el 15 de abril de 2011 .
- ↑ "Abriendo el desarrollo de la tecnología abierta CASCADE" . Archivado del original el 23 de enero de 2012. Recuperado el 7 de febrero de 2012 .
- ↑ "Mantis Bug Tracker para el proyecto OCCT" .
- ↑ "Interfaz GitWeb para el repositorio Git principal de OCCT" . Archivado del original el 29 de octubre de 2013. Recuperado el 28 de abril de 2012 .
- ↑ "Espejo pasivo del repositorio git de OCCT en GitHub" . GitHub . Archivado del original el 14 de septiembre de 2020. Consultado el 4 de agosto de 2020 .
- ↑ "Firma del Acuerdo de Licencia de Colaborador" . Archivado del original el 1 de septiembre de 2018. Consultado el 1 de septiembre de 2018 .
- ↑ "Relicensing OCCT - Forum Open Cascade Technology" . dev.opencascade.org . Archivado del original el 22 de noviembre de 2021. Consultado el 22 de noviembre de 2021 .
- ↑ "Preguntas frecuentes de OCCT" . dev.opencascade.org . Open Cascade. Archivado del original el 29 de junio de 2021. Consultado el 25 de junio de 2021 .
- ↑ Callaway, Tom. "Licencias: Principal – Licencias incorrectas" . fedoraproject.org . Red Hat, Inc. y otros. Archivado del original el 6 de marzo de 2016. Recuperado el 18 de mayo de 2013 .
- ↑ "Intercambio de datos | Tecnología Open CASCADE" . dev.opencascade.org . Consultado el 22 de noviembre de 2021 .
- ↑ "Datakit" . Open Cascade.com . Archivado del original el 22 de noviembre de 2021. Consultado el 22 de noviembre de 2021 .
- ↑ "Open CASCADE: Componente de importación IFC" . Archivado del original el 15 de noviembre de 2022. Consultado el 15 de noviembre de 2022 .
- ↑ "CAD Exchanger: ¿Cómo convertir Open CASCADE a IFC?" . Archivado del original el 15 de noviembre de 2022 . Consultado el 15 de noviembre de 2022 .
- ↑ Open Cascade SAS. "Proyectos y productos" Archivado el 1 de octubre de 2024 en Wayback Machine .
- ↑ Okoi, Martins (1 de diciembre de 2017). "FreeCAD: un software de diseño y modelado 3D para Linux" . FOSSMint . Archivado del original el 15 de diciembre de 2017. Consultado el 2 de mayo de 2019 .
- ↑ Lee, Hawk (22 de junio de 2018). "FreeCAD FEM Workbench (Calculix 2.14)" . Archivado del original el 3 de mayo de 2019. Recuperado el 2 de mayo de 2019 .
- ↑ KiCad "Dependencias de la biblioteca" Archivado el 19 de septiembre de 2024 en Wayback Machine .
- ↑ "La última versión de FORAN V80R2.0 de SENER permite a los usuarios gestionar series de buques" . 19 de julio de 2016. Archivado del original el 21 de agosto de 2018. Consultado el 4 de agosto de 2020 .
- Software gratuito de diseño asistido por ordenador
- Software libre programado en C++
- Software de diseño asistido por ordenador para Linux
- Software de fabricación asistida por ordenador para Linux
- Software de ingeniería asistida por ordenador para Linux
- Software de gráficos 3D
- Software que utiliza la Licencia Pública General Reducida de GNU.