通过HTTP API、MCP(Claude等AI客户端)和CLI使用NexyFab设计流水线(文本→2D图纸→3D一级→二级→零件级修改)。AI仅负责理解;几何生成和验证(词汇、干涉、支撑、结构门)由确定性引擎执行。所有输出均为非法定(制造用施工图+审查计算书);提交审批的文件需由持证工程师签署。
在下方立即创建密钥、查看密钥列表并即时撤销。服务器仅存储密钥的sha256哈希和显示用前缀;明文密钥仅在创建时显示一次 — 请务必保存在安全的地方(密码管理器或CI机密)。如果丢失,请签发新密钥并撤销旧密钥。
核心端点(均为POST·JSON)。将响应的assembly对象直接传递给下一次调用以继续编辑链;每次编辑都会自动累积REV历史。
| Endpoint | 功能 |
|---|---|
| /api/nexyfab/drawing/assemble | 文本 → 多部件装配(含门和一级草稿) |
| /api/nexyfab/drawing/compose | 文本 → 单个零件 |
| /api/nexyfab/drawing/edit-part | 🎯 仅AI编辑一个零件 |
| /api/nexyfab/drawing/face-drag | 面推拉/设置尺寸(确定性) |
| /api/nexyfab/drawing/part-op | 复制·删除·平移·圆角 |
| /api/nexyfab/drawing/export-step | B-rep STEP导出 |
| /api/nexyfab/drawing/package | 交付物包 |
# Common: send the nf_live_ key as a Bearer token. Responses use {"ok":true, "assembly":{…}, …}.
KEY=nf_live_XXXX ; BASE=https://nexyfab.com/api/nexyfab/drawing
# 1) Create { description } -> { ok, assembly, openscad?, parts?, interferences?, gateErrors? }
curl -s "$BASE/assemble/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"description":"two cylindrical columns, diameter 200 and height 400, on a 1000x800x20 base plate"}' > r1.json
# 2) AI-edit one part { assembly, partId, instruction } -> { ok, assembly, patch, note, interferences, massKg }
curl -s "$BASE/edit-part/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d "{\"assembly\": $(jq .assembly r1.json), \"partId\":\"column_1\", \"instruction\":\"set height to 600\"}"
# 3) Set face dimensions directly (deterministic · no AI) face: x±/y±/z± (box) · axis±/radial (revolved)
curl -s "$BASE/face-drag/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"assembly": {…}, "partId":"column_1", "face":"axis+", "targetMm":600}'
# 4) Batch part operations (deterministic) op: delete|duplicate|translate|fillet · partIds[] · opts
curl -s "$BASE/part-op/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"assembly": {…}, "op":"duplicate", "partIds":["column_1"], "opts":{"offset":[300,0,0]}}'
# 5) Deliverable document set { assembly, options? } -> { ok, files, structural, interferences, welds }
curl -s "$BASE/package/" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"assembly": {…}, "options":{"title":"column assembly","withStep":true}}'工程计算API(梁、焊接、螺栓等)单独门控,返回公式和中间值;使用与几何API相同的Bearer密钥。
零依赖的单文件远程 MCP 服务器可在 Node 18 及更高版本上运行,并在 tools/list 中准确公开 15 个工具:design_assembly · compose_part · edit_part · face_drag · part_op · domain_design · analyze_fea · reconstruct_verify · reconstruct_fleet · code_check · verify_domain · interior_check · landscape_check · bridge_check · load_path。部分验证工具无需密钥;生成/编辑、FEA 和逆向工程工具需要 Pro API 密钥。仓库中的本地 MCP(scripts/drawing-to-3d/mcp-server.mjs)是独立的产品界面,公开 92 个工具,其中包含仅本地和仅远程操作;请以各服务器的 tools/list 作为名称和架构的权威来源。
# 1) Download the MCP server
curl -sL https://nexyfab.com/downloads/nexyfab-mcp.mjs -o ~/nexyfab-mcp.mjs
# 2) Register with Claude Code (issue the API key in panel 0 above; absolute path required)
claude mcp add nexyfab -e NEXYFAB_API_KEY=nf_live_XXXX -- node /absolute/path/nexyfab-mcp.mjs
# 3) Verify registration
claude mcp list
# 4) Then ask Claude in natural language:
# "Build an assembly with two columns on a 1000x800 base using nexyfab, then set column_1 height to 600"⚠ -e形式虽然方便,但密钥会留在shell历史中。在公用设备上,注册后请清除历史或轮换密钥(可在上方面板0中立即撤销并重新签发)。如果注册失败,请先怀疑路径——某些环境不展开~。
对于Claude Desktop,在claude_desktop_config.json的mcpServers下添加相同内容:{"command":"node","args":["/absolute/path/nexyfab-mcp.mjs"],"env":{"NEXYFAB_API_KEY":"nf_live_XXXX"}}。
四项新硬能力(与网页一致):analyze_fea(快速FEA — 仅结构线性静力,基于scad+材料+载荷;热/模态/热弹性不可通过此工具)· reconstruct_verify(验证逆向工程 — STL/STEP/DWG/SAT与重建门在bbox/genus/watertight上对比)· reconstruct_fleet(AI重建舰队 — 多模型参数化SCAD,Pro+预算)· code_check(代码检查/审计 — 引用公开法规条款给出PASS/FAIL/NA)。前三个仅远程(需要NEXYFAB_API_KEY — 使用托管的OpenSCAD/gmsh/OCCT/LLM;无密钥明确拒绝);code_check本地离线运行(纯确定性规则集)。全部非法定(工程级筛选/确定性审查辅助 — 详细分析和法定审查仍由持证专业人员负责)。
五个学科验证链(与网页一致·公共路由 — 无需API密钥即可工作):verify_domain(5个学科的工程计算器 — 从几何推导截面/跨度 + 用户载荷/材料,附引用条款)· interior_check(疏散步行距离BFS + 容纳人数 + 饰面数量)· landscape_check(木构件 + 风荷载倾覆)· bridge_check(梁/拱/桁架/斜拉/悬索/楼梯自动分派)· load_path(板→梁→柱→基础荷载路径)。全部确定性 — 绝不捏造载荷(缺失时返回needInputs)。非法定(持证工程师/建筑师仍负责)。
仓库中的scripts/drawing-to-3d/cli.mjs在命令行提供与MCP相同的工具界面(拥有仓库时运行本地引擎)。设置NEXYFAB_API_KEY后,5个生成/编辑工具将调用托管API(远程模式)。管道输出为纯JSON;终端会附加摘要行。
cd scripts/drawing-to-3d # local engine when the repository is available
export NEXYFAB_API_KEY=nf_live_XXXX # with a key, five create/edit commands use hosted API; unset = local
node cli.mjs assemble "two columns on a 1000x800x20 base plate" --out asm.json # text → assembly
node cli.mjs build asm.json # deterministic rebuild and gate summary
node cli.mjs edit-part asm.json column_1 "set height to 600" --out asm.json # AI part edit
node cli.mjs face-drag asm.json column_1 --face axis+ --target 600 --out asm.json # face dimension (deterministic)
node cli.mjs part-op asm.json --op duplicate --ids column_1 --offset 300,0,0 --out asm.json
node cli.mjs step asm.json --out model.step # B-rep STEP export
node cli.mjs preview asm.json --out ./png --views iso,side,top # headless render → PNG
node cli.mjs package asm.json --out ./docs --step # GA · parts · BOQ · spec · DXF · STEP
node cli.mjs domain civil "retaining wall H=3m length 200m" --out pkg.json # multi-domain (remote only — key required)
node cli.mjs templates bridge # list domain templates
node cli.mjs fea asm.json --load 500 --material steel # quick FEA (remote — hosted OpenSCAD/gmsh)
node cli.mjs reconstruct part.stl # verified reverse engineering (remote — reconstruction gate)
node cli.mjs fleet part.stl # AI reconstruction fleet (remote + Pro/budget)
node cli.mjs codecheck features.json # code-check/audit 41 rules (local/offline/keyless)
node cli.mjs interior asm.json # interior egress/finishes chain (local)
node cli.mjs landscape asm.json # landscape timber/wind-load (local)
node cli.mjs bridge asm.json # bridge review (meta auto-dispatch/local)
node cli.mjs loadpath asm.json # building load-path chain (local) | --list use table
node cli.mjs list # list all tools and commands管道输出为纯JSON(机器可解析);终端会附加通过/拒绝摘要行(使用--raw强制纯输出)。额外命令(loft、constraints、dossier、domain)在cli.mjs头部注释和list输出中有文档说明。
AI生成调用遵循计划槽位和每日成本预算(确定性face-drag/part-op不消耗槽位)。当门拒绝时,我们返回422并附原因,而不是静默更改几何。