关于 Nestbolt sheet nesting
Nestbolt 是面向固定板材切割的免费开源排料工具,适用于激光、CNC、等离子、水刀、布料和皮革加工。它可在浏览器、命令行或 MCP 服务中运行,导入 SVG/DXF 并按板材导出排料结果。
主要功能
- 01导入 SVG 和 DXF 几何图形
- 02在固定板材上排料
- 03设置间距、边距、库存与旋转
- 04按板材导出 SVG 和 DXF
- 05独立验证排料布局
- 06支持浏览器、命令行和 MCP
适用场景
- 01为激光或 CNC 切割排列零件
- 02在布料或皮革材料上排版纸样
- 03从 SVG 或 DXF 图纸生成分板文件
- 04让 AI Agent 导入、排料并验证零件
MCP 相关
MCP 服务向 AI Agent 提供 import_parts、nest、validate_layout、export_layout 和 estimate_sheets。它仅在工作目录或 NESTBOLT_WORKSPACE 中读写文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Nestbolt
在冻结的 v1 基准测试中,在相同的 60 秒预算下,Nestbolt 的材料用量中位数比 Deepnest、SVGnest 和 Sparrow 中表现最好者少 8.5%;在 300 秒时少 9.6%。数据来自最终一轮基准测试(使用新种子,测试 10 个留出任务)。在 60 秒时,Sparrow 仍在 56 个任务中的 8 个胜出(详情,查看全部数据)。
免费、开源的排料工具,适用于切割固定尺寸板材的用户:激光切割机、CNC 铣床、等离子切割机、水刀切割机,以及织物和皮革切割。Nestbolt 可排列零件以尽量减少材料用量。它可在浏览器中运行(不会上传任何内容)、通过命令行运行,也可作为 MCP 服务供 AI Agent 调用。
打开浏览器应用 · 下载发行版 · 连接 AI Agent
Nestbolt 与 AI Agent 可用于零件排料的其他工具(OpenNest、pyFit、Sparrow、Deepnest、SVGnest 等)的对比,涵盖接口、文件格式和板材模型:面向 AI Agent 的排料工具。
试用 v0.2.0-alpha.1 预览版,体验可编辑的 LightBurn 项目排料、引入线余量,以及对大型曲线图形的改进。现提供 Windows x64、Linux x64 和 macOS Apple silicon 工具,以及 Windows MCP 套件。其已发布下载文件检查均已通过。导入验证和共边材料利用率仍在开发中;v1.1 计划已完成 60%。稳定版 v0.1.0 仍可使用。
托管的浏览器应用运行的是来自 main 的预览构建(比 v0.2.0-alpha.1 更新)。下方的基准测试数据来自冻结的 75cbb32 构建;此预览版未与其他工具进行新的对比测试。

在一个 850 × 425 mm 的板材上,使用单个 CPU 核心,以 120 秒排入 451 个零件:四种尺寸的 DejaVu Sans Bold 字形,保留精确的贝塞尔曲线轮廓,允许旋转 90°,间距为 1 mm。29 个字母嵌入了其他字母的孔洞中,未使用的材料沿顶部保留为一块整齐的余料。该布局已通过独立验证器检查。运行 python scripts/make_showcase.py --nest 120 即可重新生成。
对比情况
最终验收测试(2026-10-13):75 个冻结的板材任务(35 个学术任务、40 个创客任务,其中 10 个未参与任何调优),时间预算相同,每种工具使用一个 CPU 核心,每个任务使用 5 个新随机种子,并由独立验证器检查每种排版。每个任务均与 Deepnest、SVGnest 和 Sparrow 中表现最佳者比较,每种工具均采用其两种设置中更好的结果。
| 预算 | Nestbolt 有效排版数 | 比最佳竞品节省的材料(中位数) | 胜出或持平 |
|---|---|---|---|
| 60 s | 375/375 | 8.5% | 48 个,共 56 个 |
| 300 s(长时间子集) | 60/60 | 9.6% | 11 个,共 11 个 |
在 60 s 预算下,Nestbolt 在 Deepnest 成功生成排版的全部 55 个任务中都比它节省材料(中位数为 9.9%),在 SVGnest 成功生成排版的全部 36 个任务中也都比它节省材料(14.4%)。Nestbolt 基于 Sparrow 构建,Sparrow 赢下了 8 个任务。其中 7 个是单板任务,Nestbolt 在生成自己的首个排版后会将任务交给 Sparrow,因此 Sparrow 在这些任务上的运行时间略长;它在这些任务上领先 0.03–2.4%。第 8 个任务(两张板)则领先 0.34%。这未达到项目自身设定的 60 秒门槛(90% 的任务胜出或持平,且没有任何任务落后超过 1%);300 秒、条带排版对等和速度门槛均已达标(状态)。

