FreeCADとAIで3Dモデリング革命!LLMがPythonコードを生成して図面作成を効率化

3DCAD・3Dプリント

FreeCAD + AIの衝撃

FreeCADは、オープンソースの3D CADソフトウェアです。無料でありながら、パラメトリックモデリング、アセンブリ、図面作成など、商用CADに負けない機能を持っています。

そして今、このFreeCADにAI(LLM)を組み合わせるという革命的アプローチが注目されています。

やり方はいたってシンプル:

「AI(ChatGPTやClaude)に作りたい形状を伝える」→「AIがFreeCADのPythonスクリプトを自動生成」→「そのコードをFreeCADに貼り付ける」→「3Dモデルが一瞬で完成!」

これが、もう驚くほど便利なのです。

Step 1: AIに指示する

ChatGPTやClaudeに、以下のようなプロンプトを入力します。

FreeCADのPythonスクリプトで、
- 直径50mm、高さ100mmの円柱を作成
- 中心に直径20mmの貫通穴を開ける
- 上面と下面にC1の面取り
- 材質はS45Cと設定

Step 2: AIがPythonコードを生成

AIが以下のようなコードを生成します。

import FreeCAD as App
import Part
import Draft

doc = App.newDocument("Bushing")

# 円柱作成
cylinder = doc.addObject("Part::Cylinder", "Cylinder")
cylinder.Radius = 25
cylinder.Height = 100

# 穴用の円柱
hole = doc.addObject("Part::Cylinder", "Hole")
hole.Radius = 10
hole.Height = 100

# 切り取り(ブーリアン演算)
cut = doc.addObject("Part::Cut", "Cut")
cut.Base = cylinder
cut.Tool = hole

# 面取り
chamfer = doc.addObject("Part::Chamfer", "Chamfer")
chamfer.Base = cut
chamfer.Edges = [...]  # 上面と下面のエッジ
chamfer.Size = 1

doc.recompute()
App.ActiveDocument.recompute()

Step 3: FreeCADに貼り付ける

FreeCADを起動し、メニューから「マクロ → マクロの実行」またはPythonコンソールにコードを貼り付けて実行。すると数秒で3Dモデルが画面に表示されます。

Step 4: 微調整

AIが生成した「ベース」の形状をもとに、FreeCAD上で細かいフィレットや面取り、穴位置の調整を行います。イチから手作業でモデリングするより、工数は格段に短縮されます。

実践例:ここまでできるFreeCAD + AI

例1:鋼構造の機械ベースフレーム

以下のようなプロンプトで、工場設備のベースフレームを一発生成できます。

FreeCADで鋼構造の機械ベースフレームを作成:
- 全長1200mm、全幅800mm、高さ150mm
- 角パイプ□100x100x t3.2で外周フレーム
- 中央に40mm間隔で□50x50x t2.3の補強材を5本配置
- 四隅にΦ20のアンカーボルト用穴(面取り付き)
- 天板はt12の鋼板、M8のタップ穴を4隅に配置
- すべてのエッジにC2の面取り

AIがこれを解釈し、各フレーム材の押し出し断面、補強材の配置、ボルト穴の位置決めまで含んだコードを生成します。手作業でゼロからモデリングすると2〜3時間かかる作業が、10分以内でベース形状が完成します。

例2:制御盤の扉(切り欠き・ヒンジ・ハンドル付き)

FreeCADで制御盤用の鋼板扉を作成:
- 板厚t2.0、幅600mm、高さ800mm
- 中央やや上部に150x80mmの表示窓用切り欠き(R10の角丸)
- 切り欠きの右下にΦ22の押しボタン穴を3つ並べて配置(等間隔40mm)
- 左端にヒンジ用の長穴を3箇所(Φ6 x 18mmの長穴、上下端から50mmと中央)
- 右端中央にハンドル取り付け用の四角穴(30x30mm、面取りC2)
- 扉の四隅はR5の角丸加工

AIは切り欠きの座標計算、ヒンジ位置のオフセット、複数のブーリアン演算を自動で処理。制御盤の扉のような複雑な板金部品も、プロンプト1発でベース形状が生成されます。

