CommunityCodierung & Entwicklunggithub.com

leewsimpson/claudesk

Erstelle oder aktualisiere das Gehäuse in Fusion 360 aus den Python-Skripten des Repos über das Fusion MCP. Verwende dies, wenn sich die Gehäusegeometrie oder Parameter ändern, ein Feature hinzugefügt wird oder das Fusion-Modell fehlt oder veraltet ist.

Was ist claudesk?

Dieses Skill ermöglicht es einem KI-Agenten (wie Claude), das 3D-Modell eines Gehäuses für ein eingebettetes Gerät direkt über das Fusion MCP (Model Context Protocol) in Autodesk Fusion 360 zu generieren oder neu zu erstellen. Die eigentliche Quelle der Wahrheit sind die Python-Skripte im `scripts/`-Verzeichnis des Repos, nicht das Fusion-Dokument selbst. Das Fusion-Dokument ist eine vergängliche Rendering dieser Skripte – manuelle Änderungen in der Fusion GUI gehen beim nächsten Build verloren. Der Workflow umfasst Schritte wie die Sicherstellung eines aktiven Designs, das Importieren der STEP-Datei der Platine, das Bearbeiten von Parametern im `P`-Dict in `enclosure.py`, das Neuerstellen über den Runner und die Verifikation mit dem `fusion-inspect`-Skill. Das Skill unterstützt schnelle Experimente durch einen `build(overrides)`-Parameter (z. B. `{'lattice': False}` für schnellere Builds) und verwendet temporäre B-Rep-Modellierung für Geschwindigkeit, ohne Timeline-Abhängigkeiten. Es ist speziell für die Arbeit mit dem Fusion MCP Server konzipiert (erwartet wird ein laufender Server auf Port 27182) und folgt festen Konventionen bezüglich Koordinatensystem (mm über `wslib`), Bauteil-Ghosts für nicht vorhandene CAD-Modelle und Fehlerbehandlung durch Ausnahmenweitergabe.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Erstellen des Gehäuses in Fusion

Die Skripte in scripts/ sind die Quelle der Wahrheit. Das Fusion-Dokument ist eine vergängliche Darstellung von ihnen. Ändere das Skript und baue neu. Manuelle Bearbeitungen in der Fusion-Oberfläche gehen beim nächsten Build verloren.

Schritte

  1. Fusion bereit. Führe den Runner unten mit leerem Körper aus. Wenn kein aktives Design vorhanden ist, erstelle eines und importiere boardmodel/ESP32-S3-Touch-AMOLED-1_75.stp in die Wurzel mit Identität (importManager.createSTEPImportOptions + importToTarget). Fertig, wenn die Wurzel die Komponente ESP32-S3-TOUCH-AMOLED-1_75_ASM:1 enthält.
  2. Bearbeiten. Parameter befinden sich im P-Dict am Anfang von scripts/enclosure.py. Daraus abgeleitete Werte kommen in derived(). Geometrie wird in build_shell / build_cap / build_refs eingefügt. Hilfsfunktionen sind in scripts/wslib.py.
  3. Neubau mit dem Runner. build(overrides) akzeptiert ein Dict für schnelle Experimente, z. B. {'lattice': False} (ein Build ohne Gitter dauert etwa 1 s; mit dem v2 feinen Strick etwa 12 s). Fertig, wenn es built in … ohne Traceback ausgibt.
  4. Überprüfen mit dem Skill fusion-inspect. Ein Build ist erst abgeschlossen, wenn die Checks PASS ausgeben und du einen Screenshot angesehen hast.

Runner (einfügen als MCP script)

import sys, importlib
REPO = r'C:\Github\claudesk\3d-model\scripts'  # absoluter Pfad zu 3d-model/scripts in deinem Klon
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()          # oder enclosure.build({'sphere_d': 90})

Fusions Python speichert Module zwischen Läufen zwischen. Behalte immer die reload-Zeile bei, sonst werden Änderungen nicht wirksam.

Wenn die mcp__fusion__*-Werkzeuge fehlen

Wenn der MCP-Server beim Start der Sitzung keine Verbindung herstellen konnte (z. B. weil Fusion noch nicht lief), überprüfe, dass Fusion läuft (netstat -ano | findstr 27182 zeigt LISTENING an). Bitte dann den Benutzer, mit /mcp neu zu verbinden, oder rufe den Endpunkt direkt auf: speichere den Runner in einer Datei und führe python scripts/fmcp.py script runner.py aus. Für einen Screenshot führe python scripts/fmcp.py shot out.png [richtung] aus.

Konventionen

  • Arbeite in mm über wslib (P(), box(), cyl_y(), …). Nur rohe API-Aufrufe sehen Fusions cm, über wslib.MM.
  • Modelliere mit temporärem B-Rep (wslib.tbm() und den union/cut/intersect-Helfern), dann committe mit add_bodies. Dies ist schnell, benötigt keine Timeline und funktioniert sowohl in parametrischen als auch in direkten Designs.
  • Jeder Build löscht und erstellt die Komponenten der obersten Ebene Enclosure (Shell, Cap) und Refs neu. Refs enthält Geisterkörper (PlugGhost, SpeakerGhost) für Teile, für die wir kein CAD haben. Sie existieren nur für Kollisionsprüfungen und werden nie exportiert. Wenn ein neues gekauftes Teil für die Passform wichtig ist, füge einen Geist dafür hinzu.
  • Rahmen: die Platine als importiertes STEP. +Y ist die Blickrichtung, die Glasfront liegt bei y=2,78, die USB-C-Öffnung zeigt in -X, und der Schreibtisch liegt unter -Z, geneigt um base_tilt (30°), sodass der Bildschirm auf den Benutzer zeigt (derived()['down']).
  • Platinen-Fakten stammen aus der Vermessung des STEP. Messe mit einem Skript und dokumentiere sie in CLAUDE.md, anstatt sie aus dem PDF zu erraten.
  • Lasse Ausnahmen propagieren. Der Traceback ist das einzige Fehlersignal, das der MCP zurückgibt.

Individual skills in this repo

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

Verwandte Skills