Utilice el pipeline de diseño NexyFab (texto→2D→3D LOD→ediciones por pieza) vía HTTP API, MCP (Claude y otros clientes de IA) y CLI. La IA solo interpreta; la geometría y la verificación (vocabulario, interferencia, soporte, compuertas estructurales) se ejecutan en un motor determinista. Todas las salidas son no estatutarias.
Cree una clave, vea sus claves y revoque al instante a continuación. El servidor almacena solo un hash sha256 + un prefijo corto de visualización; la clave en texto plano se muestra exactamente una vez en la creación — guárdela en un administrador de contraseñas o secreto de CI. Si se pierde, emita una nueva clave y revoque la anterior.
Endpoints principales (todos POST · JSON). Pase el objeto assembly de la respuesta a la siguiente llamada para encadenar ediciones; un historial REV se acumula automáticamente.
| Endpoint | Qué hace |
|---|---|
| /api/nexyfab/drawing/assemble | Texto → ensamblaje multipieza (+borrador LOD) |
| /api/nexyfab/drawing/compose | Texto → pieza única |
| /api/nexyfab/drawing/edit-part | 🎯 Editar solo una pieza con IA |
| /api/nexyfab/drawing/face-drag | Empujar-tirar de cara / establecer dimensión (determinista) |
| /api/nexyfab/drawing/part-op | duplicar · eliminar · trasladar · filete |
| /api/nexyfab/drawing/export-step | Exportación STEP B-rep |
| /api/nexyfab/drawing/package | Paquete de entregables |
# 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}}'La API de cálculo de ingeniería (vigas, soldaduras, pernos, etc.) está separadamente controlada y devuelve fórmulas/valores intermedios; utiliza la misma clave Bearer que la API de geometría.
El servidor MCP remoto de un solo archivo y sin dependencias funciona con Node 18 o posterior y expone exactamente 15 herramientas en 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. Algunas herramientas de verificación funcionan sin clave; las herramientas de generación/edición, FEA e ingeniería inversa requieren una clave API Pro. El MCP local del repositorio (scripts/drawing-to-3d/mcp-server.mjs) es una superficie de producto independiente que expone 92 herramientas, con operaciones solo locales y solo remotas; use el tools/list de cada servidor como referencia oficial de nombres y esquemas.
# 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"⚠ La forma -e es conveniente pero deja la clave en el historial del shell. En máquinas compartidas, borre el historial después de registrarse o rote la clave (revóquela y vuelva a emitirla al instante en el panel 0 anterior). Si el registro falla, sospeche primero de la ruta — ~ no se expande en algunos entornos.
Para Claude Desktop, agregue lo mismo bajo mcpServers en claude_desktop_config.json: {"command":"node","args":["/absolute/path/nexyfab-mcp.mjs"],"env":{"NEXYFAB_API_KEY":"nf_live_XXXX"}}.
Cuatro nuevas capacidades duras (paridad con la web): analyze_fea (FEA rápido — solo estático lineal estructural a partir de scad+material+carga; térmico/modal/termoelástico NO disponibles a través de esta herramienta) · reconstruct_verify (ingeniería inversa verificada — STL/STEP/DWG/SAT contra una puerta de reconstrucción en bbox/genus/hermeticidad) · reconstruct_fleet (flota de reconstrucción IA — SCAD paramétrico multimodelo, Pro + presupuesto) · code_check (verificación de código/auditoría citando PASS/FAIL/NA contra estatutos públicos). Los primeros tres son SOLO remotos (necesitan NEXYFAB_API_KEY — OpenSCAD/gmsh/OCCT/LLM alojados; rechazo explícito sin clave); code_check se ejecuta LOCALMENTE sin conexión (conjunto de reglas puramente determinista). Todos no estatutarios (evaluación de grado de ingeniería / ayuda de revisión determinista — el análisis detallado y la revisión estatutaria siguen siendo deber de un profesional con licencia).
Cinco cadenas de verificación por disciplina (paridad con la web · rutas públicas — funcionan sin clave API): verify_domain (calculadoras de ingeniería en 5 disciplinas — sección/vanos derivados de la geometría + cargas/materiales del usuario, con cláusulas citadas) · interior_check (recorrido de evacuación BFS + ocupación + acabados) · landscape_check (miembros de madera + vuelco por viento) · bridge_check (despacho automático de viga/arco/cercha/atirantado/colgante/escalera) · load_path (losa->viga->columna->cimiento). Todo determinista — nunca inventar cargas (needInputs cuando faltan). No estatutario (un ingeniero/arquitecto con licencia sigue siendo responsable).
scripts/drawing-to-3d/cli.mjs ofrece la misma superficie de herramientas en la línea de comandos (motor local cuando tiene el repositorio). Con NEXYFAB_API_KEY configurado, las 5 herramientas de generación/edición llaman a la API alojada (modo remoto). Salida por tubería = JSON puro; TTY agrega una línea de resumen.
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 commandsLa salida por tubería es JSON puro (analizable por máquina); una TTY agrega una línea de resumen de aprobación/rechazo (fuerce puro con --raw). Los comandos adicionales (loft, constraints, dossier, domain) están documentados en el encabezado de cli.mjs y en la salida de list.
Las llamadas de generación de IA siguen los espacios del plan y los presupuestos de costo diario (face-drag/part-op deterministas no consumen espacios). Cuando una puerta rechaza, devolvemos 422 con la razón en lugar de alterar silenciosamente la geometría.