ChatGPTを活用して、**ブーメランの3Dモデル(STLファイル)**を生成できないか検討してみました。
ChatGPTではSTLファイル自体を直接生成することはできませんが、OpenSCADのような「コードでモデリングする形式」であれば、テキストベースで3D形状を記述することが可能です。
そのため、最初の取り掛かりとしてOpenSCAD形式での3Dモデルスクリプトを試しました。
試してみたこと
「2枚翼のブーメラン」をChatGPTにお願いしてみました。実行したプロンプトは以下の通り。
70CMの大型の2つの羽を持ったブーメランを設計し、OpenSCADコードで出せますか?また、戻ってくるように重さも考えて空洞も考えてください
しかし、出力されたモデルは以下のように戻ってくるような形状にはなりませんでした。
単純な図形なら成功する
一方で、単純な立方体や円柱、球などのモデルであれば、ChatGPTが生成したOpenSCADコードを貼り付けるだけで、以下のように正しく3Dモデルとして出力されました。
// OpenSCADの例(ピラミッド)
// パラメータ
base_size = 40; // 底面の一辺の長さ
height = 30; // ピラミッドの高さ
// 頂点定義
points = [
[0, 0, 0], // 0: 底面 左手前
[base_size, 0, 0], // 1: 底面 右手前
[base_size, base_size, 0], // 2: 底面 右奥
[0, base_size, 0], // 3: 底面 左奥
[base_size/2, base_size/2, height] // 4: 頂点(中心から上に)
];
// 面の定義(各面は頂点インデックスの配列)
faces = [
[0, 1, 4],
[1, 2, 4],
[2, 3, 4],
[3, 0, 4],
[0, 1, 2, 3] // 底面
];
// 表示
polyhedron(points=points, faces=faces);

結論
- OpenSCAD形式のコードはChatGPTで生成可能
- 単純な形状は問題なく出力できる
- 複雑な形状(特に滑らかな曲線や翼のような有機的形状)は、うまくいかない可能性が高い
そのため、OpenSCADにある程度詳しいユーザーが、初期のベースをChatGPTに生成させて微調整するという用途には適しているかもしれませんが、「完全自動で複雑な3Dモデルを出力する」のはまだ難しいと感じました。