Open CASCADE Technology 7.9.0 发布
Dmitrii Pasukhin
星期二, 2025-02-18 13:56
论坛:
Open Cascade 很高兴地向公众发布 Open CASCADE 技术版本 7.9.0。
概述
版本 7.9.0 是一个次要版本,与版本 7.8.0 相比,包含了 250 多项改进和错误修复。
OCCT 7.9.0 中的新增功能
核心
- 通过使用 Clang-Format 进行静态分析和一致的代码格式化,提高了代码质量。
- 增强的实施,以提供更好的 RTTI 支持和优化作。
Standard_Type
IsKind
- 重新组织了基础类以提高性能,包括内联实例。
Standard_Type
- 弃用了 Handle 类型的旧别名(例如 )。
Handle_<Type>
- 改进了内存管理和容器优化,包括重构为 .
ShapeHealingMap
NCollection
- 更新了 map作,新增了 union、intersection 和其他 set作。
NCollection_MapAlgo
- 更新了 中的方法以正确截断字符串。
RemoveAll
AsciiString
构建系统
- 添加了用于管理第三方依赖项的 VCPKG 清单模式支持 (beta)。
- 改进了对第三方依赖项的处理,包括来自 Ubuntu 软件包的 Draco、VTK 和 OpenVR。
- 将最低 CMake 版本要求更新为 3.10。
- 添加了一个选项,用于在版本字符串中启用/禁用 Git 哈希提取。
- 引入了有关静态链接的 LGPL 2.1 许可限制的警告消息。
- 修复了未在 build 目录中重新生成的问题。
custom.bat/sh
- 添加了 C++17 支持的编译器版本检查。
- 删除了 Genproj。
- 修复了静态链接失败的问题。
- 实施了新的 PCH 以加快编译速度。
- 添加了 MinGW 默认第三方包支持。
建 模
- 修复了算法中的多个问题,包括具有或基于 的情况。
UnifySameDomain
SurfaceOfRevolution
SurfaceOfLinearExtrusion
TrimmedCurve
- 改进的算法,包括跳过 中的退化曲线和 在 中添加边界检查 。
BRepOffset
BRepFill
BRepOffset_Tool::TryProject
BRepFill_Filling
- 增强了形状处理和变换处理,包括变换后删除曲面。
- 修复了各种几何计算问题,包括重置 Plane YVector 和增强 中闭合曲线的交点处理。
IntPatch_Intersection
- 提高了布尔运算的稳健性。
- 在 中添加了有关线路检测不完整的警告。
WireFromList
- 修复了退化情况的 NURB 转化。
- 缩放转换的禁用异常。
- 修复了偏移作中退化的曲线。
- 更正了相交曲线处理。
- 解决了 BRepOffset_Tool 分段错误。
- 修复了球体切割和布尔运算。
可视化
- 增强功能,包括平面蒙皮支持和变换,具体取决于摄像机旋转。
AIS_Manipulator
- 改进了选择处理和转换持久性。
- 添加了对演示文稿中平坦皮肤的支持。
AIS_Manipulator
- 中增强了 Z 图层处理,包括仅转储所选 z 图层的选项。
V3d_View
- 改进了各种渲染模式下的透明度处理。
- 实现了一个接口来更改 。
myToFlipOutput
OpenGl_View
- 从 创建的固定方向计算。
Select3D_SensitiveCylinder
Geom_CylindricalSurface
- 添加了对鼠标垂直移动缩放的支持。
- 增强了“Graphic3d_RTM_BLEND_OIT”模式下封口的透明度处理。
- 修复了简单形状的选择。
- 解决了纵器交互问题。
- 修复了转换持久性和视图转换。
- 解决了透明度和渲染问题。
数据交换
- 将形状修复设置迁移到单个对象 。
DE_ShapeFixParameters
- 步:
- 添加了对产品的元数据支持,包括产品属性。
- 增强了镶嵌几何体的处理。
- 改进了线程安全性。
- 修复了多个崩溃问题,包括与 null 曲线和超出范围索引相关的问题。
- 添加了对 .
GENERAL_PROPERTY
- 实现了在写入过程中进行扩展的通用逻辑。
- GLTF:
- 添加了顶点和边缘支持。
- 改进了材质处理,包括修复材质颜色空间和边缘颜色。
- 增强的导入/导出功能。
- 添加了元数据支持。
- 实现了筛选器树功能。
XCAFDoc
- 改进了对 IGES 导入的处理,包括修复解析无效文件时的资源泄漏,以及解决 BSplines 退化时的崩溃问题。
- 已移至包。
StepData_ConfParameters
DESTEP
- 重新组织了 DE 包装器类,使其具有单一样式和逻辑:、 和 .
DE<FORMAT>_Parameters
DE<FORMAT>_Provider
DE<FORMAT>_ConfigurationNode
测试
- 为构建验证(Ubuntu、Windows、MacOS)、代码格式化和文档构建实施了全面的 GitHub Actions 工作流程。
- 添加了自动文档构建。
- 增强的测试结果比较系统。
- 改进了跨平台测试支持。
- 添加了 WebAssembly 构建验证。
- 添加了新的 TCL 命令,用于清除跳过的测试的测试文件夹。
文档
- 更新了代码文档并修复了各种拼写错误。
- 增强的 API 文档。
- 改进了贡献指南。
- 更新了问题模板和发行说明。
- 更新了 README 中的链接。
如何升级
有关升级到新版本的详细信息,请升级 790
Windows 程序包和第三方
该版本在发布和调试配置中提供 x64 和 x32 二进制文件以及第三方库 [即将推出]
完整更新日志:https://github.com/Open-Cascade-SAS/OCCT/compare/V7_8_0...V7_9_0
Open CASCADE Technology 7.9.0 Released
Dmitrii Pasukhin
Tue, 02/18/2025 - 13:56
Forums:
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_Type
implementation for better RTTI support and optimizedIsKind
operations. - Reorganized foundation classes for improved performance, including inlining
Standard_Type
instances. - Deprecated the old aliasing for Handle types (e.g.,
Handle_<Type>
). - Improved memory management and container optimization, including refactoring
ShapeHealingMap
toNCollection
. - Updated map operations with the new
NCollection_MapAlgo
for union, intersection, and other set operations. - Updated the
RemoveAll
method inAsciiString
to 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/sh
was 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
UnifySameDomain
algorithm, including cases withSurfaceOfRevolution
orSurfaceOfLinearExtrusion
based onTrimmedCurve
. - Improved
BRepOffset
andBRepFill
algorithms, including skipping degenerated curves inBRepOffset_Tool::TryProject
and 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_Manipulator
functionality, including flat skin support and transformation depending on camera rotation. - Improved selection handling and transformation persistence.
- Added support for flat skin in
AIS_Manipulator
presentation. - 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
myToFlipOutput
ofOpenGl_View
. - Fixed direction calculation for
Select3D_SensitiveCylinder
created 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
XCAFDoc
filter 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_ConfParameters
to theDESTEP
package. - 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 Upgrade 790
Windows packages and 3rd-party
The release delivers x64 and x32 binaries in both Release and Debug configurations and third-party libraries [Will be available soon]
Full Changelog: Comparing V7_8_0...V7_9_0 · Open-Cascade-SAS/OCCT · GitHub