Pixel2Lines

服务
照片到 SVG 线稿
照片到 SVG 线稿
照片到 SVG 激光雕刻
照片到 SVG 激光雕刻
照片转 SVG 图形
照片转 SVG 图形
照片转插图
照片转插图
平面图转换
平面图转换
刺绣打版
刺绣打版
要删除背景的照片
要删除背景的照片
图像放大器
图像放大器
设计网格
设计网格
画廊定价SVG 编辑器工作空间
  1. 首页/
  2. 指南与资源/
  3. CNC、激光雕刻机和绘图仪的 G 代码指南

完整的 G 代码指南:从初学者到专业人士

了解 G 代码是什么、机器如何使用它,以及完整的生产流程如何把 SVG 与位图图像转换为适用于笔式绘图仪、激光雕刻机、3D 打印机和 CNC 铣床的生产文件。

什么是 G 代码?

G 代码(几何代码)是驱动 CNC 机床的纯文本语言。每个文件(通常为 .gcode、.nc 或 .cnc)都是一系列指令,告诉机器移动到哪里、多快以及何时激活其工具。各行从上到下执行,一次一行。

将您的设计视为蓝图,将 G 代码视为逐步导航。 3D 打印机无法处理 JPG。笔式绘图仪不知道字母“A”是什么样子。 G 代码通过将任何形状分解为基本运动(直线、圆弧和工具开/关命令)来解决这个问题,任何运动控制器都可以可靠地执行这些运动。

该标准可以追溯到 20 世纪 50 年代的麻省理工学院,于 1963 年正式定型为 RS-274,并于 1982 年作为 ISO 6983 在国际上发布。尽管历史悠久,G 代码仍然是制造领域的通用语言 — 从业余爱好者桌面打印机到工业五轴铣床。

在文本编辑器中打开的 G 代码文本文件,显示带有坐标和命令的连续机器指令
G 代码文件是一种纯文本文档 - 每一行都是机器按顺序执行的一条精确指令。
笔式绘图仪在纸上绘制详细的矢量图稿,显示 G 代码指令的物理结果
物理结果:相同的文本行转换为精确的机械运动。

G代码用在哪里?

  • 笔式绘图仪(AxiDraw、HP 7475A、DIY GRBL):在纸张上移动物理笔以复制矢量艺术品 - 对于艺术家和创客来说,这是最容易访问的 G 代码入口点之一。
  • 激光雕刻机和切割机:在调节功率的同时控制光束,将图像刻录到木材上或从丙烯酸树脂上切割形状。
  • FDM 3D 打印机(Prusa、Creality、Bambu Lab):在送丝时在 X、Y、Z 方向上协调打印头,逐层构建物体。
  • 数控铣床和铣床:引导旋转切削刀具穿过材料进行雕刻、型腔加工和仿形加工。
  • CNC 车床、等离子切割机、水刀和线切割机床:均使用 G 代码或近似派生代码。

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 或其他运动命令。分号后面的任何内容都是注释,被机器忽略。

用标签和箭头注释单个 G 代码行的信息图,显示 G 字命令、X Y Z 坐标、进给率 F 参数和 S 功率参数
G 代码行的剖析:G 字控制运动类型,坐标定义目的地,F 设置速度,S 设置功率。

基本 G 代码命令

这些命令几乎适用于所有固件——从业余爱好者 GRBL 到工业 Fanuc。

  • G0 — 快速移动:以机器允许的速度重新定位。切勿在激光或主轴处于活动状态时使用。
  • G1 — 线性移动:以设定的进给率 (F) 绘制或切割直线。所有 CNC 工作的主要命令。
  • G2 / G3 — 顺时针/逆时针圆弧:使用 I/J 中心偏移或 R 半径在单个命令中生成平滑曲线。一个 G2/G3 取代了数十个微小的 G1 段。
  • G4 — 停留:暂停一段设定的时间。 ⚠ P 单位不同:GRBL = 秒(G4 P1.5 = 1.5s),Marlin = 毫秒(G4 P1500 = 1.5s)。
  • G20 / G21 — 英寸/毫米单位。始终将其设置在每个文件的开头。
  • G28 — 所有轴归位。行为因固件而异——使用前务必进行验证。
  • G90 / G91 — 绝对/相对定位。默认为G90; G91 使每个坐标都相对于当前位置。
  • G92——以当前位置为原点,不移动。用于定义工作中的工作原点。
  • M3 S[值] — 工具打开:发射激光、旋转主轴或降低笔伺服。 S 控制功率、RPM 或伺服角度。
  • M5 — 刀具关闭。始终包含在任何快速移动之前。
  • M104 / M109 — 设置热端温度(3D 打印)。 M109 等待达到目标后再继续。
  • M140 / M190 — 设置床温度(3D 打印)。 M190 等待 — 在打印开始之前使用。
  • F——进给率,单位为毫米/分钟。模态:持续存在,直到您更改它。
  • S — 功率或速度:激光功率(GRBL 上为 0-1000)、主轴 RPM 或伺服角度。
  • E — 挤出机灯丝距离(仅限 3D 打印)。
  • I、J — 圆弧中心距当前位置的偏移量,与 G2 和 G3 一起使用。