一项基准任务在 60 秒开发测试中的实际排版结果(m-mechanical-frame-inserts,种子 0,板材旋转为横向):138 个零件,全部 39 个嵌件都放入框架窗口,所有零件共占用一张 2440 × 1220 mm 板材的 56%,其余部分保持为一整块边角料。最佳竞品在此任务中占用了板材的 62%。
在 30 s 预算下,Nestbolt 在 11 个任务中的 10 个任务上达到了竞品 300 s 的结果。首次最终测试(构建版本 484ce8b)在一个任务中因错误而停止;修复已包含在 75cbb32 中,两次测试均已发布。所有测试(包括失败的测试)都记录在 BENCHMARKS.md 中;状态列出了每个门槛对应的证据。结果页面展示了每个任务的数据、工具修订版本、种子和硬件;运行 python scripts/reproduce.py --phase final --final-acceptance 会重建数据集、重新运行缺失的测试并重新生成结果。
当前可用功能
- 导入 SVG 和 DXF:直线、圆弧、椭圆、贝塞尔曲线、B 样条、块、 变换和单位,并转换为毫米。每个闭合轮廓都是一个零件; 其中的轮廓则是其孔洞。选择切割图层、识别板材轮廓, 并检查修复项和不支持的几何图形。请参阅导入选项 和加工文件验证。
- LightBurn 项目(
.lbrn2和旧版.lbrn):将组作为刚性单元嵌套, 并为每张板材导出可编辑的.lbrn2,保留原始图稿、文本、 图像和图层设置。工具形状和禁用输出的形状会保持固定。较旧的文本可能需要 单独进行原生保存,才能嵌入其轮廓;混合的活动/固定组在嵌套前需要重新分组。 导入消息会说明缓存文本、边界矩形和缺失的曲线控制点。请参阅LightBurn 准备工作。 - 在固定板材上嵌套:设置边距、零件间距和边缘间距,使用多张板材、多种 有数量限制的板材尺寸、缺陷、余料轮廓,以及旋转(自由、按步进或指定 列表,例如适用于织物纹理方向的 0/180)和镜像。小零件可以放入较大零件的孔洞中。 最后一张板材会向一端压缩,以便余料仍可使用。
- 导出:根据原始曲线为每张板材导出一个 SVG 和一个 DXF,进行变换而非
重新多边形化。LightBurn 项目使用保留内容的
.lbrn2输出。 导出保真度检查记录了经过测试的文件和容差。 - 引入线预留:为引入线预留空间并设置轮廓起点,同时明确报告缩短的引入线和未解决的轮廓。红色 LEADIN 路径 是供检查的参考线;实际引入线由切割程序生成。导入的 LightBurn 项目会保留其可编辑内容,并另外生成 SVG/DXF 切割文件。请参阅引入线设置和 CAM 设置。
- 共边切割,可选且仍在开发中:识别带割缝补偿的共用直线切口。 这可以缩短切割距离,但会增加材料用量;两个开发任务超出了计划的材料 限额。导出后需要进行 CAM 准备,以避免重复切割共用部分。 请参阅共边设置和限制。
- 使用独立的 Clipper2 验证器检查每个结果(重叠、 间距、包含关系、旋转、数量)。绝不会返回无效布局。
- 浏览器应用(
web/):同一引擎通过 Web Workers 编译为 WebAssembly,自动选择工作线程,实时查看最佳布局,项目 可保存在浏览器中或打包为 ZIP,并提供五个一键示例。文件不会离开 计算机。可选的 快速初始布局 设置有助于快速启动大型 任务。当前的浏览器检查和原生版本对比记录在 状态中。 - MCP 服务提供
import_parts、nest、validate_layout、export_layout和estimate_sheets,并已使用 Claude Code 测试。其预算结果可重复: 在相同构建版本、输入、工作预算和种子的情况下,会得到相同布局,除非达到实时 限制;若达到限制,会明确报告。请参阅 Agent 接口。
该引擎基于 Jeroen Gardeyn 及其合作者开发的 jagua-rs 和 sparrow 构建(arXiv 2509.13329)。固定板材搜索会将 最后几张板材首尾相连,作为一条带围墙的长条进行排布,并通过移植 Sparrow 的分隔器来缩小最后一张板材; 零件会在板材之间移动,空板材则会消失。对于盒体面板等近似矩形的零件,也会先进行 包围矩形排布。对于一张不含孔洞零件且没有缺陷的板材,问题与 Sparrow 自身的条带排样问题完全相同;Sparrow 在该领域处于最先进水平,因此在这种情况下, Nestbolt 会在剩余预算内运行未经修改的 Sparrow。
快速开始
使用浏览器应用,无需安装任何内容;也可以从 v0.2.0-alpha.1 预览版或稳定版 v0.1.0下载适用于 Windows x64、Linux x64 或 macOS Apple silicon 的原生工具。每个压缩包都包含 nestbolt、nestbolt-mcp 和许可证;下载校验和随包提供。单独的 Windows MCPB 安装包会在 Claude Desktop 中安装服务;请参阅Agent 设置。
要构建开发版本,请通过 rustup 安装 Rust(此仓库指定使用 Rust 1.98.1):
cargo build --release -p nestbolt-cli -p nestbolt-mcp
导入部件,嵌套 30 秒,然后获取每张板材对应的 SVG/DXF 文件(examples/box-99x63x45.svg 是浏览器应用中的示例盒子):
target/release/nestbolt import examples/parts.svg --output library.json
target/release/nestbolt nest --library library.json --request examples/nest-request.json --out-dir run --seconds 30
对于间隙较大的图纸,import --close-gaps 0.05 会显式修复最大 0.05 mm 的间隙,并报告每处修复的位置和大小。此选项默认关闭;静默合并限制仍为 0.005 mm。UI 和 MCP 提供相同选项。请参阅导入选项和报告。
浏览器、请求 JSON 和 nest --lead-in --kerf ... 均支持引线预留和轮廓起点;请参阅设置和 LightBurn 配置。
请求中会列出带数量的部件库部件和以毫米为单位的板材:
{
"parts": [{"id": "parts-1", "quantity": 4}, {"id": "parts-2", "quantity": 12, "rotations": {"kind": "free"}}],
"sheets": [{"width_mm": 600, "height_mm": 400, "margins_mm": {"left": 5, "right": 5, "bottom": 5, "top": 5}}],
"spacing_mm": 1.0,
"edge_spacing_mm": 1.0
}
随后,run/ 中会生成 layout.json、report.json 和 sheet-0.svg/sheet-0.dxf 等文件。不会覆盖现有文件。nestbolt export 可重新导出布局;nestbolt validate 可检查多边形作业和布局。为 nestbolt nest 或 nestbolt sheets 添加 --repeatable,即可使用确定性的工作预算,而非墙钟时间:相同的输入、预算和种子会得到相同布局。如果机器速度远低于参考 PC,--time-limit <seconds> 可为相同工作分配更多实际时间(默认值为 --seconds)。
可选的 --quick-start 设置会先尝试一个保守的初始排布,再对其进行优化。此选项默认关闭,且可能使用更多材料。浏览器中此功能在 Advanced 下称为 快速初始布局;请求 JSON 和 MCP 使用 "quick_start": true。原始几何形状、间距、板材限制和旋转权限仍然适用。不支持的板材或角度规则会使用普通构造器。
文件格式详见 JSON Schema。
浏览器应用
打开托管应用,选择一个示例(指接盒、字母套字母、含 138 个部件的机械套件、布卷上的 FreeSewing T 恤纸样、互锁齿轮),或拖入自己的 SVG/DXF 文件。LightBurn 导入、引线余量和较新的大型图纸功能均可在托管预览版和本地构建版本中使用。 搜索运行期间会持续绘制目前为止的最佳布局;每张板材都会显示部件周围的边框,以及其上方剩余的无障碍边角料。 指南:激光切割免费排样、Nestbolt 与 Deepnest 和 SVGnest 对比、在浏览器中排样 SVG 和 DXF以及五个示例。

