团队刚把上游换到 NX Designcenter 2606,又收到了 Navisworks 2027 的模型文件,结果 HOOPS Exchange 老版本直接打不开。另一边,基于 STEP 公差做 MBD 质检的程序,升级到 2026.7.0 后突然漏标了几个形位公差——代码没改,逻辑却在静默失效。
根因有两处:一是格式版本需要跟上,二是 STEP 读取器把共享同一个 shape aspect 的多个公差,从合并到一个公差框改成了各自独立。HOOPS Exchange 2026.7.0 的做法是:先让新文件进得来,再把工程语义读准,同时把容易中断读取的脏数据挡在外面。
HOOPS Exchange 2026.7.0 支持哪些新格式版本?
本次只跟进了两个工程软件格式版本:
| 格式 | 2026.7.0 支持版本 |
|---|---|
| Autodesk Navisworks | 2027 |
| Siemens NX(Designcenter) | 2606 |
上游设计工具一升级,新文件就要重新走读取、转换、显示和验证才能进原有流程。如果你们的多 CAD 平台还在用旧 SDK,第一步就是确认版本号已经更新到 2026.7.0。
图1 HOOPS Exchange 2026.7.0 支持格式版本
STEP 公差的 Feature Control Frame 为什么从合并改成了独立?
这是本次最容易被忽视、也最容易出事故的变化。
STEP 里共享同一个 shape aspect(形状要素)的多个公差,旧版本会合并进一个 Feature Control Frame(形位公差框),每项公差占一行。新版本改成每个公差生成一个独立公差框,框内只有单行,A3DMarkupGDTData.m_ppsMarkupTolerances 每个元素对应一个公差。
注意: 如果既有代码默认只处理一个 Feature Control Frame,或只读第一个框里的行,升级后会在不报错的情况下漏掉其余公差。相关遍历逻辑一定要纳入回归测试。
对 MBD、质量检测、工艺类应用来说,"模型显示出来了"不等于"数据读对了"。升级后先确认所需公差能被完整遍历,再交给下游功能。
CATIA V5 的 Publication 现在能返回哪些生成面?
CATIA V5 里指向 Pad 或缝合曲面等特征的 Publication(用于暴露并关联设计对象的发布项),旧版本会返回空的关联项。2026.7.0 起,它会返回该特征生成的面,一个面对应一个关联项。
同时修复的还有:STEP 坐标系的读写,以及部分 CATIA V5 3D FTA 注释缺少引线的问题(SDHE-23619)。这些修复影响对象关联、公差遍历和标注还原,上层程序要注意返回结构是否和预期一致。
曲面缝合、物理属性与损坏面:真实数据下的读取稳定性
生产环境的 CAD 文件往往不是理想样本。2026.7.0 在稳定性上做了几处加固:
-
曲面缝合稳定性提升(SDHE-22389)
-
A3DComputeModelFilePhysicalProperties物理属性计算更稳健(SDHE-22475) -
ACIS 读取器可忽略拓扑不一致的损坏面(SDHE-22515)
-
曲线投影中的无限循环问题已修复(SDHE-22986)
其它修复覆盖了 SOLIDWORKS Large Design Review 加载(SDHE-23671)、缺少 IfcGeometricRepresentationContext 与 IfcProject 关联的 IFC 读取(SDHE-23639),以及 FBX、glTF、OBJ 的读取或零件位移异常——这些异常都和 Assimp 由 6.0.2 升到 6.0.5 有关。
A3DTreeNodeGetData 与 C# 内存回调:API 与第三方库更新
开发侧有两个可直接用的新增:
A3DTreeNodeGetData()(位于A3DSDKStructure.h):把树节点数据作为字符串化 JSON 对象返回,方便在脚本或外部工具里读取结构。
// 函数签名示意,以官方头文件 A3DSDKStructure.h 为准 A3DStatus A3DTreeNodeGetData(const A3DTreeNode* pNode, A3DUTF8Char** ppcData);
- C# 封装新增自定义内存回调(custom memory callback,SDHE-23010)。具体类型与注册方式以官方 C# 封装文档为准,建议在内存敏感场景替换默认分配器前先确认接口。
第三方库整体更新:APDFL 18.0.5PlusP2e、Assimp 6.0.5、minizip 1.3.2、stb image 2.29、stb image resize 2.07;同时通过 PDFL 与 STB 相关依赖更新修掉了一批 CVE。
完整数据链路可以这样看:
上游 CAD/AEC 文件
↓
版本与格式兼容(NX 2606 / Navisworks 2027)
↓
几何及工程语义读取(CATIA V5 / STEP)
↓
异常数据与稳定性处理(损坏面 / 无限循环)
↓
API 集成与应用交付(A3DTreeNodeGetData / C# 回调)
FAQ
Q:升级到 2026.7.0 后,STEP 文件的形位公差为什么变少了?
A:公差没有变少,是读取结构变了。旧版本把共享同一 shape aspect 的多个公差合并进一个框(每项一行);新版本每个公差一个独立框。旧代码若只读第一个框,就会静默漏掉其余公差,需要改成遍历所有框。
Q:C# 怎么用新增的自定义内存回调?
A:2026.7.0 在 C# 封装里新增了自定义内存回调函数(SDHE-23010)。具体类型与注册方式以官方 C# 封装文档为准,确认后再在内存敏感场景下接入。
Q:NX 2606 和 Navisworks 2027 的文件读不进来怎么办?
A:确认 HOOPS Exchange 已更新到 2026.7.0。该版本新增了 Siemens NX(Designcenter)2606 与 Autodesk Navisworks 2027 的格式支持,低于该版本无法识别新文件头。