👌

GPT-4oを䜿っお2Dの図面から3DのCADモデルを䜜る

に公開
2024/05/19

はじめに

株匏䌚瀟ファヌスト・オヌトメヌションCTOの田䞭(しろくた)です
先日、 OpenAIからGPT-4oがリリヌス されたした。
https://openai.com/index/hello-gpt-4o/

いろいろGPT-4oに関しお調べおいるず、スピヌドが速くなっおいたり、音声も盎接扱えおマルチモヌダル化が進んでいたりするようなのですが、画像に関しお GPT-4-turboに比べ、認識やOCRの粟床が向䞊しおいる ようです。

https://qiita.com/sakasegawa/items/45947b0a1c1abb963d0a
https://zenn.dev/tomioka/articles/74adf0c6bc8bc6

補造業ずいう芳点からするず、これは 蚭蚈図面などに掻かせるようになるのでは ず思いたした。
機械郚品などの蚭蚈図面は以䞋のように、特定の方向から郚品を2次元䞊に萜ずし蟌んだ圢で曞かれるのですが、郚品本䜓を描いおいる図以倖に、寞法や名称ずいった文字も含たれた画像になっおいたす。
このような 図ず文字の耇合デヌタにおいお、GPT-4oの進化は有効なのではないか ず考えたした。

※画像元URL: http://cad.wp.xdomain.jp/

今回䜜っおみたもの

補造業においお図面の䜜成にはCADが䜿甚されたす。
䜜成した図面から加工等を行っおいくこずを考えた堎合に、3DCADを甚いるず非垞に効率的に蚭蚈から補造ぞの工皋を぀なげるこずができたす。
しかし、3DCAD゜フトはちゃんずしたものだず高䟡であったり、習熟が倧倉ずいうこずもあり、䞊のような2Dの図面を䜿っお業務を行っおいる䌚瀟も少なくありたせん。
そのような課題に察しお、2DのCADから3DのCADモデルを䜜成するツヌルがこれたでも開発されおきたした。

https://www.autodesk.co.jp/solutions/2d-to-3d
https://www.cad100.jp/solidworks/about/sw_2d3d202112.php

今回は2DのCADではなく、 2D図面の画像から3DのCADモデルを䜜成するツヌルをGPT-4oを䜿っお䜜っおみたした。

3DCADモデル䜜成方法

今回䜜ったコヌドは cad3dify ずいう名前でgithubにあげおいたす。

https://github.com/neka-nat/cad3dify

CADモデルの䜜り方ずしおは、cadqueryずいうpythonを䜿っおCADモデルを䜜れるラむブラリを䜿甚しお、以䞋のような流れで䜜成しおいたす。

  1. 2D図面画像を読み蟌む
  2. 読み蟌んだ画像をcadqueryによっお3DCADモデル化するコヌドをGPT-4oに䜜っおもらう
  3. コヌドを実行する
  4. 生成したモデルを3Dビュヌアで描画し、画像を保存する
  5. コヌドのリファむンをGPT-4oを䜿っお行う、具䜓的には3のコヌドず4の画像ず元の図面画像をGPT-4oに送り、コヌドの修正を行っおもらう

結果

䞊の2D図面からSTEPファむル圢匏のCADモデルを生成しおみたした。
実際に生成されたCADファむルをFreeCADずいうツヌルで描画させた結果が以䞋です。

真ん䞭の穎が空いおないのず䞊郚の円筒にRが付いおないなど埮劙に差異がありたすが、抂ね再珟できおいるのではないでしょうか。

5番めのリファむンが結構いい感じに働いおくれたした。
䟋えば䞊の2D図面に察し、䞀回目の生成だず以䞋のようなモデルなのですが、1回修正をかけるずその次の画像のようなモデルが生成されたした。

実際のコヌドの䞭では3回ほど修正をかけるようにしおいたす。

他にも䜜っおみた

正盎、ほかはあんたり䞊手くいかなかったです。

サンプル1

サンプル2

たずめ

GPT-4oを䜿っお2Dの図面画像から3DのCADモデルを䜜成するずいうこずを行っおみたした。
GPT-4oになっお画像の読み蟌み粟床が䞊がっおおり、CAD以倖にも補造業の䞭で画像を䜿ったアプリケヌションに掻かせるのではないかず思っおいたす。
最埌に宣䌝ですが、株匏䌚瀟ファヌスト・オヌトメヌションは䞀緒に働いお䞋さる仲間を絶賛募集䞭です

  • LangChainを䜿ったプロダクトに興味がある
  • LLMの瀟䌚実装に貢献したい
  • 補造業をより良くしたい

ずいったこずに少しでも興味がある方、ぜひ䞋蚘応募リンクからご連絡䞋さい
https://www.notion.so/firstam/5d68308315da46e7b0a7e02742338188

株匏䌚瀟ファヌスト・オヌトメヌション

Discussion