Fusionの生成AIツールを使ってみる
皆さん、すこし前にAutodesk FusionにAutodesk Assistantなる生成AIツールが導入されたことに気づきましたか? こういうツールが出てきたらとりあえずどこまでできるのか試してみたくなります。今回、歯車のデザインの中でちょっと難しめの傘歯車を作らせてみることにしました。
傘歯車とは、同じ方向にしか動力を伝えられない平歯車と違い、角度を変えて動力を伝えることができる便利な代物です。平歯車と比べるとちょっとだけ設計が手間なのでAIが勝手にやってくれたら便利ですよね。
早速Autodesk Assistantを起動し、とりあえず以下のようなプロンプトでFusionに傘歯車を作らせてみます。
Create a pair of bevel gears with module=1, driving gear teeth count=31, and pinion gear teeth count=17
4分
なんとも残念な結果です。現時点ではFusionが傘歯車とは何なのかをよく理解していないのか、とにかくまともな設計をしてくれません。他の用途で便利な局面はたくさんあるのですが、まだ一言命令しただけでプリント可能なモデルを生成できるところまでは来ていないようです。
なお、Claude Desktopからも同等のプロンプトを使ってみましたが、なにやら負荷の高い作業をして一度Fusionをクラッシュしてしまったあげく、2回目に出力されてきた傘歯車は以下のようになりました。Autodesk Assistantよりはよい結果でしたが、ここにいたるまで34分かかりました。傘歯車を複数個使うプロジェクトではとても使いものになりません。
エージェントにAdd-Inコードを書かせる
私が本稿執筆時点で使ってみたところでは、まだ生成AIを使って思い通りの形をFusionなどのCADで描くのは無理という感じがします。ただしこれは直接作成することが困難というだけで、歯車のようなよく使う部品を描画するAdd-Inのコードを書く、ということであればそこまで難しいことではありません。
結果から言ってしまうと、完全手動でFusionのPythonバインディングを使って悩みながら書くより、Claude Codeに自然言語で指示を与えたうえでPythonを出力させるほうが明らかにストレスが少ない結果になりました。FusionのAdd-Inコードを書いたことがある方なら理解してもらえるかと思いますが、一致拘束の適用やら、任意の平面に対して法線方向に面・
以下のGitHubレポジトリから元の指示ファイルと結果のコードが確認できます。
もちろん一回で正しいコードはできませんでした。こちらが意図していない形になったりエラーになったりするたびにClaude Codeに私が作りたいものと結果の相違を伝えた上で修正をしてもらい、さらに
なおこのブラッシュアップの過程で、もともと私が書いていた指示をClaude Codeに書き換えさせているので、最新版はだいぶAIくさい文章となっています。私が直接書いた最後のバージョンはこちらとなりますので、その差分を見るのもおもしろいかもしれません。
元の文章はあくまで座標などを指示していたのですが、生成されるコードをガイドするような文章に変更するようエージェントに依頼していたら、少しずつPythonコードに関する注釈なども付け加え始めました。しょうがない部分ではありますが、このあたりもそのうち一緒に作ったギア生成スキルに移動したいとは考えています。
傘歯車設計の概要
この手法で気を付けなければいけない点としては、AIで楽をするといってもそもそも指示を出すべき人間側が指示の内容
そこでせっかくですので、大まかに傘歯車の作り方も以下に解説します。以下の制限・
傘歯車の全体的な形は以下のように母線がぴったりと接する円錐を作るイメージです。母線が交わる線上で歯車同士がかみ合うように設計していきます。なおモジュールが1なので、長いほうの辺が15.
歯自体は拙作の平歯車Add-Inがあるので、そちらのコードを使って定義します。このように平歯車の歯を使って傘歯車の歯を作る手法をTredgold's Approximation
前述の円錐の母線で歯がかみ合うようにするには、歯の高さを計算して、その分母線からずらす必要があります。この高さを歯根高といい、この値はモジュール x 1.
歯は歯根高を決める線に直交する平面に定義します。円錐の頂点から歯のプロファイルにロフトを作成すると歯のボディが作成できます。これを両方の歯車で行い、円形状にパターン複製すれば歯ができるという流れです。
もちろん見てのとおり傘歯車には円錐の頂点は不要ですし、歯の下に何もスペースがなくて扱いにくいので、そのあたりを含めて円錐ではなくそれなりの形のプロファイルを作った上でボディを作るようにします。
というわけで、円錐のかわりに以下のような形を回転させて傘歯車の台部分のボディを作成します。
この台に先ほどの歯をつけ、台の形に沿うようにカットしてから円形状にパターン複製すれば完成です。
2つの歯車を整形すれば以下のように傘歯車のペアの完成となります。
今回紹介したAdd-Inのコードは、上記のデザイン手法を自然言語からコードに落とすことで実装されています。いくらか試行錯誤は必要ですが、自然言語でデザイン方法を指定できればCADでモデル作成も可能になる時代になりました。そのうち本当に一言指示するだけで完璧なものができあがってくるかもしれません。ぜひいろいろ試してください。
