みなさん、こんにちは!機器自動生成シリーズの第7回です。前回は、鏡板上のノズル位置や傾斜、さらに機器図とPlant3Dで異なる方位角の考え方まで整理し、かなり実機らしいところまで自動生成できるようになりました。
今回は少し方向を変えて、Plant3Dの標準機能だけでは表現しにくい「特殊な形状」も自動生成できるのか?を検証してみます。
今回の題材は「本体ジャケット」
検証用に選んだのは、機器の外側を覆うジャケット形状です。なお、これまで使っている参考機器V-1の元図面にジャケットが付いているわけではありません。今回はあくまで「特殊形状を自動生成してEquipmentに追加できるか」を確認するため、テスト用として仮想的に追加しています。
条件は、胴の外側を覆う円筒部と、下側は機器の鏡板形状に沿う形。さらに上端にはR形状を付けます。単純な円筒を1個作るだけなら簡単ですが、こうなるとPlant3Dの標準Equipment部品だけで組み立てるのは少し難しくなってきます。
まず3Dを作るのではなく、断面形状を作る
そこで考えたのが、最初から3D形状を直接作るのではなく、機器中心を通るR-Z断面を先に作る方法です。断面上に直線、円弧、鏡板の曲線を並べてジャケットの輪郭を作り、それを機器中心軸のまわりに360°回転させれば、3Dのジャケットになります。AutoCAD Plant3Dを使っている人にはおなじみのREVOLVE(回転体)コマンドですね。
重要なのは、この断面形状の計算をPlant3D側に直接書かなかったことです。寸法や鏡板形状からR-Z断面を作る処理はCore側に置き、Plant3D側は完成した断面情報を受け取って3D化するだけにしました。
前回作った鏡板計算がここでも使えた
ここで効いてきたのが、前回までに作ったHeadGeometryです。ノズル位置を求めるために作った10%皿形鏡板の計算を、今回はジャケット下部の断面生成にも再利用できました。
さらに将来、2:1半楕円鏡板の機器を扱う場合にも同じ流れを使えるようにしています。機器ごとに別々の計算式を書くのではなく、「鏡板形状を返す共通機能」として持っておくことで、ノズルにもジャケットにも使えるわけです。
Coreで断面 → Plant3DでREVOLVE
処理の流れはかなりきれいに整理できました。CoreでCADに依存しない断面形状を作り、Plant3D側でその情報からLineやArcなどのAutoCAD図形を生成。それらを閉じたRegionにして、中心軸まわりに360°REVOLVEします。
これでSolid3dとしてジャケット形状が完成します。そして最後にPlant3DのEquipmentへAttachGraphicsで追加します。
つまり今回できた流れは、「寸法・仕様 → Coreで形状計算 → 2D断面 → REVOLVE → Solid3d → Equipmentへ追加」です。これが使えれば、Plant3Dの標準部品だけでは作りにくい形状にもかなり対応できそうです。
もちろん一発では成功しませんでした(笑)
実機テストで最初にジャケット追加コマンドを実行すると、エラーで停止しました。原因は単純で、追加先となるV-1のEquipment本体がまだ図面内に存在していなかったためです。
ただし、これは想定して入れていた安全チェックがきちんと働いた結果でもあります。既存Equipmentが見つからない状態で勝手にSolidを作るのではなく、「先に機器本体を作ってください」と止めるようにしていました。
そこでV-1本体を生成してから、もう一度ジャケット追加を実行。今度は狙いどおり、機器の外側にジャケット形状が生成され、Equipmentへ一体化できました!
標準機能と自作形状を使い分ける
今回の検証で、今後の機器自動生成の方針も少し見えてきました。Plant3Dに標準機能があり、公開APIから安全に作れるものは、できるだけ標準機能を使います。その方が生成後に設計者が編集しやすいからです。
一方で、標準機能では表現しにくい特殊形状は、Coreで形状を計算してSolid3dを作り、Equipmentへ追加する。この2つを使い分けるのが良さそうです。
「何でも自前Solidで作ればいい」ではなく、最終的にPlant3Dユーザーが編集することまで考えて選ぶ。前回の方位角と同じく、ここでも自動生成後の使いやすさが重要になってきました。
入力方法もAIだけに限定しない
ここまで開発してきて、もう一つ見えてきたことがあります。今回の仕組みは、必ずしも「AIが図面を読むこと」とPlant3Dの自動生成を一体にする必要はありません。
PDF図面をAIで読み、確認画面を通して設計データを作る方法とは別に、将来はExcelなどへ必要な機器情報を人が直接入力する方法も考えています。どちらも最終的には同じ標準化された機器データへ変換し、その先の計算とPlant3D生成は共通の仕組みを使うイメージです。
そうすれば、AIを使わない場合でも機器自動生成機能そのものは利用できます。入口は違っても、後ろ側のエンジンは同じ。ここは今後ツールとして育てていくうえでも大事な構成になりそうです。
次は機器を支える「脚」へ!
胴、鏡板、フランジ、ノズル、そして特殊形状のジャケットまで作れるようになりました。そろそろ機器としてかなり形になってきましたが、まだ大事なものがありません。
そう、脚です(笑)
次はPlant3Dの標準Support機能を公開APIから利用できるのかを調べます。標準Supportとして作ることができれば、生成後に高さや配置を人間が変更しやすい。一方、APIから扱うのが難しければ、今回確立したSolid3d+AttachGraphicsの方法が使えます。
標準機能でいけるのか、それとも自作形状になるのか。次回はまずそこから検証していきます!
それでは、また次回!

コメント