FreeCAD 基础
从 Body 到 Sketch 到 Pad 的建模顺序,Part 与 Part Design 的分工,STEP 零件怎么导入并用 Transform 摆到位。
Part Design 的基本顺序:一个零件对应一个 Body;在 Body 里先画 Sketch(二维轮廓),用约束把它锁死,再用 Pad(拉伸加料)或 Pocket(拉伸去料)把轮廓变成三维特征。特征一层层叠在 Body 里,模型树里从上到下就是建模顺序,改早期的 Sketch,后面的特征会跟着重算。
Body
└─ Sketch(轮廓 + 约束)
└─ Pad / Pocket / Hole / Fillet …
Sketch 约束:线段画好之后颜色是白色,说明还有自由度没锁;全部约束完会变成绿色。约束分两类:几何约束(水平、竖直、相切、重合、对称)和尺寸约束(长度、距离、角度、半径)。先几何再尺寸,尺寸只补几何锁不住的自由度,这样改一个尺寸不会把轮廓拉变形。
Part 与 Part Design:两个工作台都能做实体。Part 是“拼积木”:Box、Cylinder 这类基本体,加布尔运算(Union / Cut / Common)。Part Design 是“基于特征”:轮廓 + 拉伸,改起来更像真实零件。画自己设计的支架、舵机座用 Part Design;拿别人的 STEP 进来快速切一刀、量一下,Part 更顺手。
STEP 是什么:.step / .stp 是跨软件的实体交换格式,SolidWorks、Fusion、Onshape 导出的零件都能用它进 FreeCAD。导进来的是没有历史的实体:没有 Sketch,没有 Pad,只有最终形状。所以不能像自己画的零件那样改尺寸,能做的是布尔、测量、当参考摆位置。舵机、轴承、标准件的 STEP 通常厂商直接给,SO-101 一类开源机械臂也是整套 STEP 发布。
Transform(摆位置):模型树选中整个 Body 或导入的 STEP 零件,右键 → Transform,视图里出现彩色手柄:箭头是沿轴平移,圆环是绕轴旋转。按住手柄拖,再点 OK。要注意:拖的是 axis(那根轴)才会动,直接在零件表面拖是没反应的。多个零件要装配到一起,先各自 Transform 到大致位置,精确位置再在 Placement 里填数字。
钣金件与成本:自己画好的 L 型支架,打印一份便宜,找厂做钣金(激光切 + 折弯)一件就贵得多,因为开料和折弯要人工设定。所以原型阶段能 3D 打印的先打印,确定不改了再上钣金或 CNC。
题目
1. 建模的第一步
用 Part Design 画一个新零件,模型树里第一个该建的是什么?
- Sketch
- Body
- Pad
- Part 工作台的 Box
解析
Part Design 里所有特征都挂在一个 Body 下,没有 Body 的话点 Sketch 会提示先建 Body(新版本会自动帮你建一个)。一个零件一个 Body,装配时才好单独 Transform。
2. Pad 和 Pocket
已经有一块 Pad 出来的方板,要在上面开一个通孔。选中孔的 Sketch 之后该用哪个?
- Pad
- Revolution
- Boolean Cut
解析
Pad 是加料,Pocket 是去料。Pocket 的类型选 Through all 就是通孔。Boolean Cut 是 Part 工作台的操作,在 Part Design 里做不到这一步;Revolution 是把轮廓绕轴旋转成回转体。
3. 白线和绿线
Sketch 里画完一个矩形,四条边都是白色。这说明什么?
- 矩形已经完全约束,可以退出了
- 还有自由度没锁,矩形可以被拖动或变形
- 矩形是辅助线,不参与 Pad
- 颜色只和线型有关,和约束无关
解析
白色是“欠约束”,全绿才是“完全约束”。欠约束的 Sketch 也能 Pad,但改一个尺寸时轮廓可能往意想不到的方向跑。辅助线(construction)是蓝色虚线,和白色不同。
4. 先几何再尺寸
一个 30×20 的矩形,四条边已经加了水平/竖直约束,一个角点固定在原点。还需要几个尺寸约束才能全绿?
解析
水平/竖直 + 角点在原点后,矩形只剩“多长”和“多宽”两个自由度,加长 30 和宽 20 两个尺寸就锁死。如果不先加水平/竖直约束,得用四个尺寸或更多角度约束才能锁住,而且改一边长度时另一边会跟着歪。
5. STEP 导进来之后
把厂商给的舵机 .step 导入 FreeCAD。下面哪一项能做?
- 双击进去改它的 Sketch 尺寸
- 在模型树里看到它的 Pad / Pocket 历史
- 用 Part 工作台量尺寸、做布尔、当参考摆位置
- 什么都不能做,只能看
解析
STEP 只带最终形状,不带建模历史,所以 A、B 都没有。但它是完整实体,测量、布尔、Transform 都正常。要“改”它,只能重新画一个,或在 Part 里对它做布尔切割。
6. Part 还是 Part Design
下面两件事,各用哪个工作台更顺手?
(a) 从零画一个带四个安装孔的舵机座,以后可能改孔距。 (b) 把导入的 STEP 轴承切掉一半,看内部结构。
- (a) Part Design,(b) Part
- (a) Part,(b) Part Design
- 两个都 Part Design
- 两个都 Part
解析
(a) 要参数化、要改尺寸,Part Design 的 Sketch + Pad 就是为这个设计的。(b) 对象是没有历史的 STEP 实体,Part 的 Box + Cut 两步就完事,不需要 Body 和 Sketch。
7. Transform 拖不动
选中一个 STEP 零件,右键 Transform,彩色手柄出现了,但在零件表面拖来拖去它不动。最可能的原因?
- 零件被锁定了
- 要按住手柄(箭头或圆环)拖,不是拖零件本身
- STEP 零件不能 Transform
- 需要先进入 Sketch
解析
这是自己踩过的坑:Transform 模式下只有手柄响应拖动,箭头沿轴平移,圆环绕轴旋转。拖零件表面只会旋转视角。
8. 手柄的含义
Transform 的手柄里,红色箭头和红色圆环分别做什么?
- 箭头沿 X 轴平移,圆环绕 X 轴旋转
- 箭头绕 X 轴旋转,圆环沿 X 轴平移
- 都是沿 X 轴平移,一个粗调一个细调
- 箭头缩放,圆环旋转
解析
FreeCAD 的颜色约定和大多数 CAD 一样:红 X、绿 Y、蓝 Z。箭头是平移,圆环是旋转。Transform 不做缩放,零件尺寸只能回 Sketch 改。
9. 改早期的 Sketch
Body 里依次有 Sketch → Pad → Sketch001 → Pocket。把第一个 Sketch 的矩形从 30×20 改成 40×20,会发生什么?
- 只有 Sketch 变,Pad 不变
- Pad 变,但 Pocket 报错消失
- Pad 跟着重算变成 40 宽,Pocket 也重算,只要它的 Sketch001 附着的面还在
- FreeCAD 会问要不要新建一个 Body
解析
特征树是参数化的,上游一改下游全部重算。Pocket 是否正常取决于 Sketch001 附着在哪个面:附着在 Pad 的顶面,顶面还在就没事;如果附着在某条被改掉的边上,就会报“附着丢失”。这也是为什么 Sketch 尽量附着在基准面(XY / XZ / YZ)而不是模型面上。
10. 原型阶段选什么工艺
自己画的 L 型支架,第一版原型,孔位大概率还要改。先用哪种方式做?
- 3D 打印
- 找厂做钣金
- CNC 铝件
- 直接买现成的
解析
钣金和 CNC 的开料、装夹、折弯要人工设定,单件成本高,改一次就得重来。原型阶段打印一份几块钱,改孔位再打一份。确定不改了再上钣金。
11. 动手:画一个带孔的 L 型支架
在 FreeCAD 里从零画:底板 40×30×3,竖板 30×30×3 立在底板一条长边上,底板中间开两个 Ø3.2 通孔。要求 Sketch 全绿,模型树只有一个 Body。做完自评。
提示
一种走法:XY 面 Sketch 画 40×30 矩形 → Pad 3;选底板一条长边所在的 XZ 面新建 Sketch 画 30×3 矩形 → Pad 30;底板顶面 Sketch 画两个圆 → Pocket Through all。也可以在 XZ 面直接画 L 形轮廓一次 Pad 30,再开孔,少一个特征。
12. 动手:把 STEP 零件摆到支架上
找任意一个舵机或轴承的 STEP 导入,和第 11 题的支架放在同一个文档里,用 Transform 把它摆到竖板上,再打开它的 Placement 看数值。做完自评。
提示
Transform 只能拖到大概位置;打开 Placement(属性面板 → Placement)能看到 Position 和 Angle,精确位置在这里填。装配多个零件时这个数值就是零件之间的相对位姿,和后面 URDF 里写 joint origin 是同一件事。
相关阅读:CAD、Robotics - Mech Design。