3D打印网-中国3D打印门户移动版

主页 > 3D打印百科 >

什么是G代码?

G代码是所有计算机数控(CNC)机器(如3D打印机、激光切割机,当然还有CNC铣床)背后的秘密魔法。它充当数字设计和物理制造之间的纽带,将这些设计转化为机器可以执行的精确指令,使其栩栩如生。

在本文中,将和大家一起学习G代码的基础知识以及它在不同应用中的工作原理,例如熔融沉积成型(FDM)3D打印、树脂基3D打印和CNC铣削。此外,我们还将探索一些有用的G代码技能,例如手动编辑.gcode文件、了解它们在不同机器之间的差异以及如何使G代码适应不同的固件。

什么是G代码?

G代码使我们能够以CNC机器能够理解的方式将我们的设计传达给它(来源:AethericEye via Reddit)

G代码代表“几何代码”,它是一种用于控制计算机数控(CNC)机器的编程语言。

您可能想知道,为什么我们需要数控机床的编程语言?

如果我们想用CNC铣床从木头上切出一个立方体,手动控制机器可能不会花太长时间。但是,如果我们想切割50个立方体(或更复杂的东西),我们可以简单地编写一组用G代码编写的命令,这将使我们能够自动化控制过程并节省大量时间。这就是为什么G代码在任何现代CNC机器中都起着至关重要的作用,其中也包括您的3D打印机!

计算机最初于20世纪50年代作为自动化革命的一部分而开发,很快便成为控制车床、铣床等机械加工工具以及后来的3D打印机和其他制造设备的支柱。但它是由什么制成的呢?

G代码的基本结构

G代码指令由简单、人性化且易于理解的命令组成,这些命令告诉机器如何操作。每一行称为“块”,代表一条指令或命令,包括:

<!--[if !supportLists]-->1、<!--[endif]-->命令代码(例如G01、M104)

<!--[if !supportLists]-->2、<!--[endif]-->指定坐标或设置的参数(例如X10 Y20 Z5位置或F1500进给速率)

G代码有两种命令。一种是“G”,它控制机器中的运动,如G28(将所有轴归零)。另一种是“M”,它处理非运动功能,如设置温度(M104)或更换工具(M06)。

技术概述

3D打印、激光雕刻和CNC铣削三合一机器(来源:Aurora Tech via YouTube)

熔融沉积成型(FDM)是一种3D打印方法,通过挤出熔融的细丝逐层构建物体。虽然它不能像树脂基3D打印机那样打印小细节,但由于其简单性和可承受的价格,它仍然是业余爱好者的热门选择。G代码特定于每种打印机型号和打印本身,因为不同的打印机具有不同的尺寸、运动(例如不同的运动系统)等。

与FDM 3D打印机不同,CNC铣削涉及从现有部件中减去材料。因此,CNC铣削的G代码不是以确定的方式添加材料的指令,而是基于精确的减材制造实践。

基于树脂的3D打印,例如立体光刻(SLA)和数字光处理(DLP),其操作方式与FDM   3D打印不同。FDM的概念是基于通过喷嘴挤出熔融的长丝,从而逐层构建物体-就像蛋糕上的糖霜一样。另一方面,基于树脂的打印使用感光树脂,该树脂通过将其暴露在受控光线下一次一层地固化(硬化)。为此,控制系统主要围绕Z轴的移动和曝光设置,因为没有喷嘴挤出长丝。

虽然FDM 3D打印机、CNC铣床、树脂基3D打印机都使用G代码,但由于这三种打印机的不同,具体命令和功能也有很大差异,下面我们来详细了解一下。

一、在FDM 3D打印中

从一组指令到Benchy(来源:All3DP)

FDM 3D打印依靠G代码来管理刀头的移动以及挤出的精确控制。常用命令包括:

运动和定位:G01用于控制线性运动,指定X、Y和Z坐标以及进给速度(刀架的移动速度)F。例如,G01 X50 Y25 Z0.3 F1200以1,200 mm/min的进给速度将刀架移动到X=50 mm、Y=25 mm、Z=0.3 mm。

挤出:E参数与G01一起使用,用于挤出或缩回细丝。例如,G01  X60 Y25 E5 F1500移动到X=60毫米和Y=25毫米,同时以1,500毫米/分钟的进给速度挤出5毫米细丝。可以使用进行缩回G01  E-1 F1800,以1,800毫米/分钟的进给速度缩回1毫米细丝。

温度设置:M104等命令用于设置喷嘴温度,而M140用于加热床。例如,M104 S200将喷嘴温度设置为200°C,M140 S60将床温设置为60°C。

风扇控制:M106打开风扇并设置其速度,M107关闭风扇。例如:M106 S128将风扇速度设置为50%(S128,最大值为S255)。

FDM特定的G代码通常包含用于管理打印速度、回缩设置和其他打印特定操作(如暂停(M0)或更换灯丝(M600))的参数。由于FDM打印机通过向构建区域添加材料来工作,因此G代码专注于增材制造方法。

二、在CNC铣削中

CNC铣床将金属从物体上“切除”(来源:YouTube上的CAD/CAM解决方案)

如上所述,对于CNC铣削,运动与从工件上去除材料有关。例如:

刀具路径控制:G17、G18和G19等命令选择工作平面。G17设置XY平面,G18设置XZ平面,G19设置YZ平面,确保切削刀具的精确定位。

