NexyFab
AI Precision CAD for Manufacturing — from messy inputs to review-ready precision CAD
NexysysNexyFlowNexyWise
Terms of UsePrivacy PolicySecurity Policy (NDA)Customer Operation PolicyPartner Operation PolicyRefund Policy
Nexysys Lab Co., Ltd.
CEO: Kim Yeon Je | Business Reg. No.: 606-87-03602
20, Dasansunhwan-ro, Namyangju-si, Gyeonggi-do, Republic of Korea
Contact: nexyfab@nexysys.com
© 2026 Nexysys Lab Co., Ltd. All rights reserved.
Project information is managed only for internal review purposes and is not disclosed externally.
NexyFab
AI Design Studio
3D LibraryTestManufacturer DBPricing
Sign In
Features
AI Design AgentAvailable

Analyzes requirements and organizes the questions that must be answered.

2D Drawing → Precision CADAvailable

Reads PDF or DXF, confirms dimensions, then connects to 3D and STEP.

Image → Precision CADBeta

Uses photos as shape hints and asks for critical dimensions.

Precision CAD DesignAvailable

Edit in the professional CAD workspace while preserving features and dimensions.

Agentic Precision CADBeta

Plan, generate, inspect, and revise with revision-bound operations.

Review-Ready HandoffAvailable

Binds GA, STEP, sources, and review evidence to one revision.

AI Design Studio3D LibraryTestManufacturer DBPricing
Sign In
NNexyFab
+New design
Workspace
AI Design
Precision CAD
Engineering Workflow
Projects
My Projects
Examples & Templates
NEXYFAB LABS
Space DesignLABS

Developers — API · CLI · MCP

Use the NexyFab design pipeline (text→2D→3D LOD→per-part edits) via HTTP API, MCP (Claude and other AI clients), and CLI. AI only interprets; geometry and verification (vocabulary, interference, support, structural gates) run on a deterministic engine. All outputs are non-statutory.

🔑 Issue API keys yourself in the panel below (Pro plan or higher — no manual request). Keys start with nf_live_ and are sent as Authorization: Bearer. Unauthenticated calls fall under guest rate limits (10/min combined).

0. Issue an API key (self-serve)

Create a key, view your keys, and revoke instantly below. The server stores only a sha256 hash + a short display prefix; the plaintext key is shown exactly once at creation — save it in a password manager or CI secret. If lost, issue a new key and revoke the old one.

Loading…

1. HTTP API

Core endpoints (POST · JSON). Pass the returned assembly into the next call to chain edits; a REV history accumulates automatically.

EndpointWhat it does
/api/nexyfab/drawing/assembleText → multi-part assembly (+LOD draft)
/api/nexyfab/drawing/composeText → single part
/api/nexyfab/drawing/edit-partAI-edit one part only
/api/nexyfab/drawing/face-dragFace push-pull / set dimension (deterministic)
/api/nexyfab/drawing/part-opduplicate · delete · translate · fillet
/api/nexyfab/drawing/export-stepB-rep STEP export
/api/nexyfab/drawing/packageDeliverable 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}}'

The engineering-calc API (beams, welds, bolts, …) is separately gated and returns formulas/intermediate values; it uses the same Bearer key as the geometry API.

2. MCP (Claude Code · Claude Desktop etc.)

The zero-dependency single-file remote MCP server runs on Node 18+ and exposes exactly 15 tools in tools/list: 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. Some verification tools are keyless; generation/editing, FEA, and reverse-engineering tools require a Pro API key. The repository local MCP (scripts/drawing-to-3d/mcp-server.mjs) is a separate product surface exposing 92 tools, with a mix of local-only and remote-only operations; use each server's tools/list as the authority for names and schemas.

⬇ nexyfab-mcp.mjs download

# 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"

⚠ The -e form is convenient but leaves the key in your shell history. On shared machines, clear the history after registering or rotate the key (revoke and re-issue instantly in panel 0 above). If registration fails, suspect the path first — ~ is not expanded in some environments.

For Claude Desktop, add the same under mcpServers in claude_desktop_config.json: {"command":"node","args":["/absolute/path/nexyfab-mcp.mjs"],"env":{"NEXYFAB_API_KEY":"nf_live_XXXX"}}.

Four new hard capabilities (parity with the web): analyze_fea (quick FEA — structural/linear-static only from scad+material+load; thermal/modal/thermo-elastic are NOT available through this tool) · reconstruct_verify (verified reverse-engineering — STL/STEP/DWG/SAT vs a reconstruction gate on bbox/genus/watertight) · reconstruct_fleet (AI reconstruction fleet — multi-model parametric SCAD, Pro + budget) · code_check (code-check/audit citing PASS/FAIL/NA against public statutes). The first three are REMOTE-only (need NEXYFAB_API_KEY — hosted OpenSCAD/gmsh/OCCT/LLM; explicit refusal without a key); code_check runs LOCALLY offline (pure deterministic ruleset). All non-statutory (engineering-grade screening / deterministic review aid — detailed analysis and statutory review remain a licensed professional duty).

Five discipline-verification chains (parity with the web · public routes — work without an API key): verify_domain (engineering calculators across 5 disciplines — section/span derived from geometry + user loads/materials, with cited clauses) · interior_check (egress travel BFS + occupancy + finishes) · landscape_check (timber members + wind overturning) · bridge_check (girder/arch/truss/cable-stayed/suspension/stair auto-dispatch) · load_path (slab->beam->column->footing). All deterministic — never fabricate loads (needInputs when missing). Non-statutory (a licensed engineer/architect remains responsible).

3. CLI

scripts/drawing-to-3d/cli.mjs offers the same tool surface on the command line (local engine when you have the repo). With NEXYFAB_API_KEY set, the 5 generation/edit tools call the hosted API (remote mode). Piped = pure JSON; TTY adds a summary line.

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

Piped output is pure JSON (machine-parseable); a TTY adds a pass/reject summary line (force pure with --raw). Extra commands (loft, constraints, dossier, domain) are documented in the cli.mjs header and list output.

Limits & honesty

AI-generation calls follow plan slots and daily cost budgets (deterministic face-drag/part-op consume no slots). When a gate rejects, we return 422 with the reason instead of silently altering geometry.