Mittwoch, 26. August 2026 Server, Smart Home und KI — was ich baue und was dabei schiefgeht Ausgabe 35/2026
DIGKI

11. August 2026

FreeCAD von Claude aus bedienen | Ein Connector, der aus einer Beschreibung ein Bauteil macht

Eine installierbare Erweiterung, mit der Claude eine laufende FreeCAD-Sitzung bedient. Der Unterschied liegt nicht in den Werkzeugen, sondern in den Regeln, die verhindern, dass aus drei Maßen fünf Quader werden.

Ein Roboter steht an einem Zeichentisch und zeigt auf ein Maß in einer technischen Zeichnung

Beschreibung → Bauauftrag → Bauteil für Bauteil → nachmessen · installierbar als .mcpb

Es gibt einen fertigen Baustein, mit dem Claude eine laufende FreeCAD-Sitzung steuern kann. Er funktioniert, und trotzdem habe ich etwas darum herum gebaut. Der Grund liegt weniger in der Technik als darin, was passiert, wenn man einer Maschine drei Zahlen gibt und ein Möbelstück erwartet.

Ein Gehäuse mit Deckel, Lüftungsschlitzen und Kabeldurchführung. Entstanden aus einer Beschreibung in normalem
Ein Gehäuse mit Deckel, Lüftungsschlitzen und Kabeldurchführung. Entstanden aus einer Beschreibung in normalem Deutsch, Bauteil für Bauteil.

Das Problem hinter dem Problem

Sagen Sie einem Sprachmodell „bau mir einen Tisch, 180 mal 80 mal 90″. Sie bekommen vier Quader und eine Platte. Das ist nicht falsch, es ist genau das, was Sie gesagt haben. Drei Außenmaße legen keine Form fest.

Der zweite Fehler ist unangenehmer. Ohne Vorgabe schreibt das Modell ein einziges großes Skript, das die ganze Konstruktion auf einmal erzeugt. Läuft es durch, ist alles gut. Bricht es in der Mitte ab, steht ein halbes Modell im Dokument, und niemand weiß, an welcher Stelle.

Der dritte betrifft die Ergänzungen. Ein Modell, das eine Konstruktion beschreiben soll, erfindet gern Streben, Sockelleisten und Verrundungen, weil sie plausibel aussehen. In einer Zeichnung, die jemand fertigen soll, hat nichts zu stehen, das niemand angeordnet hat.

Was der Connector ist

Eine installierbare Erweiterung für Claude Desktop. Keine Konfigurationsdatei von Hand bearbeiten, keinen Pfad zu einem Programm heraussuchen. Datei ins Erweiterungsfenster ziehen, fertig.

Der Aufbau besteht aus drei Teilen, und alle drei müssen laufen.

Claude Desktop
   |
   |  Standardein- und -ausgabe
   v
Connector, also der Vermittler
   |
   |  Fernaufruf über Netzwerk, Port 9875
   v
FreeCAD mit Zusatzmodul

Der Vermittler allein reicht nicht. FreeCAD braucht ein Zusatzmodul, das den Empfänger im laufenden Programm bereitstellt. Beides ist in wenigen Minuten eingerichtet, und für das Zusatzmodul liegt ein Skript bei, das das Benutzerverzeichnis selbst findet und auf Wunsch den automatischen Start einschaltet.

Was Claude damit tun kann

  • Dokumente anlegen, auflisten und neu laden
  • Objekte erzeugen, ändern und löschen, über die üblichen Arbeitsbereiche
  • Objekte samt aller Eigenschaften auslesen
  • Python direkt im laufenden FreeCAD ausführen
  • Sich die räumliche Ansicht als Bild ansehen, also das Ergebnis tatsächlich anschauen
  • In der mitgelieferten Teilebibliothek suchen und Teile einfügen
  • Eine Festigkeitsberechnung anstoßen

Der Punkt mit dem Bild ist wichtiger, als er klingt. Ein Modell, das seine eigene Arbeit sieht, erkennt eine verdrehte Achse oder ein Bauteil, das im Nichts schwebt. Eines, das nur Zahlen zurückbekommt, erkennt es nicht.

Der eigentliche Unterschied: die Arbeitsregeln

Zwischen dem Wunsch und dem Bauteil liegt die Übergabe. Genau dort entscheidet sich, ob das Ergebnis passt.
Zwischen dem Wunsch und dem Bauteil liegt die Übergabe. Genau dort entscheidet sich, ob das Ergebnis passt.

Hier liegt der Teil, wegen dem ich das gebaut habe. Der Vermittler übergibt beim Verbindungsaufbau eine Handvoll Regeln, die für jede Aufgabe der Sitzung gelten. Niemand muss sie auswählen, niemand muss sie wiederholen.

  • Erst die Vorlage auswerten, dann Geometrie erzeugen. Außenmaße allein legen keine Form fest.
  • Vor dem ersten Objekt ein Koordinatensystem festlegen und eine Bauteilliste mit Positionen ausgeben.
  • Das Dokument sofort nach dem Anlegen speichern, danach nach jedem Bauteil.
  • Ein Bauteil pro Aufruf statt eines Sammelskripts.
  • Nichts ergänzen, was nicht vorgegeben war.

