znlgis 博客

GIS开发与技术分享

第04章:草图 Sketcher 与约束建模

1. 草图为什么重要

在 FreeCAD 中,草图是大多数参数化实体的二维基础。PartDesign 的 Pad、Pocket、Revolution、Groove、Loft、Pipe 等特征通常都依赖草图。草图不是简单线条,而是一组带有几何约束和尺寸约束的对象。

优秀草图具有三个特点:

  1. 轮廓清晰,能表达设计意图。
  2. 约束充分,几何不会因拖动而意外变化。
  3. 简洁稳定,避免过多不必要元素和复杂交叉。

2. 创建草图

创建草图时需要选择平面。常见方式:

  • 在 PartDesign Body 中选择 XY、XZ、YZ 基准平面创建草图。
  • 选择实体的平面面创建草图。
  • 创建 Datum Plane 后在基准平面上建草图。

建议初学者优先使用基准平面或 Datum Plane,不要过度依赖模型中间生成的面。直接引用生成面更容易遇到拓扑命名问题:上游特征改变后,面编号变化,下游草图可能挂到错误面上。

3. 几何元素

Sketcher 支持常用几何:

  • 点、线段、折线。
  • 圆、圆弧、椭圆、B 样条。
  • 矩形、槽、正多边形。
  • 外部几何引用。
  • 构造线和构造点。

构造几何不会作为轮廓参与拉伸或切除,但能提供约束参考。复杂草图中应善用构造线表达对称轴、中心线、辅助定位。

4. 几何约束

几何约束定义元素之间的关系:

  • 重合:点与点、点与线端点相连。
  • 水平/垂直:线段方向固定。
  • 平行/垂直:两线关系固定。
  • 相等:长度或半径相同。
  • 对称:两个点围绕中心线或点对称。
  • 切线:圆弧与线或圆弧平滑相接。
  • 同心:圆心重合。

几何约束优先表达设计关系,尺寸约束再控制数值。不要一开始就给所有线段标尺寸,否则草图会变得冗余且难修改。

5. 尺寸约束

尺寸约束包括长度、距离、水平距离、垂直距离、半径、直径、角度等。使用原则:

  • 先固定位置基准,再定义尺寸。
  • 优先使用水平/垂直距离,而不是斜向距离,以减少求解歧义。
  • 对对称结构使用对称约束和少量尺寸。
  • 关键尺寸命名,便于表达式引用。

命名尺寸后可以在表达式中引用。例如把孔径命名为 HoleDia,后续特征或 Spreadsheet 可以复用这个参数。

6. 完全约束与自由度

Sketcher 会显示草图自由度。完全约束并不意味着草图一定正确,但未完全约束的草图在参数变更时更容易变形。建议正式模型尽量完全约束。

处理自由度的方法:

  1. 拖动蓝色元素,观察可移动方向。
  2. 添加几何约束固定关系。
  3. 添加必要尺寸。
  4. 避免用锁定约束掩盖设计关系。
  5. 删除重复或冲突约束。

7. 草图轮廓质量

用于实体特征的草图应满足:

  • 闭合轮廓。
  • 没有重复线段。
  • 没有微小缝隙。
  • 没有自交轮廓。
  • 内外轮廓关系清晰。

如果 Pad 或 Pocket 失败,优先检查草图是否闭合。可以使用验证草图工具查找缺口、重合点和冗余元素。

8. 外部几何引用

外部几何可以引用其他对象的边或点,便于让草图对齐已有结构。但引用过多会形成脆弱依赖。建议:

  • 引用稳定基准,如 Datum Plane、Datum Line、Origin 轴。
  • 避免引用复杂特征生成的临时边。
  • 对关键位置使用 ShapeBinder 或 SubShapeBinder 管理引用。
  • 模型改变后检查外部引用是否仍指向正确对象。

9. 草图建模练习

建议练习一个法兰盘草图:

  1. 在 XY 平面画中心圆。
  2. 画外径圆和内孔圆。
  3. 添加一条构造半径线。
  4. 在半径线上放置一个螺栓孔圆。
  5. 约束孔圆心与中心距离。
  6. 通过极阵列或后续 Pattern 生成多个孔。

这个练习可以理解中心、半径、孔径、对称和阵列之间的参数关系。