CommunityCodierung & Entwicklunggithub.com

Text-to-Fusion

Übersetzt natürliche Sprachbeschreibungen, mechanische Anpassungen, Stücklisten für Verbindungselemente, Explosionszeichnungen und kinematische Animationen in 100 % native, parametrische 3D-CAD-Modelle und Baugruppen in Autodesk Fusion 360 über den Fusion 360 MCP-Server.

Was ist Text-to-Fusion?

Diese Fähigkeit (Skill) wandelt natürliche Sprachbeschreibungen in vollständig parametrische, native CAD-Konstruktionen in Autodesk Fusion 360 um. Sie ist ideal für Entwickler und Ingenieure, die schnell mechanische Teile, Baugruppen und Animationen ohne manuelle Modellierung erstellen möchten. Der Skill unterstützt alle Phasen des CAD-Workflows: von der initialen Abfrage über die parametrische Spezifikation, Variantenexploration, Erstellung von Stücklisten für Normteile (Schrauben, Muttern) bis hin zu Explosionsdarstellungen und animierten GIFs. Die Ausführung erfolgt über den Fusion 360 MCP-Server, der eine direkte Skriptausführung im CAD-Kern ermöglicht. Der Skill stellt sicher, dass alle Geometrie als native Skizzen, Benutzerparameter und Extrusions-/Rotationsmerkmale erstellt wird – ohne facettierte Netze. Er beinhaltet eine strikte Workflow-Prüfung, Variantenverwaltung und eine leistungsoptimierte Animationspipeline, die auf Occurrence-Transformationen basiert. Die Ergebnisse werden durch Screenshots und mathematische Prüfungen der Passflächen verifiziert. Der Skill setzt die lokalen Referenzbibliotheken und Skripte des Monorepos voraus.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Kamish76/To-Fusion-Skill-Sets/tree/HEAD/skills/text-to-fusion

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

Text zu Fusion 360 Rein Parametrisches CAD-Skill

Wenn der Benutzer ein mechanisches Objekt, ein Bauteil, eine Modifikation, ein Zubehörfach, eine Verbindungselementspezifikation, eine Explosionszeichnung oder eine kinematische Animation in natürlicher Sprache beschreibt, ohne Referenz-3D-Dateien (.3mf/.stl $\rightarrow$ verwende 3mf-to-fusion) oder visuelle Medien (.png/.mp4 $\rightarrow$ verwende media-to-fusion) bereitzustellen, folge diesem 6-Phasen deterministischen CAD-Workflow.

STRENGES CAD-GEBOT:

  • Rekonstruiere die gesamte Geometrie mit nativen Skizzen, Konstruktionsebenen, Benutzerparametern und Extrusions-/Rotations-/Verbindungsmerkmalen in der Fusion 360-Zeitleiste. Erzeuge niemals rohe Netzkörper (root.meshBodies.add) oder facettierte Netzumwandlungen.
  • Der gesamte Code muss sauber innerhalb von execute_api_script unter Verwendung von Zentimetern (cm = mm / 10.0) ausgeführt werden.
  • Überprüfe jeden erzeugten oder modifizierten Körper stets visuell mittels get_screenshot.

Phase 0: Pre-Flight-Überprüfung & Workspace-Ausrichtung

  1. Überprüfung der Live Fusion 360 MCP-Sitzung: Führe einen Canary-Probe mittels des fusion-mcp-Tools execute_api_script aus:

    def run(context):
        import adsk.core, adsk.fusion
        app = adsk.core.Application.get()
        if not app or not adsk.fusion.Design.cast(app.activeProduct):
            raise RuntimeError("Kein aktives Fusion 360-Konstruktionsdokument geöffnet.")
        print("FUSION_MCP_READY")
    

    Fail-Fast-Regel: Wenn die Prüfung fehlschlägt, stoppe und weise den Benutzer an, Autodesk Fusion 360 zu öffnen.

  2. Workspace & Monorepo-Routing:

    • Primäres Repository: Aktives CAD-Monorepo oder Projektstamm (CAD_MONOREPO_ROOT oder aktueller Workspace).
    • Strenge Isolationsgarantie: Erstelle niemals temporäre Dateien, Skripte oder Renderings im Repository-Stamm oder verändere shared/.
    • Wenn ein brandneues Modell erstellt wird, richte sein dediziertes Verzeichnis ein:
      python3 <pfad_zu_skills>/text-to-fusion/scripts/scaffold_text_model.py "<Modellname>"
      
    • Speichere Modellskripte in models/<NN>_<Modellname>/scripts/, visuelle Renderings in models/<NN>_<Modellname>/renders/ und temporäre Workspace-Dateien in models/<NN>_<Modellname>/workspace/.
    • Importiere universelle CAD-Helfer aus ../../shared/ (fusion_client, cad_primitives, hardware_library, scene_animator).
  3. Domänenreferenzen: Konsultiere die lokale Referenzbibliothek, bevor du benutzerdefinierte Geometrie schreibst:

    • references/prompt-to-geometry-patterns.md — Übersetzt natürliche Sprache in parametrische Skizzenbeschränkungen.
    • references/exploded-view-guidelines.md — Explosionsvektoren, goldene Führungsstäbe und orthografische Rahmung.
    • references/assembly-animation-pipeline.md — Matrix3D-Occurrence-Transformationsanimation und GIF-Erstellung.
    • references/variant-management-and-undo.md — Sicheres A/B-Varianten-Showrooming und zerstörungsfreies Ausblenden.