要在本地构建,需要 wasm32-unknown-unknown 目标、wasm-bindgen-cli
0.2.129 和 Node.js 24;然后打开打印出的地址:
cd web && npm ci && cd ..
python scripts/build_web.py
npm --prefix web run preview
python scripts/build_web.py --test 还会在 Chromium
和 Firefox 中运行 Playwright 测试。
从 Agent 中使用
使用绝对路径注册 MCP 服务,例如在 Claude Code 中:
claude mcp add --transport stdio --scope local nestbolt -- /path/to/target/release/nestbolt-mcp
服务只会在其工作目录(或
NESTBOLT_WORKSPACE)中读取和写入内容。docs/AGENT_INTERFACE.md 介绍了
Claude Code、Codex 和 Claude Desktop、请求格式及相关规则。
开发
python scripts/check.py
python scripts/sheets_batch.py --cpu 0 --cpu 2 --seconds 60
第一条命令会运行格式检查、lint、所有 Rust 和 Python 测试、WebAssembly 构建、
声明和数据集检查;添加 --web 可运行浏览器构建和测试。第二条命令会运行开发基准测试(不包括保留
任务),并在 benchmarks/results/ 下生成经过审计的报告。
| 路径 | 用途 |
|---|---|
crates/core | 几何图形导入/导出、板材搜索、分割、零件内嵌 |
crates/cli | 命令行界面 |
crates/mcp | 原生 stdio MCP 服务 |
crates/validator | 独立的 Clipper2 检查器和材料评分 |
crates/wasm | 浏览器应用的 WebAssembly 边界 |
web | 浏览器应用(Preact、Vite)及其 Playwright 测试 |
benchmarks | 冻结数据集、竞品运行器和所有结果 |
docs/PLAN.md | 原始 v1 计划和验收门槛 |
docs/PLAN_V1_1.md | 当前的工坊文件和切割功能计划 |
docs/STATUS.md | 里程碑证据和后续步骤 |
每次基准测试运行(包括失败的运行)都会记录在 BENCHMARKS.md 中。
同类工具
Nestbolt 属于同一作者为 Agent 开发的一系列免费、采用 MIT 许可证的工具。这些工具在本地作为 MCP 服务运行:
- Anode:隐藏的 Windows 桌面后台环境,Agent 可在其中自动化和测试 GUI 应用、截图并运行有头浏览器测试,而不会接管用户的屏幕。
- Pixelbolt:通过可编辑的 JSON 配方制作像素艺术和精灵动画, 并导出为精灵表、图集、动画 PNG 和 GIF。
- Cutbolt:具备精确时间轴、字幕和渲染功能的视频编辑引擎。
- Inkbolt:用于图表和插图的矢量及栅格图像编辑工具, 支持导入 SVG,以及导出 SVG 和 PDF。
进度和许可证
进度仅统计已完成的里程碑;请参阅 docs/STATUS.md。
Nestbolt 采用 MIT 许可证。jagua-rs 是未经修改的 MPL-2.0 依赖项;crates/core/src/separate.rs 中的
分割器改编自 Sparrow(MIT)。
THIRD_PARTY_NOTICES 记录了每项依赖及其许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。