第07章:参数化、表达式与 Spreadsheet
1. 参数化设计的价值
参数化设计让模型从“静态形状”变成“可计算的设计规则”。修改一个关键尺寸后,相关草图、特征、阵列、工程图和导出结果可以自动更新。FreeCAD 的参数化能力来自:
- 文档对象属性。
- 草图约束。
- 表达式引擎。
- Spreadsheet 表格。
- 对象依赖图与重计算机制。
2. 表达式基础
大多数数值属性右侧可输入表达式。表达式可以引用对象属性、草图约束、Spreadsheet 单元格和数学函数。表达式使用对象名和属性路径,例如长度、角度、Placement 分量等。
使用建议:
- 对关键尺寸建立集中参数表。
- 给草图约束命名,而不是引用匿名序号。
- 对表达式使用单位,避免 mm、deg、rad 混淆。
- 避免循环引用。
- 修改参数后观察报告视图是否有表达式错误。
3. Spreadsheet 工作流
Spreadsheet 是 FreeCAD 中组织参数的常用方式。典型步骤:
- 新建 Spreadsheet。
- 在 A 列写参数名称,在 B 列写数值,在 C 列写说明。
- 给重要单元格设置 Alias。
- 在草图或特征属性中引用 Alias。
- 修改表格后重计算文档。
命名建议:
body_length:主体长度。body_width:主体宽度。plate_thickness:板厚。hole_diameter:孔径。bolt_count:螺栓数量。
使用英文 Alias 有利于脚本和跨语言协作;说明列可以写中文。
4. 参数层级
复杂模型不应把所有参数扁平堆放。可分为:
- 总体参数:长宽高、材料厚度、间隙。
- 接口参数:孔距、安装面、连接尺寸。
- 制造参数:刀具半径、最小倒角、板材规格。
- 派生参数:由公式计算的中间尺寸。
- 显示参数:颜色、透明度、线宽等。
派生参数应在 Spreadsheet 中明确写出,便于检查设计意图。
5. 重计算机制
当对象属性变化时,FreeCAD 会标记依赖对象需要重计算。用户可以手动重计算文档。复杂模型中,重计算时间和失败概率会上升。建议:
- 分阶段保存版本。
- 大改参数前备份文件。
- 发现失败后从最早失败特征开始排查。
- 不要忽略模型树中的红色感叹号。
- 对导入几何和网格操作减少不必要的参数依赖。
6. 拓扑命名问题
拓扑命名问题是参数化 CAD 常见难点:模型上游变化后,面、边、顶点的内部编号可能改变,下游引用失效或指向错误对象。规避策略:
- 草图尽量建在基准平面而不是临时生成面。
- 使用 Datum Plane、Datum Line、ShapeBinder 组织引用。
- 将重要基准显式建模。
- 减少对圆角后边的引用。
- 大幅修改主体结构后检查所有下游草图和特征。
7. 配置化模型
一个模型可以通过 Spreadsheet 实现多规格配置,例如不同孔距、长度、厚度。实践建议:
- 用一列保存当前配置参数。
- 另建区域保存多个规格表。
- 通过复制数值或脚本切换配置。
- 每个配置都重计算并导出验证。
- 对极端值测试草图和特征是否失败。
8. 参数化检查清单
发布或交付模型前检查:
- 关键尺寸是否集中管理。
- 草图是否完全约束。
- 表达式是否无错误。
- 修改核心参数后模型是否能重计算。
- 工程图尺寸是否更新。
- 导出 STEP/STL 是否是最新状态。
- 文件中是否残留无用对象或实验对象。