FreeCAD MCPにAIが自身でオブジェクトレビューできる機能を追加。

FreeCAD MCPでAIにモデリングしてもらうと後修正が多い。

FreeCAD MCPでCODEXにモデリングをお願いするスタンスで色々試している。

いい感じのモデルは出来るんだけど、構造や形状が間違っていたり干渉が発生していたりで

モデル完成後、CODEXに再度修正のため修正内容を伝えないといけない。

この後修正作業でCODEXのクレジットを無駄に浪費している。

っで、どうにかならないかなぁって考えた。

CODEX自身に足りない機能を追加してもらう。

CODEX自身にFreeCADモデリングで不足しているMCPで使える機能を抽出してもらった。

AIって人間から質問しないと自発的に気に入らない事などを言ってくれないんだよね。

だから、「FreeCAD MCPを今まで使ってみて追加必要と思う機能はある?」って聞いてみた。

っで、追加したのが

get_viewport_screenshot

  • 現在の表示をPNGで返す
  • axonometric / front / rear / left / right / top / bottom も指定可能
  • 初期値は view=currentfit=false。Macで勝手に重いFit Allをしない

set_viewport_view

  • 撮影せず標準視点へ切り替えるための機能

でも、これではCODEX自身が確認出来る事は「見た目」だけ。

ChatGPTにもFreeCAD MCPに追加が必要な機能を相談。

人間が3D-CADで設計するときのように、干渉チェックし干渉箇所を目視確認して干渉可否判断

部品間最小寸法の確認やモデルがソリッドでできているかなどをAIにしてほしい。

ChatGPTにも「設計の相棒としてのCODEXなんだけどMCPに足りない機能ある?」って聞いた。

っで、追加した機能が

  • measure_clearance:最短すき間・最接近点・干渉体積 
  • detect_collision:部品ペア/指定部品群のBRep干渉検出 
  • explode_view:元モデルを動かさない一時コピーの分解表示 
  • isolate_object:一部品だけの一時表示 
  • auto_review:BRep、面数、BoundingBox、干渉・近接候補、スクショをまとめた報告

一応、人間が3D-CADで設計するときに確認している項目の機能はほぼ入ったと思う。

これで、後修正作業がかなり減る。

というか、実際にCODEXにFreeCAD MCPでモデリングテストをしたら後修正はムッチャ減った。

CODEX自身がモデル作成途中にレビューしてその場で修正していく。

この自転車だと、ハンドルまわりと泥よけの範囲だけの修正だった。

僕とCODEX専用のFreeCAD MCPの機能一覧。

自分でもFreeCAD MCPの機能が整理できていないのでAIに整理してもらった。

こんな感じで設計をAIと協調して行う為のツールになっていた。

1. モデル操作機能(従来機能)

Part Designを中心とした3Dモデリング操作を実行できます。

スケッチ機能

2Dスケッチ作成

  • Sketch作成
  • Line
  • Arc
  • Circle
  • Rectangle
  • Polygon
  • Slot
  • Point

高度スケッチ機能

  • B-Spline(Bスプライン)
    • 自由曲線を作成
    • 制御点による滑らかな形状定義が可能
    • 意匠部品や曲面生成用断面作成に有効
  • 3D Text(3Dテキスト)
    • 文字形状をスケッチとして生成
    • PadやPocketと組み合わせて文字の凸形状・刻印形状を作成可能
    • ラベルプレートや筐体への型番表示などに利用

スケッチ拘束

  • Coincident
  • Horizontal
  • Vertical
  • Parallel
  • Perpendicular
  • Tangent
  • Symmetric
  • Equal
  • Distance
  • Radius
  • Diameter
  • Angle

フィーチャ作成

ソリッド生成

  • Pad
  • Pocket
  • Revolve
  • Loft
  • Sweep

形状編集

  • Fillet
  • Chamfer

複製・対称

  • Mirror
  • Pattern

ブーリアン演算

  • Union(Fuse)
  • Cut
  • Common
  • Boolean

ファイル操作

  • Export
  • Save
  • Delete Feature

2. モデル解析・状況把握機能(強化機能)

AIが現在の設計状況を把握するための情報取得機能です。

get_document_summary

現在開いているモデル全体の概要を取得します。

取得情報

  • 開いているファイル名
  • 保存場所
  • オブジェクト数
  • 部品一覧
  • 選択状態

用途

作業開始時に、

「現在どのようなモデルを編集しているのか」

をAIが理解するための基礎情報として利用します。


inspect_object

指定部品の詳細情報を取得します。

基本情報

  • 部品名
  • ラベル
  • 部品種別
  • 表示状態

配置情報

  • 座標
  • 回転軸
  • 回転角度