G4 停留:秒与毫秒

GRBL 把 G4 P1.5 解释为暂停 1.5 秒;Marlin 则把 G4 P1500 解释为暂停 1500 毫秒,也就是同样的 1.5 秒。若单位理解错了,机器要么几乎不停顿,要么会莫名卡住很久。务必先核对所用固件的文档。

在 Inkscape 中打开的 SVG 文件,显示带有可见锚点的矢量路径
输入:具有干净矢量路径的 SVG 文件。每个路径段都成为一个 G 代码运动命令。
显示从设计软件到 CAM、G 代码文件再到机器执行的工作流程的图表
流程:设计→CAM/转换→G代码→固件→物理运动。

工作流程 1:笔式绘图仪

  1. 1

    矢量软件设计

    绘图仪只能理解路径,不能理解像素、填充或原始文本。使用 Inkscape、Illustrator 或 Affinity Designer 创建 SVG 描边路径。将所有文本转换为轮廓。删除填充、位图和效果——转换器会默默地忽略它们。

  2. 2

    优化 SVG

    合并重复的路径(笔将跟踪同一条线两次),简化密集节点,并将文档尺寸设置为毫米(而不是像素),以避免以后出现 DPI 缩放问题。

  3. 3

    转换为 G 代码

    转换器将每条路径转换为 ​​G1 移动,并在断开的笔划之间插入 M3/M5 提笔命令。最重要的设置是路径排序——绘制笔画的顺序。糟糕的排序会让笔在页面上蜿蜒数千次。对于密集的艺术品,最近邻排序可以将行进时间缩短 50% 或更多。

  4. 4

    通过 G 代码发送器发送

    通过通用 Gcode 发送器 (UGS) 或 bCNC 将文件流式传输到 GRBL 固件。发送者将线路一一传递; GRBL 将每个脉冲转换为步进电机脉冲。

工作流程 2:激光雕刻机/切割机

  1. 1

    选择您的模式:矢量或位图

    矢量模式以恒定功率追踪路径 - 用它来切割轮廓和雕刻线。位图模式像打印机一样来回扫描,逐个像素地改变功率 - 将其用于照片和阴影填充。单个作业可以在不同的层上使用两种模式。

  2. 2

    使用激光设置生成 G 代码

    LightBurn 或 LaserGRBL 等工具输出 M3 S[value] 来发射激光,并输出 M5 来停止激光。在位图模式下,S 值在每条 G1 线上发生变化,从而再现灰度渐变。为此,GRBL 必须在激光模式下编译 - 它禁用速度斜坡并启用即时功率响应。

  3. 3

    首先在废品上进行测试

    功率和速度因材料而异。在开始实际工作之前,始终对相同材料进行小功率/速度网格测试。

激光和 CNC 安全

激光:佩戴适合您波长的安全眼镜(CO2 = 10,600nm;二极管雕刻机 ≈ 450nm - 这些需要不同的眼镜)。确保通风——雕刻过程中几乎所有材料都会产生有毒烟雾。切勿让正在运行的激光器无人看管。 CNC:在运行主轴之前夹紧工件 - 未固定的工件可能会高速抛出。在开始之前了解紧急停止情况。

