2026年9月11日
Spoolman 与 3D Print Pricing:耗材追踪功能对比
一旦打印农场的耗材线轴数量超过几卷、并开始接付费订单,同一个问题就会反复出现:到底该用 Spoolman,还是用 3D Print Pricing 内置的仓库?这个问题问得有道理——两者都号称能追踪耗材,看起来似乎只需要用一个就够了。但实际上它们解决的是不同层面的问题,在我们的 Home Assistant 和 Moonraker 集成里,这两个工具本来就是并存运行的,而不是互相取代。
Spoolman 能做什么
Spoolman 是一个免费、开源的线轴数据库,需要自己搭建(Docker、Raspberry Pi 或任意服务器)。它会以克为单位追踪每一卷线轴上实际剩余的物理重量,并在打印过程中通过 Moonraker(Klipper)、OctoPrint 或其他调用其 API 的数据源实时更新。Spoolman 本身并不连接打印机,也不会打印任何东西——它只是一个数据库,等着固件或切片软件告诉它某次打印用掉了多少克耗材。
开箱即用的功能包括:线轴清单及剩余重量、线轴上的 QR/NFC 标签、单卷线轴的使用历史、多打印机支持,以及被翻译成十几种语言的网页客户端。它不做(也不打算做)的事情是:计算打印成本、把耗材用量关联到具体客户订单、追踪采购批次,或者处理税务和收款。
3D Print Pricing 的仓库能做什么
3D Print Pricing 里的仓库解决的是一个相关但不同的问题——它关心的不是这卷线轴上物理还剩多少克,而是我手头有多少塑料、这些塑料值多少钱,用来给订单定价。批次对应一次进货(一次买入多卷线轴,附带价格),塑料移动是进货和出库合并在一起的单一流水记录,还可以撤销某次核销;核销会关联到具体订单,直接计入这次打印的成本核算。如果你的库存记录不是从零开始,还可以用一份 Excel 文件直接导入。
这里的数据来源本质上是不同的:3D Print Pricing 里发生一次核销,不是因为打印机上报了实际挤出的克数,而是因为某个订单被标记为已完成状态——这是业务层面的库存和成本核算,而不是对线轴实际重量的实时测量。
两者的重叠与差异
| Spoolman | 3D Print Pricing 仓库 | |
|---|---|---|
| 追踪对象 | 具体某卷线轴的物理剩余重量 | 用于定价的塑料库存和成本 |
| 数据来源 | 打印机固件或切片软件(实际用量) | 订单状态(打印完成时核销) |
| 是否需要自建服务器 | 需要——自行部署 | 不需要——云端 |
| 成本与订单 | 不计算 | 内置于计算器中 |
| 线轴上的 QR/NFC | 支持 | 不支持 |
| 采购批次、Excel 导入 | 不支持 | 支持 |
什么时候两者都需要
如果你用的是 Klipper 打印机,或者把 Home Assistant 当作自动化中枢,分工大致是这样的:Spoolman 负责物理层面——现在装的是哪卷线轴、还剩多少;而 3D Print Pricing 负责业务层面——这卷线轴花了多少钱、被核销给了哪些订单、又是如何计入销货成本的。在我们的 Home Assistant 集成里,这实际上是两次独立的二维码扫描:一次扫订单(读取材料、颜色、重量、交付日期),另一次通过 Spoolman 扫线轴(检查剩余库存)。3D Print Pricing 完全不参与把某卷具体线轴分配给某台打印机这件事——那是 Home Assistant 和 Spoolman 的逻辑;我们只负责传递和接收订单状态。
如果你只是自己打印,没有客户订单,也不需要计算成本,那么 Spoolman 就足以完全覆盖线轴追踪的需求,根本用不上 3D Print Pricing 的仓库。反过来,如果你需要给订单定价、核算成本,但打印机不是 Klipper、也没有部署 Home Assistant,那么 Spoolman 就显得多余了,光靠 3D Print Pricing 的仓库就足够管理库存和采购批次。
结论
这两个工具不是竞争关系,而是各自负责不同层面:Spoolman 关心的是物理线轴和打印机固件,3D Print Pricing 的仓库关心的是资金、批次和订单。同时使用 Klipper 或 Home Assistant、又要处理客户订单的店铺,通常会发现两者一起用最省心——Spoolman 负责打印这一侧,仓库负责定价和核算这一侧。如果还没有搭建 Home Assistant,想直接通过 Moonraker 来对接,可以参考 Moonraker 文档。