こんにちは!
子どもと一緒に3D CADやものづくりを楽しみたい、まるいしおです。
以前、「ChatGPTで3Dモデルを生成できる!?」という記事で、ChatGPTに椅子のモデルを作ってもらった様子を紹介しました。
それからしばらく経ち、AI技術はますます進化しています。
そこで、「今ならもっとちゃんとした椅子が作れるのでは?」と思い、再びChatGPTに椅子のモデリングをお願いしてみました。すると、前回とは違うアプローチで「OpenSCAD」というソフトを紹介されました。
今回は、そのChatGPTとOpenSCADの組み合わせで3Dモデルを作ってみた様子をお伝えします。
1. はじめに
2024年の夏頃、ChatGPTに「椅子を作って!」と頼んだら、下図のようなSTLのコードを出してくれました。
ちなみに、今も昔も無課金ユーザーです。
この時は、STLファイルとして直接保存することはできませんでした。
なので、このコードをメモ帳にコピペして stl ファイルとして保存。その上で、CADなどのソフトに読み込んで確認する必要がありました。
つまり、とても面倒でした、、、
それから約1年ほど経ち、AIの進化は本当に目覚ましいものがあります。画像生成AIはリアルすぎて少し怖いレベルに突入し、テキスト生成AIもずいぶん賢くなってきました。
「今なら、STLファイルを直接書き出してくれるんじゃない?」という期待を胸に、改めてチャレンジしてみることに。
結果として、まだSTLを直接生成するところまではいかなかったのですが、、、
今度は「OpenSCADを使うといいよ」とAIからの新提案が。
「OpenSCAD……?」と一瞬戸惑いつつも、よく見れば前回のようなゴリ押しのテキスト出力ではなく、ちゃんとしたモデリングソフトを活用するスタイルに進化している様子。どうやらAIも、提案の方向性をアップデートしてきたようです。
2. OpenSCADとは
OpenSCADは、一般的なFusion360やBlenderのようなマウスで操作する3Dモデリングソフトとは違い、コードを書いて3Dモデルを作るのが特徴です。
プログラムを書くようにモデルを定義するので、ChatGPTと相性が抜群なようです。
インストールも簡単で、公式サイト(https://openscad.org/)からダウンロードして起動するだけ。
とても軽いソフトなので、インストールも数分で完了です。
画面はシンプルで、左にコードを書くエディタ、右に3Dモデルのプレビューが表示されます。
さっそく使ってみると、ChatGPTが生成したこんなコードが出てきました。
module leg() {
cube([2, 2, 20]);
}
module seat() {
translate([0, 0, 20])
cube([20, 20, 2]);
}
module backrest() {
translate([0, 18, 22])
cube([20, 2, 15]);
}
// 椅子の組み立て
leg();
translate([18, 0, 0]) leg();
translate([0, 18, 0]) leg();
translate([18, 18, 0]) leg();
seat();
backrest();
これをOpenSCADにコピペしてレンダリングすると、シンプルながらしっかり椅子ができあがりました!
おお、これは簡単!
毎回、ファイルを保存しなくていいのでとても便利になりました!
3. いろいろ生成してみた
テキストコードがそのまま立体になる驚きと楽しさがあります。
調子に乗って、いろんなモデルを試してみました。
フタと箱
GPT:蓋は本体よりわずかに大きくクリアランスを設けて、かぶせやすくしています。
スパーギア(歯車)
GPT:実際のインボリュート歯型ではありませんが、基本的な形状や配置の概念理解には最適です。
いい感じですね!
もう少し複雑な形状もお願いしてみます。
iPhoneケース
GPT:シンプルなiPhone 14(または同等サイズ)用ケース の近似モデルです。
おや?
螺旋型ランプシェード
GPT:このコードをOpenSCADで実行すると、下が広く、上が狭く、スクリュー状にねじれた薄肉円錐形のシェードになります。
おやおや?
やはり、複雑な形状は難しいようですね。
ただ、自信満々なGPTの発言と、レンダリングした結果の乖離が徐々に面白くなってきたので、もう少し遊んでみたいと思います。
スポーツカー
GPT:丸みのあるボディ、低めの車高、ホイールなどを表現しています。
エッフェル塔
GPT:かなりシンプルですが、エッフェル塔の特徴的な形は掴めるはずです。
ドラ〇もん
GPT:これでドラえもんっぽさがかなり出ると思います!
どのGPTのコメントも、生成結果と一緒に見ると味わいがあって良いです。
4. さいごに
今回のチャレンジでは、ChatGPT単体でSTLを直接作るのはまだ難しいと感じましたが、OpenSCADと組み合わせることで、驚くほど簡単に3Dモデルを生成できることが分かりました。
最後は少し遊んでしまいましたが、OpenSCADは特にパラメトリック設計に強く、歯車や箱、引き出しなど、数値を変えて柔軟に形を変えられるモデルに向いています。
今後もAIと3Dモデリングの可能性を探りながら、ものづくりの楽しさを発信していきますので、どうぞお楽しみに!
さいごまでお付き合いいただきありがとうございました!