Open Cascade Technology

Last updated

Open Cascade Technology
Developer(s) Open Cascade S.A.S.U.
Initial release1999;25 years ago (1999)
Stable release
7.8.0 [1]   OOjs UI icon edit-ltr-progressive.svg / 4 December 2023;3 months ago (4 December 2023)
Repository
Written in C++
Operating system Linux, FreeBSD, Mac OS X, Windows, Android, iOS and WebAssembly
Type CAD, CAM, CAE
License LGPL-2.1-only [2] with exception [3]
Website https://dev.opencascade.org

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 company.

Contents

OCCT is a full-scale B-Rep (Boundary representation) modeling toolkit. OCCT is available under the LGPL-2.1-only license, which permits 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 [4] to Dassault Systèmes, developer of competing CATIA.

Product nameRelease dateLatest Update VersionLatest Update DateHighlights
Open CASCADE Technology 7.62021-11-037.6.22022-04-29
  • Added progress indication / abortion to Boolean operations and offset algorithm.
  • Added support of kinematics entities to STEP reader.
  • Introduced interface for partial OCAF document reading.
Open CASCADE Technology 7.52020-11-057.5.32021-08-06
  • Real-time Physically based rendering (PBR) renderer using Metallic-Roughness material model.
  • WebAssembly target platform support (including WebGL viewer).
  • UNICODE support in STEP reader/writer.
Open CASCADE Technology 7.42019-10-01
  • Improved BRepMesh performance, robustness and accuracy.
  • Improved robustness and stability of Boolean operations and Extrema.
  • Improved performance of built-in parallelization tools (OSD_Parallel).
  • Added glTF 2.0 and OBJ readers.
  • Added AIS_ViewController mapping user input to 3D viewer camera manipulations.
  • Added support of 3/4 and box clipping configurations to 3D viewer.
  • Added fast HLR-alike OpenGL rendering mode.
  • Removed legacy Local Context functionality from AIS and legacy Boolean operations.
Open CASCADE Technology 7.32018-05-29
  • Added algorithm constructing OBB (oriented bounding box).
  • Optimized surface intersection, shape offset and Boolean operation algorithms.
  • Added distance and size culling rendering features.
  • Added support of UNICODE filenames with MinGW-w64.
Open CASCADE Technology 7.22017-08-31
  • Added support of OCAF binary files larger than 2 GiB.
  • Added "Glue" [5] option to Boolean algorithms.
  • Added support of annotations, saved views and clipping planes to STEP and XDE.
  • Added Weighted OIT (Order-independent transparency) rendering feature.
  • Path Tracing engine improvements.
Open CASCADE Technology 7.12016-11-25
  • OCAF persistence without dynamically loaded plugins.
  • Improved STEP AP242 support, including PMI, dimensions and annotations.
  • Improved rendering performance of Wireframe AIS_Shape presentation.
  • Added AIS_Manipulator for interactive object transformations in 3D viewer.
  • TKOpenGl now uses GLSL programs by default.
Open CASCADE Technology 7.02016-04-05
  • WOK (Workshop Organization Kit) has been replaced by CMake building scripts.
  • CDL files have been replaced by pre-generated C++ headers.
Open CASCADE Technology 6.92015-05-126.9.12015-09-28
  • Introduced "Fuzzy" [6] Boolean operations with specified global tolerance.
  • Introduced built-in multi-threading parallelization tools as alternative to TBB library.
  • Improved robustness of surface-surface intersection and curve on surface projection.
  • Improved performance of p-curve reconstruction within STEP import.
  • Improved compatibility with OpenGL ES 2.0.
Open CASCADE Technology 6.82014-11-10
  • Added support of UNICODE (UTF-8) filenames.
  • Added STL-compatible iterators to NCollection classes.
  • "Handle" smart-pointer now uses NULL pointer instead of a special value 0xfefd0000.
  • Added Bounding volume hierarchy (BVH) algorithms and structures.
  • Introduced multi-threaded version of Boolean operation algorithm.
  • Introduced limited OpenGL ES 2.0 support in 3D viewer.
  • Added VIS / TKIVtk component [7] providing a B-Rep shape presentation builder for VTK viewer.
  • Added support of stereoscopic displays [8] within 3D viewer.
  • Added frustum culling feature improving rendering performance.
  • Ray-Tracing engine has been switched from OpenCL to GLSL implementation.
Open CASCADE Technology 6.72013-12-186.7.12014-04-30
  • License has been changed to LGPL-2.1-only with additional exception. [3]
  • Built-in GPU-accelerated Ray-Tracing rendering engine [9] using OpenCL.
Open CASCADE Technology 6.62013-04-22
Open CASCADE Technology 6.52011-04-046.5.52013-03-29
Open CASCADE Technology 6.42010-09-30
  • Added multi-threaded mode to BRepMesh algorithm (introduced optional TBB library support).
  • Improved rendering performance by using Vertex buffer object (VBO).
  • TKOpenGl implementation converted from C to C++ classes.
  • Improved text rendering with help of FTGL and FreeType libraries.
  • Improved algorithms for line-line, line-plane and plane-plane intersection.
