Chapter 14 CAM、CNC和3D打印

如果有完美的世界,把设计信息发给一台复制机,等上几秒钟,完美完成的产品就出来了。不过真实世界可不是完美世界。

即使有那样的复制机,我们的模型本身也没有足够的信息来控制这台机器。例如,今天常见的 3D 打印机里,零件通常并不打印成实体,而是采用内部蜂巢结构,这样既能有足够的强度,也能使重量和用料最小化,以降低零件的成本,减少制造的时间。模型上可没有任何信息指导零件的内部密度是多少才好。这得留给打印机的操作员在制造的时候决定。

需要做的类似选择还有:

  • 具体用什么材料;
  • 打印台上的方位;
  • 打印时如何支撑悬臂部分;
  • 打印方式;
  • 后续过程(上漆,表面处理,等等)。

传统的削除材料的加工方法有车床,铣床、激光切割等,它们的选项复杂,各种方案也让人迷惑:

  • 用什么材料或者合金?
  • 不破坏零件,如何规划刀具路径来去除不必要的材料?
  • 哪种刀具,什么尺寸?
  • 料块如何装夹在机床上?
  • 零件需要什么后续处理?
  • 特征的尺寸和位置需要达到什么精度?

FreeCAD 不能——其他任何软件也不能——替代训练有素的手艺人的技巧和经验。人有经验和判断力,才能做出好决定,才能做出好产品。有些人是相对来说的新手,可以使用软件工具,包括 FreeCAD,来准备模型用于 3D 打印或数控加工。对很多模型,FreeCAD 都可以生成控制指令,发送给数控机床制作零件。

14.1 CNC 的工具链

CNC/计算机数字控制加工的流程和工具

图 14.1: CNC/计算机数字控制加工的流程和工具

不论是增加材料还是削除材料的加工方法,加工过程都是从 CAD 的模型开始,到发送给数控机床的控制指令结束,头尾之间设置几个特别的加工步骤来决定工具的路径。配置好的路径产生叫做“G 代码”的指令,用来控制机床的动作。最后,执行优化后的 G 代码,生产出实际物理零件。

14.2 用 FreeCAD 做 3D 打印

截至目前,FreeCAD 不能作为切片器本身。通过附加组件管理器,可以安装第三方工作台,允许 FreeCAD 与开源的切片器“Cura”交换信息。如果你的 3D 打印任务很多,这个插件可能会帮你节省一些时间,但是它并非必要。没有这个插件也可以。在 FreeCAD 中唯一的必要准备工作就是把实体模型导出为 Stereolithography(.stl) 网格,然后就可以在 3D 打印软件中打开它们了。

14.3 用 FreeCAD 的 CAM 工作台来准备 G 代码

FreeCAD 为传统机床加工,比如铣床、刨床和激光切割,提供了一个强大的工作台,叫做“路径/Path”。

Path 定义一系列操作,比如铣平面,钻孔,或从原料上切出零件的外轮廓。这些操作打包成 job,它指定了:

  • 用什么机床制作零件;
  • 制作哪个零件;
  • 零件在机床上的方位;
  • 机床的工具(集),以及它们的进给速度;
  • 原料的形状;
  • 各个操作的顺序。

配置每个操作时,用户能直观地看到工具路径,确认它是否正确。

如果整个 job 都配置好了,就可以运行模拟程序,看着它演练一遍,测试这个过程。

最后,Path 工作台能做后处理,生成这个 job 的控制指令(G 代码)给数控机床。

14.4 做出真的蝙蝠镖

Path 工作台中的 job 是 CAM 过程的中心。什么是 job?你可以把它看作是对机床和工件的一次装夹和配置。如果你把原料装夹在机床上,然后不需要再碰它,就能完成所有的事情,那么你只需要一个 job。另一方面,如果你的模型需要在多个面上加工,那么你就需要不只一个 job 才能完成工作。

14.4.1 为 job 做设置

  1. 切换到 Path 工作台。选中完整的蝙蝠侠飞镖模型对应的实体节点。点击图标 创建一个新的路径 job。如图 14.2 所示,你会看到一个对话框,让你确认选中的模型,还可以选择一个模版。我们要从零开始创建这个 job,所以模版一栏留“空/none”就好。
创建作业的对话框,确认选中的模型,提供模版选项

图 14.2: 创建作业的对话框,确认选中的模型,提供模版选项

模版保存了一个 job 的很多设置,能加快配置过程。完整配置过的 job 可以保存为模版。
  1. Job 编辑器打开,你首先需要配置模型的原料、方向和对齐。这在 Setup 标签页里完成。这个方向和对齐的部分应该用来使模型的方位与数控机床的坐标系对齐。(在 3D 窗口中选中对象的一部分之后,这些方位选择按钮才会激活。)

    原料参数用来计算开始和结束的深度,所以要仔细、准确地配置好。模型外壳用于做初始原料配置。我会在模型周围多加一点材料,给装夹和 holding tags 留出空间。