Phase 1: Disambiguierung & Parametrische Spezifikation

Wenn Benutzer Geometrie konversationell beschreiben, identifiziere und formalisiere die fehlenden technischen Randbedingungen:

  1. Hüllkurve & Kritische Abmessungen:
    • Gesamter Begrenzungsrahmen ($B \times T \times H$ in mm).
    • Minimale Wandstärke (Standard 2.0 - 2.5 mm für Strukturteile, 1.6 mm für innere Trennwände).
    • 3D-Drucker-Bettbegrenzung (z.B. 220 × 220 × 250 mm).
  2. Master-Benutzerparameter registrieren (design.userParameters): Setze kritische Abmessungen stets als Benutzerparameter, damit der Benutzer sie mit einem Klick skalieren kann:
    def set_user_param(design, name, expr_str, units="mm", comment=""):
        existing = design.userParameters.itemByName(name)
        if existing:
            existing.expression = expr_str
            return existing
        return design.userParameters.add(
            name, adsk.core.ValueInput.createByString(expr_str), units, comment
        )
    

Phase 2: Varianten-Staging & Reversible Exploration

Wenn der Benutzer nach Designoptionen fragt („zeige mir Option 2“, „versuche eine Version ohne Deckel“):

  1. Das Showroom-Muster:
    • Modelliere experimentelle Optionen in einer dedizierten Komponente (z.B. Sample_Options_Showroom:1).
    • Platziere Varianten nebeneinander auf der virtuellen Werkbankfläche (z.B. $Y = -350\text{ mm}$ oder $X = -200\text{ mm}$) mit markanten Erscheinungsbildern (Rack_Desert_Tan, Rack_Matte_White).
    • Erstelle eine nebeneinanderliegende Übersichtsaufnahme mit Beschriftungen.
  2. Zerstörungsfreie Übernahme:
    • Wenn der Benutzer einen Gewinner auswählt, klone die ausgewählten Körper in die aktive Baugruppe (InSitu_Tier3_Option2).
    • Blende abgelehnte Showroom-Körper mittels bRepBody.isLightBulbOn = False aus.
    • Rufe niemals body.deleteMe() auf Objekten auf, die nachgelagerte Zeitleistenverweise unterbrechen könnten.

Phase 3: Standard-Verbindungselemente & Stücklistensynthese

Wenn der Benutzer nach Schrauben, Muttern oder Montagematerial fragt:

  1. Normteilstandardisierung:
    • Standardmäßig DIN 7991 M3 Senkkopfschrauben und DIN 934 M3 Sechskantmuttern für alle Drehpunkte und Strukturverbindungen verwenden.
  2. Standard-Taschenabmessungen:
    • Sechskantmuttertasche: Modelliert über Schlüsselweite (AF) bei 5.70 mm (+0.20 mm FDM-Spielraum über 5.50 mm Mutter), Tiefe 2.50 mm.
    • Schraubenloch: $\varnothing 3.20\text{ mm}$ Durchgangsloch mit einer 90° konischen Senkbohrung ($\varnothing 6.20\text{ mm} \times 1.80\text{ mm}$).
    • Haltescheiben: 3D-gedruckte Scheibe ($\varnothing 9.50\text{ mm}$ AD × $\varnothing 3.20\text{ mm}$ ID × 1.80 mm dick, 90° Senkung), die die Spitze des Drehpunktzapfens klemmt, während die Verbindungsstange frei drehbar bleibt.
  3. Template-Parkregel:
    • Master-Vorlagen (Template_DIN_7991_M3x10, Template_DIN_934_M3) müssen isLightBulbOn = True gesetzt haben.
    • Parke Vorlagen weit unterirdisch (Z = -500.0 cm), sodass die abgeleiteten Instanzen in der Baugruppe sichtbar bleiben, während die Vorlagen vollständig außerhalb des Bildschirms liegen.