Der Unterschied im Ablauf ist deutlich. Ohne Regeln kommen sofort fünf Quader. Mit ihnen kommt zuerst eine Bauteilliste, die man lesen und korrigieren kann, und erst danach entsteht etwas, Stück für Stück, mit Speichern nach jedem Schritt. Wenn im vierten Schritt etwas schiefgeht, stehen drei fertige Bauteile im Dokument und man weiß genau, wo es hakt.

Zwei Vorlagen

Die zweite Vorlage vergleicht das gebaute Modell mit der Vorgabe und ändert dabei nichts.
Die zweite Vorlage vergleicht das gebaute Modell mit der Vorgabe und ändert dabei nichts.

Dazu kommen zwei Textbausteine, die in Claude Desktop als Vorlagen erscheinen.

Der Bauauftrag macht aus einer groben Idee eine brauchbare Vorgabe. Er fragt nach dem Gegenstand, nach einer Vorlage, nach Maßen und nach Besonderheiten. Das Ergebnis ist die Beschreibung, die man selbst hätte schreiben sollen und meistens nicht schreibt.

Die Prüfung vergleicht das gebaute Modell mit der Vorgabe und listet die Abweichungen mit Ist- und Sollmaß auf. Sie ändert bewusst nichts. Ein Werkzeug, das gleichzeitig prüft und repariert, findet erfahrungsgemäß nur noch, was es auch beheben kann.

Was dabei herauskommt

Dasselbe Gehäuse zusammengesetzt. Der Deckel sitzt über einer Aussparung, die Schlitze liegen dort, wo die Wär
Dasselbe Gehäuse zusammengesetzt. Der Deckel sitzt über einer Aussparung, die Schlitze liegen dort, wo die Wärme hin soll.

Das Gehäuse oben ist aus einer Beschreibung in normalem Deutsch entstanden. Deckel mit Aussparung, Lüftungsschlitze auf der Seite, eine runde Kabeldurchführung. Nichts davon musste ich zeichnen.

Interessanter wird es bei Sachen, die man nicht von Hand nachbaut.

Ein Längsschnitt aus Bestandsdaten, zehnfach überhöht. Der rote Abschnitt ist ein Gegengefälle, also die Stell
Ein Längsschnitt aus Bestandsdaten, zehnfach überhöht. Der rote Abschnitt ist ein Gegengefälle, also die Stelle, an der das Wasser bergauf müsste.

Das ist ein Längsschnitt eines Kanals aus Bestandsdaten, zehnfach überhöht, damit man das Gefälle überhaupt sieht. Der rote Abschnitt ist ein Gegengefälle von 0,9 Promille, also die Stelle, an der das Wasser bergauf laufen müsste. Solche Schnitte aus einer Tabelle zu erzeugen ist stupide Arbeit, und genau dafür taugt der Weg über eine Beschreibung.

Ein Schacht im Schnitt, mit Zulauf und Ablauf in unterschiedlichen Höhen.
Ein Schacht im Schnitt, mit Zulauf und Ablauf in unterschiedlichen Höhen.

Zwei Dinge, die man wissen sollte

Die Ausführung von Python ist ungeschützt. Das Werkzeug führt Code im FreeCAD-Prozess aus. Keine abgeschottete Umgebung, keine getrennten Rechte, voller Zugriff mit den Rechten des angemeldeten Benutzers. Dateisystem, Netzwerk und weitere Programme sind erreichbar. Das ist keine Schwäche der Umsetzung, sondern der Preis dafür, dass man überhaupt etwas Sinnvolles bauen kann. Man sollte es nur wissen.

Der Empfänger lauscht standardmäßig nur lokal. Zugriff von einem anderen Rechner muss man im Zusatzmodul erst freischalten und die erlaubten Adressen eintragen. Diese Voreinstellung ist richtig, und ich würde sie nur ändern, wenn man weiß, warum.

Wo die Fehlersuche anfängt

Zwei Fälle treten praktisch immer auf, und beide haben denselben Grund.

„Verbindung abgelehnt» bei jedem Aufruf. Auf dem Port lauscht nichts. Das ist eine ausdrückliche Absage und kein Zeitablauf, ein blockiertes Programm erzeugt sie also nicht. Unter macOS beendet sich FreeCAD beim Schließen des Hauptfensters vollständig, und ein Vermittler ohne Gegenstelle liefert genau diese Meldung.

Der Arbeitsbereich fehlt in der Auswahl. Zusatzmodule werden ausschließlich beim Programmstart eingelesen. Ein laufendes FreeCAD lädt ein frisch kopiertes Modul nicht nach. Das kostet erfahrungsgemäß eine Viertelstunde, bevor man auf die Idee kommt, das Programm einfach neu zu starten.

Herkunft

Die vierzehn Werkzeuge und das FreeCAD-Zusatzmodul stammen nicht von mir, sondern aus dem Paket freecad-mcp von neka-nat, veröffentlicht unter MIT-Lizenz. Der Server selbst bleibt unverändert.

Was ich ergänzt habe, sind die Schichten drumherum. Die Verpackung als installierbare Erweiterung, die Einstellfelder statt Kommandozeilenargumente, ein festgenagelter Versionsstand, damit auf jedem Rechner dasselbe läuft, das Einrichtungsskript für das Zusatzmodul und eben die Arbeitsregeln und Vorlagen.

Das ist alles nicht spektakulär. Es ist der Unterschied zwischen etwas, das funktioniert, und etwas, das man benutzt.