惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
爱范儿
爱范儿
量子位
Martin Fowler
Martin Fowler
V
V2EX
博客园 - 三生石上(FineUI控件)
I
InfoQ
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
Netflix TechBlog - Medium
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
Engineering at Meta
Engineering at Meta

博客园 - 我才是银古

第16章:常见问题、排错与最佳实践 第15章:扩展生态、MCAD 与外部集成 第12章:实战案例:机械结构与 3D 打印零件 第14章:构建、测试、调试与贡献流程 第13章:OpenSCAD 源码架构与核心执行流程 第11章:预览、渲染、网格精度与性能优化 第09章:列表推导、递归与算法建模 第08章:参数化零件库与复用设计 第10章:导入导出、命令行与自动化 第06章:CSG 布尔建模方法 第07章:二维图形、拉伸、旋转与投影 第05章:基础几何、坐标系与变换 第04章:参数、变量、函数、模块与作用域 OpenSCAD 教程目录 第03章:OpenSCAD 语言基础 第02章:安装、环境配置与开发工作流 第01章:OpenSCAD 项目全景与学习路线 第02章:源码获取、编译与开发环境配置 第01章:OCCT项目全景与学习路线 第18章:二次开发实战与综合案例 第17章:与 Qt VTK Python pythonOCC 生态集成 第18章:综合实战案例 第17章:数据交换与协同 第16章:源码架构与二次开发 第15章:插件与自定义工作台开发 第14章:Python脚本宏与自动化 第13章:FEM仿真分析 第12章:CAM数控加工 第11章:SurfaceMesh与逆向工程 第10章:Draft二维绘图与BIM建筑
第07章:参数化表达式与Spreadsheet
我才是银古 · 2026-05-05 · via 博客园 - 我才是银古

第07章:参数化、表达式与 Spreadsheet

1. 参数化设计的价值

参数化设计让模型从“静态形状”变成“可计算的设计规则”。修改一个关键尺寸后,相关草图、特征、阵列、工程图和导出结果可以自动更新。FreeCAD 的参数化能力来自:

  • 文档对象属性。
  • 草图约束。
  • 表达式引擎。
  • Spreadsheet 表格。
  • 对象依赖图与重计算机制。

2. 表达式基础

大多数数值属性右侧可输入表达式。表达式可以引用对象属性、草图约束、Spreadsheet 单元格和数学函数。表达式使用对象名和属性路径,例如长度、角度、Placement 分量等。

使用建议:

  • 对关键尺寸建立集中参数表。
  • 给草图约束命名,而不是引用匿名序号。
  • 对表达式使用单位,避免 mm、deg、rad 混淆。
  • 避免循环引用。
  • 修改参数后观察报告视图是否有表达式错误。

3. Spreadsheet 工作流

Spreadsheet 是 FreeCAD 中组织参数的常用方式。典型步骤:

  1. 新建 Spreadsheet。
  2. 在 A 列写参数名称,在 B 列写数值,在 C 列写说明。
  3. 给重要单元格设置 Alias。
  4. 在草图或特征属性中引用 Alias。
  5. 修改表格后重计算文档。

命名建议:

  • 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 是否是最新状态。
  • 文件中是否残留无用对象或实验对象。