Releases: Open-Cascade-SAS/OCCT
V7_6_1
This maintenance release fixes the following critical problems (see also Release Notes):
- 31087: “Configuration - make FreeType dependency optional”
- 32333: “Modeling Algorithms - Empty(wrong) result of offset operation in mode "Complete" join type "Intersection"”
- 32484: “Configuration, CMake fails to find EGL and GLES2 include directory on iOS platform”
- 32649: “Modeling Algorithms - Bug in
BRepLib::EnsureNormalConsistency()
” - 32652: “Visualization -
Select3D_SensitiveCylinder
returns wrong 3D point on transformed shape” - 32654: “Data Exchange - fix misprint in
RWGltf_TriangulationReader::readDracoBuffer()
” - 32661: “Coding - Forward class declaration in
ProjLib
collides with typeref” - 32747: “Modeling Algorithms - Exact HLR algorithm gives wrong result”
- 32748: “Data Exchange, Step Import -
xstep.cascade.unit
doesn't work [regression since OCCT 7.6.0]” - 32757: “Application Framework, scaling transformation - loading of an OCAF XML document fails”
- 32784: “
BinXCAF
fails to load documents containing the shapes with scaled/mirrored location”
Note: starting this year we stop supporting VS2010 and VS2012 compilers.
Publication date: February 07, 2022.
V7_6_0
Open CASCADE Technology version 7.6.0 is a minor release, which includes more than 410 improvements and corrections over the previous minor release 7.5.0. Version 7.6.0 introduces new features of most OCCT modules and components. New in OCCT 7.6.0 (see also Release Notes):
General
- Dropped support of VS2008 (finally).
- Compilation on ARM64 (Apple M1).
- New interface
Standard::StackTrace()
for dumping stack trace. - Removed a set of deprecated classes (
TCollection
, legacy Boolean operation API and others).
Modeling
- Numerous bug fixes and improved robustness of modeling algorithms.
- Added progress indication and user break support for Boolean operations,
GeomPlate
,DistShapeShape
, Shape Offset. - Added multi-thread mode of
BRepCheck_Analyzer
. - Prohibition of scaled transformation within shape location.
Visualization
- Improved compatibility with WebGL and OpenGL ES.
- New interactive object
AIS_LightSource
for a light source. - Support for shadow casting using shadow maps (without ray-tracing).
- Improved performance of rectangular selection.
- New selection scheme interface to
AIS_InteractiveContext
. - New accurate order-independent transparency (OIT) option – depth peeling.
- OpenGL and OpenGL ES are no more mutually exclusive graphic drivers (
TKOpenGl
andTKOpenGles
can be now built simultaneously). - Ray-Tracing engine is now available within OpenGL ES 3.2.
- Regression testing of OpenGL ES graphic driver.
- More flexible configuration (Xlib, FreeType can be now excluded).
Mesh
- Store deflection calculated upon triangulation along with parameters passed to a mesher to
Poly_Triangulation
.
Data Exchange
- Kinematics entities can be read now from a STEP file.
- glTF import/export improvements and fixes for passing the validator.
- Support of
KHR_draco_mesh_compression
extension within glTF import. - Introduced
OSD_FileSystem
for working with file streams.
Application Framework
- Improvements of XCAF document persistence (normal storage, length unit information, option to store in older format).
- Safe reading of independent OCAF documents in different threads.
- Partial loading of OCAF document and appending parts to document.
- Speed up methods of getting label by entry and vice versa.
IVtk
- Extraction of per-vertex surface normals for smooth shading.
- VTK9 compatibility fixes.
Draw Test Harness
- Tk is now an optional dependency (
USE_TK
in CMake). - Support building DRAWEXE with statically linked plugins and as WebAssembly.
- Support multi-touch viewer gestures on Windows platform.
Samples
- Fixes for iOS sample building.
Documentation
- Added changelog for
XCafBin
andXCafXml
storage formats. - Added highlighting for code snippets throughout the documentation.
V7_5_0
Version 7.5.0 - November 4, 2020. Highlights (see also Release Notes):
General
- Redesigned API of progress indicator for parallel tasks
- Support of compilation for WebAssembly (with Emscripten SDK)
- New printer Message_PrinterSystemLog for logging messages to system log
Modeling
- Support of progress indicator in BRepMesh
- New alternative algorithm for triangulation of 2d polygons
- Tool to remove internal sub-shapes (with INTERNAL orientation) from the shape keeping topological connectivity
- Allowed usage of multi-dimensional compound arguments for Boolean Cut and Common operations
Visualization
- Use of sRGB textures and render buffer
- PBR Metallic-roughness shading model
- Normal map texture support
- Option to compute BVH trees used for interactive selection in background thread
- Support of non-standard style font families (“Narrow”, “Condensed”, etc.) and multi-font .ttc files in Font Manager
Data Exchange
- Support of reading STEP files containing non-Ascii symbols (Unicode or local code pages) in text strings
- Support of writing Unicode text strings to STEP (as UTF-8)
- New API for STEP reader accepting C++ stream on input
- glTF 2.0 writer
- Improved performance of (ASCII) STL and OBJ readers
Application Framework
- Management of several documents (open, save, close, etc.) in parallel threads (one application per thread)
- Inheritance of attributes to reuse their persistence mechanisms
- Progress indicator in TDocStd_Application
- Optimization of Commit operation for large modifications
Draw Test Harness
- Colorized message output
- Support of Unicode symbols in DRAW console on Windows
- Flight-mode navigation in 3D viewer via WASD keys and 3D mouse input on Windows
- Experimental teleport-mode navigation in 3D viewer using OpenVR
Samples
- Unification of mouse gestures for 3D viewer manipulation in samples
- New WebGL viewer sample
- Update of JNI sample for Android Studio (from Eclipse project)
- New Qt OCCT Overview sample
Documentation
- Restructuring of OCCT documentation for easier orientation and higher user-friendliness
V7_4_0
Version 7.4.0 - October 1, 2019. Highlights (see also Release Notes):
Modeling
- Improved robustness, performance and accuracy of
BRepMesh
algorithm - Options to control linear and angular deflection for interior part of the faces in
BRepMesh
- Improved robustness and stability of Boolean operations and Extrema
- Enabled Boolean Operations on open solids
- Option to suppress history generation to speed up Boolean Operations
- Option to simplify the result of Boolean Operation
- Possibility to calculate surface and volume properties of shapes with triangulation-only geometry
- A new interface for fetching finite part of infinite box in
BRepBndLib
- New “constant throat” modes of chamfer creation
- Removal of API for old Boolean Operations
Visualization
- Improved support of embedded Linux platforms
- Selection performance improvement
- Support of clipping planes combinations (clip by box, ¾, etc.)
- New class
AIS_ViewController
converting user input (mouse, touchscreen) to camera manipulations - Improved font management
- Improved tools for visualization performance analysis
- Option to display the outline of shaded objects
- Option to exclude seam edges from Wireframe display
- Option to display shrunk mesh presentation
- Possibility to show shapes with dynamic textures (video)
- Support of reading encoded bitmap image from memory buffer
- Removal of the deprecated Local Context functionality from AIS
- Removed dependency from gl2ps (relying on deprecated OpenGL functionality)
Data Exchange
- New tools to import mesh data from glTF 2.0 and OBJ formats
- Support of some non-ASCII encodings in STEP import
- Support of XDE data (assembly structure, colors, names) in export to VRML
Draw Test Harness
- Improved 3D Viewer camera manipulations
- Fixed issues with starting Draw Harness from batch scripts
- Improved support of running Draw Harness in environment without
CASROOT
Other
- Improved performance of built-in parallelization routines (
OSD_Parallel
) - Tools for convenient and efficient traverse of BVH structures
- Optimization of
TPrsStd_AISPresentation
attribute - Sample of 3D Viewer integration in glfw application
V7_3_0
Version 7.3.0 - May 29, 2018. Highlights (see also Release Notes):
General
- Support of Unicode file names and software signals handling for MinGW-w64 builds
- Recommendations on fulfillment of LGPL terms in Overview documentation
- Restored compatibility with Visual Studio 2008
- Support of GBK and Big5 code pages
Application Framework
- Ability to redefine the stored/retrieved document version and the application name
Modeling
- Face Removal algorithm
- Optimized surface intersection, shape offset and Boolean operation algorithms
- Oriented Bounding Boxes (OBB)
- More complete history in the family of Boolean Operations algorithms
- Improved stability of
BRepProj_Projection
algorithm
Visualization
- Corrected translation of single-stroke fonts into BRep
- Improved compatibility with EGL on Linux, Intel HD GPUs, Mesa OpenGL, remote desktop
- Possibility to arrange more than 8 light sources and assign them to layers
- Possibility to assign Shading Model per primitive array
- Support of custom GLSL programs with Geometry and Tessellation shaders
- Distance and size culling options for rendering large scenes
- Depth pre-pass option for rendering heavy custom GLSL programs
- Verbose frame statistics for profiling 3D Viewer performance
Data Exchange
- Documentation for PMI in XCAF
V7_2_0
Version 7.2.0 - August 31, 2017. Highlights (see also Release Notes):
Configuration
- Support of Visual Studio 2017
- CMake option to accelerate build by use of precompiled headers
Application Framework
- Dedicated attribute for storage of triangulations
- Possibility to save OCAF document in XML format compatible with OCCT 6.7+
- Restored possibility to write shapes in legacy persistence format (
CSFDB
,ShapeSchema
) - Support of files greater than 2 GiB in binary persistence
Modeling
- Optimization of surface intersection and other algorithms
- Specialized offset algorithm for smooth shells
- Proper setting of regularity on edges connecting smooth surfaces (e.g. seam edges)
- New algorithm
BOPAlgo_Splitter
allowing to split shapes by intersection with others - New option “Glue” in the family of Boolean algorithms
- New Error/Warning reporting system in Boolean Operations component
Visualization
- Order-independent transparency within rasterization rendering
- Extended features of color scale presentation
- Possibility to customize display of hatching and selection highlight
- Multiple improvements in Path Tracing engine
- Option for efficient display on high-density screens with low-end graphic cards
Data Exchange
- Support of annotations, saved views and clipping planes in XDE and STEP
- Optimized update of assemblies in XDE
- Support of PMI data without semantics in STEP import and export
- Support of transparency as part of color specification in XDE
- Refactored and optimized STL read / write module
Test system
- Possibility to add custom counters
- Interface to connect DRAW interpreter to user applications
Samples
- New sample for usage of 3D Viewer on iOS
V7_1_0
Version 7.1.0 - November 25, 2016. Highlights (see also Release Notes):
General
- Support of Windows Store applications
- Definition of
Standard_Boolean
asbool
instead ofunsigned int
- Execution without need of setting environment variables
Application framework
- OCAF persistence without dynamic plugins
- Support of several attributes of one type at the same label
Modeling algorithms
- Improved 3D Offset operation in mode Complete with Joint type Intersection
- Calculation of the optimal axis-aligned bounding box for a shape
- Improved reliability of HLR algorithm
- Prevention of modification of original shapes in Modeling algorithms
Visualization
- Use of programmable pipeline (GLSL) by default on all platforms
- Improved rendering performance of Wireframe presentation
- Improved Shaded highlighting in
AIS_Shape
- Improved clipping planes - capping preserving object material and better performance
- Support of perspective projection and selection for transformation persistent objects
- New presentation
AIS_Manipulator
for interactive object transformation - New property in
AIS_Dimension
to set custom text value - Type of angle and type of arrows properties in
AIS_AngleDimension
- New optimized Path Tracing algorithm (adaptive screen space sampling)
Data exchange
- Improved support of STEP AP242, including PMI data, dimensions, and annotations
V7_0_0
Version 7.0.0 - April 5, 2016.
Major release to include complete code refactoring, elimination of CDL and WOK. Highlights (see also Release Notes):
Configuration
- Conversion of CDL classes to plain C++
- Use of CMake as main build system, replacing WOK
Foundation Classes
- New implementation of shared pointer (
Handle
) - Redesign of OCCT type system
Modeling algorithms
- Refactoring of B-Spline evaluation
- Ability to perform Boolean expressions on an arbitrary number of arguments
- Intersection of surfaces produces more accurate b-spline curves
- More predictable offset of 3D shapes with a large offset value in “Intersection” mode
Visualization
- Activation of selection modes without opening the local context
- OpenGL graphic rendering methods exposed to the client code
- Support of zoom persistent selection
- Configurable font orientation
- Direct3D integration toolkit
- Support of antialiasing using multisampling technique (MSAA)
Application framework
- Interface for reading / saving documents from / to arbitrary C++ stream
- Main OCAF toolkits are made independent on Visualization toolkits
Data exchange
- Support of reading and writing semantic PMI entities for STEP AP242 format
- Optimization of shape triangulation export to STL and VRML
Products
- ACIS SAT Import-Export: new geometrical entities and color attributes supported
- DXF Import-Export: improved translation of UNICODE text
- BestFit: improved calculations with non-null offset on two-sided models
- Mesh Framework Kernel: accelerated interfaces to STL and OBJ formats
- Advanced Samples: new WPF Import/Export sample added to the Advanced C# Wrapper tool
V6_9_0
Version 6.9.0 - May 12, 2015. Highlights (news):
Modeling algorithms
- Fuzzy Boolean operations - possibility to specify global tolerance for a Boolean operation;
- Support of multiple arguments for a single Boolean operation;
- Improved performance and thread safety;
- Shape proximity detector;
- Revised usage of Closed flag in shapes;
- Precise evaluation of edge tolerance;
- Additional options to tune
BRepMesh
algorithm; - More robust algorithms of surface-surface intersection and curve on surface projection;
- Improved support of user feedback messages in Shape Processing;
- New tool to eliminate small solids in
ShapeFix
;
Visualization
- Redesign of selection mechanism for better performance;
- OpenGL ES 2.0 compatibility improvements;
- Support of OpenGL viewer on iOS and ray tracing on OS X;
- Robust implementation of immediate mode using FBO;
- Option to disable automatic re-triangulation of shapes on display;
Data Exchange
- Reconstruction of p-curves optimized to accelerate import from STEP;
- Colors of edges and faces are written to IGES 5.3;
- Orientation of faces is preserved on export to IGES 5.1;
- Export to STL and VRML 2.0 corrected;
Other
- Support of parallelism without TBB library;
- 64-bit mode becomes default on Windows;
- Improved stability of performance measurements in tests;
Products
- Express Mesh: improved quality of mesh near face boundary;
- C# and Java wrappers: Support of SWIG 3.x;
- DXF Import: Reading of the recent DXF versions with ACIS data encoded in binary form;
- ACIS SAT Import: Reading of SAB (Standard ACIS Binary) files
V6_8_0
Version 6.8.0 - November 10, 2014. Highlights (news):
Foundation Classes
- Using
NULL
as invalid pointer inHandle
classes, instead of custom constant (0xfefd0000
...); - STL-compatible iterators for classes in
NCollection
package; - Code clean-up: removing usage of config.h, support of pre-standard STL streams, unused CDL template (“generic”) classes and instantiations, etc.;
Modelling
- Data structures for Bounded Volume Hierarchy (BVH) algorithms;
- Two new algorithms of global optimization in math, used for Extrema;
- Parallelization of Boolean Operations algorithm;
- Interface to break execution of Boolean Operations algorithm;
- Possibility to protect shape against modification of geometry;
- Refactoring and optimization of
BRepMesh
algorithm; - New option in 2d offset algorithm allowing to keep sharp corners and build one-side offset on open wire;
Visualization
- New component,
VIS
, providing interactive services (similar toAIS
) for OCCT shapes in VTK viewer; - New approach for manipulations with views using camera paradigm;
- Support of stereoscopic display (requires graphic card supporting OpenGL Quad Buffer);
- Improved support of perspective views;
- Ray tracing now uses shaders (GLSL) instead of OpenCL;
- Possibility to combine objects drawn by OpenGL and ray tracing in one view;
- Frustum culling for fast display of large number of objects with high zoom;
- Initial support for OpenGL ES 2.0 for mobile platforms;
- New classes for display of colored shapes and point clouds in
AIS
; - Revised and completed implementation of connected interactive objects;
- Improved handling of temporary objects in the viewer (immediate mode);
Data Exchange
- Support of COMPSOLIDs in STEP export;
- Support of UNICODE (UTF-8) filenames;
- Support of names and attributes assigned to points (vertices) in XCAF;
DRAW
- FPE signal handlers are disabled by default;
- New sample scripts demonstrating modeling and visualization capabilities in DRAW;
- Improved usability of top level menu (help browser, samples, User Guide);
Documentation
- New User Guide describing Boolean Operations algorithms;
- Improvement of extraction of class documentation for Reference Manual;
Samples
- New sample for using drawing OCCT 3D viewer into Direct3D surface in WPF applications;
Build system
- Support of building on Android (except for DRAW);
Products
- New (experimental) mode in Express Mesh, allowing generation of all-quad meshes;
- Universal interface to export mesh produced by Express Mesh;
- Improved triangulation near face boundaries in Express Mesh (Delaunay meshing);
- Update of training materials and samples;
- Translation of HATCH entities from DXF;
- Boolean operations on meshes in OMF provide history on elements and handle complex cases;
- Visualization of meshes in OMF takes into account direction of normal vectors to surface;
- New wrapper for OCCT classes for Java language;