Communitygithub.com

shadowtor/fusion-studio

Concevez des modèles 3D avec l'utilisateur dans Autodesk Fusion via son serveur MCP local. Demande au préalable le type de projet, puis construit un modèle paramétrique, le vérifie, le capture en image et l'exporte.

Qu'est-ce que fusion-studio ?

Ce skill permet à un agent IA (comme Claude Code, Cursor ou Codex) de contrôler Autodesk Fusion via son serveur MCP local pour concevoir des modèles 3D paramétriques en collaboration avec l'utilisateur. Il commence par déterminer le mode du projet : impression 3D (pièces fonctionnelles avec tolérances d'ajustement), vitrine (pièces non imprimées, présentations) ou vêtements (accessoires, étiquettes). Ensuite, il demande les mesures, matériaux et photos de référence, puis génère un modèle paramétrique par scripts Python envoyés au serveur MCP. Le skill vérifie la qualité du modèle avec des contrôles de santé, des tests paramétriques et une analyse de trancheuse virtuelle (OrcaSlicer) avant d'exporter aux formats appropriés (3MF, STEP, PNG, OBJ). Il est conçu pour les utilisateurs de Fusion qui souhaitent modéliser, ajuster, vérifier ou exporter des conceptions sans intervention manuelle.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shadowtor/fusion-studio/tree/HEAD/skills/fusion-studio

Demander à votre IA préférée

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

Documentation

Que fait fusion-studio ?

Vous modélisez dans Fusion en envoyant des scripts Python à son serveur MCP. L'utilisateur fournit des photos, des mesures et ses goûts. Vous construisez le modèle, vous l'examinez et vous le corrigez.

0. Connexion (toujours en premier)

python <skill>/scripts/fusion_mcp.py ping

Affiche la version de Fusion et le document ouvert. Si les outils MCP fusion_mcp_* sont chargés, utilisez-les (fusion_mcp_execute avec featureType: "script", fusion_mcp_read pour les captures d'écran et la documentation API, fusion_mcp_update pour l'annulation). Sinon, le client fait de même depuis un terminal. Si ping ne peut pas se connecter, dites à l'utilisateur de démarrer Fusion et d'activer son serveur MCP. Ne devinez pas.

Règles qui protègent le travail de l'utilisateur :

  • Ne modifiez jamais un document déjà ouvert. new_design() dans fx_lib.py en ouvre un nouveau. Lisez les documents ouverts uniquement avec --ro.
  • Ne sauvegardez, fermez ou écrasez jamais sauf demande explicite. Les exportations vont dans le dossier du projet.
  • N'encadrez pas run() par try/except. Une erreur non gérée est la façon d'apprendre ce qui a échoué.
  • Les scripts ne peuvent pas modifier pendant qu'une boîte de dialogue de commande est ouverte. Demandez à l'utilisateur de la fermer, ou utilisez --ro pour inspecter.

1. Choisir le mode (le sélecteur)

Posez une seule question, en recommandant Impression sauf indication contraire. Ne commencez pas la modélisation avant d'avoir obtenu la réponse.

ModePourConstruit commeFinition
ImpressionPièces imprimées sur l'imprimante de l'utilisateur : supports, fixations, boîtiers, porte-clésTolérances d'ajustement, règles de paroi, orientation, un composant par pièce imprimée3MF par pièce + STEP
VitrineObjets présentés, non imprimés : porte-clés en acrylique pour une page de financement participatif, vues éclatées pour vidéoPriorité à l'apparence : pièces en couches, épaisseur des matériaux réels, disposition éclatéePNG sur fond transparent, OBJ, STEP
VêtementsMaquettes de marque vestimentaire : étiquettes, étiquettes de taille, garnitures, boutons, fermetures éclair, emballages, pièces d'expositionŒuvre plate sur garnitures 3D, épaisseur de matière réelleVues PNG, STEP, notes de placement de l'œuvre

Détails : references/modes.md. Pour le mode Impression, demandez également le filament (PLA, PETG, ABS, ASA, TPU, nylon, PC, ou une version chargée de carbone) et utilisez la Bambu Lab H2C sauf indication contraire. Le filament détermine les ajustements et les limites pour l'épaisseur de paroi, l'angle de surplomb et la longueur de pont : references/materials.md, references/print-rules.md.

Exécutez ensuite python <skill>/scripts/new_project.py <nom> --mode print|showcase|apparel [--material PETG] pour créer le dossier du projet (project.json, build/, shots/, exports/).

2. Brief et mesures

