返回资讯中心
外部精选
软件工程
#开发者实时流

开发者推出Linux命令行工具Crycut,可蓝牙直连Cricut StickerPix打印贴纸

来源标题:Show HN: Linux CLI for Cricut StickerPix

一个名为Crycut的Python命令行工具可在Linux上通过蓝牙直接向Cricut StickerPix打印机发送贴纸设计,全程本地运行,无需Cricut账号或Design Space。用户可创建设计、生成图像与切割轮廓,并在终端查看打印进度,需Python 3.11+、BlueZ及Inkscape等环境。

Hacker News 最新vavkamil2026/11/14 · 今天13 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

一个用于准备贴纸排版并通过蓝牙直接发送到 Cricut StickerPix 打印机的小型 Python CLI。你可以创建设计、生成图像和切割轮廓,并在终端中跟踪打印进度。一切都在本地运行,不需要 Cricut 账户,也不需要 Design Space。

需要 Linux、Python 3.11+、uv、BlueZ(bluetoothctl 和 sdptool),以及用于 SVG 渲染的 Inkscape。

uv sync --locked

项目使用 /usr/bin/python3 来支持蓝牙 socket。uv 会把 Python 库和开发工具安装到本地的 .venv/ 中,不会改动系统软件包。

打开打印机和笔记本的蓝牙,然后查找并保存:

uv run crycut setup uv run crycut status

setup 会查找打印机、检查所选连接,并在本地保存 config/printer.json。如有需要,先配对打印机;参见蓝牙设置。

从空白 SVG 模板创建项目:

uv run crycut new my-sheet

编辑 projects/my-sheet/design.svg,保持 96 × 170 mm 画布和透明背景。导出该贴纸排版并检查:

uv run crycut export my-sheet --border 1.25 uv run crycut print my-sheet

打开 projects/my-sheet/preview.png 检查图案和切割轮廓。粉色辅助线只出现在预览中。装入贴纸介质,然后向打印机发送一张排版:

uv run crycut print my-sheet --send

不带 --send 的 print 只检查文件并显示摘要。发送排版时还会监控上传、打印阶段、切割和完成情况。剩余时间是估算值;完成状态来自打印机。

关于画布尺寸、边框、颜色和预览,参见准备贴纸排版。

关于连接设置和故障排查,参见蓝牙设置。

uv run crycut projects # 列出本地项目 uv run crycut new my-icons --png # 从透明 PNG 开始 uv run crycut new my-artwork --from artwork.svg # 复制现有图案 uv run crycut export my-sheet --border 0 # 沿图案边缘切割 uv run crycut monitor 30 # 重新连接现有任务 uv run crycut --help uv run crycut export --help

切割轮廓从透明图案中检测。正的 --border 会沿形状向外增加边距。使用 --border-color '#ffffff' 和 --background '#000000' 设置打印边距和排版背景。重新导出时会记住项目上次的设置,除非选项覆盖它们。

一个项目会将其图案和最新导出保存在一起。编辑图案会将导出标记为过期;打印前请再次导出。要制作单独的变体,使用 export my-sheet --output projects/my-variation。

每个 status 或 print 命令都会与已保存的打印机建立自己的连接。传输方式是经典蓝牙 RFCOMM。不需要单独的连接命令。请一次运行一个打印机命令。

Ctrl+C 会停止监控,但不会取消物理打印。使用分配的任务 ID 配合 monitor,在发送另一张排版前检查被中断的运行。这是一个恢复/调试命令;正常打印本身就会监控进度。参见进度和日志。

projects/ 中每张排版一个文件夹,包括随附的 wordmarks 和 tech-icons 项目。

templates/ 包含空白 SVG 和 PNG 画布。

config/ 包含布局和时序设置;你本地的 printer.json 会被 Git 忽略。

logs/ 包含打印事件和协议记录;它会被 Git 忽略。

src/crycut/ 包含 CLI、图案生成和打印机协议代码。

tests/ 包含离线测试和协议/几何参考夹具。

docs/ 包含用户指南、技术参考和支持性测量数据。

导出的项目包含:

projects/my-sheet/ design.svg # 可编辑图案,或 design.png preview.png # 带切割辅助线的图案 sheet-print.jpg # 打印机图像 sheet-cut.plt # 切割机指令 export.json # 导出设置和文件校验和

SVG 项目还包含一个中间文件 sheet-print.svg。清单是本地元数据。打印前会校验源文件和生成文件的校验和。

uv run pytest uv run ruff check . uv run ruff format --check . uv run ty check .

测试使用临时项目、模拟打印机连接和协议夹具离线运行。它们包括逐字节上传比较和导出几何检查。物理打印和切割对齐会在打印机上单独检查。

对于针对性改动,运行相关的测试文件,例如 uv run pytest tests/test_monitor_failures.py。

Linux,带支持经典蓝牙的蓝牙适配器。

系统 Python 3.11+,支持蓝牙 socket,以及 uv。

BlueZ,包括用于 setup 的 bluetoothctl 和用于连接的 sdptool。

用于 SVG 渲染的 Inkscape;PNG 设计不需要它。

关于设置、设计、校准和协议指南,参见文档索引。关于代码结构、验证步骤和参考数据,参见贡献指南。

crycut 的诞生,是为了让作者能在自己拥有的硬件上,从 Linux 打印和切割贴纸,而官方 Design Space 客户端并不支持这一平台。

分享它是为了帮助其他 Linux 用户使用他们的打印机,并了解打印机互操作性。实现和技术文档侧重于准备兼容的打印/切割数据,以及通过蓝牙与打印机通信。

这是一个独立项目,与 Cricut 无关联,也未获其认可。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →