Skip to content

Releases: Open-Cascade-SAS/OCCT

V7_8_1

01 Apr 12:30
Compare
Choose a tag to compare

Open Cascade is pleased to announce that the next Open CASCADE Technology (OCCT) maintenance release (version 7.8.1) is prepared. The sources of Open CASCADE Technology 7.8.1 are available under the V7_8_1 tag in the OCCT repository.

This maintenance release addresses a critical issue regarding backward binary compatibility with version 7.8.0. For users encountering this issue, it's essential to update to version 7.8.1 to ensure seamless integration and operation.

Additionally, please note that the develop branch contains implementations of new functionality and high-level changes. While these enhancements offer exciting features, they cannot be incorporated into binary updates. We encourage users to explore these advancements in the develop branch for future releases.

This maintenance release fixes the following problems:

  • 0033656: Foundation Classes - Standard_Type crash during unloading static lib
  • 0033560: Modeling Algorithms - Raising exception SIGFPE Arithmetic Exception
  • 0033410: Data Exchange, Step Import - TRIANGULATED_FACE from STEP where there are no pnval entries
  • 0033367: Modeling Algorithms - Normal projection or BOP problem [Regression]
  • 0031601: Modeling Algorithms - BRepOffset_Tool Segmentation Fault
  • 0033638: Data Exchange, Step Import - Style for tessellated object missed
  • 0033631: Data Exchange, Step import - Crash by reading STEP file
  • 0033603: Data Exchange, Step Import - Crash reading corrupted STEP file
  • 0033602: Data Exchange, Step - Carriage return removing
  • 0033596: Documentation - Incorrect default value read.step.tessellated
  • 0025415: Data Exchange - Invalid result of loading a STEP file
  • 0033383: Modeling Algorithms - Wire/Face creation problem
  • 0033261: Data Exchange, Step Import - Empty shape after reading process
  • 0033569: Data Exchange, STEP - Crash when reading multi-body file
  • 0025188: Data Exchange, Step Export - Losing shapes after import
  • 0032980: Data Exchange - STEP import produce a crash
  • 0033567: Modeling Data - GeomLib_IsPlanarSurface raises exception SIGFPE Arithmetic Exception in Release mode

Publication date: April 1, 2024.

We appreciate the community's continued support and feedback, which contributes to the ongoing improvement of OCCT. Stay tuned for further updates and enhancements.

Best regards,
OCCT3D team

Full Changelog: V7_8_0...V7_8_1

V7_8_0

04 Dec 18:54
Compare
Choose a tag to compare

Open CASCADE Technology 7.8.0 Released

Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.8.0 to the public.

Overview

Version 7.8.0 is a minor release, encompassing approximately 110 improvements and corrections over the previous minor release 7.7.0.

What's New in OCCT 7.8.0

General

  • Fixed TDataStd_NamedData HasSmth() methods to no longer return true for empty containers.
  • Improved general performance through code updates with static analysis.
  • Implemented "Memory Manager" configurations: Native, TBB, JeMalloc, Flexible. JeMalloc leads to a performance increase of up to 40% for large files.
  • Introduced CMake configuration for optimization profiles: Default and Production. Production activates all available compiler optimizations.
  • Implemented move semantics into NCollection and TCollection containers.
  • Modernized NCollection_Vector(NCollection_DynamicArray), NCollection_Array1, and NCollection_Array2.
  • Updated memory allocation functionality to avoid unnecessary memory cleaning (set 0).
  • Modernized NCollection_IncAllocator (optimized pool for small objects).

Modeling

  • Addressed multiple bug fixes and improvements for various modeling algorithm methods.
  • Increased memory management performance.
  • Improved overall modeling stability.
  • Resolved canonical geoplane detection problems.

Visualization

  • Resolved compilation issues related to vtk 9.2.6.
  • Improved SelectMgr_EntityOwner to process the selection scheme.
  • Modified Image_AlienPixMap::Save() to write into a memory buffer instead of a file.
  • Reduced sensitivity of lines.
  • Extended AIS_AnimationObject with syntax for defining rotation around a specific point.
  • Introduced separate gesture mappings for dragging to AIS_ViewController.
  • Integrated the ability to scale by moving the mouse on the OY axis.

Mesh

  • Fixed BRepMesh_IncrementalMesh issue with overflowing system memory.
  • Unhandled Standard_OutOfRange, BRepMesh_PairOfIndex::Append() no longer prevents triangulation with large deflection values.

