Open Cascade Technology
Open Cascade Technology is an object-oriented C++ class library for 3D computer-aided design, computer-aided manufacturing, computer-aided engineering, etc. It is developed and supported by Open Cascade SAS company. It is free and open-source software released under the GNU Lesser General Public License, version 2.1 only, which permits open source and proprietary uses.
OCCT is a full-scale boundary representation modeling toolkit.
History
CAS.CADE 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 to Dassault Systèmes, developer of competing CATIA.| Product name | Release date | Latest update version | Latest update date | Highlights |
| Open CASCADE Technology 7.6 | 7.6.2 |
| ||
| Open CASCADE Technology 7.5 | 2020-11-05 | 7.5.3 | 2021-08-06 | |
| Open CASCADE Technology 7.4 | ||||
| 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 | |
| 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 | |||
| 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 and renamed it Open Cascade.In 2000, a separate company, Open Cascade SAS, was created to make business around Open Cascade. 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. Until version 6.5.0, only minor and major versions were publicly available, while intermediate 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.
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 named Open Cascade Community Edition. The project aims to establish a separate community-based release and bug-report process for the library.Collaborative development portal
In December 2011, Open Cascade installed a web portal for external contributors and made its Mantis Bug Tracker and further Git repository publicly available. 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, etc.License change
Since 18 December 2013, with version 6.7.0, Open Cascade Technology is available under the LGPL-2.1-only with added exception. Versions before that were licensed under the "Open Cascade Technology Public License" which was not compatible with the GPL and was considered non-free by the Fedora project.Functions
Object libraries
OCCT's functionality is split into several large modules. Each module defines a list of toolkits. Key modules:- Foundation Classes – defines basic classes, memory allocators, OS abstraction layer, collections, acceleration data structures and vector/matrix math used by other Modules.
- Modeling Data – supplies data structures to represent 2D and 3D geometric primitives and their compositions into boundary representation models.
- Modeling Algorithms – contains a vast range of geometrical and topological algorithms.
- 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 and 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. Other formats can be imported by using plug-ins. Extended Data Exchange components rely on a unified XCAF document definition, which includes an assembly structure of CAD shapes, color/name/material/metadata/layer attributes and other supplementary information like product and manufacturing information. - Application Framework – offers means to handle application-specific data.
- DRAW Test Harness – implements a scripting interface to OCCT algorithms based on Tcl-interpreter for interactive use, automating processes, prototyping applications and testing purposes.