みなさん、こんにちは!今回からちょっと長めのシリーズを始めたいと思います。
テーマはズバリ、「機器図をAIに読ませて、そのままAutoCAD Plant3Dの機器を自動生成できないか?」です。
……いや、また変なこと始めたなと思った方。正解です(笑)
Plant3Dの機器作成、もっと自動化できない?
Plant3Dで機器を作るときって、結局は機器図を見ながら寸法を拾って、胴径を入力して、長さを入力して、ノズル径を入力して、高さや角度を設定して……という作業になります。
もちろん一度作ってしまえば3Dモデルとして便利なんですが、元になる機器図には最初から必要な寸法が書いてあるわけです。そこでふと思いました。
「図面に全部数字書いてあるんだから、これ自動で作れないの?」
最近のAIはPDFや画像の読解能力もかなり上がっています。だったらAIに機器図を読ませて、必要な情報を抽出し、その情報からPlant3DのEquipmentを自動生成できるんじゃないか?
ということで、実際にやってみることにしました。
最終的にやりたいこと

今回考えている流れはシンプルです。
機器図(PDF) → AIによる図面読解 → 抽出データ(JSON) → 3D生成用データへ変換 → Plant 3DでEquipmentを自動生成
機器図を渡したら、AIが機器番号、胴径、胴長、鏡板、フランジ、ノズルのサイズや位置などを読み取り、その結果をプログラムへ渡します。
そして最終的にはPlant3D上に、胴・鏡板・ノズル・フランジなどを持った機器が自動的に出来上がる。ここまでできれば、機器モデリングのかなりの部分を自動化できそうです。
でも、AIに全部やらせるのはちょっと違う
最初に考えたのは、「AIが図面を読んで、そのままXYZ座標まで全部決めればいいのでは?」という方法でした。ただ、検討していくとこれは少し危ない。
図面に書いてある事実と、3Dモデルを作るために計算した結果が混ざってしまうからです。
例えば「下側STLからノズル中心まで100mm」という寸法は図面に書かれた事実です。一方、その結果としてPlant 3D上のノズル座標がX=○○、Y=○○、Z=○○になるというのは計算結果です。
この2つは分けておいた方がいい。
そこで今回のシステムでは、役割を大きく3つに分けることにしました。

Drawingは図面を読む担当。AIを使って「図面に何が書いてあるか」を抽出します。
Coreは計算担当。抽出された寸法や条件から、座標や形状など3Dモデルに必要な情報を計算します。
Plant 3Dはモデル生成担当。Coreで確定した情報を使って、実際のEquipmentやNozzleを作ります。
つまり、AIは図面の事実を読む。計算はプログラムがやる。Plant 3Dはモデルを作る。
この分担でいくことにしました。
テスト機器はV-1
今回の検証では、まず1台の機器を最後まで作り切ることにしました。
選んだのは縦型槽のV-1です。

いきなり色々な機器に対応しようとすると、たぶん収拾がつかなくなります(笑)
なのでまずはV-1の機器図をAIがどこまで正しく読めるのか。その情報から胴や鏡板を作れるのか。ノズル位置を計算できるのか。そしてPlant3DのEquipmentとして本当に登録できるのか。
一個ずつ確認していく方針にしました。
実はPlant3D側が一番の未知数
AIで図面を読むところももちろん難しいのですが、今回かなり気になっていたのがPlant3D側です。普通のAutoCADならC#や.NET APIを使った自動化事例はかなりあります。でも今回作りたいのは、ただの3Dソリッドではありません。
Plant3Dが「Equipment」として認識する機器を作りたい。
さらにノズルも、見た目だけの円筒ではなく、配管を接続できるPlant3Dのノズルとして作りたい。ここが今回の大きなポイントです。
まずは「AIは機器図をどこまで読めるのか?」から
ということで、このシリーズでは完成した仕組みだけを紹介するのではなく、実際に開発しながら起きた失敗や試行錯誤も含めて紹介していこうと思います。
「それ無理じゃない?」と思ったものが意外とあっさり動いたり、逆に簡単そうなところで思いっきりハマったり……すでに色々起きています(笑)
次回はまず、V-1の機器図をAIに読ませたら、どこまで機器の構造や寸法を理解できたのか?
ここからスタートします!レッツゴー!

コメント