text-to-cad: Parametrisches CAD-Werkzeug für KI-Agenten
text-to-cad ist eine Bibliothek mit Agenten-Skills, die Anfragen in natürlicher Sprache oder Bilder in CAD-Modelle umwandelt. Jedes Bauteil ist ein Python-Skript auf Basis von build123d und des OpenCascade-Kerns. Die Ausführung erzeugt eine STEP-Datei als Hauptausgabe, dazu kommen STL-, 3MF- und GLB-Export. Der Quellcode dokumentiert die Konstruktionsabsicht und lässt sich prüfen, vergleichen und neu erzeugen. Diese Analyse stützt sich auf die Dokumentation und die Konfiguration des Repositorys. Das Werkzeug wurde nicht ausgeführt.
Hintergrund und Problemdefinition
Maschinenbau stützt sich weiterhin auf grafische Oberflächen. Ein Konstrukteur öffnet ein CAD-Programm, zeichnet ein Profil, setzt Zwangsbedingungen, führt eine Extrusion aus und exportiert eine STEP-Datei für die Werkstatt. Ein Sprachmodell kann Python schreiben und Pflichtenhefte lesen, doch diesen Klickablauf kann es nur schwer nachvollziehen. Die praktische Frage lautet daher: Kann ein Agent eine Anfrage in natürlicher Sprache oder das Foto eines Bauteils in ein dreidimensionales Modell verwandeln, das ein anderer Mensch prüfen, ändern und fertigen kann?
text-to-cad beantwortet diese Frage mit einer bewussten Entwurfsentscheidung. Das Modell ist Quellcode. Jedes Bauteil ist eine Python-Datei auf Basis von build123d, einer Python-CAD-Bibliothek, die auf dem OpenCascade-Kern läuft. Das Ausführen der Datei erzeugt das Ergebnis. Die STEP-Datei ist die wichtigste Ausgabe, und der Quellcode hält die Konstruktionsabsicht fest. Geometrie wird dadurch zu etwas, das man vergleichen, prüfen und neu erzeugen kann, statt zu einer Datei, die man nur ersetzen kann.
Die eigentliche Schwierigkeit liegt in der Prüfung, nicht in der Erzeugung. Ein Modell kann im Betrachter richtig aussehen und trotzdem eine Bohrung an der falschen Stelle haben. Das Repository behandelt deshalb Messung, Snapshot-Prüfung und Validierung als eigenständige Fähigkeiten und nicht als nachträgliche Ergänzung. Diese Entscheidung wiegt schwerer als jede einzelne Erzeugungsfunktion.
Architekturkern und technische Prinzipien
text-to-cad ist eine Bibliothek aus Agenten-Skills und kein einzelnes Programm. Sie enthält zwölf Skills: CAD, step.parts, Ingenieurzeichnung, DXF, URDF, SRDF, SDF, SendCutSend, DfAM-Prüfung, DFM, G-Code und Bambu Labs. Der CAD-Skill steht im Zentrum. Die meisten anderen verarbeiten seine Ausgabe oder beschreiben dieselben Teile für ein anderes Werkzeug. Die Versionen sind ausdrücklich festgelegt. Die requirements.txt des CAD-Skills fixiert cadgen[snapshot] auf Version 0.7.11. Die Abzeichen im README nennen build123d 0.11, Open CASCADE 7.9, Python 3.11 oder neuer sowie Node.js 20 oder neuer. Ein Agent, der den Skill ausführt, hängt also von einem bestimmten Kern und einer bestimmten Laufzeit ab. Die Festlegung erlaubt einem Team, einen veröffentlichten Stand zu reproduzieren. Der Preis ist, dass Aktualisierungen Handarbeit bleiben.
Der Stapel gliedert sich in drei Schichten. Oben liest der Agent die Datei SKILL.md, die jede Aufgabe auf ein kurzes Referenzdokument verweist. In der Mitte übernehmen das Kommandozeilenwerkzeug cadgen und sein MCP-Server die Ausführung. Der MCP-Server startet über uvx, daher lädt der erste Start die Laufzeit herunter. Unten stellt die OCP-Bindung OpenCascade für Python bereit, die geometrische Operationen ausführt und STEP-Dateien liest und schreibt. Das Grundprinzip lautet, dass die Quelldatei die Wahrheit ist. SKILL.md weist den Agenten an, den Modellquellcode zu bearbeiten und mit python erneut auszuführen, statt eine exportierte Datei zu flicken. Eine Änderung ist damit ein Diff in einer Python-Datei, während Netze und STEP-Dateien abgeleitete Ergebnisse sind. Dasselbe Prinzip macht Code überprüfbar und passt gut zur Versionskontrolle. Die Verteilung folgt derselben Logik. Plugins gibt es für Codex, Claude Code, Cursor und Grok Build, und Skills lassen sich mit npx skills add installieren. Jeder Host zeigt das Modell auf seine Weise, doch alle rufen dasselbe cadgen-Paket auf.
Praktische Bewertung und Anwendungen
Ich habe das Werkzeug weder installiert noch damit ein Modell erzeugt. Alles in diesem Abschnitt stammt aus Dokumentation, Konfiguration und Aufbau des Repositorys. Es handelt sich also um eine Lesart des Entwurfs, nicht um eine Messung seiner Ergebnisse. Der CAD-Skill nennt vier Fähigkeiten. Er erstellt und bearbeitet Bauteile und Baugruppen aus einem dekorierten Python-Modell. Er exportiert STL, 3MF und GLB, entweder über einen Mesh-Dekorator oder über einen einmaligen build-Befehl. Er löst benannte Referenzen in einem gespeicherten STEP-Dokument mit read_scene und scene.resolve auf. Er erstellt Schnappschüsse für die visuelle und kinematische Prüfung, wofür Chromium nötig ist. Ein sinnvoller Ablauf nutzt alle vier: Modell erzeugen, exportieren, Maße mit einem nativen build123d-Skript prüfen und den Schnappschuss vor der Freigabe ansehen.
Zwei Warnungen der Dokumentation sind für den Produktivbetrieb wichtig. Erstens verliert ein Modell, das eine Versionsmigration braucht und nicht migriert wurde, stillschweigend Kinematik, Materialien und Animationen. Ein stiller Verlust ist schlimmer als ein Absturz, deshalb sollte ein Team die Migration als ausdrücklichen Pipeline-Schritt führen. Zweitens blockiert die Smart App Control unter Windows 11 die unsignierte OCP-Wheel, sodass Importe mit einem DLL-Fehler scheitern. Die Antwort des Repositorys lautet, diese Funktion abzuschalten oder unter WSL zu arbeiten. Teams mit reinen Windows-Arbeitsplätzen sollten das vor dem Rollout prüfen. Zwei weitere praktische Punkte gehören dazu. Die Nutzungsstatistik ist deaktiviert, bis ein Nutzer sie erlaubt, und die Variable DO_NOT_TRACK schaltet sie ebenfalls ab. Die Plugin-Installation lädt beim ersten Start eine lokale Laufzeit über uv herunter. Keiner dieser Punkte ist ein Fehler, sie gehören aber in die Installationscheckliste einer Organisation. Ein tragfähiger Einführungsplan hat fünf Bausteine. Das erzeugte Python gehört in git. cadgen wird fixiert und die Version notiert. cadgen doctor läuft als Umgebungsprüfung. Für jede kritische Abmessung gibt es ein Assertions-Skript. Der Schnappschuss gilt als Hilfe bei der Prüfung, nicht als Nachweis der Passgenauigkeit.
Branchenwirkung und Ausblick
Das Projekt zeigt eher eine Richtung als ein fertiges Produkt. CAD wird zu einer Sammlung technischer Werte, die sich durch Code, Tests und Versionskontrolle einschränken lassen. Für kleine Hardware-Teams, Robotikgruppen und Bastler, die bereits Python schreiben, sinkt damit die Einstiegshürde für parametrisches Konstruieren. Auch die Verantwortung verschiebt sich. Wenn ein Modellgenerator eine plausible Maßangabe liefert, wandert das Risiko von der Person, die das Teil gezeichnet hat, zu dem Prozess, der es prüft. Ein Team, das diesen Ansatz übernimmt, braucht Messgates vor der Fertigung. Die Skills für DFM, DfAM-Prüfung und SendCutSend gehen in diese Richtung, weil sie ein Bauteil anhand von Fertigungsregeln prüfen, statt der Geometrie zu vertrauen.
Die Skills zur Roboterbeschreibung werfen eine zweite Frage auf: die Konsistenz zwischen den Formaten. URDF, SRDF und SDF beschreiben denselben Roboter für unterschiedliche Verbraucher. CAD-Geometrie, Gelenkgrenzen und Simulationsmodell dauerhaft in Einklang zu halten, ist ein offenes technisches Problem. Die Bündelung in einer Skill-Bibliothek ist eine sinnvolle Struktur, doch die Konsistenzprüfungen bleiben Aufgabe der Anwender. Mit 16.697 Sternen zum Zeitpunkt dieses Snapshots zeigt das Projekt großes Interesse. Interesse ist jedoch keine Validierung. Hilfreich wären gemessene Nacharbeitsquoten, Prüfquoten und Lieferzeiten aus echten Projekten. Diese Analyse enthält keine solchen Daten. Leser sollten das Projekt als vielversprechende Schnittstelle zum Ausprobieren betrachten, nicht als bewährten Ersatz für einen CAD-Arbeitsplatz.
Sources
FAQ
Welche Form hat ein text-to-cad-Modell?
Jedes Bauteil ist eine Python-Datei auf Basis von build123d. Ihre Ausführung erzeugt eine STEP-Datei als Hauptausgabe, der Quellcode ist der Konstruktionsnachweis.
Wie werden die Abhängigkeitsversionen festgelegt?
Die requirements.txt des CAD-Skills fixiert cadgen[snapshot] auf 0.7.11. Das README nennt build123d 0.11, Open CASCADE 7.9 und Python 3.11 oder neuer.
Vor welchen bekannten Risiken warnt die Dokumentation?
Ein nicht migriertes Modell verliert stillschweigend Kinematik, Materialien und Animationen. Unter Windows 11 mit aktiver Smart App Control wird das unsignierte OCP-Modul blockiert, daher muss die Funktion abgeschaltet oder unter WSL gearbeitet werden.