Data Exchange

  • Resolved multiple issues regarding DE Wrapper and Step import and export.
  • Increased STEP parser performance.
  • Introduced thread-safety interface to STEP import and export.
  • Reorganized DE ToolKits according to specific CAD formats.
  • Introduced DE plug-in system to load CAD format providers during library loading time.
  • Fixed stability issues with XBF and IGES file formats.
  • Addressed general problems with importing VRML V1.
  • Improved processing of STEP-oriented dimensions.

Draw Test Harness

  • Enabled loading of plugins on Linux OS.
  • Reorganized DRAW DE ToolKits according to specific CAD formats.
  • Resolved environment-related issues with debug tools DrawTrSurf_Set, DrawTrSurf_SetPnt, and `DrawTrSurf_SetPnt2d.

How to Upgrade

For details on upgrading to the new version, please refer to OCCT Upgrade Guide.

Full Changelog: V7_7_0...V7_8_0

V7_7_2

11 Aug 15:16
Compare
Choose a tag to compare

This maintenance release fixes the following critical problems (see also Release Notes):

  • 23638: Data Exchange - Reading IGES file produced invalid shape
  • 33377: Data Exchange - STEPCAFControl_Reader crash in OCC 7.7.0
  • 33350: Data Exchange, Step Import - Improving parsing performance
  • 33318: Data Exchange - Modifying the BRep flag after exporting the shape [Regression]
  • 30066: Data Exchange - Fail to load VRML from ArcGIS
  • 33378: Configuration - Moving ExpToCas into separate module
  • 33361: Modeling Algorithm - Fuse operation generates incomplete result
  • 33369: Modeling Algorithms - BRepBuilderAPI_Transform makes invalid shape after transformation
  • 33382: Configuration - Installation issue for debug mode for static build
  • 33375: Coding - Static Analyzing processing. [Performance increase]
  • 33379: Coding - Processing Clang-15 warnings
  • 33390: Coding - Debug version of OCCT does not compile
  • 33391: Coding - Clearing old definition way for strcasecmp
  • 33372: Visualization - Compilation of git master fails against vtk 9.2.6
  • 31956: Visualization - provide Image_AlienPixMap::Save() writing into a memory buffer instead of a file
  • 31777: Visualization - improve SelectMgr_EntityOwner to process selection scheme
  • 33366: Documentation - Add description of BRepAlgoAPI_Algo::Shape()
  • 33414: Modeling Algorithms - Access violation during executing BRepAlgoAPI_Section::Build()

Publication date: August 11, 2023.

V7_7_1

08 May 14:22
Compare
Choose a tag to compare

This maintenance release fixes the following critical problems (see also Release Notes):

  • 33171: Modeling Algorithms - The compound with the few solids connected through shared faces becomes invalid after same domain faces unification
  • 32977: Data Exchange – Can’t read STEP color correctly for the referenced root label
  • 33170: Modeling Algorithms - Checking for canonical geometry: plane detection problems
  • 33144: Modeling Algorithms - Wrong result of Shape Proximity
  • 33187: Modeling Algorithms - Crash in postprocessing of imported shape
  • 33173: Modeling Algorithms - BRepExtrema_DistShapeShape causing Standard_OutOfRange exception [Regression]
  • 26441: Modeling Algorithms - BRepOffset_MakeOffset affects original shape
  • 33179: Modeling Algorithms - Crash in ShapeFix_Shape with the attached object, when healing for fixing SameParameterFlag
  • 27122: Data Exchange - Invalid shapes are produced during model translation due to huge face tolerance when importing STEP [Regression]
  • 33193: Modeling Algorithms - UnifySameDomain raises SIGSEGV [Regression]
  • 32818: Modeling Algorithms - Result of sweep operation is invalid
  • 33217: DRAW - Debug tools DrawTrSurf_Set, DrawTrSurf_SetPnt and DrawTrSurf_SetPnt2d cannot be used in some environments
  • 33180: Modeling Algorithms - Crash while using Build() on BRepOffsetAPI_ThruSections class
  • 32934: Modelling Algorithms - BRepExtrema_DistShapeShape returns two solutions instead of one
  • 22821: Modeling Algorithms - Crash of BRepFilletAPI_MakeFillet related to high value of ChFi3d_Builder::tolesp parameter
  • 33156: Modeling Algorithms - Planar face creation problem
  • 31865: Mesh - triangulation fails with large deflection values due to unhandled Standard_OutOfRange, BRepMesh_PairOfIndex::Append()
  • 33228: Data Exchange, DE Wrapper - Make the document argument of the method Read const handle
  • 33230: Data Exchange, DE Wrapper - Update API to find CAD provider
  • 33232: Data Exchange, DE_Wrapper - Implement ability to change global session
  • 33218: Data Exchange - XCAFPrs_Texture does not allow to use classes inherited from Image_Texture
  • 33250: Configuration - Missing Limits header file
  • 33235: Configuration - Solving the problem with static building of ExpToCasExe
  • 31919: Modeling Algorithms - General Fuse raises exception on attempt to imprint a contour to a shell
  • 30781: Modeling Algorithms - Sweep algorithm creates non-planar edges (orig. BOPAlgo_MakerVolume fails to build a solid)
  • 33244: Modeling Algorithms - Surface-surface intersection produces the double curves
  • 33265: Modeling Algorithms - Boolean operation hangs on the attached shapes
  • 33247: Modeling Algorithms - BOP report small edges problem and produce empty result
  • 33304: Modeling Data - Floating point signal when converting a B-spline curve to analytical form
  • 33305: Coding - BOPTools_PairSelector::Clear() method uses "Clear" instead of "clear" on std::vector
  • 33315: Mesh - BRepMesh_IncrementalMesh takes forever to finish (ends up with system memory)
  • 33311: Modeling Algorithm - No results of thrusection algorithm
  • 33312: Data Exchange - NULL-dereference in StepToTopoDS_TranslateShell::Init()
  • 33320: Data Exchange - Reading of a VRML file with a long line fails
  • 33307: Data Exchange, Step Import - Crash after reading empty edge loop
  • 32570: Visualization, AIS_AnimationObject - define rotation around axis
  • 30828: Data Exchange - The commands getting shapes from XCAF document should be available in C++
  • 27848: Visualization - Sensitivity of lines is too high
  • 33317: Data Exchange, Step Export - Ignoring color attached to the reference shape label
  • 30055: Modeling Algorithms - BRepOffset_MakeOffset throws "TopoDS_Vertex hasn't gp_Pnt" in intersection mode
  • 30292: Modeling Algorithms - BRepBndLib should avoid using Poly_Polygon3D when called with useTriangulation set to false
  • 33263: Modeling Algorithms - BRepFilletAPI_MakeFillet doesn't work for current parameters
  • 33227: Modeling Algorithm - BOPAlgo_BuilderSolid generates incomplete result
  • 33298: Modeling Algorithm - Offset operation gives wrong result
  • 33306: Modeling Algorithm - Crash in TrimEdge() method
  • 33264: Modeling Algorithms - Result of section operation is incomplete
  • 33092: Data Exchange, Documentation - Implementation of DE_Wrapper documentation
  • 33340: Modeling Algorithm - Improve memory management performance in the "PaveFiller"
  • 33345: Coding - Memory allocation operators got inaccessible
  • 33337: DRAW - Can't load plugins on Linux OS
  • 33327: Data Exchange, IGES Import - SubfigureDef can't read string
  • 33331: Data Exchange, Step Import - Unsupported Representation Items

Note: starting this year we stop supporting VS2013 compiler.

Publication date: April 6, 2023.

V7_7_0

08 May 13:41
Compare
Choose a tag to compare

Open CASCADE Technology version 7.7.0 is a minor release, which includes more than 250 improvements and corrections over the previous minor release 7.6.0. Version 7.7.0  introduces new features of most OCCT modules and components. New in OCCT 7.7.0 (see also Release Notes and Documentation):

General

  • Improved compatibility with C++17/C++20 compilers
  • Dropped support of pre-C++11 compilers

Modeling

  • New functionality is implemented, which could verify the input shape to be placed on a canonical geometry with the given tolerance. If the input shape is a face or a shell, it could be verified to be close enough to Plane, Cylinder, Cone or Sphere. If the input shape is an edge or a wire, it could be verified to be close to Line, Circle or Ellipse as well as lying on one of the analytical surfaces above.
  • Introduced new tool BRepLib_PointCloudShape generating a point set for a topological shape.
  • New option in BRepOffsetAPI_MakeOffset - approximation of input contours by ones consisting of 2D circular arcs and 2D linear segments only, it provides more stable work of 2D offset algorithm.

Visualization

  • Introduced new interface for creating V3d_View as subviews of another V3d_View.
  • Added smoothing to row interlaced stereoscopic output.
  • Added word-wrapping option to Font_TextFormatter.
  • Added support of a wide color window buffer format (10bit per component / 30bit RGB).
  • Added MSAA anti-aliasing support when using WebGL 2.0.
  • Introduced skydome generation feature 3d_View::BackgroundSkydome().

Mesh

  • BRepMesh works too long and produces many free nodes on a valid face problems are resolved.
  • Meshing the shape no longer takes too long and visualization problems are corrected.
  • Wrong shading display of thrusections is fixed.
  • Rendering issue when using deviation coefficient of low value is resolved.
  • Mesher no longer produce 'bad' result for extruded spline with given deviation coefficient.
  • Holes in triangulation with large linear deflection are removed.
  • Broken triangulation on pipe shape is fixed.

Data Exchange

  • STEP translator now supports tessellated presentations.
  • Transformation tools BRepBuilderAPI_Transform/BRepBuilderAPI_Copy now handle properly tessellated presentations.
  • glTF Writer - added support of Draco compression.
  • Introduced DEWrapper - a unified interface to Data Exchange connectors.
  • Introduced tool XCAFDoc_Editor::RescaleGeometry() for scaling geometry in XCAF document.

Configuration

  • SONAME is now configurable in CMake and includes minor version in addition to major by default
  • Documentation
  • Improved samples / tutorials documentation.
  • Introduced new “AIS: Custom Presentation” tutorial.

Note: starting this year we stop supporting VS2013 compiler.

Publication date: September 11, 2022.

V7_6_3

27 Jul 11:44
Compare
Choose a tag to compare

This maintenance release fixes the following critical problems (see also Release Notes) compared to OCCT 7.6.2:

  • 29406: Foundation Classes – gp_Ax3 fails setting direction
  • 31661: Modeling Data – Exception when projecting parabola or hyperbola to plane
  • 32679: Data Exchange – STEP writer loses assembly instance name
  • 32692: Mesh – In BRepMesh_ModelPreProcessor avoid crashes with problematic topology
  • 32744: Modeling Algorithms – Endless loop in GCPnts_UniformDeflection
  • 32864: Modeling Algorithms – Normal projection of a wire on a cylinder produces wrong result
  • 32882: Modeling Data – Extrema curve/curve cannot find all solutions (OCCT 7.6 backport)
  • 32914: Data Exchange – Some parts of compound are lost while writing STEP in nonmanifold mode
  • 32915: Geom2dAPI_InterCurveCurve, The algorithm lost an intersection point.
  • 32929: Modeling Algorithms – Crash in PerformIntersectionAtEnd after deletion of surfdata
  • 32930: Modeling Algorithms – Crash in PerformIntersectionAtEnd when no face was found
  • 32931: Modeling Algorithms – Crash in ChFi3d_IsInFront when no face was found
  • 32973: Modeling Algorithms – Regression in BRepExtrema_DistShapeShape compared with 7.5
  • 32990: Configuration – compilation errors since Emscripten 3.1.11 due to time_t redefined long->int
  • 32991: Visualization, TKOpenGl – OpenGl_Window::Resize() ignores window virtual flag on macOS
  • 33028: Standard_ConstructionError while using ShapeUpgrade_UnifySameDomain
  • 33060: [Regression to 7.4.0] Mesh – Sub-precisional links provoke failure on face
  • 33074: Visualization, TKOpenGl – PBR shader compilation error on Mesa OpenGL 3.1

Publication date: July 27, 2022.

V7_6_2

29 Apr 08:39
Compare
Choose a tag to compare

This maintenance release fixes the following critical problems (see also Release Notes) compared to OCCT 7.6.1:

  • 31585: “Access Violation while creating fillet – ChFi3d_Builder::PerformIntersectionAtEnd”
  • 32066: “Modeling Algorithms – Incorrect result of Boolean CUT operation”
  • 32701: “Modeling Algorithms – 2d curve has bending near the degenerated edge of the face”
  • 32715: “Modelling Algorithms – UnifySameDomain does incomplete union”
  • 32719: “Regression: Modelling Algorithms – UnifySameDomain result has incorrect triangulation”
  • 32721: “Modeling Algorithms – BOP wrong results on a cone and an extrusion”
  • 32767: “Mesh – incorrect splitting of edges of seams leading to hang [since OCCT 7.4.0]”
  • 32796: “Modeling Data – Calculation of distance between two circles crashes”
  • 32814: “[REGRESSION vs 7.5.1] Modeling algorithms – Unifysamedom produces invalid result”
  • 32840: “Application Framework, copying of a scaled shape fails”
  • 32874: “IsParallel() method of Extrema_ExtCC does not give same results in OCC 7.6.0 vs OCC 7.5.0”
  • 32912: “Visualization – crash when displaying an OBJ file with missing texture file”

Note: starting this year we stop supporting VS2010 and VS2012 compilers.

Publication date: April 29, 2022.

V7_6_1

07 Feb 09:09
Compare
Choose a tag to compare

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

07 Feb 09:29
Compare
Choose a tag to compare

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 and TKOpenGles 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 and XCafXml storage formats.
  • Added highlighting for code snippets throughout the documentation.

V7_5_0

07 Feb 09:33
Compare
Choose a tag to compare

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