Skip to main content
Glama

Battenmark

オープンで、バックエンド非依存の CAD 基盤です。AI エージェントとソフトウェア向け。

CI License schema MCP

Battenmark は、交換可能な CAD バックエンドにわたって、正規の CAD ジオメトリを作成・編集・検査・検証・エクスポートするための型付きバックエンド非依存インターフェースを提供します。呼び出し元は create_hole をリクエストし、PartDesign::Hole をリクエストすることはありません。モデルを所有するトランスポートはありません。単一の正規サービスが所有します。

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 — 正規の B-rep カーネル(ヘッドレス JSON-lines ワーカー)

  • JSCAD — インプロセス プレビュー / エンベロープ バックエンド(正規の情報源ではありません)

クイックスタート

前提条件:Node.js ≥ 20 と npm。FreeCAD はコアサービスにとっては任意であり、正規の B-rep バックエンドにのみ必要です。

npm install
npx tsc --noEmit   # type check
npm test           # fast kernel-free suites (parametric, selectors, registry)

Related MCP server: freecad-tool-server

FreeCAD バックエンド

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-end

検出順序:$AGENTCAD_FREECAD_CMD → macOS の FreeCAD.app バンドル → Homebrew → 展開済み Linux AppImage → PATH。docs/MACOS.md と docs/LINUX.md を参照してください。

ガ。

トランスポートガバナンス

Transport

Entry point

MCP stdio

npx agentcad-mcp

HTTP

npx agentcad serve --port 8787 を実行し、/api/v1/... アクセス(Bearer トークンは AGENTCAD_API_TOKEN で指定)

CLI

npx agentcad --help

Python

python/agentcad — examples を参照

Python クライアントの例:

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"])   # 48000

ゴールデン スモークモデル

正式なリリース スモークテストは 80 × 50 × 12 mm のボックス = 48,000 mm³ であり、JSCAD、FreeCAD、HTTP、CLI、MCP、 Python クライアント (test:transport-parity) で検証されます。このフィクスチャをむやみに変更しないでください。

機能

  • バックエンド非依存の型付き CAD オーションと明示的なスキーマ(agentcad_schema_version: 2)

  • FreeCAD / OpenCascade 正規の B-rep、JSCAD プレビュー

  • スカラ要素式と依存関係評価

  • 編集後に解決されるセマンティックな面・エッジセレクタ (top_perimeter, …)

  • 消失・曖在エラーを明示する永続ジオメト参照 (gref)

  • 貫通 / 止まり / 座ぐり / 皿ぐり穴

  • フィレットと面取り · 直線・長方形パターン

  • STEP / FCStd / STL 相互変換、4 面図 PNG プレビュー

  • バックエンドごとの機能検出を備えた動的バックエンドレジストリ

  • 直列実行の FreeCAD ワーカーとkill/再起動リカバリ

プラットフォームのステータス

プラットフォーム

ステータス

macOS Apple Silicon

Tier 1 — ハードウェア検証済み (arm64, macOS 26.6.2, FreeCAD 1.1.3)

Linux x86_64

ヘッドレス / 開発検証済み (FreeCAD 1.0.2 AppImage)

macOS Intel

未検証

Windows

未サポート / 未検証

既知の制限

これは pre-1.0 のアルファソフトウェアです。API は変更される場合があります。

  • アセンブリ、mate、アセンブリ拘束はまだありません

  • 円形パターンはありません

  • スレッドは見た目のメタデータであり、螺旋ソリッドではありません

  • インポートした STEP はジオメト対応のみで、自動パラメトリック再構築ではありません

  • ネイティブ FCStd ドキュメントはヒストリカルな PartDesign フィーチャ形状を保持しており、Battenmark は最終 Body Tip のみを測定します(ヒストリカルソリッドを合算すると二重カウントになります)

  • 直列実行の FreeCAD ワーカー(プールがありません)

  • プレビュー描画は OCC 隠線ではなく JSCAD です

  • 完全なトポロジーネーミングは未解決です。持続的な gref により軽減されています

完全な一覧は docs を参照してください: docs/LIMITATIONS.md

ドキュメント / グローバル 参照

トピック

ドキュメント

アーキテクチャと基盤

docs/ARCHITECTURE.md · docs/FOUNDATION.md

運用契約とスキーマ

docs/CONTRACT.md · docs/VERSIONING.md

バックエンドとカーネル

docs/BACKENDS.md · docs/FREECAD.md · docs/JSCAD.md · docs/KERNEL.md

トランスポート

docs/MCP.md · docs/HTTP.md · docs/CLI.md · docs/PYTHON.md · docs/CLIENTS.md

サービスと永続化

docs/SERVICE.md · docs/AUTH.md

インポート / エクスポートとプレビュー

docs/IMPORT.md · docs/PREVIEW.md

プラットフォームと検証

docs/MACOS.md · docs/LINUX.md · docs/RELEASE.md

互換性識別子

パブリックブランド名は Battenmark です。過去のエンジニア識別子は意図的に残されており、これは別のブランドではなく互換性のためのインターフェースです:AgentCadService、agentcad_schema_version、AGENTCAD_* 環境変数、agentcad / agentcad-mcp バイナリ。内部サービスバージョン 0.5.6 はリリースタグとは意図的に異なります。 docs/VERSIONING.md を参照してください。

コントリビューションとセキュリティ

CONTRIBUTING.md と SECURITY.md を参照してください。 行動規範: CODE_OF_CONDUCT.md

ライセンス

Apache-2.0 ライセンスです。FreeCAD/LAPC は別の LGPL プロセスとして呼び出されます(ワーカースクリプトは FreeCADCmd 内で実行されます)。 LICENSE と NOTICE および THIRD_PARTY_NOTICES.md を参照してください。

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to programmatically build, analyze, and export 3D CAD geometry using FreeCAD through REST or MCP tools.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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 npm
    29
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables engineering agents to perform parametric CAD operations through a controlled MCP gateway built on FreeCAD, with transactions, diagnostics, and reproducible verification.
    2
    GNU Lesser General Public v2.1 only