leewsimpson/claudesk

Construire ou reconstruire le boîtier dans Fusion 360 à partir des scripts Python du dépôt via le MCP Fusion. À utiliser lors de modifications de la géométrie ou des paramètres du boîtier, de l'ajout d'une fonctionnalité, ou lorsque le modèle Fusion est manquant ou obsolète.

Qu'est-ce que claudesk ?

Cette compétence permet de construire ou reconstruire le boîtier d'un projet directement dans Fusion 360 à l'aide de scripts Python versionnés dans le dépôt. Les scripts sont la source de vérité unique ; toute modification manuelle dans l'interface graphique de Fusion est perdue lors de la reconstruction suivante. La compétence s'appuie sur le serveur MCP Fusion, en exécutant un runner Python qui charge les modules du dépôt, applique les paramètres (définis dans un dictionnaire `P`), exécute les géométries via des helpers B-Rep temporaires, et commit les corps résultants. Elle prend en charge la vérification via l'outil 'fusion-inspect' et propose des options de débogage comme la reconstruction partielle (ex. sans treillis) pour des cycles rapides. Elle est principalement destinée aux développeurs travaillant avec Fusion 360 et un dépôt claudesk.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Construction du boîtier dans Fusion

Les scripts dans scripts/ sont la source de vérité. Le document Fusion n'est qu'un rendu jetable de ceux-ci. Modifiez le script et reconstruisez. Les modifications manuelles dans l'interface graphique de Fusion sont perdues lors de la construction suivante.

Étapes

  1. Fusion prêt. Exécutez le runner ci-dessous avec un corps vide. S'il n'y a pas de design actif, créez-en un et importez boardmodel/ESP32-S3-Touch-AMOLED-1_75.stp dans la racine à l'identité (importManager.createSTEPImportOptions + importToTarget). Terminé lorsque la racine contient l'occurrence ESP32-S3-TOUCH-AMOLED-1_75_ASM:1.
  2. Modifier. Les paramètres se trouvent dans le dictionnaire P en haut de scripts/enclosure.py. Les valeurs dérivées sont dans derived(). La géométrie se trouve dans build_shell / build_cap / build_refs. Les helpers sont dans scripts/wslib.py.
  3. Reconstruire avec le runner. build(overrides) accepte un dictionnaire pour des expériences rapides, par ex. {'lattice': False} (une reconstruction sans treillis prend environ 1 s ; avec le treillis fin v2 environ 12 s). Terminé lorsqu'il affiche built in … sans traceback.
  4. Vérifier à l'aide de la compétence fusion-inspect. Une construction n'est terminée que lorsque les vérifications affichent PASS et que vous avez regardé une capture d'écran.

Runner (à coller comme script MCP)

import sys, importlib
REPO = r'C:\Github\claudesk\3d-model\scripts'  # chemin absolu vers 3d-model/scripts dans votre clone
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()          # ou enclosure.build({'sphere_d': 90})

Le Python de Fusion met en cache les modules entre les exécutions. Conservez toujours la ligne reload, sinon les modifications ne prendront pas effet.

Si les outils mcp__fusion__* sont manquants

Lorsque le serveur MCP n'a pas pu se connecter au démarrage de la session (par ex. Fusion n'était pas encore lancé), vérifiez que Fusion est en cours d'exécution (netstat -ano | grep 27182 affiche LISTENING). Demandez ensuite à l'utilisateur de se reconnecter avec /mcp, ou appelez directement le point de terminaison : enregistrez le runner dans un fichier et exécutez python scripts/fmcp.py script runner.py. Pour une capture d'écran, exécutez python scripts/fmcp.py shot out.png [direction].

Conventions

  • Travaillez en mm via wslib (P(), box(), cyl_y(), …). Seuls les appels API bruts voient les cm de Fusion, via wslib.MM.
  • Modélisez avec B-Rep temporaire (wslib.tbm() et les helpers union/cut/intersect), puis validez avec add_bodies. C'est rapide, ne nécessite pas de timeline, et fonctionne aussi bien en conception paramétrique qu'en conception directe.
  • Chaque construction supprime et recrée les composants de niveau supérieur Enclosure (Shell, Cap) et Refs. Refs contient des corps fantômes (PlugGhost, SpeakerGhost) pour les pièces dont nous n'avons pas la CAO. Ils n'existent que pour les vérifications de collision et ne sont jamais exportés. Lorsqu'une nouvelle pièce achetée est importante pour l'ajustement, ajoutez un fantôme pour celle-ci.
  • Référentiel : le STEP de la carte tel qu'importé. +Y est la direction de visualisation, le verre avant est à y=2.78, l'embouchure USB-C fait face à -X, et le bureau se trouve sous -Z, incliné vers l'arrière de base_tilt (30°) pour que l'écran soit orienté vers l'utilisateur (derived()['down']).
  • Les caractéristiques de la carte proviennent de la mesure du STEP. Mesurez avec un script et enregistrez-les dans CLAUDE.md plutôt que de les deviner à partir du PDF.
  • Laissez les exceptions se propager. La traceback est le seul signal d'échec renvoyé par le MCP.

Individual skills in this repo

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

Skills associés