精确配置原料,这事很重要

图 14.3: 精确配置原料,这事很重要

  1. 点击“OK”,关闭 job 配置。
Job 对话框打开时,你会看到模型已经摆正于数控加工的方位了。作业对话框关闭后,你会看到模型又回到了它原来的方位。这可能给你造成了一点困扰。

14.4.2 为工具控制器做配置

  1. “工具仓库/Tool Library” 管理你所拥有的工具,你应该把你常用的工具,按你的机床调用它们时的准确编号,认真配置这个仓库。从这个工具仓库也能直接向 job 添加工具控制器。
不要混淆“工具”和“工具控制器”。工具定义的是铣刀、钻头或其他工具的物理属性。工具控制器是 FreeCAD 中的一个对象,它描述了如何使用这样一个工具。具体地说它配置了进给速度和刀具转速。比如你用同一个 1/4 英寸的铣刀,但是用不同的进给和转速,那么你就需要不只一个“工具控制器”。
  1. 创建 job 时,已经自动创建了一个默认的“工具控制器”。一定要编辑这个工具控制器,或者替换它,让它的配置符合你实际工具的尺寸和速度。

译者提醒:工具和工具控制器的名字暂时不可以包含中文。

在工具控制器里配置进给和速度。

图 14.4: 在工具控制器里配置进给和速度。

14.4.3 添加操作

操作就是机床的工作步骤,机床执行它们以制造工件。如果你的工件有孔需要钻出来,就需要加入钻孔的操作;如果你的工件有个凹坑要挖空,也就需要挖坑的操作。

  1. 蝙蝠镖只需要从周围材料中切出外形轮廓,所以我们点击图标 ,加入一个“外形/contour”操作。
外形操作沿着模型的外轮廓走

图 14.5: 外形操作沿着模型的外轮廓走

我们点击“应用”,这个工具的路径就生成了,并显示在了屏幕上。绿色的线表示刀具的进给路径,它在切割原材料。红色的线表示刀具的快速移动,从一个位置到另一个位置,没有触碰原材料。Path 模块会自动猜测深度和高度,但是一定要仔细检查这些数值,必要的话手工设置它们。

  1. 关闭“外形/contour”对话框。所有的操作都折叠在了树状图的操作节点之下,必要的时候可以重新打开它们做些更改。

14.4.4 仿真

  1. 我们现在可以点击仿真图标 ,模拟运行这个过程。做仿真是给自己一个机会,在着手数控加工之前就发现有问题的地方。
仿真数控切割

图 14.6: 仿真数控切割

仿真很占用资源。高精度的大作业要花很长时间。降低精度可以加速处理过程,但是结果看起来就比较粗糙。

14.4.5 Dressup

我们把蝙蝠镖从原料上切下来,总有最后的那个点,那时原料还夹在机床上,而工件已经几乎不跟任何东西连着了。它会掉下来,撞伤工件自身,或者弄坏机床,甚至划到操作者5。我们需要留下一点材料,把工件扶持在原位。这称为一个“扶持书签/holding tag”。

FreeCAD 用盛装/dressup 改造已有的路径,向路径添加一些专有特征。

  1. 在项目树上选中 contour 节点,添加 dressup。既可以用下拉菜单,也可以在外周节点上点击鼠标右键(如图 14.7 所示),都能找到 dressup 选项。
给外周操作加上盛装/dressup

图 14.7: 给外周操作加上盛装/dressup

  1. 配置 holding tag dressup。各种 dressup 有自己的任务面板,选项也各异。对扶持书签来说,你可以配置书签的大小、数量和位置。绿色的球显示出书签放在模型的什么位置上。如图 14.8 所示,注意工具的路径已经发生改变,它在书签所在之处跳过去了。
大多数盛装/dressup 都自己的配置对话框

图 14.8: 大多数盛装/dressup 都自己的配置对话框

  1. 愿意的话,重新运行仿真,看看加入 dressup 后的效果。

14.4.6 后处理

当你对 job 配置满意了,就可以做后处理,产生最终用于机床的 G 代码。

  1. 回到 job 编辑器,在“输出/output”标签页里,可以配置如何做输出。最重要的设置是后处理器,它控制着用哪种特定方言来写 G 代码。我选中的是 LinuxCNC,它适合我们自己的机器。
输出设定控制着如何产生 G 代码。

图 14.9: 输出设定控制着如何产生 G 代码。

在项目树上选中 job 节点,点击后处理工具的图标 。G 代码就会由指定的后处理器生成,并显示在一个编辑器里。

根据你的首选项配置,后处理产生的文件可以不显示在编辑器里而自动保存到输出位置,或者显示在编辑器里但等你输入文件名。

你应该可以把 G代码装载到机床控制器里来制造工件了。


  1. 它可能会伤到操作者,谁让它是蝙蝠镖呢!