Open CASCADE Technology 7.9.0 Released

Open CASCADE Technology 7.9.0 发布

Dmitrii Pasukhin 的照片

Dmitrii Pasukhin
星期二, 2025-02-18 13:56

论坛:

OCCT 版本

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's picture

Dmitrii Pasukhin
Tue, 02/18/2025 - 13:56

Forums:

OCCT releases

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 optimized IsKind 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 to NCollection.
  • Updated map operations with the new NCollection_MapAlgo for union, intersection, and other set operations.
  • Updated the RemoveAll method in AsciiString 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 with SurfaceOfRevolution or SurfaceOfLinearExtrusion based on TrimmedCurve.
  • Improved BRepOffset and BRepFill algorithms, including skipping degenerated curves in BRepOffset_Tool::TryProject and adding boundary checks in BRepFill_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 of OpenGl_View.
  • Fixed direction calculation for Select3D_SensitiveCylinder created from Geom_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 the DESTEP package.
  • Reorganized DE Wrapper classes to have a single style and logic: DE<FORMAT>_Parameters, DE<FORMAT>_Provider, and DE<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