CommunityProgramación y desarrollogithub.com

leewsimpson/claudesk

Construir o reconstruir el gabinete en Fusion 360 a partir de los scripts Python del repositorio mediante el Fusion MCP. Úsalo al cambiar la geometría o parámetros del gabinete, al añadir una característica, o cuando el modelo de Fusion falte o esté desactualizado.

¿Qué es claudesk?

Este skill permite regenerar completamente el modelo 3D del gabinete en Fusion 360 ejecutando scripts Python desde el repositorio, en lugar de editar manualmente el diseño en la interfaz gráfica. Es útil cuando se modifican parámetros de diseño (como el grosor de la pared o el ángulo de inclinación), se añaden nuevos componentes o el modelo de Fusion se ha quedado obsoleto. Está diseñado para usarse con el Fusion MCP (Model Context Protocol) desde herramientas como Claude Code o Cursor. El flujo de trabajo consiste en: tener Fusion listo con el archivo STEP de la placa importado, editar el script `enclosure.py` (parámetros en el diccionario `P` y geometría en funciones como `build_shell`), ejecutar el script de reconstrucción, y verificar el resultado con el skill `fusion-inspect`. El skill maneja la creación y eliminación de componentes, cuerpos temporales con B-Rep, y uniones/cortes booleanos, todo sin necesidad de línea de tiempo. También incluye instrucciones para cuando fallen las herramientas MCP, como conectar manualmente o forzar una captura de pantalla.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/leewsimpson/claudesk/tree/HEAD/3d-model/.claude/skills/fusion-build

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Construcción del gabinete en Fusion

Los scripts en scripts/ son la fuente de verdad. El documento de Fusion es una representación desechable de ellos. Cambia el script y reconstruye. Las ediciones manuales en la GUI de Fusion se pierden en la siguiente construcción.

Pasos

  1. Fusion listo. Ejecuta el runner a continuación con un cuerpo vacío. Si no hay un diseño activo, crea uno e importa boardmodel/ESP32-S3-Touch-AMOLED-1_75.stp en la raíz con identidad (importManager.createSTEPImportOptions + importToTarget). Listo cuando la raíz tenga la ocurrencia ESP32-S3-TOUCH-AMOLED-1_75_ASM:1.
  2. Editar. Los parámetros están en el diccionario P al principio de scripts/enclosure.py. Los valores derivados de ellos van en derived(). La geometría va en build_shell / build_cap / build_refs. Las funciones auxiliares van en scripts/wslib.py.
  3. Reconstruir con el runner. build(overrides) acepta un diccionario para experimentos rápidos, por ejemplo {'lattice': False} (una reconstrucción sin la celosía toma aproximadamente 1 s; con la malla fina v2 aproximadamente 12 s). Listo cuando imprime built in … sin traceback.
  4. Verificar usando el skill fusion-inspect. Una construcción solo está completa cuando las comprobaciones imprimen PASS y has visto una captura de pantalla.

Runner (pegar como el script del MCP)

import sys, importlib
REPO = r'C:\Github\claudesk\3d-model\scripts'  # ruta absoluta a 3d-model/scripts en tu clon
if REPO not in sys.path: sys.path.insert(0, REPO)
import wslib, enclosure, checks
for m in (wslib, enclosure, checks): importlib.reload(m)

def run(_context: str):
    enclosure.build()          # o enclosure.build({'sphere_d': 90})

El Python de Fusion almacena en caché los módulos entre ejecuciones. Mantén siempre la línea reload, o los cambios no se aplicarán.

Si faltan las herramientas mcp__fusion__*

Cuando el servidor MCP no pudo conectarse al inicio de la sesión (por ejemplo, Fusion no estaba funcionando aún), verifica que Fusion esté activo (netstat -ano | grep 27182 muestra LISTENING). Luego, pide al usuario que se reconecte con /mcp, o llama al endpoint directamente: guarda el runner en un archivo y ejecuta python scripts/fmcp.py script runner.py. Para una captura de pantalla, ejecuta python scripts/fmcp.py shot out.png [direction].

Convenciones

  • Trabaja en mm a través de wslib (P(), box(), cyl_y(), …). Solo las llamadas directas a la API ven los cm de Fusion, a través de wslib.MM.
  • Modela con B-Rep temporal (wslib.tbm() y las funciones auxiliares union/cut/intersect), luego confirma con add_bodies. Esto es rápido, no requiere línea de tiempo y funciona tanto en diseños paramétricos como directos.
  • Cada construcción elimina y recrea los componentes de nivel superior Enclosure (Shell, Cap) y Refs. Refs contiene cuerpos fantasma (PlugGhost, SpeakerGhost) para piezas de las que no tenemos CAD. Solo existen para comprobaciones de interferencia y nunca se exportan. Cuando una pieza comprada nueva afecta al ajuste, añade un fantasma para ella.
  • Marco: el STEP de la placa tal como se importó. +Y es la dirección de visualización, el frente de vidrio está en y=2.78, la boca USB-C mira hacia -X, y el escritorio está debajo de -Z, inclinado hacia atrás por base_tilt (30°) para que la pantalla mire hacia arriba al usuario (derived()['down']).
  • Los datos de la placa provienen de medir el STEP. Mide con un script y regístralos en CLAUDE.md en lugar de adivinarlos desde el PDF.
  • Deja que las excepciones se propaguen. El traceback es la única señal de fallo que devuelve el MCP.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados