Battenmark
Battenmark
Offene, backend-neutrale CAD-Infrastruktur für KI-Agenten und Software.
Battenmark bietet eine typisierte, backend-neutrale Schnittstelle zum Erstellen, Bearbeiten,
Inspizieren, Validieren und Exportieren maßgeblicher CAD-Geometrie über
austauschbare CAD-Backends. Aufrufer fordern create_hole an – niemals
PartDesign::Hole. Kein Transport besitzt das Modell; ein kanonischer Dienst tut dies.
ChatGPT / Claude / Gemini / Grok / Codex / local models / IDE agents / custom apps
│
MCP / HTTP / Python / CLI
│
▼
Battenmark Core
│
typed CAD operations / CAD IR
│
Backend Registry
│
┌─────────────────────┼──────────────────────┐
▼ ▼ ▼
FreeCAD JSCAD future adapters
authoritative B-rep preview build123d/CadQuery/etc.FreeCAD / OpenCascade – maßgeblicher B-Rep-Kern (Headless-JSON-lines-Worker)
JSCAD – In-Process-Vorschau-/Envelope-Backend (nicht die Quelle der Wahrheit)
Schnellstart
Voraussetzungen: Node.js ≥ 20 und npm. FreeCAD ist für den Kerndienst optional und nur für das maßgebliche B-Rep-Backend erforderlich.
npm install
npx tsc --noEmit # type check
npm test # fast kernel-free suites (parametric, selectors, registry)FreeCAD-Backend
sh scripts/bootstrap-macos.sh # macOS: discovers /Applications/FreeCAD.app
sh scripts/install-freecad.sh # Linux: installs headless 1.0.2 AppImage (no FUSE)
npm run test:freecad # proves the real worker end-to-endErmittlungsreihenfolge: $AGENTCAD_FREECAD_CMD → macOS-FreeCAD.app-Bundles → Homebrew → extrahiertes Linux-AppImage → PATH. Siehe docs/MACOS.md und docs/LINUX.md.
Transporte
Transport | Einstiegspunkt |
MCP stdio |
|
HTTP |
|
CLI |
|
Python |
|
Beispiel für den Python-Client:
from agentcad import AgentCad
c = AgentCad(base_url="http://127.0.0.1:8787", token="secret-token")
pid = c.project_create("demo")["project_id"]
c.create_box(pid, 80, 50, 12)
print(c.rebuild(pid)["data"]["volume_mm3"]) # 48000Related MCP server: freecad-tool-server
Golden-Smoke-Modell
Der kanonische Release-Smoke-Test ist eine 80 × 50 × 12‑mm‑Box = 48.000 mm³, verifiziert über JSCAD, FreeCAD, HTTP, CLI, MCP und den Python-Client (test:transport-parity). Diese Vorlage sollte nicht leichtfertig geändert werden.
Funktionen
Backend-neutrale, typisierte CAD-Operationen mit explizitem Schema (
agentcad_schema_version: 2)FreeCAD/OpenCascade als maßgebliches B-Rep; JSCAD als Vorschau
Skalare Parameterausdrücke und Abhängigkeitsauswertung
Semantische Flächen-/Kantenselektoren (
top_perimeter, …), die sich nach Bearbeitungen neu auflösenPersistente Geometriereferenzen (
gref) mit expliziten Fehlern für „verloren“/„mehrdeutig“Durchgangs-, Sack-, Zylindersenk- und Kegelsenkbohrungen
Verrundungen und Fasen · lineare und rechteckige Muster
STEP-/FCStd-/STL-Austausch · PNG-Vorschauen in vier Ansichten
Dynamische Backend-Register mit Fähigkeitsermittlung pro Backend
Ein serialisierter FreeCAD-Worker mit Kill-/Restart-Wiederherstellung
Plattformstatus
Plattform | Status |
macOS Apple Silicon | Tier 1 – hardware-verifiziert (arm64, macOS 26.6.2, FreeCAD 1.1.3) |
Linux x86_64 | headless / für Entwicklung validiert (FreeCAD 1.0.2 AppImage) |
macOS Intel | nicht verifiziert |
Windows | nicht unterstützt / nicht verifiziert |
Bekannte Einschränkungen
Dies ist eine Pre-1.0-Alpha-Software; APIs können sich ändern.
Noch keine Baugruppen, Masten oder Baugruppen-Constraints
Noch keine kreisförmigen Muster
Gewinde sind kosmetische Metadaten, keine helix-förmigen Volumenkörper
Importiertes STEP ist ein Geometrieimport – keine automatische parametrische Rekonstruktion
Native FCStd-Dokumente behalten die historischen PartDesign-Feature-Formen; Battenmark misst den endgültigen Body-Tip (das Aufrechnen der Volumenkörper würde doppelt zählen)
Ein serialisierter FreeCAD-Worker (kein Pooling)
Die Vorschau-Renderung wird von JSCAD von OCC-Hidden-Line übernommen, nicht von OCC-Hidden-Line
Das vollständige topologische Benennen ist nicht gelöst; persistente
gref-Referenzen mildern es
Vollständige Liste: docs/LIMITATIONS.md.
Dokumentation
Thema | Dokumentation |
Architektur & Grundlagen | |
Betriebsvertrag & Schema | |
Backends & Kernels | docs/BACKENDS.md · docs/FREECAD.md · docs/JSCAD.md · docs/KERNEL.md |
Transporte | docs/MCP.md · docs/HTTP.md · docs/CLI.md · docs/PYTHON.md · docs/CLIENTS.md |
Dienst & Persistenz | |
Import/Export & Vorschau | |
Plattformen & Validierung |
Kompatibilitäts-Kennzeichner
Die öffentliche Marke ist Battenmark. Historische technische Kennungen bleiben absichtlich bestehen und sind eine Kompatibilitätsfläche, keine zweite Marke: AgentCadService, agentcad_schema_version, die Umgebungsvariablen AGENTCAD_*, die Binärdateien agentcad / agentcad-mcp. Die interne Dienstversion 0.5.6 weicht absichtlich vom Release-Tag ab; siehe docs/VERSIONING.md.
Beiträge & Sicherheit
Siehe CONTRIBUTING.md und SECURITY.md. Verhaltenskodex: CODE_OF_CONDUCT.md.
Lizenz
Apache-2.0 für dieses Repository. FreeCAD/OpenCascade werden als separater LGPL-Prozess aufgerufen (die Worker-Skripte laufen in FreeCADCmd). Siehe LICENSE, NOTICE und THIRD_PARTY_NOTICES.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Create, inspect, validate, and save editable 3D building scenes with Pascal's hosted MCP server.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI to directly call FreeCAD for 3D modeling via the MCP protocol, providing 39 modeling tools including primitive creation, boolean operations, transformations, and export.3-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to programmatically build, analyze, and export 3D CAD geometry using FreeCAD through REST or MCP tools.MIT
- AlicenseNot gradedqualityAmaintenanceEnables agent-driven CAD design through deterministic source files (.kcad.ts), including model evaluation, validation, and export to STEP/STL via MCP tools for review and introspection.121 npm29MIT
- AlicenseNot gradedqualityBmaintenanceEnables engineering agents to perform parametric CAD operations through a controlled MCP gateway built on FreeCAD, with transactions, diagnostics, and reproducible verification.2GNU Lesser General Public v2.1 only