Open CASCADE Technology 6.32008-09-036.3.12009-06-19
Open CASCADE Technology 6.2?6.2.12007-12-06
Open CASCADE Technology 6.12006-03-246.1.12006-10-16
Open CASCADE Technology 5.2?5.2.42005-07-29
Open CASCADE Technology 5.1?5.1.32004-04-23"Open CASCADE" has been renamed to "Open CASCADE Technology".
Open CASCADE 4.02001-12-11
Open CASCADE 3.02000-04-24
Open CASCADE 2.0?
Open CASCADE 1.01999

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 [10] and renamed it Open Cascade. [11]

In 2000, a separate company, Open Cascade SAS, was created to make business around Open Cascade. [12] 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. [13] 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. [14]

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. [15]

Collaborative development portal

In December 2011, Open Cascade installed a web portal for external contributors [16] and made its Mantis Bug Tracker [17] and further Git repository [18] publicly available (read-only GitHub mirror [19] 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, [20] 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. [3] [21] Versions before that were licensed under the "Open Cascade Technology Public License" which was not compatible with the GPL [22] and was considered non-free by the Fedora project. [23]

Functionality

Object libraries

OCCT's functionality is split into several large modules. Each module defines a list of toolkits (libraries). Key Modules:

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. [26]

This allows visualization and manipulation of building geometries and CAD designs.

External tools are available to convert from Open CASCADE to IFC as well. [27]

CAD programs based on Open Cascade Technology

Several CAD programs rely on Open CASCADE Technology including:

See also

Related Research Articles

<span class="mw-page-title-main">ACIS</span> Geometric modeling kernel developed by Spatial Corporation

The 3D ACIS Modeler (ACIS) is a geometric modeling kernel developed by Spatial Corporation, part of Dassault Systemes. ACIS is used by many software developers in industries such as computer-aided design (CAD), computer-aided manufacturing (CAM), computer-aided engineering (CAE), architecture, engineering and construction (AEC), coordinate-measuring machine (CMM), 3D animation, and shipbuilding. ACIS provides software developers and manufacturers the underlying 3D modeling functionality.

<span class="mw-page-title-main">Dassault Systèmes</span> French software company

Dassault Systèmes SE is a French multinational software corporation which develops software for 3D product design, simulation, manufacturing and other 3D related products.

Euclid is a CAD software which has been developed since 1970. Initially written by Jean Marc Brun and Michel Théron at Laboratoire d'informatique pour la mécanique et les sciences de l'ingénieur (LIMSI) for modelling fluid flow, they founded their own company, Datavision in 1979, and then sold a controlling interest in 1980 to the French company Matra Datavision.

COLLADA is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specification, ISO/PAS 17506.

<span class="mw-page-title-main">XWiki</span> Wiki engine

XWiki is a free wiki software platform written in Java with a design emphasis on extensibility. XWiki is an enterprise wiki. It includes WYSIWYG editing, OpenDocument based document import/export, semantic annotations and tagging, and advanced permissions management.

<span class="mw-page-title-main">Archicad</span> Computer-aided design software for architecture

ArchiCAD is an architectural BIM CAD software for Mac and Windows developed by the Hungarian company Graphisoft. ArchiCAD offers computer aided solutions for common aspects of aesthetics and engineering during the design process of the built environment—buildings, interiors, urban areas, etc.

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, Autodesk Navisworks, and .ifc files and additional tools for visualization, web development, 3D PDF publishing and modeling.

<span class="mw-page-title-main">IntelliCAD</span> CAD editor and development platform

IntelliCAD is a CAD editor and development platform with an Application Programming Interface API published by the IntelliCAD Technology Consortium ("ITC") through shared development. IntelliCAD emulates the basic interface and functions of AutoCAD, however, it is particularly able to incorporate and interchange freely between a wide variety of file types.

The table below provides an overview of notable computer-aided design (CAD) software. It does not judge power, ease of use, or other user-experience aspects. The table does not include software that is still in development. For all-purpose 3D programs, see Comparison of 3D computer graphics software. CAD refers to a specific type of drawing and modelling software application that is used for creating designs and technical drawings. These can be 3D drawings or 2D drawings.

<span class="mw-page-title-main">BricsCAD</span> Computer-aided design software

BricsCAD® is a software application for computer-aided design (CAD), developed by Bricsys nv. The company was founded in 2002 by Erik de Keyser, a longtime CAD entrepreneur. In 2011 Bricsys acquired the intellectual property rights from Ledas for constraints-based parametric design tools, permitting the development of applications in the areas of direct modeling and assembly design. Bricsys is headquartered in Ghent, Belgium, and has additional development centers in Nizhny Novgorod and Novosibirsk, Russia; Bucharest, Romania and Singapore. Bricsys is a founding member of the Open Design Alliance, and joined the BuildingSMART International consortium in December 2016.

<span class="mw-page-title-main">FreeCAD</span> Free and open-source 3D CAD software

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 but also expands to a wider range of uses around engineering, such as architecture or electrical engineering. FreeCAD is free and open-source, under the LGPL-2.0-or-later license, and available for Linux, macOS, and Windows operating systems. Users can extend the functionality of the software using the Python programming language.

<span class="mw-page-title-main">Open Cascade</span>

Open Cascade is an Information Technology Company (ITC) owned by Capgemini. Open Cascade provides services in the domain of scientific and technical computing and simulation tools.

<span class="mw-page-title-main">Digital Geometric Kernel</span>

Digital Geometric Kernel, is a software development framework and a set of components for enabling 3D/CAD functionality in Windows applications, developed by DInsight.

<span class="mw-page-title-main">SolveSpace</span> Open-source computer-aided design software

SolveSpace is a free and open-source 2D/3D constraint-based parametric computer-aided design (CAD) software that supports basic 2D and 3D constructive solid geometry modeling.

<span class="mw-page-title-main">Cura (software)</span> 3D printer software

Cura is an open source slicing application for 3D printers. It was created by David Braam who was later employed by Ultimaker, a 3D printer manufacturing company, to maintain the software. Cura is available under LGPLv3 license. Cura was initially released under the open source Affero General Public License version 3, but on 28 September 2017 the license was changed to LGPLv3. This change allowed for more integration with third-party CAD applications. Development is hosted on GitHub. Ultimaker Cura is used by over one million users worldwide and handles 1.4 million print jobs per week. It is the preferred 3D printing software for Ultimaker 3D printers, but it can be used with other printers as well.

<span class="mw-page-title-main">Art of Illusion</span>

Art of Illusion is a free software, and open source software package for making 3D graphics.

<span class="mw-page-title-main">RattleCAD</span>

rattleCAD — is a parametric 2D CAD software specific for bicycle design, in particular for design bicycle frame, developed by an Austrian cyclist and a programmer Manfred Rosenberger since 2008. Application is written in the Tcl programming language with the Tk-based GUI.

References

  1. "Open CASCADE Technology 7.8.0 released" . Retrieved 17 January 2024.
  2. "README.txt".
  3. 1 2 3 "OCCT license".
  4. "Dassault Systemes Signs Agreement to Acquire Matra Datavision's Subsidiary". 27 January 2020.
  5. "Gluing Options in Boolean Component - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  6. "Fuzzy Boolean Operations - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  7. "VTK integration services in OCCT - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  8. "Stereoscopic rendering in Open CASCADE Technology - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  9. "Ray tracing as alternative rendering method for OCCT visualization component - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 18 August 2021.
  10. "Open CASCADE Technology Public License".
  11. "Downloading Of Source Code For Open Cascade Gains Momentum | Market Wire | Find Articles". 9 April 2012. Archived from the original on 9 April 2012. Retrieved 22 November 2021.
  12. European e-Business Market Watch Case Study: Open source-based services by Open Cascade S.A. Archived 26 July 2011 at the Wayback Machine
  13. "OCCT Previous Releases".
  14. "Becoming more and more open!".
  15. "Thinkings about the 6.5.0 release, OCCT status, and the relationship with the Community". Archived from the original on 16 April 2011. Retrieved 15 April 2011.
  16. "Opening the Development of Open CASCADE Technology".
  17. "Mantis Bug Tracker for OCCT project".
  18. "GitWeb interface to main OCCT git repository".
  19. "Passive mirror of OCCT git repository on GitHub". GitHub .
  20. "Signing the Contributor License Agreement".
  21. "Relicensing OCCT - Forum Open Cascade Technology". dev.opencascade.org. Retrieved 22 November 2021.
  22. "OCCT FAQ". dev.opencascade.org. Open Cascade. Retrieved 25 June 2021.
  23. Callaway, Tom. "Licensing:Main – Bad Licenses". fedoraproject.org. Red Hat, Inc. and others. Retrieved 18 May 2013.
  24. "Data Exchange | Open CASCADE Technology". dev.opencascade.org. Retrieved 22 November 2021.
  25. "Datakit - Open Cascade". opencascade.com. Retrieved 22 November 2021.
  26. "Open CASCADE: IFC Import Component" . Retrieved 15 November 2022.
  27. "CAD Exchanger: How to convert Open CASCADE to IFC?" . Retrieved 15 November 2022.
  28. Okoi, Martins (1 December 2017). "FreeCAD – A 3D Modeling and Design Software for Linux". FOSSMint. Retrieved 2 May 2019.
  29. Lee, Hawk (22 June 2018). "FreeCAD FEM Workbench (Calculix 2.14)". Archived from the original on 3 May 2019. Retrieved 2 May 2019.
  30. "SENER's latest version of FORAN V80R2.0 lets users manage series of ships". 19 July 2016. Archived from the original on 21 August 2018. Retrieved 4 August 2020.