将版本控制概念引入 CAD:介绍 DiffCAD

对于从软件工程转向 3D 设计领域的工程师来说,最令人感到不适的体验之一就是缺乏强大的版本控制系统。虽然代码是基于文本的,且逐行对比(diffing)是最近发展的基石,但 CAD 模型通常被视为二进制数据块或复杂的专有格式。这种工作流效率的缺口促使了 DiffCAD 的开发,这是一个为 FreeCAD 设计的新工作台,旨在将“diff”概念引入 3D 建模。

CAD 版本控制的挑战

在传统的软件开发中,git diff 命令对于理解两个文件版本之间的变化至关重要。它允许开发者审查变更、审计特定修改,并确保后续的提交不会引入回归问题。

然而,在 CAD 世界中,这个过程通常是不透明的。当模型被更新或覆盖保存时,设计师往往不得不依靠记忆或在两个不同的窗口中手动对比同一个模型。这种可见性的缺失在迭代设计过程中造成了摩擦,尤其是在协作处理复杂的装配体时。

介绍 DiffCAD

由开发者 eblanshey 创建的 DiffCAD 是一个 FreeCAD 工作台,旨在弥合这一差距。通过利用软件工程中使用的相同逻辑,DiffCAD 允许用户以镜像代码审查过程的方式来审查模型变更。

DiffCAD 并不将模型视为一个整体,而是专注于识别两个 CAD 模型版本之间的特定变更。这使得设计师能够从视觉和结构上审查对模型几何形状、约束和参数所做的更改。

社区反馈与类似倡议

该项目已经引起了社区其他成员的兴趣,其他开发者也指出了解决这一问题的类似尝试。例如,用户 @khimaros 提到了之前的一个项目 freecad-build,该项目探索了改进 FreeCAD 模型版本控制和构建过程的类似目标。

为什么这对设计的未来至关重要

软件工程实践与物理设计的融合正变得越来越普遍。随着 3D 打印、生成式设计和自动化制造变得越来越标准化,将 CAD 模型视为“代码”不再仅仅是一个理论练习——它是一种必然要求。

通过实施像 DiffCAD 这样的工具,社区正在向着一个更透明、更具迭代性且可审计的设计过程迈进。这允许更快的迭代、更快的错误恢复,以及一种与软件开发生命周期 (SDLC) 相一致的、更专业化的 3D 建模方法。

结论

DiffCAD 是一个开源项目,目前正在寻求反馈、想法和贡献。对于那些在 CAD 中感到缺失版本控制的“痒点”的人来说,DiffCAD 为在 FreeCAD 生态系统中实现更严谨的 3D 建模方法提供了一条充满希望的路径。

Sources