用FreeCAD为“快造”CNC生成刀路

用 FreeCAD 为“快造” CNC 生成刀路

1. 概述

  在设备实验开发过程中,需要使用CNC雕刻机对机壳等机械部件进行简单加工,如开异形孔、挖槽等。我们使用了“快造”(Snapmaker)A350多功能3D打印机的CNC雕刻功能加工这些塑料部件。
  在使用过程中,我们发现厂家提供的软件 Snapmaker Luban的功能有限,导入其他软件生成的STL、DXF等文件时,无法在 Snapmaker Luban 中进行尺寸控制、对象选择等操作。厂家的售后技术支持人员敷衍了事,答所非问,不能解决问题。因此只好花功夫摸索使用厂家建议的外部软件生成“快造”的CNC刀路文件,然后复制到A350上进行加工。
  厂家建议了四种外部CAD/CAM软件:
   Fusion 360
   FreeCAD
   Aspir
   Carveco Maker
  上述软件中,Fusion 360 和 FreeCAD 偏重于工程建模,Aspir 和 Carveco Maker 偏重于艺术建模。
  四种软件中只有 FreeCAD 是开源软件,虽然它有各种的不足,但因为开源,且我们的加工比较简单,所以在试用的 Fusion 360 过期后,我们最终还是选用了Free CAD。
  对于不是专门从事机械加工的初学者来说,通过使用 CAD/CAM 软件建模、定义加工代码、进行加工的整个过程不是一件易事,会遇到很多问题和困扰。为此,在摸索的基础上,记录了一个零件的生成和加工的过程,供备忘以及其他有同样需求者参考。
  本篇的主要目的是理清操作步骤和各种对象之间的关系,并不具体描述作图的操作技巧和过程,相关内容可以参见网上的有关资料。

2. FreeCAD 入门 - 建立一个圆柱体

2.1 关于 FreeCAD 的版本

  由 Fusion360 转到 FreeCAD 以后,我们最先使用的是 0.21.1 版本,用这个版本作图、建模都没有问题,但生成刀路时,使用“快造”的后处理程序报错,错误是找不到所需的模块。因为 0.21.1 版的目录结构、功能模块等发生了变化造成上述问题。找了“快造”的技术支持,他们不认可这一问题。由于 FreeCAD 是开源软件(Python语言编程),实际上可以通过阅读和测试程序修改这个问题,但需要花费一些功夫。为了省时省力,我们试用了旧的版本,其中 0.19.4 依然不行,后退到 0.18.4,这一问题不复存在。

2.2 建立圆柱体概要

  FreeCAD 里有众多的工作台,能够生成不同的文件,其中的关系也比较复杂。本文中,我们只使用了 FreeCAD 功能的一小部分,目的在于能够生成一个用于“快造 ”CNC 加工开孔的刀路文件。它的基本过程是:生成零件 – 画出 2D 草图 – 草图拉伸成凸台(3D) – 生成刀路 – 导出G代码文件。
  其中比较关键的是画出 2D 草图,并用草图生成 3D 零件的过程。本节以一个圆柱体的生成为例,显示 FreeCAD 这一建模过程的基本操作。

