待补充
sameer/svg2gcode
3/5
🧩 软硬件结合
已发布
项目简介
Convert vector graphics to g-code for pen plotters, laser engravers, and other CNC machines
svg2gcode 是一个专注于将矢量图形转换为 G 代码的开源工具,主要服务于笔式绘图仪、激光雕刻机以及其他 CNC 机床用户。该项目由 Rust 语言编写,核心功能是解析 SVG 格式的矢量文件,并将其中的路径、曲线等图形元素转化为机器可识别的 G 代码指令,从而驱动硬件设备精确复现设计图案。
标签
项目特点
**纯 Rust 实现**:性能好、内存安全,跨平台编译方便。
**SVG 路径解析**:支持常见的 SVG 元素,包括直线、贝塞尔曲线、圆弧等。
**G 代码生成**:输出标准 G 代码,兼容主流 CNC 控制器和绘图仪固件。
**命令行工具**:轻量级,无需图形界面,适合脚本化和自动化流程。
**可定制输出**:支持调整进给速度、抬刀高度等参数,适配不同硬件。
**开源免费**:代码完全公开,社区可自由修改和贡献。
技术规格
| 编程语言 | Rust |
|---|---|
| 输入格式 | SVG(可缩放矢量图形) |
| 输出格式 | G 代码(G-code) |
| 支持的 SVG 元素 | 路径(path)、直线(line)、矩形(rect)、圆(circle)、椭圆(ellipse)、折线(polyline)、多边形(polygon) |
| 支持的曲线类型 | 贝塞尔曲线(二次、三次)、圆弧 |
| 输出精度 | 浮点数,默认保留 3 位小数 |
| 命令行接口 | 支持输入文件、输出文件、进给速度、抬刀高度等参数 |
| 跨平台支持 | Windows、macOS、Linux |
| 依赖库 | 主要依赖 `svg` 和 `gcode` 等 Rust crate |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Rust 编译器 | 1 | — | 用于编译项目源码 |
| Cargo(Rust 包管理器) | 1 | — | 随 Rust 一同安装 |
| 文本编辑器或 IDE | 1 | — | 用于编辑代码或配置文件 |
| 笔式绘图仪 / 激光雕刻机 / CNC 机床 | 1 | — | 执行生成的 G 代码 |
| 计算机 | 1 | — | 运行编译后的可执行文件 |
能力画像
**记忆与知识检索**:2/5 — 项目本身不涉及知识检索,但需要理解 SVG 和 G 代码规范。
**动手与操作**:3/5 — 需要配置 Rust 环境、编译工具、连接硬件并调试输出。
**编程与算法**:4/5 — 核心是 Rust 编程,涉及 SVG 解析和路径转换算法。
**设计与建模**:2/5 — 不涉及建模,但需要能设计或准备 SVG 矢量图。
**实验与调试**:3/5 — 需要调试 G 代码输出,确保硬件正确执行。
**协作与分享**:2/5 — 开源项目,可通过 Issue 和 PR 参与协作。
**学习与研究**:3/5 — 适合学习 Rust 编程、SVG 解析和 CNC 控制原理。
**系统集成**:3/5 — 可作为自动化流水线的一环,集成到其他工具链中。
项目图库
所需技能
Rust 编程基础
命令行工具使用
SVG 矢量图格式理解
G 代码基本语法
CNC 或绘图仪硬件操作经验
Git 版本控制基础(可选)
适用场景
将 SVG 设计图转为笔式绘图仪的绘图指令
为激光雕刻机生成雕刻路径
在 CNC 铣床上执行矢量轮廓切割
自动化批量转换 SVG 文件为 G 代码
教育场景中学习 G 代码生成原理
创客空间或 Fab Lab 中连接设计软件与制造设备