几何与开发 / 深度解读

OCCT:开源 CAD 唯一的内核基石,和商用比差在哪

OCCT 是开源里唯一成熟、全功能的几何内核,撑起 FreeCAD、build123d 等一大片工具。本文借 8.0 大版本,梳理还有哪些开源内核、谁在用 OCCT、和商用内核(圆角/布尔)差多少,以及它的路线。

文章目录

AI 文生 CAD、代码化 CAD 要落地,最终都要跑在某个几何内核上——内核够不够结实、互不互通,直接决定“生成的几何能不能进工程流程”。商用内核(如西门子 Parasolid、达索 ACIS)要授权费、且闭源;开源这边,OCCT(Open CASCADE Technology)是唯一成熟、全功能的边界表示(B-Rep)内核,自 1999 年发展至今、约 200 万行代码、以 LGPL 发布,撑起了一大片开源 CAD/CAE/BIM 工具。2026 年 5 月,它发布了多年来最大的一次版本 8.0.0(当前 8.0.1)。本文借这次大版本,看一看这块开源底座的现状:还有哪些开源内核、谁在用 OCCT、和商用内核差多少、往哪走。资料核对截至 2026 年 10 月 31 日;本文未逐一编译验证,信息以官方发布说明与公开仓库为准。

一、开源内核:OCCT 一家独大,新秀初起

几何内核是 CAD 看不见的发动机。商用领域有 Parasolid、ACIS/ShapeManager、CGM、C3D 等;开源这边,成熟、全功能的只有 OCCT 一个。它支持精确的 B-Rep 实体、布尔、圆角、曲面与数据交换,是开源里唯一能对标商用的那一档。

近两年出现了一些新秀,多用 Rust、仍处早期:

  • Truck:Rust 写的 B-Rep + NURBS 内核,Apache-2.0,面向 WebGPU;但目前只支持单边圆角。
  • Fornjot:Rust、实验级,官方自述尚不适合真实项目。
  • Gensolid:Apache-2.0,定位对标 Parasolid,用 Truck 作 NURBS 参考、OCCT 作对照(因许可不兼容,不含 OCCT 代码)。
  • 另有 NVIDIA 在 USD BRep 里以 Apache-2.0 开源的 SMLib 子集,以及老牌的 BRL-CAD(CSG 传统)。

这些项目方向有意思,但在布尔与圆角等健壮性上离 OCCT 还有明显距离。就是说,想要一个免授权、能用于生产的开源全功能内核,今天仍然只有 OCCT。关于开源内核在 AI×CAD 里的位置,本站在主流 CAD AI 调研里也谈过。

开源内核以 OCCT 为主、新秀初起,与商用内核 Parasolid/ACIS 等对照

图 1:开源内核(OCCT 为主,新秀初起)与商用内核。图由 CADFrontier 绘制。

二、谁在用 OCCT

OCCT 之所以重要,是因为一大批工具都建在它上面:FreeCAD(开源参数化 CAD)、KiCad 的 3D 显示、build123d 与 CadQuery(经 Python 绑定 OCP)、网格与仿真前处理的 Gmsh 与 Netgen、BIM 领域的 IfcOpenShell 及众多 IFC 查看器、仿真平台 Salome、Open Cascade 官方的 CAD Assistant,以及 bitbybit 这类 Web 工具。

换句话说,一条内核撑起了半个开源 CAD/CAE/BIM 生态。这也是它每次大版本都牵动一片的原因——内核一动,上游都要跟。

FreeCAD、KiCad、build123d、CadQuery、Gmsh、Netgen、IfcOpenShell、Salome 等工具都建在 OCCT 几何内核上

图 2:一大批开源工具建在 OCCT 几何内核上。图由 CADFrontier 绘制。

三、8.0:这块基石在持续现代化

8.0.0 是 OCCT 多年来最大的一步:经过 5 个候选版、3 个 Beta,累计 500 多项变更。它是破坏性的——最低 C++ 标准升到 C++17;异常体系重构:Standard_Failure 改为继承 std::exception,Raise()/Throw() 等静态助手取消、改用 throw,错误处理栈改为线程本地;源码树按模块重组。官方提供了自动迁移脚本,但升级要改代码,不是改配置。

