Releases: Open-Cascade-SAS/OCCT
V7_9_2
Open CASCADE Technology 7.9.2 Released
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.9.2 to the public.
Overview
Version 7.9.2 is a maintenance release incorporating over 25 improvements and bug fixes compared to version 7.9.1.
What's New in OCCT 7.9.2
Configuration & Build System
- VCPKG add TclTk support (#580)
- Remove jemalloc port files (#581)
- Update C++ standard to C++17
- Fix ARCH for older 32-bit macs (#626)
- Fixed issue with CSF variable overwriting (#561)
Testing & Quality
- Update samples C++ version (#606)
- Remove marking warnings as errors in CI builds
Foundation Classes
Modeling
- Fix array indexing bug in IntAna_IntQuadQuad::NextCurve method (#703)
- CornerMax incorrect realisation in Bnd_Box (#664)
- Fix null surface crash in fixshape (#623)
- Fix null surface crash in UnifySameDomain (#624)
- GeomFill_CorrectedFrenet hangs in some cases (#630)
- Mismatch between projected point and parameter in ShapeAnalysis_Curve (#600)
- Infinite loop when Simplifying Fuse operation, CPU to 100% (#557)
Shape Healing
- Revolved shape in STEP file is imported inverted (#699)
Visualization
- Do not write comment into binary PPM image (Image_AlienPixMap)
Data Exchange
- Crash on empty list in STEP (#671)
- Facets with empty normals like 'f 1// 2// 3//' in RWObj_Reader (#520)
- Fix indices during parsing of arrays in GLTF Reader (#602)
- Preserving control directives in Step Export (#601)
- Optimize entity graph evaluating (#562)
Draw
- Fix message color mixing (#685)
- Misprint in vcomputehlr command leading to error if no Viewer (#526)
Coding
- Reducing relying on exceptions (#676)
Full Changelog: V7_9_1...V7_9_2
V8_0_0_rc2
Open CASCADE Technology Version 8.0.0 Release Candidate 2
Open Cascade is delighted to announce the release of Open CASCADE Technology version 8.0.0 Release Candidate 2 to the public.
(Release Candidate 1: https://github.com/Open-Cascade-SAS/OCCT/releases/tag/V8_0_0_rc1)
Overview
Version V8_0_0_rc2 is a candidate release incorporating over 80 improvements and bug fixes compared to version V8_0_0_rc1, bringing the total improvements since version 7.9.0 to over 130 changes.
What is a Release Candidate
A Release Candidate is a tag on the master branch that has completed all test rounds and is stable to use.
Release candidates progress in parallel with maintenance releases, with the difference that maintenance releases remain binary compatible with minor releases and cannot include most improvements.
The cycle for a release candidate is planned to be 5-10 weeks, while maintenance releases occur once per quarter.
What's New in OCCT 8.0.0-rc2
Core
- Upgraded minimum C++ version requirement to C++17 #537
- Geometric Classes Optimization: Significantly optimized gp_Vec, gp_Vec2d, gp_XY, and gp_XYZ classes by simplifying mathematical computations, replacing indirect API calls with direct data member access in performance-critical sections, and improving matrix operations including inversion, transposition, and power calculations #578
- Reworked atomic and Standard_Condition implementation #598
- Optimized NCollection_Array1 with type-specific improvements #608
- Reworked math_DoubleTab to use NCollection container #607
- Fixed WinAPI resource leaks #625
- Fixed include brackets type issues #635
- Geom package copy optimization #645
Build System and Configuration
- Comprehensive VCPKG Support: Added full VCPKG layout configuration with CMake file placement in share/ directory for compliance, introduced OCCT_PROJECT_NAME parameter for customizing directory structure, and updated environment scripts while maintaining backward compatibility #618, #637, #638
- Added VCPKG port opencascade with TclTk and GTest support #580, #616
- Implemented flexible project root configuration #641
- Fixed build config file validation issues #647
- Disabled GLTF build without RapidJSON #646
- Fixed link errors on macOS when not building using vcpkg #609
- Fixed CSF variable overwriting issues #561
- Fixed paths to 3rd-party in cmake configuration #523
- Fixed ARCH detection for older 32-bit Macs #626
- Removed unused CMake scripts and dependencies #644, #581
- Fixed samples CMake configuration #643
Modeling
- New Helix Toolkit: Implemented a complete TKHelix toolkit with geometric helix curve adaptor and topological builders, featuring advanced B-spline approximation algorithms for high-quality helix representation and comprehensive TCL command interface #648
- Added option to not build history in BRepFill_PipeShell #632
- Fixed GeomFill_CorrectedFrenet hanging in some cases #630
- Fixed infinite loop in Simplifying Fuse operation #557
- Fixed Bnd_BoundSortBox::Compare failures in some cases #518
- General Fuse Optimization: Improved BOPAlgo_PaveFiller performance by adding null checks for triangulation in BRep_Tool::IsClosed, simplifying index lookup logic in BOPDS_DS, and introducing helper functions for better clarity and robustness #514
- Fixed BRepFilletAPI_MakeFiller segfault with two curves and rim #532
- Fixed mismatch between projected point and parameter in ShapeAnalysis_Curve #600
Shape Healing
- Implemented reusing Surface Analysis for Wire fixing #565
Visualization
- Enhanced FFmpeg Compatibility Layer and updated Video Recorder #582
- Fixed binary PPM image comment writing in Image_AlienPixMap #413c08272b
- Updated Graphic3d_Aspects::PolygonOffsets documentation #519
- Marked Immediate Mode rendering methods as deprecated in AIS_InteractiveContext #521
Data Exchange
- Fixed GLTF indices parsing during array processing #602
- Implemented non-uniform scaling in GLTF Import #503
- Fixed GLTF saving edges when Merge Faces is enabled #554
- Changed GLTF export line type to LINE_STRIP #535
- Fixed missing GDT values in STP Import #617
- Preserved control directives in Step Export #601
- Ignored unit factors during tessellation export #577
- Applied scaling transformation in Step Export #513
- Fixed missing Model Curves in IGES Export transfer cache #483
- Fixed XCAFDoc_Editor::RescaleGeometry not rescaling translation of roots reference #529
- Fixed facets with empty normals handling in RWObj_Reader #520
- Added conversion utilities for STEP geometrical and visual enumerations #545
- Added missing headers #530
- Optimized StepData_StepReaderData #543
- Optimized entity graph evaluating #562
- Removed GLTF files from XDEDRAW #649
- Removed unused dependencies from TKXDEDRAW #650
Testing
- Updated GitHub Actions to use latest versions #640
- Added performance summary posting to PR #612
- Fixed master validation workflow #611
- Added daily vcpkg package validation #605
- Updated samples C++ version #606
- Removed extra GitHub jobs #594
- Added ASCII code validation #593
- Migrated PR actions to VCPKG-based #587
- Added compilation on Clang without PCH #540
- Enabled IR integration concurrency #531, #536
Draw and Tools
- Fixed vcomputehlr misprint leading to error if no Viewer #526
- Updated DrawDefault script to handle missing directory cases #542
Documentation
- Added missing description to HLRBRep_HLRToShape methods #525
- Added Copilot instructions for OCCT development #589
How to Upgrade
There are no critical breaking changes at the API level, however note the following:
- C++17 Requirement: The minimum C++ version has been upgraded to C++17. Ensure your compiler supports this standard.
- Deprecated Methods: Some Immediate Mode rendering methods in AIS_InteractiveContext have been marked as deprecated.
Migration should proceed smoothly for most applications.
Performance Improvements
This release includes several significant performance optimizations:
- Geometric Classes: Major performance improvements in gp_Vec, gp_Vec2d, gp_XY, and gp_XYZ classes through direct data access and simplified computations
- Boolean Operations: General Fuse algorithm opt...
V7_9_1
Open CASCADE Technology 7.9.1 Released
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.9.1 to the public.
Overview
Version 7.9.1 is a maintenance release incorporating over 30 improvements and bug fixes compared to version 7.9.0.
What's New in OCCT 7.9.1
Configuration & Build System
- Update VTK configuration and enable optional components (#395)
- Update file globbing and condition checks for installation paths (#399)
- Extend CMake file filter regex (#400)
- Modify VTK 9x handling (#401)
- Update VTK optional components (#403)
- Remove BUILD_PATCH option in CMake (#418)
- Checking for FILES content (#424)
- Enhance Qt5 directory detection for Windows (#419)
- Remove -symbolic linker flag (#432)
- TBB configuration prioritization to release (#496)
- Fixed paths to 3rd-party in cmake configuration (#523)
Testing & Quality
- Repeating failed tests in GitHub Actions (#412)
- Inspector build error on latest CMake (#477)
- Add a new compilation on Clang without PCH (#540)
Foundation Classes
- Host resolving by itself (#457)
- Update signal handling for GLIBC compatibility on Linux (#458)
- Checking for MallInfo version (#459)
Modeling
- Degenerated curves were not handled by Arrange function (#396)
- Improve handling of polygon parameters in NURBS conversion (#410)
- Handle void bounding box case in BRepBndLib::AddOptimal (#470)
- Bounding BSpline periodic tolerance issue (#468)
- Periodic BSpline curve bounding (#493)
- XCAFDoc_Editor::RescaleGeometry does not rescale translation of roots reference (#529)
- BRepFilletAPI_MakeFillet Segfault with two curves and rim (#532)
- General Fuse (BOPAlgo_PaveFiller) optimization (#514)
Visualization
- Refactor mouse click handling logic for improved double-click detection (#385)
- AIS_Shape bounding box re-computation is not working properly (#422)
Data Exchange
- DE Wrapper invalidating parameters after 'Load' (#393)
- Datum Axis extraction issue (#407)
- STEP: AP242 SchemaName Remove dot (#448)
- IGES Export: Missing Model Curves in transfer cache (#483)
- Small optimization of StepData_StepReaderData (#543)
Documentation
- Enable server-based search and external search options in Doxyfile
Full Changelog: V7_9_0...V7_9_1
Open CASCADE Technology 8.0.0 Release Candidate 1
Open Cascade is delighted to announce the release of Open CASCADE Technology version 8.0.0 Release Candidate 1 to the public.
Overview
Version V8_0_0_rc1 is a candidate release incorporating over 50 improvements and bug fixes compared to version 7.9.0.
What is a Release Candidate
A Release Candidate is a tag on the master branch that has completed all test rounds and is stable to use.
Release candidates progress in parallel with maintenance releases, with the difference that maintenance releases remain binary compatible with minor releases and cannot include most improvements.
The cycle for a release candidate is planned to be 5-10 weeks, while maintenance releases occur once per quarter.
What's New in OCCT 8.0.0-rc1
Core
- Moved resource directories to
/resourcefolder #427, #429 - Migration of Inspector to own repository #438
- Migration of ExpToCas to own repository #442
- Reorganize source directory to follow "src/Module/Toolkit/Package/File" template #450
- Host search resolving by itself #457
- Update signal handling for GLIBC compatibility on Linux #458
- Checking for MallInfo version #459
- Introducing
GTesttest system into OCCT as a new way to unit testing to improve stability #443 - HashUtils NoExcept optimization #473
Build system
- Fixed CMake configuration with VTK configuration built with OCCT #395, #403
- TBB configuration prioritization to release #496
- Fixed issue with mismatching installation folder on Unix system #399
- Fixed issue with build patch containing dot symbol #400
- CMake Improvements to work with VTK 9x
- Remove BUILD_PATCH option in CMake #418
- Enhance Qt5 directory detection for Windows #419
- Remove
-symboliclinker flag from Unix system, which can lead to RTTI issues #432 - Re-Configuration time optimization #467
Modeling
- GeomFill updated with fix of incorrect arrangement of Degenerated BSpline curve #396
- Improve handling of polygon parameters in NURBS conversion #410
- Fixed issue with calculation of bounding box with faces without PCurves in BRepBndLib::AddOptimal #470
- Fixed issue with periodic BSpline within bounding box calculation #493
Visualization
- Added possibility to not write warnings about unsupported fonts #392
- Improved double click detection event to prevent long click mismatching #385
- Changed selection behavior and allow HandleMouseClick for schemes, allowing to select an object #416
- Fixed issue with re-computing Bounding box #422
Data Exchange
- Added support for SurfaceStyleReflectanceAmbientDiffuse and SurfaceStyleReflectanceAmbientDiffuseSpecular classes and reorganized Rendering Parameters catching #447
- Added option to decrease STP file size for export by removing duplicate entities. Average size improvement is 20% #475
- Fixed issue with File and System coordinate system mixing on DE Wrapper interface for Mesh formats #393
- Added stream to GLTF JSON parser to read lines and points #489
- Fixed crash with Datum extraction from STP file #407
- Removed dot from AP242 SchemaName in "AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF. {1 0 10303 442 1 1 4 }" #448
- Step entity Direction optimization with decreased memory footprint #479
Testing
- Added option to repeat failed tests automatically in GH Actions #412
- Reorganized GitHub actions #480
- GTest tests integration #471, #481, #443
Documentation
- Fixed various typos found in codebase #413, #414, #495
- Migrated documentation generation from TCL to CMake #441
How to Upgrade
There are no critical changes at the API level. Migration should proceed without issues.
What's Changed
- Coding - Add flag for font mgr to avoid error message #392
- Data Exchange - DE Wrapper invalidating parameters after 'Load' #393
- Visualization - Refactor mouse click handling logic for improved double-click detection #385
- Modeling - Degenerated curves were not handled by Arrange function #396
- Configuration - Update VTK configuration and enable optional components #395
- Configuration - Update file globbing and condition checks for installation paths #399
- Configuration - Extend CMake file filter regex #400
- Configuration - Modify VTK 9x handling #401
- Data Exchange - Datum Axis extraction issue #407
- Configuration - Update VTK optional components #403
- Modeling - Improve handling of polygon parameters in NURBS conversion #410
- Testing - Repeating failed tests in GH Action #412
- Documentation - Fix various typos found in codebase #413
- Documentation - Fix various typos found in codebase #414
- Visualization, Selection - allow HandleMouseClick for schemes, allowing to select an object #416
- Configuration - Remove BUILD_PATCH option in CMake #418
- Configuration - Checking for FILES content #424
- Visualization - AIS_Shape bounding box re-computation is not working properly #422
- Coding - Include gxx files from global path #423
- Configuration - Enhance Qt5 directory detection for Windows #419
- Configuration - Remove -symbolic linker flag #432
- Configuration - Adding resource packages to toolkit #427
- Data Exchange, Step - AP242 SchemaName remove dot #448
- Coding - Migration of Inspector to own repository #438
- Coding - Migration of ExpToCas to own repository #442
- Configuration - Resource structure reorganization #429
- Documentation - Migration to CMake from TCL #441
- Configuration - Reorganize repository structure #450
- Configuration - Resource generation source path fix #453
- Documentation - Generation schema fixing #452
- Configuration - Update resource path references in build scripts #454
- Foundation Classes - Host resolving by itself #457
- Documentation - Convert module and toolkit names to lowercase for URL generation #460
- Foundation Classes - Update signal handling for GLIBC compatibility on Linux [#458](https://github.com/Open-Cascade-SAS/OC...
V7_9_0
Open CASCADE Technology 7.9.0 Released
Open Cascade is delighted to announce the release of Open CASCADE Technology version 7.9.0 to the public.
Overview
Version 7.9.0 is a minor release incorporating over 250 improvements and bug fixes compared to version 7.8.0.
What's New in OCCT 7.9.0
Core
- Improved code quality through static analysis and consistent code formatting with Clang-Format.
- Enhanced
Standard_Typeimplementation for better RTTI support and optimizedIsKindoperations. - Reorganized foundation classes for improved performance, including inlining
Standard_Typeinstances. - Deprecated the old aliasing for Handle types (e.g.,
Handle_<Type>). - Improved memory management and container optimization, including refactoring
ShapeHealingMaptoNCollection. - Updated map operations with the new
NCollection_MapAlgofor union, intersection, and other set operations. - Updated the
RemoveAllmethod inAsciiStringto correctly truncate the string.
Build System
- Added VCPKG manifest mode support (beta) for managing third-party dependencies.
- Improved handling of third-party dependencies, including Draco, VTK, and OpenVR from Ubuntu packages.
- Updated the minimum CMake version requirement to 3.10.
- Added an option to enable/disable Git hash extraction in the version string.
- Introduced a warning message regarding LGPL 2.1 licensing limitations for static linking.
- Fixed an issue where
custom.bat/shwas not regenerated in the build directory. - Added compiler version checks for C++17 support.
- Removed Genproj.
- Fixed static linking failures.
- Implemented new PCH for faster compilation.
- Added MinGW default third-party package support.
Modeling
- Fixed multiple issues in the
UnifySameDomainalgorithm, including cases withSurfaceOfRevolutionorSurfaceOfLinearExtrusionbased onTrimmedCurve. - Improved
BRepOffsetandBRepFillalgorithms, including skipping degenerated curves inBRepOffset_Tool::TryProjectand adding boundary checks inBRepFill_Filling. - Enhanced shape processing and transformation handling, including the removal of surfaces after transformation.
- Fixed various geometric computation issues, including resetting Plane YVector and enhancing intersection handling for closed curves in
IntPatch_Intersection. - Improved the robustness of boolean operations.
- Added a warning for incomplete wire detection in
WireFromList. - Fixed NURB conversion for degenerated cases.
- Disabled exception with scaling transformation.
- Fixed degenerated curves in offset operations.
- Corrected intersection curves handling.
- Resolved BRepOffset_Tool segmentation fault.
- Fixed sphere cutting and Boolean operations.
Visualization
- Enhanced
AIS_Manipulatorfunctionality, including flat skin support and transformation depending on camera rotation. - Improved selection handling and transformation persistence.
- Added support for flat skin in
AIS_Manipulatorpresentation. - Enhanced Z-layer handling in
V3d_View, including an option to dump only a selection of z-layers. - Improved transparency handling in various rendering modes.
- Implemented an interface to change
myToFlipOutputofOpenGl_View. - Fixed direction calculation for
Select3D_SensitiveCylindercreated fromGeom_CylindricalSurface. - Added support for vertical mouse movement zooming.
- Enhanced transparency handling for capping in 'Graphic3d_RTM_BLEND_OIT' mode.
- Fixed selection for simple shapes.
- Resolved manipulator interaction issues.
- Fixed transform persistence and view transformation.
- Addressed transparency and rendering issues.
Data Exchange
- Migrated shape healing settings to a single object,
DE_ShapeFixParameters. - STEP:
- Added metadata support for products, including product attributes.
- Enhanced tessellated geometry handling.
- Improved thread safety.
- Fixed multiple crash issues, including those related to null curves and out-of-range indices.
- Added support for
GENERAL_PROPERTY. - Implemented common logic for scaling during the write procedure.
- GLTF:
- Added vertex and edge support.
- Improved material handling, including fixing material color space and edge colors.
- Enhanced import/export functionality.
- Added metadata support.
- Implemented
XCAFDocfilter tree functionality. - Improved handling of IGES imports, including fixing a resource leak when parsing an invalid file and addressing a crash with degenerated BSplines.
- Moved
StepData_ConfParametersto theDESTEPpackage. - Reorganized DE Wrapper classes to have a single style and logic:
DE<FORMAT>_Parameters,DE<FORMAT>_Provider, andDE<FORMAT>_ConfigurationNode.
Testing
- Implemented comprehensive GitHub Actions workflows for build validation (Ubuntu, Windows, MacOS), code formatting, and documentation building.
- Added automated documentation building.
- Enhanced test result comparison systems.
- Improved cross-platform testing support.
- Added WebAssembly build validation.
- Added a new TCL command to clear the test folder of skipped tests.
Documentation
- Updated code documentation and fixed various typos.
- Enhanced API documentation.
- Improved contributing guidelines.
- Updated issue templates and release notes.
- Updated links in the README.
How to Upgrade
For details on upgrading to the new version check Upgrade 790
Windows packages and 3rd-party
The release delivers x64 and x32 binaries in both Release and Debug configurations and third-party libraries, check GitHub Release
Full Changelog: V7_8_0...V7_9_0
V7_9_0_beta2
Release Information
- Release Date (Stable): February 17, 2025
- Version: 7.9.0.beta2
- Git Tag: V7_9_0_beta2
The Beta1 release: https://github.com/Open-Cascade-SAS/OCCT/releases/tag/V7_9_0_beta1
New changes:
- Fixed issue with documentation version extraction
- Fixes crash in RWMesh interface when using old interface of parsing
- Added material export for GLTF Edge
- Fixed issue with ignore
write.schemafor STEP export - Fixed build with WASM 3.x
- Fixed color space with GLTF Import result
- Added sample build on GH Actions (each PR)
- Fixed exporting for incorrect elements(not free vertexes or edges) for GLTF
- Fixed issue with ignore
write.unitsfor STEP export - Fixed not-stable behavior with Product metadata STEP import
Installation
- Use Git tag
V7_9_0_beta2 - Windows installer available with VS 2022 binaries
- Complete source archive available
Coming Soon
- Detailed release content documentation
- Documentation update
- Development update guide
OCCT3D Development Team
Full Changelog: V7_9_0_beta1...V7_9_0_beta2
V7_9_0_beta1
Release Information
- Release Date (Stable): February 17, 2025
- Version: 7.9.0.beta1
- Git Tag: V7_9_0_beta1
Overview
This beta release includes over 230 improvements across various components. The master branch is now in code freeze, with only critical issues being integrated for stability validation.
During that period - we will focused on issue related to migration and possible hidden regression to offer more stable release.
New Maintenance Workflow
Stable Releases (Quarterly)
- Backward-compatible
- Windows ready-to-use binary delivery
- Example versions: 7.9.1, 7.9.2, 7.9.3
Development Releases (5-week cycle)
- No API compatibility guarantee
- Windows ready-to-use binary delivery
- Latest features and bug fixes
- Example versions: 8.0.0.dev1, 8.0.0.dev2, 8.0.0.dev3
Critical Updates
Data Exchange
- Thread-safety improvements
- Multiple crash and schema processing fixes
- Metadata import support
- glTF metadata import/export
- glTF edge/vertex import/export
Modeling Algorithms
- Disabled exception with scaling transformation
- Fixed degenerated curves in offset operations
- Corrected intersection curves handling
- Resolved BRepOffset_Tool segmentation fault
- Fixed sphere cutting and Boolean operations
Foundation Classes
- Fixed memory leaks in locale conversion
- Corrected BVH surface area calculations
- Fixed AsciiString RemoveAll functionality
- Reorganized RTTI and optimization
Configuration (CMake)
- Removed Genproj
- Fixed static linking failures
- Implemented new PCH for 4x compilation speed
- Added MinGW default third-party package support
- Added VCPKG beta support
Visualization
- Fixed selection for simple shapes
- Resolved manipulator interaction issues
- Fixed transform persistence and view transformation
- Addressed transparency and rendering issues
General Improvements
- Global code formatting with clang-format 18.1.8
- Global static analysis results improvements
- Migrated to GitHub with full testing integration
- Deprecated Handle_* type usage (preparing for 8.0)
- Improved constexpr usage and compile-time optimizations
- Git hash info in development versioning
- Improvements in compiler flags optimizations
Installation
- Use Git tag
V7_9_0_beta1 - Windows installer available with VS 2022 binaries
- Complete source archive available
Beta Testing
Please check your reported issues marked as "Verified" and report any regressions immediately.
Coming Soon
- Detailed release content documentation
- Documentation update
- Development update guide
OCCT3D Development Team
Full Changelog: V7_8_0...V7_9_0_beta1
V7_8_1
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
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_IncrementalMeshissue 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
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.