
开发者推出Linux命令行工具Crycut,可蓝牙直连Cricut StickerPix打印贴纸
来源标题:Show HN: Linux CLI for Cricut StickerPix
一个名为Crycut的Python命令行工具可在Linux上通过蓝牙直接向Cricut StickerPix打印机发送贴纸设计,全程本地运行,无需Cricut账号或Design Space。用户可创建设计、生成图像与切割轮廓,并在终端查看打印进度,需Python 3.11+、BlueZ及Inkscape等环境。
以下正文由 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 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。