了解 G 代码是什么、机器如何使用它,以及完整的生产流程如何把 SVG 与位图图像转换为适用于笔式绘图仪、激光雕刻机、3D 打印机和 CNC 铣床的生产文件。
G 代码(几何代码)是驱动 CNC 机床的纯文本语言。每个文件(通常为 .gcode、.nc 或 .cnc)都是一系列指令,告诉机器移动到哪里、多快以及何时激活其工具。各行从上到下执行,一次一行。
将您的设计视为蓝图,将 G 代码视为逐步导航。 3D 打印机无法处理 JPG。笔式绘图仪不知道字母“A”是什么样子。 G 代码通过将任何形状分解为基本运动(直线、圆弧和工具开/关命令)来解决这个问题,任何运动控制器都可以可靠地执行这些运动。
该标准可以追溯到 20 世纪 50 年代的麻省理工学院,于 1963 年正式定型为 RS-274,并于 1982 年作为 ISO 6983 在国际上发布。尽管历史悠久,G 代码仍然是制造领域的通用语言 — 从业余爱好者桌面打印机到工业五轴铣床。


每一行(称为块)都是一个完整的指令。机器会记住其行间状态 - 第 10 行设置的进给率在第 200 行保持活动状态,除非您更改它。这称为模态状态。
这是一个绘制 50×50mm 正方形的笔式绘图仪程序:
G21;毫米
G90;绝对定位
G0 Z5.0;提笔
G0 X0 Y0 ; 移动到原点
M3 S1000;落笔
G1 X50.0 Y0 F2000
G1 X50.0 Y50.0
G1 X0 Y50.0
G1 X0 Y0
M5;提笔
M2;结尾
细分 G1 X50.0 Y25.3 F1500:G1 = 画直线,X50.0 Y25.3 = 目的地,F1500 = 1500 mm/min。请注意,G1 只出现一次 - 每个后续坐标线都会自动重复使用它,直到您编写 G0 或其他运动命令。分号后面的任何内容都是注释,被机器忽略。

这些命令几乎适用于所有固件——从业余爱好者 GRBL 到工业 Fanuc。
GRBL 把 G4 P1.5 解释为暂停 1.5 秒;Marlin 则把 G4 P1500 解释为暂停 1500 毫秒,也就是同样的 1.5 秒。若单位理解错了,机器要么几乎不停顿,要么会莫名卡住很久。务必先核对所用固件的文档。


绘图仪只能理解路径,不能理解像素、填充或原始文本。使用 Inkscape、Illustrator 或 Affinity Designer 创建 SVG 描边路径。将所有文本转换为轮廓。删除填充、位图和效果——转换器会默默地忽略它们。
合并重复的路径(笔将跟踪同一条线两次),简化密集节点,并将文档尺寸设置为毫米(而不是像素),以避免以后出现 DPI 缩放问题。
转换器将每条路径转换为 G1 移动,并在断开的笔划之间插入 M3/M5 提笔命令。最重要的设置是路径排序——绘制笔画的顺序。糟糕的排序会让笔在页面上蜿蜒数千次。对于密集的艺术品,最近邻排序可以将行进时间缩短 50% 或更多。
通过通用 Gcode 发送器 (UGS) 或 bCNC 将文件流式传输到 GRBL 固件。发送者将线路一一传递; GRBL 将每个脉冲转换为步进电机脉冲。
矢量模式以恒定功率追踪路径 - 用它来切割轮廓和雕刻线。位图模式像打印机一样来回扫描,逐个像素地改变功率 - 将其用于照片和阴影填充。单个作业可以在不同的层上使用两种模式。
LightBurn 或 LaserGRBL 等工具输出 M3 S[value] 来发射激光,并输出 M5 来停止激光。在位图模式下,S 值在每条 G1 线上发生变化,从而再现灰度渐变。为此,GRBL 必须在激光模式下编译 - 它禁用速度斜坡并启用即时功率响应。
功率和速度因材料而异。在开始实际工作之前,始终对相同材料进行小功率/速度网格测试。
激光:佩戴适合您波长的安全眼镜(CO2 = 10,600nm;二极管雕刻机 ≈ 450nm - 这些需要不同的眼镜)。确保通风——雕刻过程中几乎所有材料都会产生有毒烟雾。切勿让正在运行的激光器无人看管。 CNC:在运行主轴之前夹紧工件 - 未固定的工件可能会高速抛出。在开始之前了解紧急停止情况。
在 Fusion 360、Blender、FreeCAD 或类似工具中进行设计。 STL是标准交换格式; STEP 为工程零件提供更精确的几何形状。
切片机(PrusaSlicer、Cura、Bambu Studio)将模型切成 0.1-0.3 毫米的水平层,并计算刀具路径、支撑、填充和桥梁。典型的移动类似于 G1 X42.5 Y88.3 E0.0234 F4500 — 移动头部,同时挤出正好 0.0234mm 的细丝。切片机还插入 M109 和 M190,以在打印开始之前加热喷嘴和床。
该文件由 Marlin、Klipper 或 RepRapFirmware 执行。Klipper 会把计算任务卸载到 Raspberry Pi,并支持输入整形;它通过加速度计测量机架共振,再将这些共振从运动指令中滤除,从而减少振铃伪影并支持更高的打印速度。
使用 Fusion 360、SolidWorks 或 FreeCAD。加工零件要求公差为0.01-0.05mm,因此模型质量直接决定零件质量。
CAM 软件(Fusion 360 CAM、VCarve、Mastercam)可让您指定刀具、切削策略(自适应清除、轮廓、型腔)、切削深度、主轴速度和进给率。目标是在不损坏钻头或燃烧材料的情况下实现有效的工具接合。
每台工业数控机床都有自己的方言——Fanuc、Siemens Sinumerik、Heidenhain、Haas。 CAM 软件内的后处理器将通用刀具路径转换为机器所需的精确语法。使用错误的后处理器不仅会产生不良零件,还会使机器撞上工件,损坏工具并造成安全隐患。
SVG 路径使用贝塞尔曲线、圆弧和直线。 G1 只画直线——因此转换器必须通过两种方式弥补差距:
刻面将曲线分成许多细小的直线段。更平滑的曲线需要更短的段,这意味着更大的文件,并且当机器的命令缓冲区无法跟上时可能会出现运动卡顿。
圆弧拟合更加智能:它会检测一系列短线段何时共同形成一个圆,并用单个 G2 或 G3 命令替换整个组。需要 360 条 G1 线的圆变成一行 G 代码。文件收缩高达 90%,运动非常平稳,并且机器在通过弧线时保持连续的速度。并非所有 GRBL 版本都支持 G2/G3 — 在启用之前进行检查。

Illustrator 导出 SVG 时使用 72 DPI,Inkscape v0.92 之前使用 90 DPI,而现代工具通常采用 96 DPI。如果转换器默认按 96 DPI 处理,但文件来自 Illustrator,尺寸就会整体放大 33%:原本 100 毫米的图形会被画成 133 毫米。解决方法是让转换器的 DPI 设置与源软件一致;更稳妥的做法,则是直接把 SVG 文档尺寸设为毫米,让结果不再依赖 DPI 假设。
核心运动命令(G0、G1、G2、G3)随处可用。其他一切——启动顺序、工具更改、注释语法——因固件系列而异。在专业数控机床上从错误的控制器运行 G 代码不仅会产生错误的输出,还会导致工件快速碰撞。
照片仅包含像素,没有路径数据。在对照片进行绘图或矢量雕刻之前,必须将其转换为 SVG。常见方法:


Pixel2Lines 会把您的照片转换成干净、可直接交付的 SVG,适合笔式绘图仪和激光雕刻机使用的线稿、排线、点画等风格输出。输出路径会被组织为离散笔画,以尽量减少提笔次数和空行程。
获得 SVG 后,SVG 到 G 代码转换器会生成最终文件,并完全控制进给率、提笔高度、激光功率和路径排序顺序。
这条两步流程会先通过 Pixel2Lines 把照片转成 SVG,再通过转换器把 SVG 转为 G 代码。即使没有矢量设计或 G 代码经验,也能把照片整理成可直接送机的文件。

可以。对于简单形状来说,这是个有价值的练习。遇到复杂几何时,请改用 CAM 软件或专用转换器。
核心运动命令是通用的。启动顺序、工具更换和扩展功能存在显著差异。 GRBL 绘图仪的 G 代码可能需要进行大量更改才能在 Fanuc 铣床上运行 - 并且在工业机器上使用错误的方言可能会导致崩溃。
GRBL 是一种在 Arduino 级微控制器上运行的开源 CNC 固件。它是业余爱好者笔式绘图仪、DIY 激光雕刻机和小型 CNC 路由器的标准。它通过加速感知运动规划器和前瞻缓冲来实现核心 RS-274 标准。
圆珠笔:5000–8000 毫米/分钟。毡尖笔或毛笔:2000–4000 毫米/分钟。钢笔或玻璃笔尖:1500–3000 毫米/分钟。始终先在废纸上进行测试。
是的。在 GRBL 激光模式下,S 可以在每条 G1 线上发生变化 - 这就是位图雕刻在单次扫描中再现平滑灰度梯度的方式。
HPGL(惠普图形语言)由 20 世纪 70 年代至 90 年代的 HP 笔式绘图仪使用。它使用两个字母的命令(PU = 笔向上,PD = 笔向下,PA = 绝对绘图)和绘图仪单位为每毫米 40,而不是毫米或英寸。大多数现代绘图仪工具都可以读取这两种格式。
NCViewer (ncviewer.com) 是最快的选项 - 粘贴您的文件,它会立即呈现刀具路径。 CAMotics 模拟 CNC 工作的 3D 材料去除。通用 Gcode 发送器具有内置路径预览。始终遵循屏幕上的模拟,在安全高度进行物理试运行。
上传任意照片,从 Pixel2Lines 获得干净、优化后的 SVG,然后一步转换为可直接用于设备加工的 G 代码。适用于笔式绘图仪、激光雕刻机和 CNC 设备。
立即转换您的照片
评论
正在加载评论...