工作流程 3:3D 打印

  1. 1

    建模并导出为 STL 或 STEP

    在 Fusion 360、Blender、FreeCAD 或类似工具中进行设计。 STL是标准交换格式; STEP 为工程零件提供更精确的几何形状。

  2. 2

    切片成层

    切片机(PrusaSlicer、Cura、Bambu Studio)将模型切成 0.1-0.3 毫米的水平层,并计算刀具路径、支撑、填充和桥梁。典型的移动类似于 G1 X42.5 Y88.3 E0.0234 F4500 — 移动头部,同时挤出正好 0.0234mm 的细丝。切片机还插入 M109 和 M190,以在打印开始之前加热喷嘴和床。

  3. 3

    通过SD卡或网络发送

    该文件由 Marlin、Klipper 或 RepRapFirmware 执行。Klipper 会把计算任务卸载到 Raspberry Pi,并支持输入整形;它通过加速度计测量机架共振,再将这些共振从运动指令中滤除,从而减少振铃伪影并支持更高的打印速度。

工作流程 4:数控加工

  1. 1

    CAD 模型

    使用 Fusion 360、SolidWorks 或 FreeCAD。加工零件要求公差为0.01-0.05mm,因此模型质量直接决定零件质量。

  2. 2

    在 CAM 中定义刀具路径

    CAM 软件(Fusion 360 CAM、VCarve、Mastercam)可让您指定刀具、切削策略(自适应清除、轮廓、型腔)、切削深度、主轴速度和进给率。目标是在不损坏钻头或燃烧材料的情况下实现有效的工具接合。

  3. 3

    控制器的后处理

    每台工业数控机床都有自己的方言——Fanuc、Siemens Sinumerik、Heidenhain、Haas。 CAM 软件内的后处理器将通用刀具路径转换为机器所需的精确语法。使用错误的后处理器不仅会产生不良零件,还会使机器撞上工件,损坏工具并造成安全隐患。

SVG 到 G 代码:实际发生的情况

SVG 路径使用贝塞尔曲线、圆弧和直线。 G1 只画直线——因此转换器必须通过两种方式弥补差距:

刻面将曲线分成许多细小的直线段。更平滑的曲线需要更短的段,这意味着更大的文件,并且当机器的命令缓冲区无法跟上时可能会出现运动卡顿。

圆弧拟合更加智能:它会检测一系列短线段何时共同形成一个圆,并用单个 G2 或 G3 命令替换整个组。需要 360 条 G1 线的圆变成一行 G 代码。文件收缩高达 90%,运动非常平稳,并且机器在通过弧线时保持连续的速度。并非所有 GRBL 版本都支持 G2/G3 — 在启用之前进行检查。

比较转换为多个 G1 段的曲线与单个 G2 圆弧命令的图表
同一个圆:360 个 G1 段(左)与 1 个 G2 命令(右)。弧形拟合可产生更小的文件和更平滑的运动。
错误的 SVG DPI = 错误的尺寸输出

Illustrator 导出 SVG 时使用 72 DPI,Inkscape v0.92 之前使用 90 DPI,而现代工具通常采用 96 DPI。如果转换器默认按 96 DPI 处理,但文件来自 Illustrator,尺寸就会整体放大 33%:原本 100 毫米的图形会被画成 133 毫米。解决方法是让转换器的 DPI 设置与源软件一致;更稳妥的做法,则是直接把 SVG 文档尺寸设为毫米,让结果不再依赖 DPI 假设。

G 代码方言:为什么一个文件不适合所有机器

核心运动命令(G0、G1、G2、G3)随处可用。其他一切——启动顺序、工具更改、注释语法——因固件系列而异。在专业数控机床上从错误的控制器运行 G 代码不仅会产生错误的输出,还会导致工件快速碰撞。

  • GRBL:爱好者笔式绘图仪、激光雕刻机和小型 CNC 路由器的主要固件。基于Arduino,受到转换器和CAM工具的广泛支持。
  • Marlin:FDM 3D 打印机占主导地位。在标准运动命令之上添加挤出机控制、温度 M 代码和床调平。
  • Klipper:在 Raspberry Pi 上运行的现代 3D 打印机固件。实现输入整形和更高的打印速度,这在 Marlin 上使用相同的硬件时是无法实现的。
  • Smoothieware:适用于中档激光雕刻机和 CNC 的 32 位 ARM 固件 — 比基于 Arduino 的 GRBL 具有更多的计算空间。
  • Fanuc:全球占主导地位的工业数控控制器。包括固定循环 (G81–G89) 和宏编程。
  • 西门子Sinumerik / Heidenhain / Haas:欧洲和美国工业控制器有自己的方言。 Fanuc 后处理器无法在 Sinumerik 机器上正确运行。

