Open CASCADE Technology
   HOME

TheInfoList



OR:

Open Cascade Technology (OCCT, formerly named CAS.CADE) is an object-oriented C++ class library for 3D
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 ...
(CAD),
computer-aided manufacturing Computer-aided manufacturing (CAM) also known as computer-aided modeling or computer-aided machining is the use of software to control machine tools in the manufacturing of work pieces. This is not the only definition for CAM, but it is the most ...
(CAM),
computer-aided engineering Computer-aided engineering (CAE) is the general usage of technology to aid in tasks related to engineering analysis. Any use of technology to solve or assist engineering issues falls under this umbrella. Overview Following alongside the con ...
(CAE), etc. It is developed and supported by Open Cascade SAS company. It is
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
released under the
GNU Lesser General Public License The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(LGPL), version 2.1 only, which permits open source and proprietary uses. OCCT is a full-scale
boundary representation 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 is represented as a collection of connected surface ...
(B-rep) modeling toolkit.


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 major French industrial Conglomerate (company), conglomerate. Its business activities covered a wide range of industries, notably aerospace manufacturer, aerospace, defence industry, def ...
Datavision, developer of
Euclid Euclid (; ; 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 geometry that largely domina ...
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 Multinational corporation, multinational software corporation which develops software for 3D product design, simulation, manufacturing and other 3D related products. Founded in 1981, it is ...
, 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 li ...
.


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. was a French multinational group specializing in nuclear power, active between 2001 and 2018. It was headquartered in Courbevoie, France. Before its 2016 corporate restructuring, Areva was majority-owned by the French state through t ...
. 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 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 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 proj ...
and further
Git Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
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 A Contributor License Agreement (CLA) defines the terms under which intellectual property has been contributed to a company/project, typically software under an open source license. Rationale CLAs can be used to enable vendors to easily purs ...
, 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 The Fedora Project is an independent project to coordinate the development of Fedora Linux, a Linux-based operating system, operating with the mission of creating "''an innovative platform for hardware, clouds, and containers that enables softw ...
.


Functions


Object libraries

OCCT's functionality is split into several large modules. Each module defines a list of toolkits (
libraries A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
). 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 point (geometry), points in a plane (mathematics), plane that are at a given distance from a given point, the Centre (geometry), centre. The distance between any point of the circle and the centre is cal ...
,
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 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 exactl ...
, Bézier,
B-spline In numerical analysis, a B-spline (short for basis spline) is a type of Spline (mathematics), spline function designed to have minimal Support (mathematics), support (overlap) for a given Degree of a polynomial, degree, smoothness, and set of bre ...
, offset; analytical surfaces: plane,
cylinder A cylinder () 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 infinite ...
,
cone In geometry, a cone is a three-dimensional figure that tapers smoothly from a flat base (typically a circle) to a point not contained in the base, called the '' apex'' or '' vertex''. A cone is formed by a set of line segments, half-lines ...
,
sphere A sphere (from Ancient Greek, Greek , ) is a surface (mathematics), surface analogous to the circle, a curve. In solid geometry, a sphere is the Locus (mathematics), set of points that are all at the same distance from a given point in three ...
,
torus In geometry, a torus (: tori or toruses) is a surface of revolution generated by revolving a circle in three-dimensional space one full revolution about an axis that is coplanarity, coplanar with the circle. The main types of toruses inclu ...
, Bézier,
B-spline In numerical analysis, a B-spline (short for basis spline) is a type of Spline (mathematics), spline function designed to have minimal Support (mathematics), support (overlap) for a given Degree of a polynomial, degree, smoothness, and set of bre ...
,
revolution In political science, a revolution (, 'a turn around') is a rapid, fundamental transformation of a society's class, state, ethnic or religious structures. According to sociologist Jack Goldstone, all revolutions contain "a common set of elements ...
, extrusion, offset) and their compositions into
boundary representation 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 is represented as a collection of connected surface ...
(B-rep) models. * ''Modeling Algorithms'' – contains a vast range of geometrical and topological algorithms (intersection, Boolean operations, surface meshing, fillets, shape healing). * ''Visualization (rendering)'' – provides interactive services for displaying geometry in 3D Viewer; implements a compact
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
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-accelerate ...
renderer, supporting conventional Phong, real-time PBR metal-roughness shading models and interactive ray tracing
path tracing Path tracing is a rendering algorithm in computer graphics that Simulation, simulates how light interacts with Physical object, objects, voxels, and Volumetric_path_tracing, participating media to generate realistic (''physically plausible'') R ...
engine. * ''Data Exchange'' – provides possibility to import–export various CAD formats.
STEP,
IGES The Initial Graphics Exchange Specification (IGES) is a vendor-neutral List of file formats, file format that allows the CAD data exchange, digital exchange of information among computer-aided design (CAD) systems. It is an ASCII-based textual for ...
,
glTF glTF (Graphics Library Transmission Format or GL Transmission Format and formerly known as WebGL Transmissions Format or WebGL TF) is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file exte ...
, 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 and other supplementary information like
product and manufacturing information Product and manufacturing information, also abbreviated PMI, conveys non-geometric attributes in 3D computer-aided design (CAD) and Collaborative Product Development systems necessary for manufacturing product components and assemblies. PMI may inc ...
(PMI). * ''Application Framework'' – offers means to handle 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 use, 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 many developers to work on a product, exploiting one common reference version shared over a
local area network A local area network (LAN) is a computer network that interconnects computers within a limited area such as a residence, campus, or building, and has its network equipment and interconnects locally managed. LANs facilitate the distribution of da ...
(LAN). 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
building information modeling Building information modeling (BIM) is an approach involving the generation and management of digital representations of the physical and functional characteristics of buildings or other physical assets and facilities. BIM is supported by vario ...
(BIM) data from files in
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 (ABCII). The IFC file format is based on ISO 10303-21 standard and definitions of ABCII are ...
(IFC) format. It supports versions IFC2×3 and IFC4 that used by most modern applications. This allows visualizing and manipulating building geometries and CAD designs. External tools are available to convert from Open CASCADE to IFC also.


CAD programs based on Open Cascade Technology

Several CAD programs rely on Open CASCADE Technology including: *
FreeCAD FreeCAD is a general-purpose Solid_modeling#Parametric_modeling, 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 mecha ...
an open source, 3D parametric modeler, with support for
building information modeling Building information modeling (BIM) is an approach involving the generation and management of digital representations of the physical and functional characteristics of buildings or other physical assets and facilities. BIM is supported by vario ...
,
finite element method Finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat tran ...
(FEM), and Python scripting. *
SALOME Salome (; , related to , "peace"; ), also known as Salome III, was a Jews, Jewish princess, the daughter of Herod II and princess Herodias. She was granddaughter of Herod the Great and stepdaughter of Herod Antipas. She is known from the New T ...
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 for PCB manufacturing. It features an integrated environment for schematic capture, Printed circuit boar ...
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.


See also

* Free hardware *
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 applic ...
*
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 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, Aut ...
*
Building information modeling Building information modeling (BIM) is an approach involving the generation and management of digital representations of the physical and functional characteristics of buildings or other physical assets and facilities. BIM is supported by vario ...
*
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 (ABCII). The IFC file format is based on ISO 10303-21 standard and definitions of ABCII are ...


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