チャットのように CAD モデリング:浙江大学発オープンソース CADDesigner 実践ガイド

·Toolin 編集部

一文の入力やラフスケッチから CADDesigner が 3D モデルを自動生成。浙江大学がオープンソース化した LLM 駆動 CAD エージェントの使い方と注意点を解説します。

チャットのように CAD モデリング:浙江大学発オープンソース CADDesigner 実践ガイド

従来の CAD モデリングでは SolidWorks や AutoCAD といった専門ソフトの習得が必要で、「押し出し・回転・スイープ・ロフト」といったコマンドの操作手順を覚えるだけでも数か月を要します。浙江大学の杜鵬(du peng)研究員チームがオープンソース化した CADDesigner は、これをおしゃべりひとつにまで単純化しました——欲しいモデルを言葉で説明するか、ラフなスケッチを描けば、エージェントが 3D CAD モデルを生成してくれます。このガイドでは、それが何者なのか、どう使うのか、そしてどのシーンですぐに始められるのかを解説します。

CADDesigner とは

CADDesigner は大規模言語モデル(LLM)をベースにした CAD コンセプト設計エージェントで、浙江大学コンピュータ支援設計・グラフィックスシステム国家重点実験室がオープンソースとして公開しています。

その核心的な位置づけは、「モデリング」を「コマンド操作」から「意図の記述」へ変えることにあります:

  • 入力:自然言語の一文(「円柱状の脚が4本ある丸テーブルを作って」)または手描きスケッチ1枚
  • 出力:主流の CAD ソフトにそのまま取り込める 3D モデル。複雑なアセンブリにも対応

鍵となるイノベーションは、チームが提唱する ECIP(Explicit Context Imperative Paradigm、明示的コンテキスト命令型パラダイム) です。これは LLM に「ばかでもわかる操作マニュアル」を渡すようなものと理解できます——モデルが CAD モデリングスクリプトを生成する際に拠り所を持てるようにし、当て推量や回り道、ミスを減らし、設計者の意図を安定して信頼できる幾何モデリングの結果へと翻訳します。

CADDesigner がチャットのようにモデリング

CADDesigner は「押し出し → 回転 → スイープ」といった専門コマンドの手順を、LLM が安定して生成できるスクリプトにカプセル化することで、モデリングのハードルを「ソフトを学ぶ」から「タイピングができる」へと引き下げます。

コア機能

自然言語駆動のモデリング

最もストレートな能力が text-to-CAD です。モデルの構造を言葉で記述するだけです。たとえば:

「L 字ブラケットを生成して。長さ100mm、幅60mm、厚さ10mmで、両端の面にそれぞれ直径8mmの取り付け穴を1つずつ開けて。」

CADDesigner はまず設計意図を理解し、次に ECIP パラダイムを通じて対応するモデリングスクリプト(スケッチ → 輪郭 → 押し出し → 穴あけ)を生成し、最終的に幾何モデルを出力します。

このアプローチは、LLM にいきなり「OpenSCAD のコードを1本生成させる」よりも安定しています。ECIP がモデリング過程を構造化しており、各ステップに明確なコンテキストがあるため、コマンドの曖昧さでモデルが脱線しないからです。

スケッチ入力

テキストに加えて、CADDesigner はスケッチ入力にも対応しています。大まかな輪郭図を描けば、エージェントが形状を認識し、パラメトリックなモデルへと補完します。

チームが論文で行った比較によれば、ベクトル化したスケッチ入力はピクセル入力を明確に上回る成果を示しています——ベクトル方式は図面の「ソースコード」を直接読み込むのに等しく、ピクセル方式は精密な図面をぼやけた写真越しに理解するようなものだからです。

マルチエージェント協調による複雑アセンブリの処理

CADDesigner の内部はマルチエージェント(multi-agent)アーキテクチャです。複雑なアセンブリを処理する際、異なるサブエージェントがそれぞれ担当を分けます:

  • 構造分解(全体機構を部品へ分解)
  • 個々の部品のモデリング
  • アセンブリ関係の推論(穴位置の整合、はめあいの関係)
  • 一貫性の検証

