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

主页 > 3D打印百科 >

3D打印的G-Code基础知识

       导读:就像学习一门新的外语一样,如果您经常使用3D打印机或其他CNC机器,了解G-Code的构建方式以及某些说明的含义不仅可以解决打印问题,还可以根据需求自定义打印。
     G-CODE是我们告诉机器它们需要做什么的方式。自1950年代后期以来一直流行至今,是使用最广泛的计算机数控编程语言。不过,请不用担心,因为它是您能想到的最简单的语言之一:在大多数3D打印机上使用的形式中,没有循环、没有if语句、没有括号或任何其他花哨的东西。如果您在切片器中准备一个模型并在文本编辑器中打开生成的G-CODE,您会看到它只是3D打印机固件读取然后执行的命令列表(按行执行)。
△PrusaSlicer中的G-CODE可视化

     本文中,将介绍3D打印机最常见的G-CODE(与Marlin固件兼容),使您能够理解95%的3D打印G-CODE。如果你运行带有RepRap固件的打印机或带有Mach 3的CNC系统,文件的整体外观将是相同的,尽管某些命令的执行操作可能略有不同。

△Marlin G-CODE示例

      那么让我们来看看Marlin-G-code。正如之前所说,代码从文件的开头到结尾按行处理,这些文件通常由一个包含一些基础信息的标题组成。接下来是您可以在切片器中自定义的开始G-CODE,然后是带有结束G-CODE打印命令。通常还有一个包含所有切片器设置的文本块。如果您忘记保存配置文件或从其他人那里收到打印非常好的G-CODE文件,这部分或许非常有用。某些切片器将允许您导入G-CODE文件并根据设置生成配置文件,但这通常是仅当G-CODE也使用相同的切片器创建才能够实现。

注释
      如果我们查看标题或设置块,我们已经可以看到一些重要的东西。这些行通常以分号开头。在一行的开头有一个分号意味着这是一个注释,所以它会被固件忽略。注释不能占用整行,而是在常规命令后添加,提高代码的可读性。切片器还会经常添加注释,以便您更轻松地找到某个图层或某个功能。为了完整性,根据CNCG-CODE标准,一些固件支持括号中的注释,尽管这种风格很少使用。
△G-CODE中的注释

句法
      再来看看G-CODE的命令语法。每个命令都以字母开头。G代表准备命令,通常用于与运动相关的任务。M命令(Miscellaneous commands)通常用于更改设置或执行操作。后面的数字代表了一个特定的命令。接下来是G-CODE的命令参数,用一个描述性字母,然后是参数值。
△G-CODE句法

G0 & G1 - 直线运动
      让我们从最常见的G0和G1命令开始,它们用于轴的运动。XYZ参数定义了它需要移动的位置,E定义了挤出的材料量,F定义了进给量,通常以毫米/分钟为单位。G0和G1不需要所有轴的值,而且只需设置一次,状态会一直存在,直到被更改。在过去,G0用于不需要精度的快速移动,而G1是从一个位置到另一个位置的协调线性移动。然而在目前的3D打印机上,G0和G1几乎相同,约定俗成的是G0用于行进运动,G1用于材料挤出的运动。
△G0 & G1 - 直线运动

G90 & G91 - 定位模式

与G0和G1相关的一个非常重要的命令对是G90和G91。这些将定位模式设置为绝对或相对。如果设置了G90,则所有运动都是到打印机坐标系中的绝对位置。所以G0X50 Y50将打印头移动到X50 Y50,而G0 X100Y100将打印头移动到X100 Y100。

△绝对定位

如果设置了G91,则所有运动都相对于最后一个位置。因此,如果我们从原点X0Y0开始并发送G0 X50 Y50,打印头将移动到X50Y50。但是如果在这之后发送G0 X100 Y100,打印头将执行增量移动并在停留在X150Y150。

△相对/增量定位

G-Code文件中的大部分移动都将使用绝对定位来实现。相对定位可能有用的地方是,例如,在G-CODE最后,您希望将喷嘴从打印件上抬起并移开。因此,无论您的型号高度如何,G91和G0Z10始终都将打印头提升10毫米。紧接着,用G90切换回绝对定位,可以将喷嘴移动到打印床的边缘。

△结束脚本示例以抬起喷嘴并将其移开

M82 & M83 - 挤出机定位模式

与打印移动相关的还有命令对M82和M83。尽管看起来有点奇怪,但耗材挤出机是3D打印机的第4轴,并且可以从绝对定位到相对定位分别切换,就像运动轴一样。M82设置轴为绝对模式,M83设置为相对模式。此设置主要是您使用的切片器的偏好。CURA主要以绝对坐标进行挤压,因此是M82命令,而PrusaSlicer默认使用M83进行相对挤压。在这两种命令中,累积相对误差或哪一种命令更好这种讨论并不是非常重要,更多的是您更喜欢哪种风格。

△不同切片器的示例G-CODE
(责任编辑:admin)