将照片转换为可绘制路径

照片仅包含像素,没有路径数据。在对照片进行绘图或矢量雕刻之前,必须将其转换为 SVG。常见方法:

  • 线稿提取:把主体轮廓与结构边缘提取为 SVG 路径。最适合轮廓清晰的徽标、肖像与插图。
  • 排线 / 交叉排线:把图像亮度映射为线条密度,较暗区域使用更密的线条。这类效果会让画面带有传统雕刻和版画式的质感。
  • 点画:将亮度映射到点密度。每个点都是简短的笔触或激光停留——类似于点画插图。
  • 轮廓映射:将亮度视为高程,在亮度阈值处绘制同心线。从照片中产生流畅、有机的结果。
  • 算法风格(Voronoi、流场、波浪图案):通过图像亮度调制的数学变换,用于抽象但可识别的机器绘制艺术。
显示自然光、色调变化和摄影细节的原始照片
输入:位图照片。仅像素——不可直接绘制。
源自照片的 SVG 线稿,显示干净的矢量笔划
输出:干净的 SVG 路径,准备进行 G 代码转换和物理绘图。

完整的流程:照片 → SVG → 带 Pixel2Lines 的 G 代码

Pixel2Lines 会把您的照片转换成干净、可直接交付的 SVG,适合笔式绘图仪和激光雕刻机使用的线稿、排线、点画等风格输出。输出路径会被组织为离散笔画,以尽量减少提笔次数和空行程。

获得 SVG 后,SVG 到 G 代码转换器会生成最终文件,并完全控制进给率、提笔高度、激光功率和路径排序顺序。

这条两步流程会先通过 Pixel2Lines 把照片转成 SVG,再通过转换器把 SVG 转为 G 代码。即使没有矢量设计或 G 代码经验,也能把照片整理成可直接送机的文件。

端到端流程图:位图照片 → Pixel2Lines SVG 转换 → SVG 到 G 代码 → 机器执行
完整的流程:照片→SVG(Pixel2Lines)→G-Code(转换器)→机器。

生产前检查表

  • 首先进行模拟 - 使用 NCViewer(浏览器,免费)或 CAMotics(桌面,免费)在机器移动之前渲染完整的刀具路径。捕获错误的尺寸、缺失的笔式升降机以及意外的急流。
  • 验证单位 - G20(英寸)或 G21(毫米)必须符合您的预期尺寸。
  • 设置工作原点 — 机器归位,正确放置 G92 或 WCS 偏移。
  • 检查 Z 轴间隙 - 提笔或激光关闭高度必须物理地离开工件和任何夹具。
  • 寻找重复的路径——每个轮廓仅一次;重复双刻或双切。
  • 检查进给速度——太快会导致跳过步骤;太慢会浪费时间。
  • 确认 G4 停留单位 - GRBL 为秒,Marlin 为毫秒。
  • 在安全高度进行试运行 — 验证整个行程范围适合机器的工作区域。
  • 废料测试 - 对于激光和 CNC,在提交最终工件之前,始终在废料上切割相同的材料。

常见问题和修复

  • 绘图镜像:SVG Y 向下增加; G代码Y向上增加。在转换器中启用 Y 轴反转。
  • 输出尺寸错误:DPI 不匹配。 Illustrator = 72,旧 Inkscape = 90,现代工具 = 96。将转换器 DPI 与源应用程序相匹配,或以毫米为单位定义 SVG 尺寸。
  • 机器在曲线上卡顿:太多微小的片段溢出了运动缓冲区。启用圆弧拟合、增加线性化公差或降低进给率。
  • 笔拖动且永远不会抬起:缺少 M5 命令,或者 Z 间隙太低,无法从纸张上物理抬起。
  • 工作时间比预期长得多:路径排序不佳。在重新生成 G 代码之前使用 vpype 重新排序路径。
  • 机器在启动时移动到错误位置:未设置工作原点。重新归位,点动至预定原点,运行 G92 X0 Y0 后再启动。

我可以手写G代码吗?

可以。对于简单形状来说,这是个有价值的练习。遇到复杂几何时,请改用 CAM 软件或专用转换器。

所有机器上的 G 代码都相同吗?