形状情報

  • 面数(Faces)
  • 辺数(Edges)
  • 頂点数(Vertices)
  • ソリッド数(Solids)

構造情報

  • 親オブジェクト
  • 子オブジェクト

用途

部品単位で構造や状態を詳細に確認できます。


get_all_bodies

形状を持つBodyを一覧取得します。

用途

  • モデル内のBody数確認
  • 部品構成の把握
  • 解析対象の抽出

3. BRep品質検証機能

validate_shape

形状データ(BRep)の健全性を確認します。

検査内容

  • Null Shape判定
  • Valid判定
  • トポロジエラー確認

用途

表示上は正常でも、

  • 内部構造が壊れている
  • ブーリアン失敗状態になっている
  • CAMやデータ変換で問題が発生する

といったケースを検出できます。


4. GUI・ビューポート操作機能

select_objects

指定部品を選択状態にします。

用途

  • スクリーンショット取得時の強調表示
  • 対象部品の明示

set_viewport_view

表示視点を変更します。

指定可能な視点

  • current
  • axonometric
  • front
  • rear
  • left
  • right
  • top
  • bottom

get_viewport_screenshot

現在のビューポートをPNG画像として取得します。

指定可能パラメータ

  • view
  • width
  • height
  • fit

出力形式

  • PNG
  • Base64エンコード

用途

  • AIによる形状認識
  • レビュー資料作成
  • 自動レポート生成

本アップデートの中心機能の一つです。


5. 寸法・形状情報取得機能

get_bounding_box

部品の外接直方体寸法を取得します。

取得情報

  • Xサイズ
  • Yサイズ
  • Zサイズ

get_body_dimensions

Body全体の寸法情報を取得します。


get_faces_info

面(Face)の一覧情報を取得します。

取得例

  • 面番号
  • 面種別
  • 面積

get_edges_info

エッジ(Edge)の一覧情報を取得します。

取得例

  • エッジ番号
  • 長さ
  • 形状種別

6. ファイル管理機能

利用可能操作

  • Export
  • Save
  • Delete Feature

形状作成だけでなく、フィーチャ管理やファイル出力も実施可能です。


7. 干渉・クリアランス解析機能

measure_clearance

2部品間の真の最短距離を測定します。

取得情報

  • 最短距離
  • 最近接点
  • 干渉有無
  • 干渉体積

使用例

羽根とガードの最小隙間は0.42 mm

のような実設計レベルの隙間確認が可能です。


detect_collision

部品同士の体積干渉を検出します。

モード

個別検査

  • 指定した2部品を比較

全体検査

  • 複数部品を一括スキャン

設定

  • max_exact_checks

によって厳密判定数を制御可能です。

用途

  • 組立性確認
  • 干渉チェック
  • 自動レビュー

8. レビュー支援機能

explode_view

一時的な分解表示を生成します。

動作方式

  • 元部品を非表示
  • コピー部品を移動
  • レビュー後に復元

特徴

元モデルのPlacementや形状は変更されません。


isolate_object

指定部品のみ表示します。

用途

  • 接続部確認
  • 細部確認
  • 単体レビュー

表示状態のみ変更し、形状には影響しません。


restore_review_view

レビュー表示を元に戻します。

復元対象

  • explode_view
  • isolate_object

で変更した表示状態および一時オブジェクトを復元・削除します。


9. 自動レビュー機能(Auto Review)

auto_review

複数の解析機能を統合した総合レビュー機能です。

実施内容

形状健全性確認

  • BRep有効性
  • ソリッド有無

トポロジ情報取得

  • 面数
  • 辺数
  • 頂点数

寸法確認

  • バウンディングボックス

組立確認

  • 干渉検査
  • クリアランス検査

状態確認

  • 選択状態

可視化

  • ビューポート画像取得

目的

設計レビュー時に、

  • モデル破損確認
  • 部品構成確認
  • 干渉確認
  • 隙間確認
  • スクリーンショット取得

を一括実行し、レビュー工数を大幅に削減します。

機能を大分類すると次のようになります。

分類機能
スケッチ作成Sketch、B-Spline、3D Text
ソリッド作成Pad、Pocket、Revolve、Loft、Sweep
形状編集Fillet、Chamfer
複製・対称Mirror、Pattern
ブーリアンBoolean
状況把握get_document_summary、inspect_object
品質検証validate_shape
寸法解析get_bounding_box、get_body_dimensions
干渉解析measure_clearance、detect_collision
レビュー支援explode_view、isolate_object、restore_review_view
画像取得get_viewport_screenshot
自動レビューauto_review
ファイル管理Export、Save、Delete Feature

コメントを残す