🗳️

Cline x CadQueryで3D CADデータ生成

に公開

Cline x CadQuery

生成AIで3D CAD設計できたら、自分のようなメカセンスがない人には助かるので試してみました。Cline x Blenderでやっている人もいますが、Blenderは3DCGソフトってイメージなので、やはりCADソフトに近いもので試してみたいと思い、CadQueryというPythonで3Dモデリングができるライブラリを使ってみました。

CadQueryに関しては、以下の佐野さん(@hrs_sano645)のPyCon Mini Shizuoka 2024での発表資料を参照ください(私もこれでCadQueryを知りました)。

https://docs.google.com/presentation/d/1LQ3Kg1qNrr6Eok8OD8iSYTjvIK89a2t5DPaxbYE2m9s/

Clineに関しては以下記事を参照ください。

https://zenn.dev/mkj/articles/cf8536923d9cd7

ClineとCadQueryで3Dモデリングする方法

準備

リポジトリを用意しました。佐野さんのリポジトリをベースに、.clinerulesを増やしたり、リポジトリをマウントするようにしたりしました。最初自分の環境(MacBook)で色々エラーが出たので、Dockerfileも大きく書き直したのですが、これは不要だったかも…です。

https://github.com/karaage0703/cadquery

環境構築を手軽にするために、Devcontainerを使用することを激しく推奨していますので、Dockerをセットアップして、Devcontainerを使えるようにしておいてください。以下記事参照ください。

https://zenn.dev/karaage0703/books/80b6999d429abc8051bb/viewer/6ebae8

Devcontainerでリポジトリを開いたら、ex1_modelsample.pyというファイルを開いて、VS Codeエディタのターミナルで以下コマンドを実行しましょう。

workspace# python ex1_modelsample.py 

以下のように、プレビュー画面に3Dデータが表示されたらOKです。

続いて、ex2_iremono.pyを開いて、以下コマンドを実行するとex2_futa.stlex2_iremono.stlデータが生成されます。

workspace# python ex2_iremono.py 

注:自分の環境だと、exports/ex2_futa.stlみたいにディレクトリ内にstlファイルを生成できなかったので、プログラムと同じディレクトリにファイルを生成しています。

Clineでのモデリング指示

ここまでできたら、あとはClineにPythonファイルを書かせるだけですね。以下みたいなプロンプトで3Dモデルを作るためのコードを生成できます。

W:55mm H:30mm D:20mmのサイズのデバイスのケースを作成してください。上はディスプレイやボタンがあるので空けておいてOKです。

穴を開けてほしい場合は、以下みたいな感じで空けれます。

このケースの短辺側の中央の下の方にUSBコネクタがあるので、そこに穴をあけてください。

間違いがあったら、都度指示をしながら仕上げていくという感じです。

3Dプリント

STLファイルができたら、あとは3DプリンターでプリントすればOKです。私はBambu Lab A1 miniを使いました。3Dプリンタの使い方は以下記事参照ください。

https://zenn.dev/karaage0703/articles/5d6fa4585dc5c5

ちゃんとプリントできました。

詳細は以下記事参照ください。
https://karaage.hatenadiary.jp/entry/2025/03/17/073000

まとめ

生成AIで、3D CADデータを生成して実際に3Dプリンタでプリントするところまでを試してみました。構築したソフト環境については公開しているので、よろしければ参考にしてみてください。

本当は、ケースが入る対象となるデバイスを、メジャーと一緒に、上と横を撮影した写真から、生成AIにケースを作らせたかったのですが、そこは流石に無理でした。まだ十分試していませんが、多分複雑なものを作るのは難しいかなと思います(そもそも指示が難しい)。

ただ、3D CADソフトは慣れないと結構難しいので、生成AIx3D CADは、メカ屋さん以外が簡単な3Dモデル(特にケースとか)をつくるときには結構ありなんじゃないかなと思いました。自分も作りたいけど、なかなか面倒で作れていなかったケースを、結構手軽に作ることができたので、少なくとも自分にとってはかなり有用でした。

また今後も色々作って、分かったことがあったら追記するか新しい記事を書こうかと思います。

参考リンク

https://qiita.com/yanosen_jp/items/f98e8b03917b465a92b3

https://zenn.dev/firstautomation/articles/33e950c2409dba

https://note.com/npaka/n/n65db8cc404bd

関連記事

https://karaage.hatenadiary.jp/entry/2024/07/31/073000

変更履歴

  • 2025/04/01 参考リンク追記

Discussion