核心运动命令是通用的。启动顺序、工具更换和扩展功能存在显著差异。 GRBL 绘图仪的 G 代码可能需要进行大量更改才能在 Fanuc 铣床上运行 - 并且在工业机器上使用错误的方言可能会导致崩溃。

什么是GRBL?

GRBL 是一种在 Arduino 级微控制器上运行的开源 CNC 固件。它是业余爱好者笔式绘图仪、DIY 激光雕刻机和小型 CNC 路由器的标准。它通过加速感知运动规划器和前瞻缓冲来实现核心 RS-274 标准。

笔绘图应使用什么进给率?

圆珠笔:5000–8000 毫米/分钟。毡尖笔或毛笔:2000–4000 毫米/分钟。钢笔或玻璃笔尖:1500–3000 毫米/分钟。始终先在废纸上进行测试。

G代码可以在移动过程中连续控制激光功率吗?

是的。在 GRBL 激光模式下,S 可以在每条 G1 线上发生变化 - 这就是位图雕刻在单次扫描中再现平滑灰度梯度的方式。

G 代码和 HPGL 有什么区别?

HPGL(惠普图形语言)由 20 世纪 70 年代至 90 年代的 HP 笔式绘图仪使用。它使用两个字母的命令(PU = 笔向上,PD = 笔向下,PA = 绝对绘图)和绘图仪单位为每毫米 40,而不是毫米或英寸。大多数现代绘图仪工具都可以读取这两种格式。

在运行 G 代码之前如何模拟它?

NCViewer (ncviewer.com) 是最快的选项 - 粘贴您的文件,它会立即呈现刀具路径。 CAMotics 模拟 CNC 工作的 3D 材料去除。通用 Gcode 发送器具有内置路径预览。始终遵循屏幕上的模拟,在安全高度进行物理试运行。

相关指南

笔式绘图仪的工作原理

笔式绘图仪机械结构、运动控制和专业功能可塑造速度、准确性和线条质量。

笔式绘图的 SVG 优化

如何准备 SVG 文件以获得最佳绘图仪输出 - 节点减少、路径合并、图层结构和导出设置。

如何将照片转换为 SVG 线稿

一步步了解如何把照片转换成适用于 CNC、激光、刻字膜和笔式绘图流程的干净 SVG 线稿。

笔式绘图仪排线与交叉排线

如何从灰度图像生成排线图案,掌握密度映射、角度变化与交叉排线技巧。

将照片或 SVG 转换为 G 代码 — 为您的机器做好准备

上传任意照片,从 Pixel2Lines 获得干净、优化后的 SVG,然后一步转换为可直接用于设备加工的 G 代码。适用于笔式绘图仪、激光雕刻机和 CNC 设备。

立即转换您的照片

想要先清洁或测量您的 SVG?

在浏览器中打开免费的 SVG 编辑器,检查比例、清理路径,并在无需上传文件的情况下导出可直接交付的文件。

评论

请登录或创建账户才能发表评论。

登录或注册

正在加载评论...

专业流程服务


  • 照片到 SVG 线稿矢量
  • 照片到 SVG 激光雕刻矢量
  • 要删除背景的照片位图
  • 照片转 SVG 图形矢量
  • 照片到刺绣打版矢量
  • 照片转插图位图
  • 照片到设计网格位图
  • 画廊
  • 定价
  • 关于我们
  • 技术
  • 定制开发
  • 联系支持人员

转换工具


  • 文件转换器
  • JPG 转 PNG
  • JPG 转 WEBP
  • JPG 转 AVIF
  • JPG 转 ICO
  • PNG 转 JPG
  • PNG 转 AVIF
  • PNG 转 WEBP
  • PNG 至 ICO
  • WEBP 转 JPG
  • WEBP 转 PNG
  • WEBP 转 AVIF
  • AVIF 转 JPG
  • AVIF 转 PNG
  • AVIF 转 WEBP
  • SVG 转 PNG
  • SVG 转 JPG
  • SVG 转 WEBP
  • SVG 转 AVIF
  • SVG 转 PDF高级
  • SVG 转 EPS高级
  • SVG 到 AI高级
  • SVG 转 DXF高级
  • SVG 到 GCODE高级
  • PDF 转 PNG
  • BMP 转 PNG
  • DXF 转 SVG高级

指南


  • 有用的指南

Pixel2Lines

  • 法律
  • 隐私政策
  • 条款
  • Cookie