Open Cascade Technology (OCCT), formerly called ''CAS.CADE'', is an
open-source software development platform for 3D
CAD,
CAM,
CAE CAE may refer to:
Organisations Aviation
* CAE Aviation, a Luxembourgian aviation services company
* CAE Inc. (formerly Canadian Aviation Electronics), a Canadian manufacturer of simulation technologies and training provider
* Régional Compagnie A ...
, etc. that is developed and supported by
Open Cascade SAS.
OCCT is a full-scale
B-Rep (Boundary representation) modeling toolkit. OCCT is available under the
LGPL-2.1-only license 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 to
Dassault Systèmes, developer of competing
CATIA.
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
EURIWARE was a French company that provided advanced Consultancy and IT services in the spheres of energy, industry and defense.
The core business of EURIWARE included consultancy, systems integration (enterprise systems, industrial and technical ...
Group, a subsidiary of
Areva
Areva S.A. is a French multinational group specializing in nuclear power headquartered in Courbevoie, France. Before its 2016 corporate restructuring, Areva was majority-owned by the French state through the French Alternative Energies and Atom ...
.
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 (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.
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.
Collaborative development portal
In December 2011, Open Cascade installed a web portal for external contributors and made its
Mantis Bug Tracker
Mantis Bug Tracker is a free and open source, web-based bug tracking system. The most common use of MantisBT is to track software defects. However, MantisBT is often configured by users to serve as a more generic issue tracking system and proje ...
and further
Git repository publicly available (read-only GitHub mirror 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, etc.
License change
Since 18 December 2013 with version 6.7.0 Open Cascade Technology is available under the
LGPL-2.1-only with additional 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.
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
In mathematics, an ellipse is a plane curve surrounding two focus (geometry), focal points, such that for all points on the curve, the sum of the two distances to the focal points is a constant. It generalizes a circle, which is the special ty ...
, Hyperbola,
Parabola,
Bézier,
B-spline
In the mathematical subfield of numerical analysis, a B-spline or basis spline is a spline function that has minimal support with respect to a given degree, smoothness, and domain partition. Any spline function of given degree can be expresse ...
, Offset; analytical surfaces: Plane,
Cylinder,
Cone,
Sphere,
Torus,
Bézier,
B-spline
In the mathematical subfield of numerical analysis, a B-spline or basis spline is a spline function that has minimal support with respect to a given degree, smoothness, and domain partition. Any spline function of given degree can be expresse ...
,
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 (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
/
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
Step(s) or STEP may refer to:
Common meanings
* Stairs#Step, Steps, making a staircase
* Walking
* Dance move
* Military step, or march
** Marching
Arts Films and television
* Steps (TV series), ''Steps'' (TV series), Hong Kong
* Step (film), ' ...
,
IGES,
glTF,
OBJ,
STL STL may refer to:
Communications
* Standard telegraph level
*Studio/transmitter link
International law
*Special Tribunal for Lebanon
The Special Tribunal for Lebanon (STL), also referred to as the Lebanon Tribunal or the Hariri Tribunal, is a ...
and
VRML are supported natively. Other formats can be imported by using plug-ins. 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.
Working with IFC Files
The Open CASCADE IFC Import SDK provides applications with the capability of reading
BIM data from files in
IFC format.
It supports versions IFC2×3 and IFC4 that used by most modern applications.
This allows visualization and manipulation of building geometries and CAD designs.
External tools are available to convert from Open CASCADE to IFC as well.
CAD Programs based on Open Cascade Technology
Several CAD programs rely on Open CASCADE Technology including:
*
FreeCAD an open source, 3D parametric modeler, with support for
building information modeling
Building information modeling (BIM) is a process supported by various tools, technologies and contracts involving the generation and management of digital representations of physical and functional characteristics of places. Building informatio ...
,
finite-element-method (FEM), and
Python scripting.
*
SALOME
Salome (; he, שְלוֹמִית, Shlomit, related to , "peace"; el, Σαλώμη), also known as Salome III, was a Jewish princess, the daughter of Herod II, son of Herod the Great, and princess Herodias, granddaughter of Herod the Great, an ...
an open source platform for pre- and post-processing for numerical simulation.
*
KiCad an open source suite for electronic design automation (EDA).
*
Gmsh an open source finite-element mesh (FEM) generator. Since version 3.0, Gmsh supports full constructive solid geometry features, based on OCCT.
*
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 for working with analytical surfaces.
*
JSketcher a browser based parametric 3D modeler.
*
IFC Open Shell, a Python library for working with
IFC data. Uses Open CASCADE internally to convert the implicit geometry in IFC files into explicit geometry that any software CAD or modelling package can use.
See also
*
Free hardware
Open-source hardware (OSH) consists of physical artifacts of technology designed and offered by the open-design movement. Both free and open-source software (FOSS) and open-source hardware are created by this open-source culture movement and ...
*
List of CAx companies
This is a list of computer-aided technologies (CAx) companies and their software products.
Software using computer-aided technologies (CAx) has been produced since the 1970s for a variety of computer platforms. This software may include applica ...
*
Computer-aided design
Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
*
Open Design Alliance
*
Building Information Modeling
Building information modeling (BIM) is a process supported by various tools, technologies and contracts involving the generation and management of digital representations of physical and functional characteristics of places. Building informatio ...
*
Industry Foundation Classes
References
{{DEFAULTSORT:Open Cascade
Free computer-aided design software
Free software programmed in C++
Computer-aided design software for Linux
Computer-aided manufacturing software for Linux
Computer-aided engineering software for Linux
3D graphics software