ghbalf/freecad-ai

AI-powered assistant workbench for FreeCAD — generate 3D models from natural language

解決する課題

FreeCAD AIは、FreeCADでの3Dモデリングに自然言語インターフェースを提供します。複雑なソフトウェアのUIやPython APIを手動で操作する代わりに、平易な英語で目標を説明するだけで、複雑な3Dモデルの作成、形状の変更、アセンブリの管理が可能になります。

仕組み

このプロジェクトは、チャットインターフェースをワークベンチとしてFreeCADに直接統合します。さまざまなLLMプロバイダー(Ollamaのようなローカルオプションを含む)に接続し、ユーザーの記述を実行可能なPythonコードに変換します。主に2つのモードで動作します:

  • Plan Mode: AIがコードを生成し、ユーザーがそれを確認して手動で実行します。
  • Act Mode: AIが50以上の構造化ツール(例:create_primitive, boolean_operation, fillet_edges)のライブラリを使用して操作を自動的に実行するか、生のコード生成にフォールバックします。

信頼性を向上させるため、コード検証用のサンドボックス、エラーの自己修正(失敗時の自動リトライ)、および特定のタスク(ギアの作成や電子機器の筐体作成など)のための再利用可能な指示セットである「Skills」が含まれています。

対象ユーザー

  • FreeCADユーザー: モデリングのワークフローを高速化したい方。
  • 初心者: FreeCADのPython APIやUIが難解だと感じている方。
  • 開発者: カスタムのAI呼び出し可能なPythonツールを使用してFreeCADの機能を拡張したい方。

ハイライト

  • 幅広いプロバイダー対応: Anthropic、OpenAI、Gemini、およびローカルのOllamaインスタンスを含む20以上のLLMプロバイダーに対応。
  • 構造化されたツール群: 50以上の事前検証済み操作を使用することで、生のコード生成と比較してエラーを削減。
  • 拡張可能なアーキテクチャ: 複雑で繰り返しの多いタスクのために、ユーザー定義のPythonツールや「Skills」をサポート。
  • ビジョン統合: ビューポートのスクリーンショットや画像添付をサポートし、AIにモデルの視覚的なコンテキストを提供。
  • 依存関係ゼロ: インストールを簡素化するため、Python標準ライブラリのみを使用して構築。