この分業により、ギアボックスやリンク機構といった多部品モデルでも安定した出力が可能になっています。

使い方:導入の流れ

ステップ1:コードと論文を入手

CADDesigner はオープンソースです。主要リソースは次の通り:

  • 論文(arXiv):CADDesigner: Conceptual Design of CAD Models Based on LLMs、番号 2508.01031
  • 著者ページ:https://dupengtomas.github.io/ (プロジェクトリンク CADDesigner-Code 掲載)
  • 連絡先メール:dp@zju.edu.cn

ヒント:オープンソースリポジトリのアドレスは、著者ページと論文に記載された CADDesigner-Code のリンクを正としてください。名前の似た無関係なプロジェクトを clone しないようにしましょう。

ステップ2:環境を整える

代表的な依存関係(公式 README を正とし、ここでは想定リストを示します):

  • Python 3.9+
  • バックエンドの幾何エンジンとして OpenSCAD または FreeCAD に対応
  • LLM インターフェースを1つ(オープンソース版は通常、Qwen / DeepSeek などローカルデプロイ可能なモデルに接続)

具体的なバージョン要件はリポジトリの README を正としてください。システムの Python を汚さないよう、conda の仮想環境へのインストールを推奨します。

ステップ3:最小サンプルを動かす

最も一般的な入門の流れは次の通りです:

  1. 設計の記述を1文書く(中国語/英語どちらも可。まず英語で試し、その後中国語に切り替えるのがおすすめ)
  2. エージェントを呼び出して ECIP スクリプトを生成
  3. STEP / STL / OpenSCAD ファイルとしてエクスポート
  4. FreeCAD またはオンラインビューアで開いて検証
输入: "a round table with four cylindrical legs, top diameter 80mm, height 75mm"
输出: table.step(可直接导入 FreeCAD/SolidWorks)

ステップ4:幾何結果を検証

生成されたモデルには、必ず次の2点を確認してください:

  • メッシュチェック:FreeCAD の Part Check Geometry で非多様体エッジや自己交差面がないことを確認
  • 寸法の再確認:ECIP は安定とはいえ、LLM が「直径80mm」を「半径80mm」と解釈することがまれにあります。元の記述と突き合わせる習慣をつけましょう

スケッチとモデルの対比

ヒント:スケッチ入力は単色の明瞭な線で描き、陰影やノイズを避けると、認識精度が大幅に向上します。

適したシーン

シーン推奨度説明
コンセプト設計段階の高速プロトタイピング強く推奨CADDesigner の得意分野。数分で案が出せる
教育/研修デモ強く推奨「モデリング=スケッチ+フィーチャ」という本質を初心者に理解させる助けになる
標準部品/定番構造の生成推奨L 字ブラケット、フランジ、ギアブランクなど
高精度なエンジニアリング図面慎重に寸法公差の詰めは専門 CAD での仕上げが必要
自由曲面/有機形状非推奨現行バージョンは Nurbs 曲面の対応が限定的

よくある質問

  • 生成モデルの寸法がおかしい:LLM が「直径/半径」「長さ/幅」を取り違えていないか確認します。記述時に「直径80mm(半径ではない)」と明示的に書くのがおすすめです。
  • 複雑なアセンブリの生成に失敗する:まず全体を2〜3のサブ部品に分解して分割生成し、その後手動で組み立てます。
  • 中国語の記述だと精度が落ちる:まず英語でフローを通し、環境が正常だと確認してから中国語に切り替えます。一部の LLM バックエンドは中国語の CAD 用語の理解が弱めです。
  • 公式リポジトリが見つからない:著者ページ https://dupengtomas.github.io/ の CADDesigner-Code リンクを正とし、サードパーティのミラーを鵜呑みにしないでください。

関連リンク