Demandez ce que vous ne pouvez pas inventer : la taille réelle de tout ce que le modèle doit contenir (une canette, un téléphone, une clé), le matériau, le style de paroi, et des photos de référence. Dites quels nombres sont supposés et mettez-les dans project.json sous assumptions. Une dimension manquante devient un paramètre nommé avec une valeur par défaut évidente, jamais un nombre enfoui.

3. Paramètres en premier

Tout ce qui est mesurable devient un paramètre utilisateur avec un commentaire, en trois groupes : mesuré (diamètre de canette), ajustement (jeux, paroi) et dérivé (expressions construites à partir des autres). En mode Impression, appelez print_profile("PETG") d'abord : il crée les paramètres fit_press, fit_close, fit_free, min_wall, min_feature et hole_comp du matériau, et les ajustements sont diamétraux (total des deux côtés). Utilisez-les au lieu d'inventer des jeux. Les noms comportent 3+ caractères avec un tiret bas (can_dia) : des lettres uniques comme w, h, t entrent en collision avec les noms d'unités et Fusion les refuse. Les dimensions d'esquisse et les distances d'extrusion prennent les expressions de paramètres, donc changer un nombre modifie le modèle. Lisez references/fusion-api.md avant d'écrire le premier script.

4. Construire en petits scripts

Préfixez la bibliothèque d'aide avec --lib :

python <skill>/scripts/fusion_mcp.py run build/01_body.py --lib
python <skill>/scripts/fusion_mcp.py shot shots/01.png --dir iso-top-right

fx_lib.py vous donne new_design, param, component, sketch, rect, circle, extrude, box, fillet, chamfer, edges_where, appearance, view, health, report, export, et pour le mode Impression (fx_print.py) print_profile, print_check, fit_coupon. Un composant par pièce physique, nommé <Pièce> - PRINT ou - SHOWCASE. Les congés sont appliqués en dernier. Regardez chaque capture d'écran avant de passer à la suite. Si l'image et les nombres sont en désaccord, faites confiance à l'image et trouvez le bug.

API inconnue ? fusion_mcp.py api "ExtrudeFeatures" --filter adsk.fusion renvoie la documentation en direct. Préférez cela à la mémoire.

5. Vérifier avant de dire terminé

  1. health() signale 0 problèmes.
  2. Test paramétrique : modifiez le principal paramètre mesuré, vérifiez health() et report() à nouveau, puis remettez-le. Un modèle qui se casse ici n'est pas terminé.
  3. Captures d'écran d'au moins une vue isométrique, de face et d'une section ou d'une vue de dessous, lues par vous.
  4. Mode Impression : print_check("PETG") (parois minces et surplombs, longs ponts, petits trous ou horizontaux, ajustement sur le lit), puis orientation, supports et état de la première couche. Corrigez chaque AVERTISSEMENT ou dites pourquoi il est acceptable. Pour tout ajustement important, exécutez d'abord fit_coupon() et imprimez-le : cela prend quelques minutes et détermine le jeu réel pour ce filament et cette imprimante.
  5. Mode Impression : exportez le fichier 3MF et exécutez python <skill>/scripts/slicer_check.py exports/part.3mf --material PETG. Il pilote OrcaSlicer sans interface sur les profils H2C et indique si le modèle est étanche ou non, le temps d'impression, le filament, si des supports sont nécessaires et si votre orientation est la meilleure selon le trancheur. Répercutez le résultat dans le modèle. L'interface graphique et le serveur optionnel orcaslicer-mcp sont des alternatives : references/slicer.md.
  6. Dites ce qui n'est pas prouvé. Un modèle qui a l'air correct n'a pas été imprimé de test. Nommez la première impression de test et le paramètre à ajuster après celle-ci.

6. Exportation et remise

Impression : export(body, path, "3mf") pour chaque pièce, plus step. Vitrine : PNG transparent par angle (shot utilise un fond transparent sur demande), OBJ pour les outils vidéo. Vêtements : vues PNG et STEP. Donnez ensuite à l'utilisateur : les fichiers, la liste des paramètres, les hypothèses, le premier test à exécuter.

Ce que ce skill ne fait pas

  • Il n'envoie pas de tâches à l'imprimante ni ne choisit les températures et vitesses. Il tranche uniquement pour vérifier un modèle (besoin de supports, temps, orientation) et énonce les choix de supports comme points de départ.
  • Il ne remplace pas une impression de test. Les jeux sont des valeurs de départ pour une buse de 0,4 mm, pas des garanties.
  • Il ne peut pas voir les photos de l'utilisateur à moins qu'il ne les partage. Demandez les dimensions plutôt que d'estimer à partir d'une image.
  • Il ne modélise pas le tissu. Le mode Vêtements couvre les garnitures, étiquettes, tags, accessoires et emballages.

Skills associés