面向 FreeCAD 动力学自动化工作流
报告日期:2026-08-10 检索窗口:2026-08-03 09:00 至 2026-08-10 09:00(Asia/Shanghai;UTC 2026-08-03 01:00 至 2026-08-10 01:00) 联网核验截止:2026-08-10 09:00
执行摘要
本周对 FreeCAD 动力学自动化最直接的变化来自装配层级重算、跨 Part 几何接入和 Python API 迁移。FreeCAD 发布 weekly-2026.08.05 开发周构建;窗口内合并的 PR #31578 修复嵌套形状可见性变化未触发父级
App::Part重算,PR #31763 允许 Body 的 BaseFeature 引用其他App::Part中的特征。二者都已合并但仍属开发线,应先用 Assembly/STEP 黄金样例验证后再进入生产。IGA / CAD–分析一体化出现可操作的开发进展:G+Smo 合并 PR #880,把
gsFunction/gsFunctionSettrampoline、SciPy 稀疏矩阵、基函数加密/降阶传递和 L2 投影带进 Python;又合并 PR #831,可合并两棵gsHTensorBasis树以构造不同 THB 场的共同积分域。两项均未给出误差、条件数或性能基准,因此它们是“集成能力增强”,不是“IGA 更快或更准”的证据。AI × CAD/CAE 本周唯一达到时间窗和量化门槛的重点条目是预印本 RA-CAD:通过 Generate–Execute–Critique–Rewrite 闭环,在 CADFusion 上把无效比例降至 6.20、平均 Chamfer Distance 降至 35.44(论文表格数值统一乘以 100),在 Text2CAD 上分别为 9.44 和 38.86。代码与训练数据开放性尚未在论文页面确认,且 benchmark 仍是参数序列与点云几何,未覆盖装配约束、拓扑命名、材料/载荷和求解正确性,因此只建议做隔离的 FreeCAD 程序生成试验。
本周最优先的 3 项行动
- 建立嵌套装配重算门禁:用三层
App::Part、链接实例和显隐切换复现 PR #31578;每次修改后校验State、包围盒、连接缓存、导出 STEP 哈希及保存重开一致性,并与当前生产版本对照。 - 做一个 OCCT→G+Smo→FEM 双路线样例:从 FreeCAD/OCCT 提取 NURBS 次数、控制点、节点矢量、权重、修剪环和连续性;在 G+Smo Python 绑定中验证 THB 基函数合并与传递矩阵,再与 Gmsh/CalculiX 的静力和前 10 阶模态结果对账。
- 把 AI 生成放进可执行验证闭环:选 30 个参数化零件提示,记录 RA-CAD 式“生成—执行—批评—重写”的每次 FreeCAD 重算、B-Rep 有效性、体积/惯量、参数可编辑性和拓扑命名稳定性;任何几何成功但工程语义失败的样例必须判为失败。
本周态势总览
| 主题 | 证据类别 | 本周判断 | 工作流动作 |
|---|---|---|---|
| FreeCAD Assembly / FEM | 开发周构建 + 已合并 PR | 嵌套重算和跨 Part BaseFeature 明显改善;Assembly 关节 API 无已核实大改。 | 升级前跑装配层级与 STEP 导入回归。 |
| IGA / CAD–分析一体化 | 已合并开发 PR | G+Smo Python 与 THB 共同积分域能力增强,无性能/精度基准。 | 先做桥接样例和对照实验,不宣称生产成熟。 |
| AI × CAD/CAE | 预印本 | RA-CAD 的执行反馈闭环与低无效率值得迁移;开放性和工程语义验证不足。 | 隔离测试,真实求解器和几何审计作硬门禁。 |
| CATIA / Rhino / STEP / 3DM | 已合并 PR + 本周无正式版本 | rhino3dm 新增 ConstructionPlane 读写;CATIA/STEP 无可核验正式周变更。 | 扩展 3DM 视图语义往返样例。 |
| Gmsh / meshio | 本周无重要变化 | Gmsh 稳定版仍为 4.15.2,meshio 无窗口内合并 PR/版本。 | 维持版本,继续黄金文件测试。 |
| VTK / ParaView | 开发线变更 | VTK 修复 CellArray/HDF/STL 并改善并行聚合;ParaView 增加 uv 管理的 Python 环境命令。 | 把空分区、数组完整性和离线依赖纳入回归。 |
| CalculiX / Abaqus-compatible | 本周无求解器正式发布 | 无算法级新证据。 | 保持语法、集合、接触和结果复算门禁。 |
| Python / C++ / pybind11 / ABI | 正式发布 | pybind11 3.1.0 放弃 Python 3.8 与 MSVC 2017,并修复子解释器/生命周期问题。 | 现代与遗留 ABI 矩阵分轨,不原位升级。 |
FreeCAD Assembly 自动化与 API/插件变化
weekly-2026.08.05:用于回归,不是生产版本
【开发预发布】FreeCAD 官方于 8 月 5 日发布 weekly-2026.08.05,并明确说明周构建用于测试修复、回归和新功能,不建议生产使用。Windows 试验构建继续提供 OCCT 8.0.0.p1 路线。该版本适合作为本周变更的隔离验证载体,但不能以“已打包”替代具体 PR 的行为验证。
嵌套形状可见性终于正确触发父级重算
【已合并开发变更】PR #31578 修复 GeoFeatureGroupExtension 在处理嵌套形状可见性时提前返回,导致父级连接信息未建立、Std_Part 未被 touch 的问题;补丁为核心逻辑 3 行新增、1 行删除,并增加 17 行回归测试。它直接关联装配层级、显示状态和依赖图一致性。
风险:补丁验证的是重算触发,不等于所有自定义 ViewProvider、LinkGroup 或深层 Assembly 容器都正确。实验:三层嵌套中依次切换叶节点、子 Part 和链接实例可见性,记录父级 touch/recompute 次数、连接缓存、几何包围盒和导出结果;再保存、关闭、重开复测。置信度:实现与回归证据高,复杂插件迁移置信度中等。
跨 App::Part 的 BaseFeature 解除 STEP 装配导入障碍
【已合并开发变更】PR #31763 允许 PartDesign Body 的 BaseFeature 引用其他 App::Part 中的特征,解决导入 STEP 嵌套实体后无法跨 Part 建立 Body 基础特征的问题。变更涉及 Core、PartDesign GUI/对象作用域和测试,共 11 个文件、174 行新增、58 行删除。
工作流影响:可从 STEP 产品树选取一个实体进入参数化 Body,而不必先破坏原层级。局限:它不承诺 CATIA 原生特征树、实例共享或稳定拓扑名称自动保留。验证:导入含重复实例、颜色和多层产品结构的 STEP,跨 Part 创建 BaseFeature 后做 Pad/Pocket、上游替换、重算、保存重开和重新导出;同时核对实例数、体积、质心和颜色。
结构化弃用提示开始成为 API 迁移工具
【已合并开发变更】PR #30136 为 Python API 增加结构化弃用支持:类型桩可呈现弃用信息,运行时发出 DeprecationWarning,并开始覆盖 Extension、Part、Draft、GUI 视图与事件回调等接口。对自动化的价值不是立即删旧 API,而是能在 CI 中把迁移风险显式化。
建议:测试环境用 -W error::DeprecationWarning 建立“未来破坏”作业,生产仍保留默认告警行为;输出接口名、调用栈、FreeCAD 版本和替代 API。不要在同一次迭代中同时升级 FreeCAD、OCCT、Python 与插件依赖。
IGA / CAD–分析一体化
检索边界与证据等级
检索覆盖 IGA、IBRA、trimmed/immersed IGA,NURBS、B-spline、T-spline、THB-spline、LR-spline,以及结构动力学、壳/实体、接触、断裂、多物理、拓扑优化、并行/GPU、预条件、ROM 和神经算子组合。窗口内 G+Smo 有两项已合并 PR;PetIGA、tIGAr、igatools 未检出窗口内合并 PR,GeoPDEs 未见可核验正式版本。未用窗口外论文填充本周新闻。
G+Smo Python 绑定从“调用器”向“可扩展分析层”移动
【已合并开发变更】G+Smo PR #880 共改动 51 个文件,新增 1069 行、删除 708 行。核心包括:Python 可继承并重载 gsFunction/gsFunctionSet;暴露 gsBasis 均匀加密/降阶及传递、gsField、gsConstantFunction、gsMultiBasis 的加密/升阶、SciPy 稀疏矩阵和 L2 投影按矩阵/RHS 分开组装。
迁移价值:FreeCAD 可在 Python 层定义载荷/材料场,把传递矩阵送入 SciPy,并保留 C++ assembler。量化边界:PR 没有误差、组装时间、内存或 Python/C++ 调用开销基准,且清单中“新增测试/示例”未全部勾选,因此不能推断工程性能。失效模式:trampoline 的 Python 回调会受 GIL、数组布局、生命周期和异常传播影响。
THB 基函数合并提供共同积分域,但稳健性仍需证明
【已合并开发变更】PR #831 为 gsHTensorBasis 增加 merge,把两棵层次树合成“并集”树,可为两个不同 THB 场构造共同积分域;改动 7 个文件,新增 383 行、删除 14 行。作者在讨论中明确提到测试不足,因此证据等级是实现可用、工程稳健性待验证。
| 验证阶段 | 必须记录 | 通过条件 |
|---|---|---|
| OCCT 几何提取 | 次数、控制点、节点矢量、权重、UV 域、pcurve、外/内修剪环、周期缝与邻接连续性 | STEP 往返后控制网/权重可追溯,最大几何偏差不超过建模公差 |
| THB 合并 | 两侧层级树、合并前后 active basis 数、元素覆盖、传递矩阵维度/稀疏度 | 无覆盖空洞或重复积分;常量场与线性场投影误差在数值容差内 |
| 积分与求解 | 自由度、积分点、条件数估计、组装/求解时间、内存、失败 cut cell | h/p 加密呈可解释收敛;极小修剪单元有稳定化或明确拒绝 |
| FEM 对照 | Gmsh/CalculiX 与 IGA 的总质量、静力位移、能量、前 10 阶频率和 MAC | 材料/载荷/边界一致;差异随加密收敛且可归因于几何/离散 |
Go/No-Go:未修剪方板、带孔修剪面和双场非一致 THB 三个样例都通过后,才进入壳接触或动力学耦合;若 Python trampoline 端到端开销超过纯 C++ 路线 20% 且无法批量化,保留它用于试验定义,不进入高频积分循环。
AI × CAD/CAE
RA-CAD:把执行后的批评本身训练成策略
【预印本,2026-08-06】RA-CAD 以 CAD Code Bootstrapping 建立参数化代码能力,再用 Feedback-Driven Agent Optimization 对完整 Generate–Execute–Critique–Rewrite 轨迹进行 GRPO;终端奖励同时考虑 F1 和 Chamfer Distance。批评不再是固定提示词,而是决定“接受还是重写”的策略动作。
| 数据集 / 消融 | Avg F1 ↑ | Avg CD ↓ | 无效比例 IR ↓ | 解释 |
|---|---|---|---|---|
| CADFusion:RA-CAD | 85.30 | 35.44 | 6.20 | 论文主结果;各指标为表格显示值,统一乘以 100 |
| CADFusion:CADFusion 基线 | 84.02 | 49.78 | 21.85 | RA-CAD 主要改善几何距离和可执行性 |
| Text2CAD:RA-CAD | 77.51 | 38.86 | 9.44 | F1 不优于所有基线,但几何/有效性更好 |
| CADFusion:无 GRPO/无 critique | 76.78 | 54.37 | 90.01 | 说明 SFT 后的单次生成不足 |
| CADFusion:GRPO、无 critique | 84.93 | 44.24 | 11.46 | 显式批评对最终几何仍有增益 |
开放性:论文和 benchmark 名称公开,但本次核验未确认可直接复现的官方代码、权重和完整训练轨迹,因此开放性判为“部分”。局限:评价针对草图/拉伸等参数序列和点云,没有装配 mate、B-Rep 拓扑有效性、参数历史可维护性、材料/边界条件或求解结果。其专有模型对比采用统一 8-shot,但不是相同训练预算的模型比较。
面向 FreeCAD 的验证实验,而非直接接管建模
建立 30 个提示、三档复杂度:单草图拉伸、布尔/阵列/圆角组合、跨 Part 参考。每题运行最多 3 次重写,记录语法成功、FreeCAD 重算、Shape.isValid()、实体数、体积/惯量误差、参数可编辑性、拓扑命名在尺寸扰动后的存活率和人工工程语义评分。与一次生成、固定错误回传、确定性模板三条基线比较;所有生成物放隔离文档,禁止覆盖用户模型。
其余 AI 范围的本周结论
检索还覆盖 programmatic CAD、CAD copilot、可验证装配、约束求解、几何修复、自动参数化、拓扑优化、AI 网格、边界/载荷识别、参数标定、solver acceleration、ROM、surrogate、PINN、neural operator、digital twin、后处理和异常检测。本窗口未找到同时满足发布时间、定量 benchmark、开放性与 FreeCAD 可迁移性的其他强条目,故标记“本周无重要变化”,不把旧成果或产品声明升级为新闻。
CATIA 与 Rhino / STEP / 3DM 互操作
【已合并开发变更】rhino3dm PR #732 于 8 月 7 日合并,为 ViewInfo.ConstructionPlane 增加 get/set。它改善 3DM 视图/建模基准面的语义往返,但不是 NURBS、B-Rep 或 STEP 转换算法更新。rhino3dm 在窗口内没有新的正式 release;官方 changelog 最新稳定记录仍为 8.32.1(2026-07-29)。
CATIA 与 STEP 官方渠道未发现窗口内、可公开核验的格式/API正式变更,故不重复上周 OCCT 8.0.1 新闻。验证继续采用 CATIA→STEP AP242→FreeCAD/OCCT 与 Rhino→3DM→rhino3dm 两条固定样件,逐项检查单位、产品层级、实例变换、颜色/属性、Unicode 名称、NURBS knots/weights、修剪环、缝合公差、ConstructionPlane、体积/质心/惯量。CATIA 特征树、Rhino 用户数据和 STEP PMI 必须分开声明保真度。
Gmsh 与 meshio
【本周无重要变化】Gmsh 官方稳定页仍列 4.15.2(2026-03-24);meshio 官方 GitHub 在窗口内没有合并 PR或新版本。保持当前锁定版本,不因开发仓库无新闻而取消 I/O 回归。
黄金样例覆盖 .msh 2.2/4.1、二阶四面体/六面体、physical groups、分区、节点/单元 ID、VTK/XDMF 场、Abaqus sets/surfaces。新增 THB 对照时必须用同一几何公差、材料、载荷和质量归一化,分别报告几何误差、自由度、收敛和总时间,避免把 CAD 精确几何与传统 FEM 网格的差别误写成某个求解器“更准”。
VTK 与 ParaView
【开发线变更】VTK 本周合并多项稳健性修复:修复固定大小插入不匹配导致的 vtkCellArray 静默损坏;忽略 VTKHDF 中空的 PDC 分区并增加测试;STLReader 接受前导空格。这些修复主要提升错误显性化和文件兼容性,没有公开速度基准。
智能 AggregateDataSetFilter 主题通过 PartitionControllerByCount 推导预期接收进程并补充 MPI 测试,可能减少并行重分区中的无效接收;仍需用实际时间步/分区规模测量通信量、峰值内存和结果数组完整性。
【开发线功能】ParaView 合并 uv 管理的 Python 环境 CLI:支持创建、列出、使用和删除隔离环境,并修复 CI 中依赖 shell 激活提示导致的静默安装失败。对插件脚本隔离有价值,但离线 Windows 部署仍需验证 uv 来源、代理/缓存、原生 wheel ABI、环境目录权限及项目可复现锁定;不能把 Python 环境隔离等同于 ParaView/VTK C++ ABI 隔离。
CalculiX 与 Abaqus-compatible 流程
【本周无求解器正式发布】CalculiX 官方站未显示窗口内新稳定版本。Abaqus-compatible 仍只表示输入卡片或结果字段的某种兼容,不代表接触算法、单元公式、收敛控制和默认值等价。
本周回归重点是跨 Part BaseFeature 后的集合/表面映射:导出前后核对节点/单元集合、接触主从面、材料取向、幅值、步骤顺序、频率/屈曲模态和反力平衡。任何 FreeCAD/STEP 几何层级调整都必须重新验证面集合是否仍指向同一物理区域,不能只比较 .inp 是否成功解析。
Python / C++ / pybind11 / ABI
【正式发布,2026-08-06】pybind11 3.1.0 的最低 Python 版本变为 3.9,并放弃 MSVC 2017;同时增加/修复子解释器线程状态、子解释器创建崩溃、std::string_view 生命周期、数据竞争、CMake 交叉编译、LTO 和类型标注问题。
工程判断:现代 Python 3.10+/MSVC 2022 路线可评估升级;Windows 7、Python 3.8 或 MSVC 2017 插件路线应保持旧分支并独立构建。G+Smo PR #880 又扩大了 trampoline 与 SciPy 稀疏矩阵边界,故测试矩阵必须覆盖 Release/Debug、Python minor、编译器、CRT、Eigen/SciPy 数组布局、异常跨边界、对象生命周期和多线程/子解释器。
| 矩阵 | 最低测试 | No-Go 条件 |
|---|---|---|
| 现代生产 | Python 3.10/3.12 × MSVC 2022 × pybind11 3.1.0 × FreeCAD 目标构建 | 跨 DLL 对象析构崩溃、stub 与运行时签名不一致 |
| 遗留兼容 | 既有 Python/MSVC/pybind11 锁定组合,独立 wheel/插件目录 | 为追新版本破坏 Win7/Python 3.8 支持 |
| 数据边界 | NumPy/SciPy contiguous/strided、稀疏 CSR/CSC、空矩阵、大数组 | 隐式复制不可控、悬空 string_view、稀疏索引溢出 |
| 并发边界 | GUI 主线程、工作线程、子解释器、异常回调与取消 | 死锁、GIL 泄漏、线程状态串扰或不可重复崩溃 |
决策与监控清单
| 决策 | 本周状态 | Go 条件 | 负责人产物 |
|---|---|---|---|
| 试用 FreeCAD weekly-2026.08.05 | Go(隔离) | 嵌套重算、BaseFeature、保存重开和 STEP 导出全部通过 | 版本矩阵、FCStd/STEP 黄金样例、差异日志 |
| 接入 G+Smo Python/THB | Conditional Go | 三类几何通过投影、积分、条件数与 FEM 动力学对照 | 可复算脚本、误差/时间/内存表 |
| 试验 RA-CAD 式闭环 | Conditional Go | 30 题中工程语义与几何同时通过,失败能可靠拒绝 | 轨迹、模型哈希、失败分类、人工复核 |
| 升级 pybind11 3.1.0 | No-Go(原位) | 现代 ABI 矩阵通过且遗留 lane 完全隔离 | wheel 清单、依赖锁、ABI smoke |
| 升级 VTK/ParaView 开发线 | Conditional Go | 空分区、CellArray、时间序列、远程/离线 Python 环境通过 | 数据哈希、数组对账、内存/通信曲线 |
来源与证据边界
本报告只把 UTC 2026-08-03 01:00 至 2026-08-10 01:00 内的正式版本、已合并开发变更和新预印本列为本周新闻。主要一手来源包括 FreeCAD weekly-2026.08.05、FreeCAD #31578 / #31763 / #30136、G+Smo #880 / #831、RA-CAD 原文、rhino3dm #732、VTK、ParaView 和 pybind11 3.1.0。
“本周无重要变化”表示在上述窗口与公开渠道中未找到同时满足时间、证据等级和工作流相关性的强条目,不表示项目停止开发。PR 中的代码规模来自官方托管平台;论文数值按原文表格口径转录,尚未经本地复算。商业产品功能只按公开声明处理;无公开 benchmark 的条目不推断性能。所有迁移建议都是基于来源的工程推论,必须通过本文给出的目标工作流实验后方可升级证据等级。