同时也带来不少新能力:

  • BRepGraph:基于图的拓扑与 B-Rep 几何表示,支持双向遍历与历史追踪,为后续算法打底;还有高性能集合(Robin Hood 哈希表等)、Gordon 曲面、把容差从硬编码 1e-12 改为可配置、线程安全的数值解析;ARM64 成为 macOS/Windows 的一等目标。
  • 数据交换方面,STEP 导出通过去除冗余,使文件平均约小 20%,并保留控制指令。

一句话:这块开源基石在被认真地现代化,而不是只做维护。

四、和商用内核的差距

把话说清楚:论健壮性,商用内核(Parasolid、ACIS/ShapeManager 等)总体仍强于 OCCT。

最被诟病的是圆角。多条圆角要在一个顶点处相交时,OCCT 常会失败,而且没有 Parasolid 的 fix_blends、ACIS 的 api_fix_blends 这类“圆角修复”机制;历史上圆角/倒角累计有约二十多个未决问题,版本之间还出现过回归。布尔方面,OCCT 用 fuzzy 容差参数和 General Fuse 流水线来应对近重合输入,思路和 Parasolid 的可靠面面求交、ACIS 的印记/缝合/修复不同。此外,ACIS 的建模能力更广,OCCT 不支持通用的文本化 Laws 与过程式几何。

业界的共识是:OCCT 的算法在数学上是对的,差的是边缘情况的工程实现,尤其是多圆角顶点。它的优势则很明确——开源、免授权费,是不想买商用内核时唯一的全功能选择。有的开源项目干脆同时挂两个内核,把第二个当“独立裁判”:两者不共享代码,布尔与圆角的失败不相关。

OCCT 与商用内核在健壮性、多边圆角、布尔、建模广度、成本与开源上的对照

图 3:OCCT 与商用内核的主要差距与优势对照。图由 CADFrontier 绘制。

五、往哪走,以及我的看法

OCCT 背后是 Open Cascade SAS,它是 Capgemini 的子公司;8.0 的 OCCT3D 团队在 FOSDEM 2026 上公布了路线,整版围绕 API 稳定、可维护、易用三条主线重构,BRepGraph 与集合的大改是为后续算法打基础。按公开里程碑,8.0.2 预计 10 月、8.1 预计 2027 年 1 月;官方同时提供商用支持与关键 bug 修复服务。

我的判断是:对 AI×CAD 来说,内核够不够结实,直接决定“AI 生成的几何能不能进流程”。OCCT 正在补现代化、补健壮性,但圆角与布尔的边缘情况仍是它和商用内核的主要差距——AI 产出越多、越自动,这块短板越关键,因为出问题的往往不是“建不出”,而是复杂情形下的圆角与布尔:常见零件多半没问题,可一旦多条圆角交汇于一个顶点、或遇到近重合的布尔,就容易在这些边缘情况上失败。Rust 新秀的方向值得关注,但要到能用于生产还早。短中期看,OCCT 仍是开源 AI×CAD 的内核基石,而且在变得更结实——这既是它的底气,也是整个开源 CAD 生态能持续往前的前提。

本文为基于公开资料的编辑分析,信息以官方发布说明与公开仓库为准,未逐一编译验证;配图为 CADFrontier 绘制的概念示意。

SOURCES & FURTHER READING

资料来源与延伸阅读

  1. OCCT 8.0.0 发布说明(GitHub Discussion) ↗来源地区: 全球/跨地区
  2. OCCT Releases 与 Milestones(GitHub) ↗来源地区: 全球/跨地区
  3. FOSDEM 2026:OCCT3D 8.0 内核演进 ↗来源地区: 全球/跨地区
  4. CAD International:几何内核为什么重要 ↗来源地区: 全球/跨地区
  5. CADShift:圆角失败与各内核处理方式对比 ↗来源地区: 全球/跨地区
  6. Gensolid:对标 Parasolid 的开源 B-Rep 内核(GitHub) ↗来源地区: 全球/跨地区
  7. Fornjot:Rust 开源 CAD 内核(GitHub) ↗来源地区: 全球/跨地区
本文发布时间为本站编辑发布时间,相关研究与文档的原始日期请参见来源。