CADFather:視覚言語アシスタントがツールを調整し、メッシュからパラメトリック CAD を自律的に再構成
CADFather は追加学習なしで 3D メッシュからパラメトリック CAD を復元するエージェントです。視覚言語アシスタントが学習型提案、幾何提案、数値最適化を使い分け、最良の有効結果を保持します。DeepCAD、Fusion360、MCB の全テストセットで無効率ゼロ、平均 IoU は 0.987、0.976、0.913 です。
背景:メッシュから編集可能な CAD プログラムへ
メッシュは形状を記述しますが、その作り方は記録しません。スキャンデータや履歴のない旧メッシュしか残っていない部品では、穴径や肉厚を設計者が直接変更できません。CADFather は、この逆設計の問題に取り組みます。目標メッシュを入力として、実行可能で構造的にまとまりがあり、編集できるパラメトリック CAD プログラムを復元します。論文はモスクワ国立大学、Innopolis 大学、FusionBrain Lab の研究で、arXiv 2610.09127、2026 年 10 月 6 日に投稿されました。コードは GitHub の kulibinai/CADFather で公開されています。
既存手法にはそれぞれ得意と不得意があります。CAD-Recode、cadrille、CADEvolve は完全なプログラムを一度に生成します。CADReasoner は差分のフィードバックで完全なプログラムを修正します。CADENA は操作を一つずつ追加します。CADFit は幾何フィッティングと最適化探索を組み合わせます。論文の中心的な観察は、どの部品形状、どの再構成段階でも等しく強い単一の操作供給源は存在しない、というものです。学習モデルは妥当な操作を出しますが、特徴を落としたり寸法を誤ったりします。アルゴリズム型の構成は目標形状から直接操作を導きます。数値最適化は、すでに近いプログラムの寸法を整えます。そこで、各ステップでどの候補を伸ばし、どのツールを使うかが問題になります。
中核アーキテクチャ:視覚言語アシスタントと三つのツール
CADFather は追加学習を必要としないエージェントです。アシスタントは FP8 重みの Qwen3.8-27B で、明示的な思考は無効です。学習型の操作生成器は CADENA-RL のチェックポイントで、bfloat16 で動かします。二つのモデルとも凍結されたままです。すべてのツールは CADENA の CadQuery ベース DSL という同じ表現で出力します。このため、あるツールが作った候補を別のツールが拡張したり精密化したりできます。
三つのツールの役割は明確です。第一に学習型提案生成です。親プログラムに対し、一回の要求で n 個の次操作候補を返します。n はアシスタントが選び、一回あたり最大 32 です。第二にアルゴリズム型提案生成です。学習モデルを使わず、目標メッシュへの幾何フィッティングで操作を作ります。空の開始点では、まず回転体かどうかを調べます。そうでなければ平面で目標を切り、各断面をスケッチとして扱い、そのスケッチが目標表面に沿う押し出し深さを求めます。重なりへの寄与が小さい押し出しは捨てます。既存候補では、候補と目標を比べて不足材料と余剰材料を見つけ、不足には押し出し、余剰には切り取りを作ります。結果は順位付きのリストで、一回の呼び出しで四つの提案を返します。第三にパラメータ最適化です。数値だけを変え、操作の構造は保ちます。自由パラメータはスケッチ座標、半径、押し出し深さです。
判断ループと候補プール
システムは部品ごとに候補プールを保持します。各候補は識別子、親、生成ツール、プログラム、メッシュ、操作数、有効性、測定値を持ちます。候補を拡張すると子が作られ、履歴は書き換えられません。コード単位の重複排除で同一プログラムの二重登録を防ぎます。各ステップでアシスタントが見るのは上限付きの表です。得点上位 12 件の候補に、保護された最良候補と空のルートを加えます。各行にはツール、操作数、IoU と GMS、系列の最初の操作の得点、まだ使えるツールが並びます。目標と最新候補のレンダリング画像も渡されます。アシスタントは意図を一文で述べ、最大四つの act 呼び出しを出すか、finish を呼びます。理由は shape(特徴が揃った)か stalled(進展なし)です。
ツールの応答は提案にすぎません。実行部がビルドし、検証し、測定します。その後アシスタントがレンダリングを見て、プールに入れるか判断します。有効性の規則は厳格で、プログラムがビルドでき、メッシュ全体が正の体積を持つ水密ソリッドでなければなりません。目標と候補は同じ座標系に置かれ、候補は自身のバウンディングボックスで再スケールされないため、寸法の誤りは減点になります。得点は IoU と正規化 GMS の平均で、無効な候補は 0 です。最終出力はアシスタントが最後に触った候補ではなく、保護された最良結果です。固定の予算で終了が保証されます。部品ごとに 24 ステップ、最大 12 操作、1000 秒、生成サンプル 80、アルゴリズム呼び出し 6、最適化呼び出し 10、プログラム実行 120 です。
最適化器の数理
最適化器は符号付き距離を使います。点からソリッド表面までの距離で、内部は負です。プログラムの距離は操作から直接計算し、目標の距離はサンプル点でメッシュから計算します。不一致は二つの距離の二乗差の平均です。勾配は数値的に推定します。
各パラメータを小さく動かし、不一致の変化から微分を得ます。まず部品全体に散らした点で合わせ、次に表面近くの点で合わせます。初期、粗い、細かい三組のパラメータのうち表面近くで最も合うものを残すので、プログラムが変わらずに戻ることもあります。対応する操作は押し出し、穴、回転に限られます。著者は新しい数値最適化器を提案していないと明言しています。
ベンチマーク結果
DeepCAD、Fusion360、MCB の全テストセット(8046、1725、5000 部品)で、CADFather の無効率は 0 です。平均 IoU は 0.987、0.976、0.913 で、CADENA-RL のサンプリング版の 0.966、0.952、0.895 を上回ります。平均 GMS は 0.983、0.960、0.766 です。30000 点でのチャンファー距離の中央値(1000 倍)は 0.039、0.034、0.083 で、比較対象は 0.042、0.036、0.089 です。学習型ツールは同じ CADENA-RL なので、改善は生成器が強いからではありません。注意点として、公開済みの CADENA の行はより緩い有効性規則を使っており、無効率は直接比べられません。
CADENA-Bench(3396 部品)では IoU 0.909、GMS 0.721 で、CADENA-RL の貪欲版は 0.876 と 0.670 です。CADBench では、ベンチマーク自身の評価コードで 18000 部品を採点し、IoU 0.930、表面 IoU 0.787、チャンファー距離 0.029 でした。CADFit は 0.859、0.679、0.038 です。ただし有効形状率は 0.968 で、CADFit の 0.981 より低くなります。576 部品が評価器の 30 秒制限を超えたためです。BenchCAD ではボクセル IoU が 0.968、無効プログラムはゼロでした。
アブレーション:アルゴリズム型提案が最重要
各データセット 1000 部品のサブセットで、アルゴリズム型提案を外すと平均得点が 0.012 から 0.110 下がります。MCB では無効率が 0 から 0.124 に上がります。理由は具体的です。ある部品では、生成器が出す最初の操作がすべて開いた曲面になり、水密でない土台からは探索を続けられません。
目標断面の押し出しなら、閉じたソリッドが得られます。最適化器を外した場合の低下は 0.004 から 0.006 で、無効率は 0 のままです。つまりこの系では、ツールの多様性は主に頑健性を買い、最適化器は最後の小さな当てはまりを加えます。著者は、アシスタントの選択方針そのものの寄与は分離できていないと認めています。
コストとレイテンシ
一部品あたりの平均アシスタントステップは、DeepCAD で 6.37、Fusion360 で 8.41、MCB で 12.25、CADENA-Bench で 13.04 です。実時間は 82.6、119.9、245.6、306.7 秒です。生成サンプルは 19.0 から 67.1 まで広がります。アシスタント自身が終了する割合は、DeepCAD の 86.1% に対し CADENA-Bench では 25.0% で、複雑な機械部品は予算で打ち切られることが多いと分かります。
BenchCAD では、Qwen3.8-27B の OpenRouter 価格(入力 100 万トークン 0.425 ドル、出力 2.55 ドル)で見積もると、四ステップでボクセル IoU 0.943、約 0.016 ドル、満額で 0.968、約 0.046 ドルです。論文は、ツール付きの Claude Opus 5.5 と GPT-6 Astra が 0.962 と 0.959、一部品 5.94 ドルと 1.75 ドルと引用しています。これらはベンダーの自己申告で、入力もサブセットも異なり、著者自身が文脈的な比較と呼んでいます。見積もりはモデルのトークンのみで、幾何処理と実行時間は含みません。
開発者と企業への影響
製造業や産業ソフトのチームにとって、この方式は旧スキャンや履歴のないメッシュを、編集できるパラメトリックモデルに変えます。専用モデルの学習は要りません。既存の生成器、幾何アルゴリズム、汎用の視覚言語モデルを組み合わせるので、オープンウェイトで社内環境にも置けます。
モジュール構成なので、どのツールも差し替え可能です。より強い生成器や速いフィッティングをそのまま接続できます。より広い教訓は、幾何のように検証できる領域では、エージェントの価値が単体モデルの素の力ではなく、ルーティングと予算配分から生まれるということです。
限界と今後
著者はいくつかの限界を挙げています。システムは CAD 表現が支える操作と、ツールが出せる提案に縛られます。パラメータ最適化は誤った操作列を直せず、良い代案が一度も生成されなければ、古い候補を残しても役に立ちません。探索の上限が、成功し得た軌跡を打ち切ることもあります。アシスタントは不完全な視覚と数値の証拠から判断するため、結果はプロンプトやモデルの挙動に左右されます。典型的な失敗は、初期のトポロジーの誤り(中実のブロックが中空の枠として再構成される)、体積は合うが表面の細部(ローレット、浅いポケット)が欠けること、螺旋ばねが管として再構成されることです。評価は幾何とプログラムの有効性だけを測り、設計履歴、製造意図、工学的制約は測りません。対象は単一部品で、組立、公差、シミュレーションには及びません。CAD-Assistant や IterCAD など他の CAD エージェントとの直接比較と、アシスタントのツール選択方針の統制された評価は、今後の課題です。
注意深い読者への補足として、最終選択は報告される指標と同じ IoU と GMS を使います。つまり報告指標による best-of-N の選択です。数値を引用するときは、この点を心に留めてください。