Open Cascade Technology
Open Cascade Technology (OCCT), formerly called CAS.CADE, is an open-source software development platform for 3D CAD, CAM, CAE, etc. that is developed and supported by Open Cascade SAS.
OpenCASCADE Screenshot | |
Developer(s) | Open Cascade S.A.S |
---|---|
Initial release | 1999 |
Stable release | 7.5.0
/ 5 November 2020[1] |
Repository | |
Written in | C++ |
Operating system | Linux, FreeBSD, Mac OS X, Windows, Android, iOS and WebAssembly |
Type | CAD, CAM, CAE |
License | LGPL 2.1 |
Website | www dev |
OCCT is a full-scale B-Rep (Boundary representation) modeling toolkit. OCCT is available under LGPL permitting its usage in open source and proprietary applications.
History
CAS.CADE (abbreviated from Computer Aided Software for Computer Aided Design and Engineering) was originally developed in the early 1990s by Matra Datavision, developer of Euclid CAD software as the underlying infrastructure for its future version Euclid Quantum. In 1998 the company abandoned software development to concentrate on services, and most of the software development facilities were sold[2] to Dassault Systèmes, developer of competing CATIA.
Product name | Release date | Latest Update Version | Latest Update Date | Notes |
---|---|---|---|---|
Open CASCADE Technology 7.5 | 2020-11-05 | - | - |
|
Open CASCADE Technology 7.4 | 2019-10-01 | - | - | |
Open CASCADE Technology 7.3 | 2018-05-29 | - | - | |
Open CASCADE Technology 7.2 | 2017-08-31 | - | - | |
Open CASCADE Technology 7.1 | 2016-11-25 | - | - | |
Open CASCADE Technology 7.0 | 2016-04-05 | - | - |
|
Open CASCADE Technology 6.9 | 2015-05-12 | 6.9.1 | 2015-09-28 | |
Open CASCADE Technology 6.8 | 2014-11-10 | - | - | |
Open CASCADE Technology 6.7 | 2013-12-18 | 6.7.1 | 2014-04-30 | License has been changed to LGPL 2.1. |
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.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" has been renamed to "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 | - | - |
Open sourcing
In 1999 Matra Datavision decided to publish its CAS.CADE infrastructure under an open-source model under the Open CASCADE Technology Public License[3] and renamed it Open Cascade.[4]
In 2000, a separate company, Open Cascade SAS, was created to make business around Open Cascade.[5] Open Cascade SAS was sold in 2003 to Principia, a French service provider corporation, and then in 2006 it was acquired by Euriware Group, a subsidiary of Areva.
In 2004, software was renamed to Open Cascade Technology in order to distinguish it from the name of the company itself.
Open Cascade S.A.S. provides a certified version of the library, which is released sporadically, usually 1–2 releases per year.[6] Until version 6.5.0 (2011), only minor and major versions were publicly available, while intermediate (maintenance) releases were accessible only to customers of Open Cascade S.A.S. For example, version 6.3.0 was publicly released in 2008, and the next public version 6.5.0 was released in early 2011. All recent releases starting from version 6.5.0 are public.[7]
Community fork
In March 2011, Thomas Paviot initiated a fork of the then most recent publicly available version 6.5.0 of Open Cascade library. The initiative is called Open Cascade Community Edition. The project aims to establish a separate community-based release and bug-report process for the library.[8]
Collaborative development portal
In December 2011, Open Cascade installed a web portal for external contributors[9] and made its Mantis Bug Tracker[10] and further Git repository[11] publicly available (read-only GitHub mirror[12] has been established in '2020). According to the statements on the new website, external contributors from the Open Source Community are encouraged to participate in the development of Open Cascade Technology, i.e. register bugs directly in the bugtracker, make contributions to the code after signing a Contributor License Agreement,[13] etc.
License change
Since 18 December 2013 with version 6.7.0 Open Cascade Technology is available under the LGPL 2.1 with additional exception.[14][15] Versions before that were licensed under the "Open Cascade Technology Public License" which was not compatible with the GPL[16] and was considered non-free by the Fedora project.[17]
Functionality
Object libraries
OCCT's functionality is split into several large modules. Each module defines a list of toolkits (libraries). Key Modules:
- Foundation Classes: defines basic classes, memory allocators, OS abstraction layer, collections (data maps, arrays, etc.), acceleration data structures (BVH Trees) and vector/matrix math used by other Modules.
- Modeling Data: supplies data structures to represent 2D and 3D geometric primitives (analytical curves: Line, Circle, Ellipse, Hyperbola, Parabola, Bézier, B-spline, Offset; analytical surfaces: Plane, Cylinder, Cone, Sphere, Torus, Bézier, B-spline, Revolution, Extrusion, Offset) and their compositions into B-Rep models.
- Modeling Algorithms: contains a vast range of geometrical and topological algorithms (intersection, Boolean operations, surface meshing, fillets, shape healing).
- Visualization: provides interactive services for displaying geometry in 3D Viewer; implements a compact OpenGL / OpenGL ES renderer, supporting conventional Phong, real-time PBR metal-roughness shading models as well as interactive Ray-Tracing/Path-Tracing engine.
- Data Exchange: provides possibility to import/export various CAD formats.
STEP, IGES, glTF, OBJ, STL and VRML are supported natively.[18] Other formats can be imported by using plug-ins.[19] Extended Data Exchange (XDE) components rely on a unified XCAF document definition, which includes an assembly structure of CAD shapes, color/name/material/metadata/layer attributes as well as other supplementary information like PMI. - Application Framework: offers solutions for handling application-specific data.
- DRAW Test Harness: implements a scripting interface to OCCT algorithms based on Tcl-interpreter for interactive usage, automating processes, prototyping applications and testing purposes.
Workshop Organization Kit
Workshop Organization Kit (WOK) is Open Cascade development environment, which has been designed to allow a large number of developers to work on a product getting advantage of common reference version shared over the local network.
Until OCCT 7.0.0 release, substantial modifications in the source code were not possible without using WOK, since it is the only tool that provides support for CDL (CAS.CADE definition language), used for declaration of most of OCCT classes and also serving to define logical structure of OCCT libraries. WOK has been included in previous OCCT distributions; since OCCT version 6.4 it is made an independent tool.
Within 7.0.0 release, all CDL files have been dropped from OCCT source code making WOK no longer necessary for OCCT development.
CAD Programs based on Open Cascade Technology
Several CAD programs relies on Open CASCADE Technology including:
- FreeCAD an open source, 3D parametric modeler, with support for building information modeling, finite-element-method (FEM), and Python scripting.[20][21]
- SALOME an open source platform for pre- and post-processing for numerical simulation. OCCT is an important part of GEOM and SHAPER modules providing a parametric modeler, 3D Viewer and import/export operations for CAD formats.
- KiCad an open source suite for electronic design automation (EDA). It relies on OCCT since 5th release for importing STEP and IGES files.
- Gmsh an open source finite-element mesh (FEM) generator. Since version 3.0, Gmsh supports full constructive solid geometry features, based on OCCT.
- STEP File Analyzer an open source tool developed by NIST for STEP (ISO 10303) file analysis.
- TiGL Geometry Library an open source project for computation and processing of aircraft geometries developed by German Aerospace Center. The TiGL library uses OCCT to represent the airplane geometry by NURBS surfaces.
- FORAN an integrated CAD/CAM/CAE system developed by SENER for the design and production of practically any naval ship and offshore unit. FORAN uses OCCT since V80R2.0 release[22] for working with analytical surfaces.
CAD programs developed by Open Cascade itself relying on Open CASCADE Technology:
- CAD Builder a freeware parametric modeler derived from SHAPER Module as dedicated sample application.
- CAD Assistant a freeware 3D Viewer and converter supporting various 3D CAD formats and available on Windows, Linux, macOS and Android platforms.
- CAD Processor a commercial software solution allowing preparation and simplification of 3D reference data.
- DMU Reviewer a commercial collaborative software solution for exploring and visualization of large digital mock-ups.
- CADRays an open source 3D Viewer generating photo-realistic images using OCCT built-in Ray-Tracing engine.
See also
- Free hardware
- List of CAx companies
- Computer-aided design
References
- "Download Open CASCADE Technology 7.5.0".
- "Dassault Systemes Signs Agreement to Acquire Matra Datavision's Subsidiary".
- "Open CASCADE Technology Public License".
- Downloading Of Source Code For Open Cascade Gains Momentum
- European e-Business Market Watch Case Study: Open source-based services by Open Cascade S.A. Archived 26 July 2011 at the Wayback Machine
- "What's new".
- "Becoming more and more open!".
- "Thinkings about the 6.5.0 release, OCCT status, and the relationship with the Community".
- "Opening the Development of Open CASCADE Technology".
- "Mantis Bug Tracker for OCCT project".
- "GitWeb interface to main OCCT git repository".
- "Passive mirror of OCCT git repository on GitHub".
- "Signing the Contributor License Agreement".
- "Public license".
- license change
- "FAQ". opencascade.org. Open Cascade. Retrieved 18 May 2013.
- Callaway, Tom. "Licensing:Main – Bad Licenses". fedoraproject.org. Red Hat, Inc. and others. Retrieved 18 May 2013.
- https://www.opencascade.com/content/data-exchange
- https://www.opencascade.com/content/product-partners
- Okoi, Martins (1 December 2017). "FreeCAD – A 3D Modeling and Design Software for Linux". FOSSMint. Retrieved 2 May 2019. }}
- Lee, Hawk (22 June 2018). "FreeCAD FEM Workbench (Calculix 2.14)". Archived from the original on 3 May 2019. Retrieved 2 May 2019.
- "SENER's latest version of FORAN V80R2.0 lets users manage series of ships". 19 July 2016. Retrieved 4 August 2020.
External links
- Official website
- Discussion of Open Cascade license on Open Cascade forums (started 25 Feb '09)
- oce on GitHub
- Discussion forum for the OCE project
- Python binding to Open Cascade library
- Collaborative Development Portal
- CrossCad/Plg: CAD import plug-ins for Open CASCADE