みなさん、こんにちは!今回は機器自動生成シリーズの第6回です。前回は、Plant3Dのカタログから条件に合うノズルを選び、胴ノズルだけでなく下鏡のノズルまで自動生成できるところまで進みました。
ただ、鏡板ノズルをもう少し現実の機器図に近づけようとすると、今度は「鏡板上の取付位置」「傾斜ノズル」「方位角」という、なかなか厄介な問題が出てきました。今回はそのあたりを一つずつ検証していきます。
まずは鏡板中心から外れたノズル
前回のN-3は下鏡の中心に付くノズルでした。中心なら鏡板の一番深い位置が分かればよいのですが、中心から200mmずらすと、当然その位置の鏡板高さは変わります。
そこで10%皿形鏡板の形状計算をCore側に持たせ、半径方向の位置から鏡板表面の高さを求められるようにしました。図面から読み取った寸法をそのままXYZ座標にするのではなく、「図面上の意味」をいったん保持し、実際の3D座標はCoreで計算する方針です。
テストではN-3を中心から200mmずらして配置。鏡板表面の位置を計算しながら、図面で指定された接続面の高さは維持するようProjectionを逆算しました。Plant3D上でも狙った位置にノズルが生成され、まずは成功です!
次はH-1。傾斜したハンドホールはどう考える?
続いて上鏡に付くH-1です。図面では中心からのオフセット200mm、傾斜20°、鏡板表面から接続面まで80mmという条件があります。ここで最初に悩んだのが、「200mmは傾斜したノズル軸を延長した位置なのか?」という点でした。
図面を改めて整理すると、今回の200mmは平面上で見た実際の取付位置を示す寸法として扱うのが自然でした。そこで、まずオフセットと方位角から鏡板上の取付点を決め、その位置の鏡板高さを計算。そこから傾斜方向へ80mm伸ばして接続面を求める、という順番にしました。
この考え方なら、AI側は「オフセット200」「傾斜20°」「Projection 80」といった図面事実を読み取るだけ。複雑な3D計算はCore側に任せられます。今回も、図面読解と幾何計算の責任を分ける設計が効いてきました。
Plant3Dでは傾斜20°をそのまま再現できない?
ところがPlant3D側ではもう一つ問題がありました。上鏡のノズルには、鏡板面に対して直交させる「P(Orthogonal)」という設定があります。今回のH-1では、このPlant3D標準の挙動を利用して鏡板面に沿った向きを持たせることにしました。
そのため、Coreには図面事実として傾斜20°を正確に保持しますが、Plant3D上の表現はP(Orthogonal)による近似としています。「元図面の情報」と「Plant3Dで実際に表現できるもの」を混ぜずに管理する、というのも今回かなり重要なポイントでした。
そして最大のクセ、方位角が合わない!
さらにノズルの方位角を扱い始めると、図面とPlant3Dで角度の基準が違うことに気付きました。機器図では上側(North)を0°として時計回りに角度を読むのに対し、Plant3Dの標準的な角度は右側を0°として反時計回りです。
最初はノズルごとに角度を変換してPlant3Dへ渡す方法も考えました。しかし、それだと自動生成後に人間がPlant3D上でノズル位置を変更するとき、毎回角度を変換して考えなければなりません。これはかなり使いにくい。
ノズルではなく、機器全体の向きを合わせる
そこで採用したのが、これまで手作業でも使ってきた考え方です。生成した機器全体を90°反時計回りに回転し、さらにNorth-South軸を基準に反転させます。
こうすると、Plant3D上で入力するノズルのA値と、機器図に書かれている方位角を同じ値として扱えるようになりました。たとえば図面でA=120°なら、Plant3DでもA=120°。途中で人間が編集するときにも余計な換算がいりません。
ここは単に「自動生成できればOK」ではなく、その後に設計者がPlant3D上で編集することまで考えて決めた仕様です。自動化ツールだからこそ、人間が触ったときに分かりやすい状態を残したいところです。
鏡板ノズルの仕組みがかなり汎用化できた
今回の検証で、鏡板上の任意位置から表面高さを求め、取付点・方向・Projectionから接続面を計算する流れが整理できました。現在のV-1では10%皿形鏡板を使っていますが、同じ考え方で2:1半楕円鏡板にも展開できるよう、鏡板形状の計算部分は共通化を進めています。
そしてPlant3D実機でも、オフセットしたN-3、上鏡のH-1、機器全体の方位変換まで確認できました。胴・鏡板・フランジ・ノズルと、だいぶ「機器らしい」姿になってきました。
次は標準機能だけでは作りにくい形状へ
ここまでの部品はPlant3DのEquipmentやNozzle機能をできるだけ利用してきました。ただ、実際の機器には標準機能だけでは表現しにくい形状もあります。
次回はその検証として、機器の外側に付く特殊形状(機器のジャケット部)を自前で計算し、Plant3DのEquipmentへ一体化できるのか試してみます。2Dの断面形状から3D形状を作るところまで、自動化できるのでしょうか?
それでは、また次回!

コメント