进给率和切削深度:F参数指定进给率,而S参数设置主轴速度(切削刀具的旋转速度)。例如,F1000将进给率设置为1,000 mm/min,将S1200主轴速度设置为1,200 RPM。这些参数对于控制切削速度和深度至关重要。

高级操作:G02和G03等命令控制圆弧插补。G02指定顺时针圆弧,而G03指定逆时针圆弧。刀具补偿由G41和G42处理,其中G41将刀具偏移到切削路径的左侧,而G42将刀具偏移到右侧,从而可以根据刀具尺寸进行精确调整。

三、基于树脂的3D打印

与FDM相比,树脂打印机可以打印出一些令人惊奇的细节……(来源:DaveMakesStuffBC via Reddit)

我们已经了解了FDM打印的典型G代码操作是什么样的。树脂打印机通常使用以下G代码:

Z轴移动:这些只需要在层之间沿Z轴移动构建平台,与FDM相比,这简化了G代码结构,因为不需要X轴和Y轴。例如,G1 Z1.2 F150以150 mm/min的速度将构建平台移动到Z=1.2 mm。

层固化:命令包括各种曝光时间设置,这些设置控制树脂通过紫外线固化以创建每一层的时间,例如,初始层和后续层有不同的选项。例如,M106 S255 P10打开紫外线10秒。

剥离和提升操作:树脂打印机可能包含特定的G代码命令,用于在层间剥离或提升,以减少吸力并为下一层做准备。例如,G1 Z1.5 F100将平台稍微提升至Z=1.5毫米以剥离该层。

可以想象,FDM的G代码通常更详细,因为它包含温度、挤出和所有三个轴上的移动命令。另一方面,树脂3D打印的G代码主要包括Z轴定位命令和曝光设置。由于没有丝材挤出,因此没有挤出或回缩相关的命令。

四、制作方法

单击开始和结束脚本框即可保存您的编辑(来源:All3DP)

如果您想知道是否需要学习所有G代码命令才能打印或铣削模型,那么您不必担心。

FDM和基于树脂的打印的G代码由切片软件生成,您可以在其中导入模型、指定3D打印设置并将过程转换(又名切片!)为您的打印机的G代码。

对于FDM,流行的程序包括Cura和PrusaSlicer,它们都是开源的,支持市场上的大量打印机。基于树脂的打印使用自己的切片机,如Chitubox和Lychee  Slicer。如上所述,FDM打印有许多设置可供查看,而基于树脂的3D打印没有那么多设置,但仍有相当多的设置需要查看。

对于CNC铣床,计算机辅助加工(CAM)软件可以帮助根据设计准备适当的G代码。Autodesk Fusion包含CAD和CAM功能,使其成为CNC项目的首选。正如预期的那样,还有许多其他选项,其中有很多免费选项可供试用。

无论您要为CNC机器还是3D打印机准备G代码,通常都可以使用上述软件自动完成。也就是说,学习如何手动编辑G代码是一项很有价值的技能。让我们仔细看看。

五、手动编辑G代码

您可以使用任何支持纯文本的文本编辑器来编辑G代码(来源:Shayon Khaled通过All3DP)

如上所述,编辑G代码是一项很有用的技能。这是因为它允许您自定义打印或加工操作,比切片或CAM软件允许您执行的操作更进一步,并且您还可以动态调整设置或排除任何问题。

编辑G代码非常简单,因为通常任何支持纯文本的文本编辑器都可以打开.gcode文件。您可以使用Notepad++、Visual  Studio  Code或您选择的任何其他文本编辑器。但是,如果您要执行的操作超出了简单的更改范围,则最好使用专门的G代码编辑器(例如Repetier-Host或PrusaSlicer)。它们提供了语法突出显示和自动错误检测等实用功能,因此可以安全轻松地完成复杂的修改。

进行更改后,您还应该通过可视化工具运行G代码,以确保没有错误。例如,工具头移动命令中简单的数字遗漏可能会导致其撞到某物并造成昂贵的损坏。如今,大多数切片机和CAM工具都配有自己的G代码查看器。如果您想使用单独的查看器,OctoPrint的G代码查看器或Repetier-Host会很方便。

六、为什么每个G代码文件都是唯一的

尽管有些相似,但差异却很大(来源:Jasper-CC via Reddit)

如上所述,每个G代码文件都是独一无二的,因为它是根据其创建时所针对的特定机器、材料和设置进行定制的。如果您尝试在非其设计机器上运行它,至少可能会导致故障-最坏的情况是,它可能会损坏机器或刀架,需要漫长而昂贵的维修。

以下是为不同的FDM机器创建的G代码文件中的一些常见差异:

1机器特定参数:这些通常包括独特设置,例如构建板尺寸、轴限制和工具偏移,所有这些设置可能因型号而异。

2固件差异:不同的固件(例如Marlin、Klipper、GRBL)对各种G代码命令的解释和支持不同(或根本不支持),从而影响兼容性。

3、材料要求:G代码包括特定于所用材料的温度和速度设置(例如PLA与ABS)。由于设置不当,其他材料可能无法正常工作或根本无法工作。

4打印机功能:具有双挤出或自动床面调平等功能的机器需要在其G代码中使用不同的命令。

将G代码适配到另一台机器需要调整这些参数以匹配新设置,而且通常不值得手动修改G代码文件。如果您想在另一台机器上打印,更简单的方法是在切片软件中重新创建G代码并选择正确的3D打印机或直接将模型切片。

 

编译整理:all3dp


 

(责任编辑:admin)