例3:パイプフランジ付きマニホールド

FreeCADでマニホールドブロックを作成:
- ベースブロック 80x60x40mm
- 上面にRc1/4のポートを6個、20mm間隔で2列配置(千鳥)
- 両側面にRc3/8の入口ポートを左右1個ずつ
- ブロック内部にΦ10の貫通流路(入口から各ポートに分岐)
- すべてのポートにC0.5の面取り
- 底面に4-M6の取り付けタップ穴(四隅、深さ12mm)

油圧・空圧機器の設計ではよくあるマニホールドブロック。通常なら穴位置の計算や断面形状の確認に手間がかかりますが、AIなら分岐流路の位置も含めて一貫した形状を生成できます。

さらに進んだ活用法:FreeCAD MCP

より発展的な使い方として、FreeCAD MCP(Model Context Protocol)があります。

MCPを使うと、AIがFreeCADに直接アクセスしてモデリングを実行できます。「コードを生成して手動で貼り付ける」のではなく、「AIがFreeCADに自動的に指示を送り、リアルタイムでモデルを構築する」というイメージです。

できることの例:

  • 「M5のボルト穴を4隅に配置して」→ AIが自動で穴を追加
  • 「この面取りをC2に変更して」→ パラメータを変更
  • 「この形状を10mmZ方向に押し出して」→ 押し出し追加

まるでCADに「AIコパイロット」が搭載されたような体験です。

具体的にどれくらい工数削減になるのか

作業内容 従来(手作業) AI + FreeCAD 削減率
単純なブラケット形状 30分 3分(生成+微調整) 90%
フランジ付きパイプ 45分 5分 89%
複数の穴あけパターン 20分 2分 90%
機械ベースフレーム(鋼構造) 2〜3時間 10分 92%
制御盤扉(切り欠き・ヒンジ穴) 1時間 8分 87%
マニホールドブロック(油圧) 2時間 12分 90%
ネジ山・ねじ切り形状 15分 5分 67%

単純な形状ほど効果が大きく、複雑なアセンブリや有機的な形状はまだAIだけでは難しいですが、基礎となる形状をAIに作らせて、細部を手作業で調整するという使い方が最も現実的で効果的です。上の例のような実務で頻出する部品であれば、どの業種でも50%以上の工数削減が期待できます。

注意点とコツ

  • 指示は具体的に:「丸いやつ」ではなく「直径30mm、高さ50mmの円柱」と伝える
  • 板金ものは展開図まで意識させる:曲げ代や板厚を考慮した形状にするよう指示すると、より実務に近いモデルが生成できる
  • 英語の方が精度が高い:FreeCAD APIのドキュメントは英語が多いので、英語で指示した方が正確なコードが生成されやすい
  • 生成後に必ず検証:AIが生成したコードが常に正しいとは限らない。特に寸法は必ず確認
  • バージョン対応:FreeCADのバージョンによってAPIが異なる場合があるので、使用中のバージョンをAIに伝える
  • マクロとして保存:よく使う形状はマクロとして保存しておくと再利用が簡単

まとめ

  • FreeCADはPythonスクリプトで完全制御可能
  • AI(LLM)がFreeCADのPythonコードを自動生成してくれる
  • コードを貼り付けるだけで数十秒で3Dモデルが完成
  • 機械ベースフレーム、制御盤扉、マニホールドなど実務部品も生成可能
  • 基礎形状をAIに作らせて微調整だけ手作業で行うと工数が大幅削減
  • MCPを使えばAIが直接FreeCADを操作することも可能
  • 単純な形状ほど効果大。複雑モデルは「ベース生成+微調整」が現実的

「3D CADなんて難しそう…」と思っているエンジニアこそ、FreeCAD + AIの組み合わせは試す価値があります。FreeCADは無料なので、気軽にインストールして、AIに「機械ベースフレームを作って」とか「制御盤の扉を設計して」と頼んでみてください。設計業務のスピードが劇的に変わります。

コメント

タイトルとURLをコピーしました