Open CASCADE Technology
   HOME

TheInfoList



OR:

Open Cascade Technology (OCCT), formerly called ''CAS.CADE'', is an
open-source software Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Op ...
development platform for 3D
CAD 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 co ...
,
CAM Calmodulin (CaM) (an abbreviation for calcium-modulated protein) is a multifunctional intermediate calcium-binding messenger protein expressed in all eukaryotic cells. It is an intracellular target of the secondary messenger Ca2+, and the bin ...
, CAE, 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 Matra (an acronym for Mécanique Aviation Traction) was a French industrial conglomerate. During its years of operation, it was engaged in a wide range of business activities, primarily focused around automobiles, bicycles, aeronautics and w ...
Datavision, developer of
Euclid Euclid (; grc-gre, Εὐκλείδης; BC) was an ancient Greek mathematician active as a geometer and logician. Considered the "father of geometry", he is chiefly known for the '' Elements'' treatise, which established the foundations of ...
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 Dassault Systèmes SE () (abbreviated 3DS) is a French software corporation which develops software for 3D product design, simulation, manufacturing and other 3D related products. Founded in 1981, it is headquartered in Vélizy-Villacoublay, F ...
, developer of competing
CATIA CATIA (, an acronym of computer-aided three-dimensional interactive application) is a multi-platform software suite for computer-aided design (CAD), computer-aided manufacturing (CAM), computer-aided engineering (CAE), 3D modeling and Product ...
.


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 (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 and further
Git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data in ...
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 A bug tracking system or defect tracking system is a software application that keeps track of reported software bugs in software development projects. It may be regarded as a type of issue tracking system. Many bug tracking systems, such as those ...
, 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 The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general u ...
and was considered non-free by the
Fedora project The Fedora Project is an independent project to co-ordinate the development of Fedora Linux, a Linux-based operating system, operating with the vision of "''a world where everyone benefits from free and open source software built by inclusive, w ...
.


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 A circle is a shape consisting of all points in a plane that are at a given distance from a given point, the centre. Equivalently, it is the curve traced out by a point that moves in a plane so that its distance from a given point is con ...
, Ellipse, Hyperbola,
Parabola In mathematics, a parabola is a plane curve which is Reflection symmetry, mirror-symmetrical and is approximately U-shaped. It fits several superficially different Mathematics, mathematical descriptions, which can all be proved to define exact ...
, Bézier, B-spline, Offset; analytical surfaces: Plane,
Cylinder A cylinder (from ) has traditionally been a three-dimensional solid, one of the most basic of curvilinear geometric shapes. In elementary geometry, it is considered a prism with a circle as its base. A cylinder may also be defined as an infin ...
,
Cone A cone is a three-dimensional geometric shape that tapers smoothly from a flat base (frequently, though not necessarily, circular) to a point called the apex or vertex. A cone is formed by a set of line segments, half-lines, or lines con ...
,
Sphere A sphere () is a geometrical object that is a three-dimensional analogue to a two-dimensional circle. A sphere is the set of points that are all at the same distance from a given point in three-dimensional space.. That given point is th ...
,
Torus In geometry, a torus (plural tori, colloquially donut or doughnut) is a surface of revolution generated by revolving a circle in three-dimensional space about an axis that is coplanar with the circle. If the axis of revolution does not tou ...
, Bézier, B-spline,
Revolution In political science, a revolution (Latin: ''revolutio'', "a turn around") is a fundamental and relatively sudden change in political power and political organization which occurs when the population revolts against the government, typically due ...
, Extrusion, Offset) and their compositions into
B-Rep In solid modeling and computer-aided design, boundary representation (often abbreviated B-rep or BREP) is a method for representing a 3D shape by defining the limits of its volume. A Solid modeling, solid is represented as a collection of conn ...
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 OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accele ...
renderer, supporting conventional Phong, real-time
PBR PBR may refer to: Science and technology * Passive bistatic radar * Partition boot record * Pebble bed reactor, a type of nuclear reactor * Peripheral benzodiazepine receptor, another name for translocator protein * Phosphorus bromide * Photobio ...
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 The Initial Graphics Exchange Specification (IGES) is a vendor-neutral file format that allows the digital exchange of information among computer-aided design (CAD) systems. It's an ASCII-based textual format. The official title of IGES is ''D ...
,
glTF glTF is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file extensions: .gltf (JSON/ASCII) or .glb ( binary). Both .gltf and .glb files may reference external binary and texture resources. A ...
, OBJ, STL and
VRML VRML (Virtual Reality Modeling Language, pronounced ''vermal'' or by its initials, originally—before 1995—known as the Virtual Reality Markup Language) is a standard file format for representing 3-dimensional (3D) interactive vector graph ...
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 TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited ...
-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 ''Bim'' is a 1974 Trinidad and Tobago film written by Raoul Pantin and directed by Hugh A. Robertson. It was described by Bruce Paddington as "one of the most important films to be produced in Trinidad and Tobago and... one of the classics of Ca ...
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 FreeCAD is a general-purpose parametric 3D computer-aided design (CAD) modeler and a building information modeling (BIM) software application with finite element method (FEM) support. It is intended for mechanical engineering product design bu ...
an open source, 3D parametric modeler, with support for building information modeling, finite-element-method (FEM), and
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
scripting. * SALOME an open source platform for pre- and post-processing for numerical simulation. *
KiCad KiCad ( ) is a free software suite for electronic design automation (EDA). It facilitates the design and simulation of electronic hardware. It features an integrated environment for schematic capture, PCB layout, manufacturing file viewing, ...
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 SENER is a private engineering and technology group founded in 1956, and specialises in activities related to Engineering and Construction, and has industrial holdings in companies working in the areas of energy, environment and aeronautics. SEN ...
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 * List of CAx companies * Computer-aided design *
Open Design Alliance Open Design Alliance is a nonprofit organization creating software development kits (SDKs) for engineering applications. ODA offers interoperability tools for CAD, BIM, and Mechanical industries including .dwg, .dxf, .dgn, Autodesk Revit, Autode ...
* Building Information Modeling *
Industry Foundation Classes The Industry Foundation Classes (IFC) is a CAD data exchange data schema intended for description of architectural, building and construction industry data. It is a platform-neutral, open data schema specification that is not controlled by a singl ...


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