待补充 sameer/svg2gcode

3/5 🧩 软硬件结合 已发布
sameer 300 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/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 中连接设计软件与制造设备