Chapter 7 爱迪生的灯泡
托马斯·爱迪生发明了很多东西,他有 1000 余件发明,举几个例子:留声机、股票行情自动接收器、和移动画面照相机。然而有一样东西真不是他发明的,那就是灯泡。虽然这个主意不是他的发明,但是他在基本设计和制造工艺的基础上,做了好多改进,让电灯泡终于变得实用了。记录表明,爱迪生尝试了上万种材料,直到找出了可靠的白炽灯灯丝。他并不把这些没成功的尝试看作是失败,而看作是成功地确认了什么不行。
你做下面这些练习的时候,就以爱迪生为榜样吧:寻找有效的方式,同时也是在试验什么东西不适用。在不同的任务中,各种技巧的表现有好有坏,没有哪项技术肯定比其他的好。

图 7.1: 爱迪生的白炽灯泡
7.1 技巧
- 导入图片作参考用;
- 为模型创建多个 body;
- 旋转 sketch;
- 用 Part 工作台中的螺旋线创建螺纹。
7.2 灯泡建模
如果你发现画一个零件的形状有困难,照着图片描轮廓可能是个好办法。很多艺术设计类软件有这个功能,FreeCAD 也行。使用这个方法有两点要注意:第一,图像要比例合适,因为 FreeCAD 的几何体要画成准确的尺寸,事后缩放会有问题;第二,因为新的几何体在渲染时处于 3D 空间,基础图片也必须端端正正。
- 切换到“图片/Image”工作台
。
- 这个工作台只有两个命令按钮。很不巧,截止到本书写作时,它们还是共用 一样的图标
。不过还好,它们有不同的提示信息。我们要用到的那个图标会提示说:“在 3D 工作空间中创建一个平面图像”。
- 点击那个命令图标,打开了一个对话框,你可以选择想用的图片文件。
- 它提醒你选择放置图片的平面(图 7.2),一般我们总是在三个基本平面中做选择。如果图片的投影视角比较特别,可以后续调整。

图 7.2: 设置图片平面。正视图,用 XZ 平面

图 7.3: 灯泡图所在平面。尽量找对比良好、视角端正的图片。
- 图片的比例可能不对,做 sketch、加元素之前,你需要把图像调整到真实尺寸。FreeCAD 还没有一个原生的工具来缩放图片,但是有人写了一个很不错的宏,可以通过附加组件管理器安装。从“工具”菜单里打开“附加组件管理器”,切换到宏的标签页,找到后安装“调整图片比例宏/Image Scaling Macro”。

图 7.4: 附加组件管理器(宏)
- 宏安装好之后,可以通过“宏编辑器 Macro Editor”
运行。在下拉列表中找到它,执行。

图 7.5: 宏编辑器列出了安装好的宏
这个宏会提示你在图片上选择两个点,然后指定它们之间的距离,用这个信息计算出缩放比例来调整图片。一个普通的白炽灯灯泡,它的金属根部直径是 26mm,我们把它作为参考值。输入数值前,必须预先在项目树里选中图片平面。测量值以毫米值输入,不带单位。
图片方向和大小定好了,但是还需要调整一下位置。只要能看到坐标线,这也不难办。切换到 Part Design 工作台,创建一个 body,在 XZ 平面上开始画 sketch。注意 sketch 平面与图片平面是一致的。
打开着 sketch ,能看到 XZ 坐标线,我们就可以做最后的调整图片工作了。图片的对象属性控制着它的精确位置和旋转方向。不必关掉 sketch 任务面板,切换回项目树,选择图片平面,展开它的属性中的位置/position 节点。在这个例子中,只需要稍微调整一下图片的位置,让灯泡的中线对正 Y 轴,让灯泡的金属部的顶端与 X 轴相切(图 7.6)。

图 7.6: 图片对中竖直轴,让 X 轴在玻璃部分的底端
- 现在开始画 sketch 吧。用多段线工具
,大致沿着灯泡的右侧边缘画。画这得多练习。如果线条不合适,加上一些约束,比如重合的点或固定的角度。试试不同的约束。这个练习并不要求严格的精确性,但是注意下面几点很重要:
- 顶部的弧线在相交点与中心线垂直
;
- 这些边应该围城一个封闭的区域,没有间隙,没有交叉;
- 左侧的边有一个竖直约束,至少有一个端点在竖直坐标轴上。
- 顶部的弧线在相交点与中心线垂直

图 7.7: 完成后的草图大致描摹了灯泡的轮廓
你愿意的话可以添加更多约束,甚至完全约束,但是它此时并不重要。关闭 sketch。
- 用旋转工具
把 sketch 旋转成实体。

图 7.8: 旋转草图得到玻璃灯泡的实体(隐藏了图片平面)
- 图片平面还要用来绘制更多特征。我们为灯泡的金属部分创建一个新的 body。重复上面的过程,画出螺纹部分的轮廓,旋转成实体。这里只给顶部的边设置了一个宽度约束,让后续创建螺纹更容易。

图 7.9: 螺纹部分的轮廓。约束了总宽度。
- 给螺纹部分建模的过程很像在第6章做的那样,这里省略了很多细节。做螺纹可以有两种方式,既可以从 body 上切出沟槽,又可以向 body 上添加螺纹。本例中示范减法扫掠的操作。无论那种方式,螺旋线的半径都与上一步的宽度约束精确一致。高度与螺距可以大致猜一下,它们可以在下一步中再作调整。

图 7.10: 为螺纹创建一个螺旋线。精确参数可以稍后调整。
- 隐藏螺纹 body,保持图片平面可见。选中模型树中的螺旋线,调整参数和位置,使得螺旋线的形状与图片相符。

图 7.11: 调整螺旋线参数以配合图片。
- 我们用一个圆来扫掠过螺旋线。给 body 添加一个 sketch,放一个圆。

图 7.12: 绘制一个形状来扫掠过螺旋线
- 最后,用这个 sketch 扫掠过螺旋线来创建螺纹。在模型树中选中 sketch,使用减法扫掠工具
。点击写着“添加边”的按钮,选择螺线线底部的线段。重复选中螺旋线的其他边,然后点击“OK”。FreeCAD 会问是否在 body 内复制一份螺旋线。接受推荐的选项,创建一个“不独立的复制版/independent copy”。

图 7.13: 选中螺旋线的边,完成螺纹槽

图 7.14: 最终结果
7.3 下几步留给学生
如果你想多做一点,可以在这几个方面改进模型:
- 改善螺纹截面,让轮廓更准确;
- 现在的灯泡是一个满实体,而不是一个壳实体。把它挖空;
- 给灯丝建模,启用玻璃灯泡的透明性;
- 给各机体/body 添加颜色。