Phase 4: Explosionszeichnungen & Technische Illustration

Wenn der Benutzer darstellen möchte, wie Teile zusammengesetzt werden:

  1. Lineare Explosionsversätze:
    • Versetze Verbindungsstangen entlang der Hauptachse nach außen ($+X$ um 35 - 50 mm).
    • Versetze Strukturständer oder Rahmen entlang $Y$ nach hinten (+45 - 60 mm).
    • Versetze modulare Einsätze entlang $Z$ nach oben (+40 - 50 mm).
  2. Goldene Ausrichtungsführungsstäbe:
    • Extrahiere dünne zylindrische Stäbe ($\varnothing 1.2 - 1.4\text{ mm}$, Erscheinungsbild Rack_Mustard_Yellow oder Gold - Polished), die durch jede Schrauben-/Drehpunktachse vom innersten Schraubenkopf bis zur äußersten Mutter verlaufen.
    • Gruppiere alle Stäbe in einer dedizierten Komponente: Opened_Explosion_Guides.
  3. Orthografische Kameraeinrichtung: Setze cam.cameraType = OrthographicCameraType mit gezielten Begrenzungsausdehnungen, um parallele Achsen ohne perspektivische Verzerrung zu gewährleisten.

Phase 5: Hochgeschwindigkeits-Baugruppenanimations-Pipeline

Wenn der Benutzer ein animiertes GIF anfordert, das zeigt, wie Teile an ihren Platz animiert werden:

  1. Occurrence-basiertes Szenengraph-Rigging:
    • Gruppiere jede bewegte Baugruppe in ihre eigene dedizierte Occurrence (Anim_Bars, Anim_Stand, Anim_Fasteners).
    • Verwende NICHT features.moveFeatures.add() innerhalb der Bildschleife (verursacht ~2,2 s Zeitleisten-Neuaufbau pro Bild).
    • Weise direkt occ.transform = Matrix3D neu zu (0.005 s/Bild).
  2. Mehrstufiger gestaffelter Smoothstep: Wende Smoothstep-Easing $s(\tau) = 3\tau^2 - 2\tau^3$ über gestaffelte Unterbaugruppenintervalle an ($t \in [0.0, 1.0]$):
    • Stand-Andocken: $t \in [0.00, 0.40]$
    • Verbindungsstangensitz: $t \in [0.15, 0.60]$
    • Haltescheibensitz: $t \in [0.30, 0.70]$
    • Verbindungselementeklemmen: $t \in [0.40, 0.92]$
    • Ausblenden der Führungen: guides_occ.isLightBulbOn = (t < 0.88)
  3. In-Skript-Batch-Rendering & Ping-Pong-Erstellung:
    • Rendere Bilder direkt auf die Festplatte: vp.saveAsImageFile('/tmp/frames/frame_%03d.png', 800, 800).
    • Erstelle mit PIL.Image: 28 Vorwärtsbilder (45 ms) $\to$ 28 Haltebilder montiert (50 ms) $\to$ 26 Rückwärtsbilder (45 ms) $\to$ 20 Haltebilder explodiert (50 ms).
    • Quantisiere mit 128 adaptiven Farben und Floyd-Steinberg-Dithering (~2.3 MB).
    • Verwende einen eindeutigen/versionierten Dateinamen (z.B. _final.gif), um den Browser-Chat-Bildcache zu umgehen.

Phase 6: Mathematische Selbstverifikation & DevBrain-Abgleich

  1. Überprüfe Passflächen mathematisch:
    • Wenn ein Teil mit einem unerwarteten Spalt erscheint („sieht nach hinten versetzt aus“), überprüfe die Weltkoordinaten: delta = target_face.x - moving_face.x.
    • Wende das exakte mathematische Delta an; nimm niemals Anpassungen durch Raten vor.
  2. Führe Abschluss & Speicherabgleich durch:
    • Übertrage die abgegrenzten Änderungen an das aktive CAD-Repository.
    • Wenn ein neuer Mechanismus, eine Toleranzregel oder eine API-Eigenheit geknackt wurde, dokumentiere sie in references/ und protokolliere die Änderung in CHANGELOG.md.

Individual skills in this repo

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

Verwandte Skills