みなさん、こんにちは!「機器図からPlant3Dの機器を自動生成できないか?」シリーズ第5回です。
前回はPlant3Dの公開APIを使って、V-1の胴・上下鏡板・胴フランジまでを自動生成できるところまで進みました。画面上には、ようやく「機器らしい形」が出てきました。でも、配管設計で使うEquipmentとして考えると、まだ決定的に足りないものがあります。
そう、ノズルです。
今回はV-1へノズルを自動生成していきます。ところが、単純に位置を指定して付ければ終わり……とはいきませんでした(笑)
ノズルは「形を作る」だけじゃダメ
例えば50Aのノズルを作るとして、見た目だけなら円筒とフランジを作ればそれっぽく見せられます。でも今回欲しいのは、Plant3Dがちゃんとノズルとして認識し、配管との接続に使えるもの。
そのためには口径だけでなく、フランジの圧力クラス、Facing、EndType、規格など、Plant3D側の部品情報と結び付ける必要があります。
ここで最初の壁が出てきました。
Plant3Dのカタログから、どれを選ぶ?
Plant3Dにはノズルとして利用できる部品候補が複数あります。問題は、その中から図面条件に合うものをプログラムがどうやって選ぶかです。特に何も考えていなかったのですが、そうしたらAIは一番先頭を勝手に選択していました。
条件によっては別規格の候補が混ざる可能性があり、「検索できた=正しい部品」とは限りません。
そこで、ノズルカタログを調査するための確認コマンドを作り、候補がどんな情報を持っているのかを実際に調べました。そして、口径・EndType・圧力クラス・Facing・規格などを条件として照合し、条件に一致する候補が1個に決まったときだけ採用する仕組みに変更しました。
候補が0件でも複数でも、勝手に決めない。このあたりは、前回までの「AIが分からないものを推測で確定しない」という考え方と同じです。
まずN-1、そしてN-2
カタログからノズル部品を選ぶ仕組みができたので、まずは胴付きノズルから試します。V-1の図面から確定した高さや口径などを使い、Core側で取付位置を計算。その結果をPlant3D側へ渡してノズルを生成します。
N-1がPlant3D上に出現。続いてN-2も同じ仕組みで生成できました。
ここで重要なのは、N-1専用、N-2専用の処理を増やしているのではなく、図面条件から必要なノズルを選び、位置を計算して取り付ける共通の流れを作っていることです。
次のN-3で、一気に難しくなる
胴付きノズルができたので、このまま全部いけるか?と思ったのですが、次のN-3で事情が変わります。N-3は下側の鏡板に付くノズルです。
胴なら、基準高さとノズル高さから取付位置を比較的素直に求められます。ところが鏡板は曲面です。
しかも図面で重要なのは、単に「鏡板のどこに付くか」だけではありません。配管をつなぐためには、当たり前ですが、ノズルの接続面が最終的にどこへ来るのかが重要です。
接続面を基準に逆算する
V-1のN-3では、基準線から鏡板の最下点までの寸法と、ノズル接続面までの寸法を図面から確認できます。そこでCore側では、まず10%皿形鏡板の形状からノズル取付面の位置を計算し、そこから最終的な接続面までのProjectionを求めるようにしました。
つまり、AIに「N-3のXYZはいくつ?」と考えさせているわけではありません。
AIは図面の寸法を読む。Coreが鏡板形状と座標を計算する。Plant3Dがノズルを作る。
ここでも、最初に決めた役割分担が効いてきました。巷で、AIエージェントと呼ばれる複数の専門家に役割分担してもらう方法です。
N-3まで自動生成できた!
計算した取付位置・方向・ProjectionをPlant3Dへ渡し、N-3を生成。胴付きのN-1、N-2だけでなく、下鏡板のN-3までPlant3Dのノズルとして自動生成できました。
ここまで来ると、最初に考えていた「機器図を読んでPlant3D Equipmentを作る」が、かなり現実味を帯びてきます。
……ただし、まだ終わりではありません(笑)
次に待っていたのは、中心からオフセットした鏡板ノズル、傾斜したハンドホール、そして図面の方位角とPlant3Dの角度が合わない問題です。
次回は、10%皿形鏡板の形状計算をさらに進めながら、H-1の傾斜と機器全体の方向問題に挑戦します!

コメント