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

推荐订阅源

N
Netflix TechBlog - Medium
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
NISL@THU
NISL@THU
MongoDB | Blog
MongoDB | Blog
Microsoft Security Blog
Microsoft Security Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
WordPress大学
WordPress大学
Know Your Adversary
Know Your Adversary
The Register - Security
The Register - Security
Jina AI
Jina AI
Spread Privacy
Spread Privacy
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
J
Java Code Geeks
S
Securelist
Y
Y Combinator Blog
T
Threat Research - Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
Vercel News
Vercel News
W
WeLiveSecurity
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
Martin Fowler
Martin Fowler
TaoSecurity Blog
TaoSecurity Blog
S
Schneier on Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
D
DataBreaches.Net
L
LINUX DO - 热门话题
T
Tailwind CSS Blog
T
Tor Project blog
博客园 - 叶小钗
Blog — PlanetScale
Blog — PlanetScale
I
Intezer
V
V2EX
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
量子位
AI
AI
Cyberwarzone
Cyberwarzone
T
Troy Hunt's Blog
N
News | PayPal Newsroom
H
Help Net Security

博客园 - 我才是银古

第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建筑 第09章:工程图TechDraw 第08章:装配设计Assembly 第06章:Part工作台与几何内核 第05章:PartDesign实体特征建模 第04章:草图Sketcher约束建模 第02章:安装版本与工作环境配置 第03章:界面工作台与基础操作 第01章:项目全景与学习路线 第十二章:插件开发、研究功能与最佳实践 第十章:定时任务与自动化(Cron) 第七章:技能、记忆与自学习闭环 第八章:MCP 集成与上下文文件 第六章:工具系统与终端后端 第五章:模型供应商与配置体系 Hermes Agent 教程目录 第十一章:语音、视觉、浏览器与子代理协作 第四章:CLI/TUI 与会话管理 第十二章:学习路线、实战方案与最佳实践 第十一章:源码结构、开发调试与插件开发 第十章:自动化、远程访问、日志与排障 第九章:Control UI、节点、Canvas 与语音能力 第七章:工具、技能、插件与能力扩展 第八章:安全模型、访问控制与沙箱实践 第六章:Agent 工作区、会话与多智能体路由 第五章:多通道消息接入与聊天平台配置 第四章:配置体系、模型接入与认证管理 第三章:Gateway 架构、协议与运行机制 第二章:安装、环境准备与快速上手 第一章:OpenClaw 项目概览与核心定位 oh-my-openagent 教程目录 09-命令模型回退与配置参考 10-实战案例最佳实践与故障排除 05-工作模式-Ultrawork-Prometheus-Atlas 08-Hooks与MCP系统 06-Category与Skill系统 07-核心工具链 04-智能体全景详解 03-安装与环境配置 02-整体架构与多模型编排机制 01-项目简介与核心理念 01-项目概览与学习路线 02-安装部署与工具适配 03-Skill机制与using-superpowers 05-TDD系统化调试与完成前验证 04-需求澄清方案设计与计划编写 07-并行智能体子智能体与Git-Worktree 第六章:代码审查、反馈处理与分支收尾 08-中国特色Skills与本土团队落地 09-MCP构建工作流执行与自定义Skill 第23章:FreeCAD-Python-API Clipper2 C# 源码解读教程 第19章:PolyTree 多边形树结构 第20章:实际应用与最佳实践 第18章:Minkowski 和与差 第17章:RectClip 矩形裁剪优化 第16章:ClipperOffset 偏移类详解 第15章:填充规则详解 第14章:布尔运算执行流程 第13章:ClipperD 浮点裁剪类 第11章:OutRec 与 OutPt 输出结构 第9章:Active 活动边结构 第10章:Vertex 顶点与 LocalMinima 局部极小值 第12章:Clipper64 裁剪类详解 第7章:高精度运算与128位整数 第8章:ClipperBase 基类详解 第5章:枚举类型与常量定义 第6章:InternalClipper 内部工具类 第2章:核心数据结构 - Point64、PointD 第3章:路径与多边形表示 - Path64、PathD、Paths64、PathsD 第4章:矩形边界 - Rect64、RectD
第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 是否是最新状态。
  • 文件中是否残留无用对象或实验对象。