2.3 过程描述

  以下时建立圆柱体的具体步骤:
  1. 打开 FreeCAD,在 Start Page 选择 Create New…,进入工作台界面(根据设置会进入不同的工作台);
  2. 进入 Part 或Part Design 工作台(在工具栏的工作台下拉框中选择,视频中没有显示出来);
  3. 在 Combo View(左侧面板)的 Task 栏点击 Create Body,生成实体;
  4. 在 Start Body 下点击 Create Sketch,生成草图;
  5. 选择视图平面(一般是X-Y)后,进入草图工作台;
  6. 在草图工作台上作一个圆形(可以设置参数);
  7. 完成以后,在 Combo View 的 Task 栏按 Close,进入 Model 栏;
  8. 进入 Part Design 工作台;
  9. 在工具栏中,选 Pad a selected sketch 图标;
  10. 一个圆柱体就形成了,通过修改参数可以调整其高度。
  上述步骤在0.18.4和0.21.1中都有效。由于 SnapMaker 只能用0.18版生成刀路文件,所以本文后续描述操作都是在0.18.4版上完成的。下面链接中的录屏(https://live.csdn.net/v/338786)显示了圆柱体生成的步骤。

在这里插入图片描述
图1

在这里插入图片描述
图2.
在这里插入图片描述
图3

3. 实操:机壳挖孔

3.1 概述

  这一章展示了在机壳上挖一个电源座的全过程,作为一个实例,讲解用“快造” CNC 雕刻功能加工步骤。图1.是这个电源座的实物,图2.是加工后在机壳上挖出的安装孔,图3.是安装以后的情况。
  本章的内容涉及以下步骤:
  1. 用 Part Design 工作台生成零件和相应的草图;
  2. 用 Skecher 工作台绘制草图;
  3. 在 Part Design 工作台下,用绘制的草图建立凸台;
  4. 在 FreeCAD 下配置“快造”后处理程序和加工工具;
  5. 进入 Path 工作台,建立 Job;
  6. 对 Job 进行设置并导入“快造”配置的道具;
  7. 用 Profile based on face or faces 设置和生成刀路;
  8. 导出 G 代码文件,拷贝到“快造”并进行加工。
  上述步骤并不是唯一的选择,可以用其他不同步骤实现。但我们认为,这是比较直观的易理解的步骤。
  在进行上述步骤以前,首先要对 FreeCAD 进行一些偏好设置,这里不对此进行描述,可以参见网上相关的资料。

3.2 第一、二步,进入FreeCAD,生成零件,绘制草图

  打开 FreeCAD,在“起始页”(Start Page)中选择“新建”(Create New …)生成一个新的文件。选择新建后,出现以下界面:

在这里插入图片描述图4.
  打开图4. 中红色圈出的工作台下拉框,选择“Part Design”,程序会跳到“任务”属性页,如下图所示:

在这里插入图片描述
图5.

  点击“创建实体”(Create Body),创建零件实体,任务属性页又会出现以下内容:

在这里插入图片描述
图6.
  点击“创建草图”(Create Sketch),出现下列选择基准平面的界面(因为草图是2D的)。

在这里插入图片描述图7.

  一般选择XY_Plane,符合一般的习惯并方便后续的刀路生成和加工操作。完成后点击“OK”,就会进入草图(Sketcher)工作台,如图8.所示。

在这里插入图片描述
图8.

  草图作图的过程这里不多描述,一般涉及以下操作:
   绘制图形(矩形、椭圆、多边形等);
   图形整理(修剪等)
   施加限制(尺寸、位置、水平、垂直等)。
  下图是本例中绘制完成的草图:

在这里插入图片描述
图9.

3.3 第三步 用绘就的草图建立 3D 凸台

   草图绘制完成后,在“任务”属性页中点击“Close”按钮,返回Part Design工作台。工作台上会出现一个扁平的图形,如下图所示。

在这里插入图片描述
图10.

  在工具条中点选“基于选定草图创建凸台”图标按钮,就建立了一个3D零件实体,如下图所示。

在这里插入图片描述
图11.

  在“任务”属性页里可以调整凸台的厚度(“长度”编辑框)。完成后,点击“OK”退回Part Design界面。

3.4 第四、五步 配置“快造”插件,进入Path工作台

   建立凸台,调整厚度后,就可以生成刀路了。
  FreeCAD 的 Path 工作台用以生成 CNC 加工设备的 G-代码加工文件。由于不同的加工设备有不同的 G-代码方言,因此,需要用设备厂家的后处理程序对 G-代码进行后处理。为此,在进入 Path 工作台以前,必须将“快造”的提供的后处理代码加入到 FreeCAD 的目录中。如前所述,这里描述的步骤仅在FreeCAD 0.18中有效。
  “快造”提供的后处理代码和刀具文件的下载地址是:(https://s3-us-west-2.amazonaws.com/snapmaker.com/download/cnc_post/assets-20210120.zip),下载后解压缩后为一个 assets-xxxx 目录,下有四个子目录,其中 snapmaker-freecad-configuration 中是用于 FreeCAD 的后处理文件和刀具文件。将其中的 Python 程序 snapmaker_freecad_post.py(后处理程序插件)复制到 FreeCAD 安装目录下的 Mod\Path\PathScripts\post 子目录中即可。
  接下来,进入Path工作台,如下图所示(图中的零件已经调整了厚度):
在这里插入图片描述
图12.

  在工作台的工具条中,点击生成刀路( )图标,出现如下选择实体对话框,选择实体(这里是唯一的),点击“OK”生成针对该实体的作业(Job)。接下来,就可以对 Job 进行设置。
在这里插入图片描述
图13.

3.5 第六步 设置Job和导入刀具

  选择实体,点击“OK”后,任务属性页中,出现如下图的 Job 设置界面,它也是由几个属性页组成的,选择实体后出现的是“Setup”属性页。在本例中,仅仅针对对 Output 和 Too 两个属性页进行设置,包括Setup在内的其他属性页我们都不作处理。
在这里插入图片描述
图14.

  点选“Output”,出现以下界面:
在这里插入图片描述
图15.

  其中,在Output File编辑框中,编辑输出G代码文件的路径和文件名,旁边 “…”按钮用于选择路径,文件名则要在其中键入。“快造”的合法G代码文件的后缀为.cnc。
  Processor下拉框中,选择snapmaker_freecad。注意:这一选择很重要,如果不选择而输出G代码文件,拿到“快造”上加工,轻则损坏工件和刀具,重则会给CNC雕刻机造成损伤。能够选择这一选项的前提是3.4节的步骤中,已经将snapmaker_freecad_post.py复制到post目录下。
  上述步骤完成以后,在任务属性页中点击“OK”,返回模型属性页。
  接下来步骤是导入“快造”提供的刀具。在Job Edit对话框中,点选“Tools”属性页,出现如下对话框:
在这里插入图片描述
图16.
  点击Add按钮,出现如下对话框。
在这里插入图片描述
图17.

  点击Import…按钮,在“快造”提供的snapmaker-freecad-configuration目录下,选择Snapmaker-2.0-CNC-Tools.json,导入“快造”提供的刀具。(图16.的界面中是导入后的效果)
  选择一个刀具,点击“Create Tool Controler(s)”按钮,就完成这个刀具的导入。在图15.对话框中,选中这个刀具,点击“Edit”按钮,在弹出的对话框中可以设置这个刀具的加工速度和进刀速度。如果不设置,则按缺省的速度加工。实际操作中发现如果使用缺省参数,可以用于加工,但速度显得略高了些。
  完成后点击“OK”按钮,回到“模型”属性页。
  接下来,我们就可以生成一个或多个刀路了。

3.6 第七步 生成刀路

  本实例中,只是在一个平面上挖出三个孔,所以,生成刀路中,仅使用了Profile based on face or faces(基于面进行剖面)一种方式加工。这种方式是沿着指定的面走刀,到一定的深度就可以形成一个沿封闭面的孔。
  挖三个孔必须重复列步骤三次,形成三个刀路。
  在Path工具栏中,选择Profile based on face or faces 图标,进入下图所示“任务”对话框。如果任务中添加了多个刀具,在进入下列对话框前,还会出现工具选择对话框,可以在其中选择该刀路使用的刀具。

在这里插入图片描述
图18.

  这个对话框中有“基本几何图形”、“深度”、“高度”和“操作”几个部分,进入时显示的是“操作”部分。这部分给出以下选择:
   工具选择:这里选择的是1.5mm平头铣刀;
   加工边缘:沿内圈还是外圈加工,我们选择的是沿内圈(inside);
   加工方向:CW/CCW(正反向),选择正向;
   在复选按钮中,我们用了缺省的Use Compensation(使用补偿,考虑工具半径)和Process Perimeter(沿剖面的周边加工)。
  接下来,点击“基本几何图形”选择要加工的面,应当注意的是,所选择的面必须形成一个封闭的区间。我们需要加工三个孔,每个孔都要进行一次完整的剖面操作。这里详细介绍的是中间的一个孔,因为它是由多个面组成的。其他两个圆孔只有一个面,比较简单,就不再赘述。
  点击“基本几何图形”后,出现下列界面:

在这里插入图片描述
图19.

  在右侧图中,选中一个面,然后在对话框中点击“添加”,就可以在其中加入一个面,沿周边继续点击和添加,就可以完成整个形状的定义。应当注意的是,挖孔加工时,形状必须封闭。
  选择时,也可以用control键结合鼠标一次选中和添加多个面。
  添加几何图形完毕后,基本几何图形对话框中显示选中的四个面。

在这里插入图片描述
图20.

  任务对话框的深度部分选择铣刀加工的起始高度(Z轴坐标)、终止高度和进刀的步长,这种调整可以结合“快造”的加工原点的设置,使得加工深度能够适合材料(机壳)的厚度;高度部分设置的则是铣刀的安全高度和空闲高度位置(Z轴坐标)。
  设置完成以后,点击“OK”,回到“模型”属性页,这时的界面如图21.所示。

在这里插入图片描述
图21.

  重复本节前面的步骤,形成左右两个小孔的刀路。这两个小孔比较简单,只对一个面生成即可。全部生成后,显示如下图,图中的绿色线显示的是加工的刀路。在左侧的模型属性页中,可以看到其中有3个剖面操作:Profile_Fases、Profile_Fase001、Profile_Face002。
在这里插入图片描述
图22.

  为了验证刀路的操作,可以点选工具栏中的刀路模拟图标(在这里插入图片描述),对刀路进行模拟。应当注意的是模拟以后要点击“Cancel”而不是“OK”退出,因为后者会引起显示的改变,无法恢复。但不会影响后续的操作,也不会影响对模型和加工刀路的修改。
  接下来,在工具栏中选择后处理图标(在这里插入图片描述)进行后处理(注意,在Job设置的Output项目的后处理选项中,必须选“snapmaker_freecad”一项)。点击后会提示输出文件,确定好输出文件后,就会出现G代码浏览对话框如下:

在这里插入图片描述
图22.

  从中可以看出,后处理的结果确是“快造”程序生成的。

3.7 第八步 复制 G 代码文件,进行加工

  在设置Job(见3.5节)时已经确定导出的G代码文件的存放位置和文件名。进行后处理时,进一步确定文件名和后缀并生成文件,对于“快造”来说,文件名的后缀是.cnc。
  加工时,需要先将G代码文件传送到“快造”CNC雕刻机上,我们用的是早期版本,所以使用U盘拷贝后插到“快造”上进行加工。
  “快造”操作步骤在其用户手册中有详细说明,这里不再重复。需要注意的是在定位刀具零点时,由于工件设置在Z轴 0 点以上,所以,无法将刀具直接定位在零点上。这可以有两种解决方法:一是在FreeCAD中,将加工平面放在 Z 轴零点以下;二是加工前,在零点位置钻一个孔,以便对刀时,刀具能够达到零点。后者的前提是零点必须处在某个孔洞位置范围。图23.是加工结束时的情况。
  图中有意在加工终止时留了0.1mm的厚度未切去,以防破坏CNC底座,并避免挖掉的材料位移妨碍刀具。

在这里插入图片描述
图23
  图中的夹具并不是“”快造“供应的,是在网上找到的,可以方便快捷地夹持一定尺寸的工件。它的固定孔必须能够适合快造 CNC 底座固定孔的位置尺寸。

4 遇到和解决的问题

  下面是使用FreeCAD 0.18.4时发现的问题。
  1. 草图(sketch)无法捕捉交叉点。
    现象:选择交叉点操作不起作用,总是选到连接交叉点的线段上;
    原因:尚未查明,可能是误触了某些设置;
    解决:退出后重新进入FreeCAD恢复。
  2. 无法从草图生成凸台:
    现象:图中看不到生成的凸台,点击“OK”后报错:failed to validate broken face;
    原因:一般来说,是草图中有不封闭的形状(线段的端点不重合);
    解决:重回草图,找到不连续的、不封闭的线段,用端点重合限制使其封闭。
  3. 无法生成刀路(模拟加工时刀路不起作用):
    现象:生成刀路时报错;
    原因:Operation刀路中选了多余或不合适的几何形状;
    解决:删除多余或不合适的几何形状。

5 使用“快造”多功能 3D 打印机(A350)的体会

  “快造”多功能机(A350)具有加工行程大,加工精度高,可以进行 3D 打印、激光雕刻、3轴/4轴 CNC 雕刻的优势,适合进行小批量塑料、木材等材料的加工。但在使用 CNC 雕刻的过程中,觉得它还存在一些不足,例如:
  1. 加工工件的材料类型有限,不能加工铝、铜等金属工件;
  2. 在CNC的底板上固定工件不太方便;
  3. 自带的软件 Snapmaker Luban 的功能有限,难以支持一般加工需要;
  4. 文档、教程等支持文件不够完善,使得入门使用者(一般为非机械加工专业人员)不能很快掌握其操作;
  5. 售后服务人员的服务有待提高,包括服务态度和技术水平两个方面;
  6. 设备贵了些,性价比有待提高。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值