(57)【要約】【課題】設計対象を表示する表示画面上で配管に接続される機器を移動あるいは回転するときに、配管の接続状態を維持し、あるいは、切断された配管の接続状態を回復する。【解決手段】画面上に、機器を示す図形と、機器に接続される配管を示す図形とを表示する表示制御手段と、画面上で機器を移動または回転する操作を受け付ける入力手段と、機器に接続される配管のうちで操作に応じて機器とともに移動または回転すべき配管の連動範囲を、配管と機器との接続部からの延伸距離または配管を構成する部材種類を基準にして確定する連動範囲確定手段と、連動範囲の境界にて、配管の切断点を設定し、機器および連動範囲の配管を操作にしたがって移動または回転する手段と、移動または回転後に、連動範囲側の配管の端部となる連動側切断点と連動範囲外の配管の端部となる固定側切断点とを管路で接続する管路形成手段とを備える。【選択図】図１
2010044715.tif 000002
【特許請求の範囲】
【請求項１】
画面上に、機器を示す図形と、前記機器に接続される配管を示す図形とを表示する表示制御手段と、
前記画面上で前記機器を移動または回転する操作を受け付ける入力手段と、
前記機器に接続される配管のうちで前記操作に応じて前記機器とともに移動または回転すべき配管の連動範囲を、前記配管と前記機器との接続部からの延伸距離または前記配管を構成する部材の種類を基準にして確定する連動範囲確定手段と、
前記連動範囲の境界にて、前記配管の切断点を設定し、前記機器および前記連動範囲の配管を前記操作にしたがって移動または回転する配置手段と、
前記移動または回転後に、前記連動範囲側の前記配管の端部となる連動側切断点と前記連動範囲外の前記配管の端部となる固定側切断点とを管路で接続する管路形成手段とを備える設計支援装置。
【請求項２】
前記連動範囲確定手段は、前記機器と配管との接続点から所定の延伸長さの範囲を第１の基準にして前記連動範囲を絞り込む手段を有する請求項１に記載の設計支援装置。
【請求項３】
前記連動範囲確定手段は、前記機器から延伸する配管上で所定の部材が含まれる範囲を第２の基準にして前記連動範囲を絞り込む手段を有する請求項１または２に記載の設計支援装置。
【請求項４】
前記連動側切断点と前記固定側切断点のいずれか一方の切断点が、配管の延伸方向を前記配管の中心軸に対して所定角度で、かつ、前記配管の中心軸周りに任意の方向に変更する継手上で前記配管に接続される相手配管側の接続口に位置する場合に、前記一方の切断点での前記継手からの相手配管の延伸方向を前記中心軸周りに回転する継手調整手段と、
前記管路形成手段が、前記継手からの相手配管の延伸方向が前記中心軸周りに回転した状態で、前記連動側接続点と前記固定側接続点との間に形成した管路の複雑さを、少なくとも管路の長さと管路が屈曲する節点の数とによって評価する評価手段と、をさらに備える請求項１から３のいずれか１項に記載の設計支援装置。
【請求項５】
前記中心軸周りでの継手からの相手配管の延伸方向の指定を受け付ける手段をさらに備える請求項４に記載の設計支援装置。
【請求項６】
コンピュータが、画面上に、機器を示す図形と、前記機器に接続される配管を示す図形とを表示する表示制御ステップと、
前記画面上で前記機器を移動または回転する操作を受け付ける入力ステップと、
前記機器に接続される配管のうちで前記操作に応じて前記機器とともに移動または回転すべき配管の連動範囲を、前記配管と前記機器との接続部からの延伸距離または前記配管を構成する部材の種類を基準にして確定する連動範囲確定ステップと、
前記連動範囲の境界にて、前記配管の切断点を設定し、前記機器および前記連動範囲の配管を前記操作にしたがって移動または回転するステップと、
前記移動または回転後に、前記連動範囲側の前記配管の端部となる連動側切断点と前記連動範囲外の前記配管の端部となる固定側切断点とを管路で接続する管路形成ステップと、を実行する設計支援方法。
【請求項７】
画面上に、機器を示す図形と、前記機器に接続される配管を示す図形とを表示する表示制御ステップと、
前記画面上で前記機器を移動または回転する操作を受け付ける入力ステップと、
前記機器に接続される配管のうちで前記操作に応じて前記機器とともに移動または回転すべき配管の連動範囲を、前記配管と前記機器との接続部からの延伸距離または前記配管
を構成する部材の種類を基準にして確定する連動範囲確定ステップと、
前記連動範囲の境界にて、前記配管の切断点を設定し、前記機器および前記連動範囲の配管を前記操作にしたがって移動または回転するステップと、
前記移動または回転後に、前記連動範囲側の前記配管の端部となる連動側切断点と前記連動範囲外の前記配管の端部となる固定側切断点とを管路で接続する管路形成ステップと、をコンピュータに実行させるための設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設備の設計支援技術に関する。
【背景技術】
【０００２】
空調機、熱交換器、エアーコンプレッサ、流体を駆動するポンプ等の機器では、機器の周囲に多数の配管が配置され、設計が極めて複雑となる。さらに、そのような配管に接続される機器を含む設備の設計では、機器の配置を変更し、あるいは、最適化することが試みられる。そのような機器配置の変更、あるいは、最適化のための過程では、機器（または機器グループ）を移動し、あるいは、回転し、配置についての検討を繰り返して行なうことも多い。そのような設備の設計を支援する現在の設計支援装置（ＣＡＤ）では、上記検討時に画面上の機器を操作する際に、配管と機器との接続状態が切れてしまい、つなぎ直しに多大な時間を要する場合もある。
【特許文献１】特開２００１−１８８８０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の課題は、配管に接続される機器を含む設備が一旦設計され、あるいは、そのような設備の設計途中において、設計対象を表示する表示画面上で配管に接続される機器（または機器グループ）を移動あるいは回転するときに、配管の接続状態を維持する機能、あるいは、切断された配管の接続状態を回復し、設計を支援する機能を実現することにある。
【課題を解決するための手段】
【０００４】
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、画面上に、機器を示す図形と、機器に接続される配管を示す図形とを表示する表示制御手段と、画面上で機器を移動または回転する操作を受け付ける入力手段と、機器に接続される配管のうちで操作に応じて機器とともに移動または回転すべき配管の連動範囲を、配管と機器との接続部からの延伸距離または配管を構成する部材の種類を基準にして確定する連動範囲確定手段と、連動範囲の境界にて、配管の切断点を設定し、機器および連動範囲の配管を操作にしたがって移動または回転する手段と、移動または回転後に、連動範囲側の配管の端部となる連動側切断点と連動範囲外の配管の端部となる固定側切断点とを管路で接続する管路形成手段とを備える設計支援装置として例示される。
【０００５】
本設計支援装置は、機器とともに移動または回転すべき配管の連動範囲を確定し、その連動範囲の配管を機器とともに移動または回転する。さらに、移動または回転後に、連動範囲側の配管の端部となる連動側切断点と連動範囲外の配管の端部となる固定側切断点とを管路で接続する。したがって、設計対象の設備内で機器を移動しても、機器と配管との接続を維持した状態が表示される。
【０００６】
この場合に、連動範囲確定手段は、機器と配管との接続点から所定の延伸長さの範囲を第１の基準にして連動範囲を絞り込むようにすればよい。また、連動範囲確定手段は、機器から延伸する配管上で所定の部材が含まれる範囲を第２の基準にして連動範囲を絞り込むようにしてもよい。このように、機器からの距離、あるいは、機器に接続される配管上の部材に応じて、連動範囲を確定するので、機器との関連性の深い部分を絞り込むことができる。
【０００７】
また、本設計支援装置は、連動側切断点と固定側切断点のいずれか一方の切断点が、配
管の延伸方向を配管の中心軸に対して所定角度で、かつ、配管の中心軸周りに任意の方向に変更する継手上で配管に接続される相手配管側の接続口に位置する場合に、一方の切断点での継手からの相手配管の延伸方向を中心軸周りに回転する手段と、管路形成手段が、継手からの相手配管の延伸方向が中心軸周りに回転した状態で、連動側接続点と固定側接続点との間に形成した管路の複雑さを、少なくとも管路の長さと管路が屈曲する節点の数とによって評価する手段と、をさらに備えるようにしてもよい。
【０００８】
本設計支援装置によれば、接続されている配管の中心軸周りで回転できる継手の方向を変更するとともに、変更された方向での管路の複雑さを評価することで、複雑さの低い管路を形成するユーザの設計作業を支援できる。その場合に、中心軸周りでの継手からの相手配管の延伸方向の指定を受け付ける手段をさらに備えてもよい。すなわち、ユーザが設計支援装置に継手の望ましい方向を指示するようにしてもよい。
【発明の効果】
【０００９】
本発明によれば、設計対象を表示する表示画面上で配管に接続される機器を移動あるいは回転するときに、配管の接続状態を維持し、あるいは、切断された配管の接続状態を回復し、設計を支援できる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明を実施するための最良の形態（以下、実施形態という）に係る設計支援装置について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。
【００１１】
＜システムの概要＞
本設計支援装置は、配管に接続される機器を含む設備の設計を支援する。本設計支援装置は、画面に表示された設備中の機器をポインティングデバイス等によって選択し、画面上で移動、あるいは、回転する操作を受け付ける。すると、本設計支援装置は、機器を画面上で移動、あるいは、回転するとともに、その機器に近接する所定範囲の配管を機器と一体のものとして、画面上で移動、あるいは、回転する。さらに、移動あるいは回転後の機器および機器と一体のものとされた配管と、その配管の周囲の配管との境界部分に発生した配管の切断点を新たな経路の配管で接続する。その結果、画面上では、機器に追従して周囲の配管が移動あるいは回転するとともに、配管が新たな経路に沿って延伸されたように表示される。ここで、本実施形態で、移動および回転は、主として設計対象の設備中の機器に対する画面上の操作である。このうち、回転は、原則、操作対象である機器の向き(接続口の座標)が変化するが、機器の座標は変わらない。一方、移動では、機器の向き(接続口の方向)が変わらずに、機器の座標が変更される操作ということができる。さらに、機器が回転しかつ移動する場合は、回転に含まれる。ただし、回転しかつ移動する場合は、回転操作と、移動操作とに、操作を分離組み合わせて処理してもよい。その場合に、移動が先か、回転が先かで、操作後の設計態様の状態が異なることになる。
【００１２】
図１に、このような機器および機器に一体化された配管の移動操作、回転操作の例を示す。図１では、３台のポンプを含む機器１００が画面上に表示されている。この場合、例えば、中央のポンプＰＭＰ１に着目すると、画面（紙面）に対して垂直な方向にレベル差（高さの差）を有する２本の配管Ｌ２００（ここでは、送液管）およびＬ２０１（ここでは、還液管）が配置されている。配管Ｌ２００は、バルブＶ２００によって、流路を開閉可能となっている。また、バルブＶ２００の下部には、図示されない９０度継手が、ポンプＰＭＰ１との間に設けられ入る。また、配管Ｌ２０１は、バルブＶ２０１によって、流路を開閉可能となっている。また、図示されない縦管（画面に垂直な方向の管）が設けられ、縦管にバルブＶ２０１が横向きに設けられている。以下、画面上、ユーザが設計対象の機器を回転、あるいは、移動操作した場合に、本設計支援装置が、機器に接続されてい
た配管を追従して回転、あるいは、移動し、さらには、配管のつなぎ直しをする処理例を説明する。
【００１３】
回転によって、ポンプＰＭＰ１については、バルブ２０１を備えた還液管縦管の入り口から送液管縦管の出口までの配管が、ポンプＰＭＰ１とともに回転し、バルブ２０１から元の配管Ｌ２０１に接続されている。一方、バルブＶ２００につながる配管Ｌ２００に関しては、回転後の配管は、基本的な処理では、回転前のバルブＶ２００から画面で右方に向かって延伸すべきである。しかし、継手は、機器側（ポンプＰＭＰ１側）の配管を回転軸として３６０度回転する自由度を有してプログラミングされている。したがって、機器の回転、あるいは、移動によって、機器とともに配管の一部が回転、移動し、その後、元の他方の接続点との間で配管を形成する場合にも、継手部分に関しては、配管を短くし、あるいは、途中の屈曲点に存在する継手を少なくすることを目的とする最適化処理が実行される。そこで、配管Ｌ２００に関しては、最適化処理の結果、すでに描画されていた管路である配管Ｌ２００をできるだけ活用すべく継手の次の配管の延伸方向が、画面内で下方向に変更され、元の配管Ｌ２００がほぼ維持される形で、回転後のつなぎ直しが実行されている。図１では、次の操作で機器１００が画面に下方に移動され、さらに、画面左方に移動されている。さらに、ポンプＰＭＰ１等の移動に伴って、例えば、配管Ｌ２００、Ｌ２０１が追従して変更されている。なお、図１は、機器に接続されていた配管を機器に追従して回転、あるいは、移動し、さらには、配管のつなぎ直しをした処理結果である。本設計支援装置は、機器が所定の範囲に位置する配管を機器と一体にして移動するので、機器と一体にして移動される配管と、移動しない固定側の配管とは、処理上は、一旦破断する。その後、破断部分につなぎ直しの処理を実行することによって、図１のように、機器に追従して経路が変更された配管が画面に表示される。
【００１４】
＜ハードウェア構成＞
図２に、本設計支援装置のハードウェア構成を例示する。この設計支援装置は、例えば、パーソナルコンピュータと、パーソナルコンピュータで実行されるコンピュータプログラムによって実現される。また、この設計支援装置は、複数のパーソナルコンピュータにサービスを提供するサーバ上のプログラムとして実現してもよい。また、本設計支援装置は、複数のコンピュータが連携して機能を提供するコンピュータシステムとして実現してもよい。例えば、１以上のデータベースサーバと、１以上のシミュレータと、１以上のウェブサーバとによって、設計支援装置を実現してもよい。
【００１５】
図２は、本設計支援装置を構成するコンピュータの一例である。本設計支援装置は、ＣＰＵ１と、メモリ２と、各種インターフェース３、５、７、９、１１と、これらのインターフェースを通じてＣＰＵ１に接続される周辺装置とを含む。図２では、周辺装置の例として、ハードディスク４，入力装置６、表示装置８、ネットワークインターフェース１０、および着脱可能記憶媒体駆動装置１２が示されている。
【００１６】
ＣＰＵ１は、メモリ２に展開されたプログラムを実行し、設計支援装置の機能を提供する。メモリ２は、ＣＰＵ１が実行可能な形式でプログラムを保持する。また、メモリ２は、ＣＰＵ１が処理するデータを保持する。メモリ２は、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）、ＲＯＭ（リードオンリーメモリ）等である。ただし、メモリ２として、フラッシュメモリを用いてもよい。
【００１７】
ハードディスク駆動装置４は、ハードディスクにアクセスし、ＣＰＵ１が処理したデータ、ＣＰＵ１で実行されるプログラム等を記憶する。入力装置６は、例えば、キーボード等の文字入力装置、マウス等のポインティングデバイスなどである。表示装置８は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。
【００１８】
ネットワークインターフェース１０は、例えば、ＬＡＮ（ローカルエリアネットワーク）基板である。着脱可能媒体駆動装置１２は、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリカード等の駆動装置である。なお、ＣＰＵ１で実行されるプログラムは、通常、ネットワークインターフェース１０、あるいは、着脱可能記憶媒体駆動装置１２を通じて、ハードディスクに保存され、メモリ２に展開される。
【００１９】
＜機能ブロック＞
図３に、本設計支援装置の機能ブロック図を例示する。図３のように、本設計支援装置の機能は、表示装置８および入力装置６を制御し、設計支援装置の機能を提供する制御部２０によって実現される。制御部２０は、例えば、図２に示したＣＰＵ１、メモリ２等の構成と、図２のメモリ２に展開され、ＣＰＵ１で実行されるコンピュータプログラムとによって実現される。このプログラムは、コンピュータが読み取り可能で、コンピュータから着脱可能な記憶媒体に格納し、コンピュータにインストールするようにしてもよい。また、ネットワーク上のサーバからコンピュータにダウンロードし、インストールするようにしてよい。また、プログラム自体は、ネットワーク上のサーバにインストールしておき、プログラムの機能だけをコンピュータを利用するユーザに提供してもよい。
【００２０】
図３のように、本設計支援装置の制御部２０は、表示制御手段２１、入力手段２２、制御手段２０Ａ、連動範囲確定手段２３、配置手段２４、管路形成手段２５、継手調整手段２６、評価手段２７および記憶装置２８を有している。
【００２１】
このうち、表示制御手段２１は、ＣＰＵ１からの指令にしたがって、ＣＰＵ１が処理した情報を表示装置８に表示する。表示制御手段２１は、例えば、部材を表す図形要素を位置関係にしたがって配置することによって管路を画面上に表示する。
【００２２】
また、入力手段２２は、入力装置６に対するユーザ操作を検知し、ＣＰＵ１に伝達する。入力手段２２は、例えば、画面上で機器を移動または回転する操作を受け付ける。
【００２３】
表示装置８、入力装置６、表示制御手段２１、および入力手段２２は、例えば、画面上のＧＵＩ（グラフィックスユーザインターフェース）部品の表示と、ＧＵＩ部品に対する操作を検知し、ユーザインターフェースを構成する。
【００２４】
制御手段２０Ａは、例えば、設計支援装置を構成する演算処理部分に相当する。より具体的には、制御手段２０Ａは、演算処理部分のメインプログラムによって実現される。この制御手段２０Ａに、多数の演算処理の部品、例えば、コンピュータプログラムのモジュールが組み合わせられている。以下、そのような演算処理の部品を例示する。
【００２５】
連動範囲確定手段２３は、機器に接続される配管のうちで操作に応じて機器とともに移動または回転すべき配管の連動範囲を確定する。この連動範囲は、例えば、配管と機器との接続部からの延伸距離または配管を構成する部材の種類を基準にして確定すればよい。
【００２６】
機器にはその廻りの管路に弁や流量計・温度計・圧力計等の計器が付設される。現場施工の都合や竣工後の改修時に機器を動かす作図をするとき、これら弁・計器等機器の作動のための部材(機器の運転管理をする保守員にとっては対象の近傍での操作・点検が望ま
しい)を一緒に移動できればＣＡＤ機能として有用である。一方、制限なく連動すること
を考えると、例えばポンプと接続される冷凍機や空調機の入口からの配管から連動して移動すると、設備の他の配管・配線との干渉までチェックし直さなくてはならない。このため、すでに検討した結果を活かすためには連動範囲を制限できる指定ができることが望ましい。
【００２７】
配置手段２４は、連動範囲の境界にて、配管の切断点を設定し、機器および連動範囲の配管を操作にしたがって移動または回転する。管路形成手段２５は、移動または回転後に、連動範囲側の配管の端部となる連動側切断点と連動範囲外の配管の端部となる固定側切断点とを管路で接続する。このようにして、機器の移動、または、回転に伴った、配管が分離された場合も、再度接続され得る。この場合、管路の切断->再接続の過程を必ずしもユーザが視認できるとは限らない。例えば、配管が分離された後の再接続処理が、ユーザの介入を待たずに自動実行されるモードでは、コンピュータの処理速度によっては、再接続されたか否かは、ユーザからは視認できない。一方、再接続前にユーザの介入を待つモード、あるいは、再接続処理をスローモーションで実行するモードでは、再接続されたか否かが、ユーザから視認できる。
【００２８】
継手調整手段２６で扱う継手は、配管の延伸方向を配管の中心軸に対して所定角度（９０度、４５度、その他）で、かつ、配管の中心軸周りに任意の方向（０〜３６０度の範囲）に変更する部材である。継手調整手段２６は、回転、移動側切断点と固定側切断点のいずれか一方の切断点が、そのような継手上に位置する場合に、その一方の切断点での継手からの相手配管への延伸方向を、接続元の配管の中心軸周りに回転する。これによって、継手の相手配管への方向が設定される。
【００２９】
一方、評価手段２７は、中心軸周りに継手からの相手配管の延伸方向が回転した状態で、連動側接続点と固定側接続点との間に形成した管路の複雑さを、少なくとも管路の長さと管路が屈曲する節点の数とによって評価する。したがって、継手の向きを設定した場合に、その継手から形成される管路の複雑さが評価され、形成された管路を採用するか否かの判断基準となる情報が提供される。
【００３０】
以上の制御手段２０Ａの部品（モジュール）は、記憶装置２８のデータを参照しつつ、演算処理を実行する。記憶装置２８には、本設計支援装置の様々な管理情報、機器の属性情報、配管および部材の接続関係を示す情報等が格納される。
【００３１】
＜データ構造＞
図４Ａから図５Ｃに、本設計支援装置が処理する主要なデータの構造を示す。これらのデータ構造で示す情報はメモリ２またはハードディスク上のファイルに格納される。
【００３２】
図４Ａに、配管の経路を記述するルート情報のデータ構造例を示す。ルート情報は、単一のデータファイルに、ルート情報を格納してもよいし、個々の接点ごとに異なるファイルに情報を格納し、複数のファイルの集合によってルート情報を構成してもよい。
【００３３】
ルート情報は、節点と節点との接続関係を示すリスト構造２００と、先頭節点へのポインタを示す先頭指示情報２０１とで構成される。先頭指示情報２０１は、ルート識別情報と、先頭節点へのポインタとを含む。ルート識別情報は、個々の経路をユニークに識別する情報である。
【００３４】
先頭節点へのポインタは、先頭の節点の要素情報２０２を指す情報であり、例えば、先頭節点の情報を有する要素情報２０２のアドレスである。また、要素情報２０２は、次の節点へのポインタ、上流へのポインタ、枝分かれ節点へのポインタ、および節点識別情報を含む。
【００３５】
このうち、次の節点へのポインタは、当該節点に隣接する次の節点の要素情報を指すポインタである。また、上流へのポインタは、リスト構造をさかのぼる方向、すなわち、逆方向へのポインタである。また、枝分かれ節点へのポインタは、当該節点が分岐しているときに、分岐経路の先頭を示すポインタである。また、節点識別情報は、図４Ｃの節点定
義ファイルで定義された節点の識別情報である。この節点識別情報をキーに節点情報ファイルを検索することで、当該節点の属性を読み出すことができる。
【００３６】
本設計支援装置は、このようなデータ構造で定義される配管のルートを検索し、配管に含まれる部材を抽出する。さらに、本設計支援装置は、その配管に代わる新たな管路を生成し、基の配管から抽出された部材を配置する。
【００３７】
図４Ｂは、部材配置情報ファイルのデータ構造例を示す図である。部材配置情報ファイルは、管路を構成する部材の種類と、部材の接続点を記録するファイルである。部材配置情報ファイルは、配置識別情報と、基準座標、始点の節点識別情報、終点の節点識別情報および属性を有する。
【００３８】
配置識別情報は、配置された部材を個々に識別する識別情報である。部材は、管路上の区間を占有するので、配置識別情報は、部材の存在する区間の識別情報と考えることもできる。
【００３９】
基準座標は、部材ごとの原点の位置する座標である。部材ごとの原点は、部材内の座標系の原点である。始点の節点識別は、管路上で、当該部材が占有する区間の開始点に相当する節点を識別する情報である。また、終点の節点識別は、管路上で、当該部材が占有する区間の終了点に相当する節点を識別する情報である。これらの識別情報は、ルート情報で説明した節点識別情報と同一の情報である。したがって、始点の節点識別と終点の節点識別とによって、部材の管路上の占有区間が特定されることになる。さらに、節点定義ファイルを参照することによって、始点から終点への管路方向を特定できる。
【００４０】
また、属性は、接点と接点とで挟まれた管路部分の属性である。この管路部分には、１つの部材が配置される。本実施形態では、属性として、部材、接続口の順序、および分岐ある場合の分岐の向きを有する。部材は、節点に配置されている部材の種類を特定する。
【００４１】
部材の種類は、例えば、機器（接続口）、バルブ、４５度継手、９０度継手、４５度の整数倍の角度以外の角度で経路を替える継手（任意角継手という）、レジューサ等が設定される。なお、部材の種類としては、部材マスタ（図５参照）に定義されている部材識別情報が指定される。また、接続口の順序は、その節点において管路（始点から終点）に対して部材が正方向に配置されるか、逆方向に配置されるかを記録する。各部材の正方向と逆方向とは、それぞれの部材ごとに、部材マスタに定義される。なお、接続される管路の方向に垂直な中心面に対して対称な部材の場合には、向きを記録する必要がない。
【００４２】
分岐のある場合の分岐の向きとしては、ＸＹＺ軸で定められる座標系での単位ベクトルが指定される。
【００４３】
図４Ｃに、節点定義ファイルのデータ構造を示す。節点定義ファイルは、節点識別情報と、その節点識別情報で指定される節点の座標を定義したファイルである。節点定義ファイルの１レコードに１節点が定義される。図４Ｃでは、表の１行が１レコードに相当する。また、図４Ｃの節点定義ファイルで定義されている節点の節点識別情報が、図４Ａおよび図４Ｂの節点識別情報に使用される。
【００４４】
図５Ａに、部材マスタのデータ構造例を示す。部材マスタは、本設計支援装置が取り扱う部材を定義したファイルである。部材マスタの１つのレコードは、部材識別情報、部材名、およびそれぞれの部材別仕様テーブルへのポインタを含む。
【００４５】
部材識別情報は、本設計支援装置にてそれぞれの部材の種類をユニークに識別する情報
である。部材名は、それぞれの部材の名称である。部材名としては、例えば、弁類、分岐継手（チーズともいい、以下単に「分岐」ともいう）、レジューサ（レジューサ継手ともいう）、フランジ、縦管等を例示できる。部材別仕様テーブルへのポインタは、弁類、分岐、レジューサ、フランジ、縦管等、それぞれの部材の仕様を定義したテーブルへの格納先を定義する。ここで、格納先とは、それぞれの部材の仕様を定義したテーブルのファイルパス名、あるいは、メモリ上の先頭アドレス等である。
【００４６】
このように、本設計支援装置は、部材マスタから、それぞれの部材別仕様テーブルへのポインタを検索し、それぞれの部材の寸法、管路方向の長さ、接続口の数、接続の向き、分岐の有無、分岐の方向、分岐方向の突き出し量、それぞれの部材を画面に表示するときのグラフィックスシンボル（画像パターン、部材を示す線図形）等を取得する。
【００４７】
図５Ｂに、機器マスタのデータ構造例を示す。機器マスタは、個々の機器ごとにその機器の属性を記録した情報である。機器マスタは、機器固有の情報が登録され、機器が設置される設置現場、設置建物等によって影響を受ける情報は登録されない。また、機器マスタの情報は、新たな機器の追加にしたがってユーザにより順次登録される。図５Ｂは、機器マスタの１レコード例であり、１つの機器についての情報を示している。機器マスタは、機器識別情報、外形形状情報へのポインタ、配置基準点、接続口数、および接続口ごとの情報の並びを有する。
【００４８】
機器識別情報は、個々の機器をユニークに識別する情報である。外形形状情報へのポインタは、機器の外形を示す図形情報へのポインタであり、例えば、図形情報を格納したファイルのパス名である。外形形状情報は、例えば、頂点列、平面、曲面等サーフェイスの組み合わせ、ソリッド等で記述される。ソリッドは、立体形状であり、立体表面の法線ベクトルによって、表面の向き、および表面に囲まれた立体内部を識別可能なモデルである。
【００４９】
配置基準点は、設備内の座標系で機器を設置する位置（設備内配置点と呼ぶ）に対して、機器を位置付けるべき機器内の位置である。配置基準点が、（０，０）の場合には、機器の原点が、設備内配置点に位置付けられる。したがって、配置基準点は、機器を設備内に位置付けるときのシフト量の符号を反転したものとも考えることができる。このようなシフト量も、機器ごとに機器マスタに設定しておくことで、機器の種類ごとに、一括してシフト量を定義できるようにしている。なお、機器が設置される設置現場、設置建物等内の実際の位置は、別途、設備内の座標系で指定されることになる。
【００５０】
接続口数は、当該機器が有する接続口の個数である。接続口ごとの情報の並びは、接続口数だけ、接続口の座標、用途分類、サイズ、系統、方向、および接続点ベクトルを有する。接続口ごとの情報は、接続口の個数だけ列記される。なお、機器マスタの１レコードは、接続口の個数の最大値だけ接続口ごとの情報を格納可能な固定長レコードである。ただし、接続口の個数によってデータ長の異なる可変長レコードで機器マスタを構成してもよい。
【００５１】
接続口の座標は、機器内の座標系（ＵＶＷ座標系）での接続口の位置を示す座標値である。用途分類、サイズ、系統、および方向は、図３で説明したものと同様である。接続点ベクトルは、接続口に接続される配管の接続口から配管を見た、配管の配置方向を示す単位ベクトルである。接続点ベクトルは、機器がソリッドモデル、あるいは、サーフェイスモデルで記述される場合には、通常、表面の法線ベクトルと一致する。したがって、接続点ベクトルは省略して、機器の外形の法線ベクトルから配管の配置方向を設定するようにしてもよい。機器マスタを格納するメモリ２、あるいは、ハードディスクのファイルが、機器接続位置記憶手段２６、および機器属性記憶手段２７に相当する。
【００５２】
図５Ｃに、配置機器情報テーブルのデータ構造例を示す。配置機器情報は、それぞれの機器を作図画面中の設備に配置したときに設定される情報を含む。配置機器情報は、配置機器識別情報、機器識別情報、設備内配置点、向き、外形形状情報へのポインタ、接続口数、および接続口ごとの情報の並びを有する。
【００５３】
このうち、配置機器識別情報は、作図画面内に配置された機器をユニークに識別する情報である。例えば、同一の種類の機器が、複数配置された場合には、それぞれ、配置された機器ごとに配置機器識別情報が付与される。また、機器識別情報は、機器マスタの機器識別情報と同様であり、機器の種類を特定するキーとして使用される。
【００５４】
設備内配置点は、機器の配置基準点（図５Ｂ参照）を位置付けるべき設備の座標系での位置である。また、向き（方向余弦）は、機器が、配置されたときに、機器の座標系（ＵＶＷ）と、図面上の座標系（ＸＹＺ）との相互の回転角を示す情報である。したがって、設備内配置点に機器の配置基準点を設定し、向きが示す回転角を設定することで、機器の位置と向きが確定する。
【００５５】
配置口数、および接続口ごとの情報の並びは、機器マスタと同様である。しかし、配置機器情報では、接続口の座標は、図面の座標系（Ｘ，Ｙ，Ｚ）に変換される。また、接続点ベクトルは、機器マスタの接続点ベクトルを向きにしたがって、回転した情報である。配置機器識別情報を記憶するメモリ２、あるいは、ハードディスクのファイルが、設備内機器情報記憶手段２７に相当する。また、設備内配置点と向きとを格納するメモリ２、あるいは、ハードディスクのファイルが、設置状態記憶手段３５に相当する。
【００５６】
なお、図５Ｃでは、機器情報記憶手段２７に相当する要素と、設置状態記憶手段３５に相当する要素が、配置機器情報として、単一のレコードに格納されている。しかし、機器情報記憶手段２７に相当する要素と、設置状態記憶手段３５に相当する要素とをそれぞれ、異なるテーブル、異なるファイルに格納してもよい。その場合には、それぞれのテーブル、あるいはファイルを構成する各レコードに、図５Ｃの配置機器識別情報を格納することになる。
【００５７】
さらに、図５Ｃでは、個々の設備内配置点にて、接続口の座標、および接続点ベクトルが、設備内座標系に変換されている。しかし、配置機器情報から、接続口の座標、および接続点ベクトルを省略するようにしてもよい。その場合には、必要が生じるごとに逐一、本設計支援装置が、図５Ｂの機器マスタを基に、接続口の座標、および接続点ベクトルを算出するようにすればよい。
【実施例１】
【００５８】
以下、図６から図４１の図面を参照して、本発明の実施例１を説明する。図６は、機器移動処理を例示するフローチャートである。この処理は、例えば、画面上の機器処理を起動するメニューの項目をユーザが選択することで起動される。このとき、画面上で、移動対象の機器の図形を選択するように促すメッセージが画面に表示される。ただし、処理が起動した後でも、ユーザが入力装置６のエスケープキーを押下すると（Ｓ１でＹＥＳの場合）、処理が終了する（Ｓ２）。
【００５９】
エスケープキーが押下されることなく（Ｓ１でＮＯの場合）、ユーザが、入力装置６を用いて、移動対象の機器（画面上の図形部分）を指定すると、本設計支援装置は、その指定を受け付ける（Ｓ３）。このとき、選択された機器を示す図形部分がハイライト表示される。なお、機器以外の画面上の図形、例えば、配管等は選択できない。
【００６０】
次に、ユーザが、入力装置６のエンターキーを押下すると、選択操作が確定する（Ｓ４、Ｓ５）。エンターキーを押下するまでは、ユーザは、複数の機器を選択することができる。また、エンターキーを押下するまでは、選択中の機器の選択を機器ごとに解除することができる。
【００６１】
機器の選択が確定すると、次に、本設計支援装置は、機器とともに移動する管路の探索処理を実行する（Ｓ６）。この探索では、上記で選択された機器の接続口から、図４Ａのルート情報にしたがって、ルートを辿り、図４Ｂの配置情報テーブルを探索する。そして、定義値で指定される範囲、または、所定の部材（例えば、縦管まで）の範囲で、機器とともに移動する管路を探索する。この処理を実行する設計支援装置のＣＰＵ１が、本発明の連動範囲確定手段に相当する。次に、本設計支援装置は、ユーザに、機器の移動先の指定を促す（Ｓ７）。移動先の指定では、まず、基準点の入力を促すメッセージが表示され、設計支援装置は、機器内の移動先の基準点の入力を受け付ける。基準点とは、入力装置６によって画面上でポインタを操作したときに、ポインタに追従する機器の位置である。基準点の入力後、指定点の入力を促すメッセージが表示される。指定点とは、ユーザによって確定される機器（の基準点）の移動先である。基準点から指定点までの距離によって移動距離が決定される。したがって、移動距離を決定するという目的においては、基準点および指定点の少なくとも一方は、ユーザが任意に選択できることなる。これは、後述する、機器をグループ化した場合のグループ単位での操作でも同様である。本実施形態では、ユーザが入力装置６を操作して、ポインタを移動すると、移動中のポインタの位置に基準点が位置付けられて、機器が仮表示される。そして、ユーザが希望する箇所で入力装置６（例えば、ポインティングデバイスのボタン）を押下すると、本設計支援装置は、そのポインタの位置を指定点として受け付ける。この処理を実行する設計支援装置のＣＰＵ１が、本発明の配置手段に相当する。
【００６２】
次に、本設計支援装置は、移動後の機器（および機器とともに移動する配管）との接続対象となる配管と、配管上の接続点（ここでは管材の開口で、連動範囲から外れた管路の固定側の端点）を検索する（Ｓ８）。次に、本設計支援装置は、移動後の機器（および機器とともに移動する配管）と探索された接続点とのつなぎ直し処理を実行する（Ｓ９）。この処理を実行する設計支援装置のＣＰＵ１が、本発明の管路形成手段に相当する。
【００６３】
図７は、機器とともに移動する管路の探索処理（図６のＳ６）の詳細を例示するフローチャートである。なお、この例では、移動対象となる機器１つに対する処理が示されている。複数の機器が移動対象に選択されている場合には、図７の処理を選択された機器の台数分だけ繰り返せばよい。
【００６４】
ここでは、まず、本設計支援装置は、選択された機器の図形に付与されている配置機器識別情報を取得する（Ｓ６１）。そして、本設計支援装置は、配置機器識別情報をキーにして、配置機器情報テーブル（図５Ｃ）を検索する。
【００６５】
そして、本設計支援装置は、機器と一体となって移動する配管を検索する（Ｓ６２）。具体的には、本設計支援装置は、配置機器情報テーブルに定義されている、その機器の接続口の節点識別情報を読み出し、その接続口に接続される部材をルート情報（図４Ａ）にしたがって検索する。なお、機器の接続口が複数ある場合には、それぞれの接続口について、同様の処理を繰り返せばよい。
【００６６】
本実施例では、この場合の検索は、機器のそれぞれの接続口から、所定の長さの配管の範囲とする。この所定の長さを定義値と呼ぶ。定義値は、本設計支援装置の設定パラメータの１つのであり、ユーザが定義する。定義値は、実際の距離、例えば、メートル単位、ミリ単位等での絶対的な値による指定で指定してもよい。また、管の内径等の倍数によっ
て相対的な指定を行ってもよい。例えば、「１０Ｄ」は、管の内径の１０倍とする指定である。このような管の内径に対する相対的な指定を行うことによって、細い配管では短い距離で弁、計器類、継手、あるいは分岐等の部材が配置される一方で、太い管では、これら太さに相当する長さを有する部材を含んだ配管の長さを、より長く指定できる。
【００６７】
この検索では、本設計支援装置は、まず、定義値内の配管の範囲に縦管が存在するか否かを検索する（Ｓ６３）。縦管が存在する場合（Ｓ６４でＹＥＳ場合）、本設計支援装置は、機器の接続口から見て最初に検索された縦管までを機器と連動して移動する配管とする。ただし、縦管の上下端の継手も連動して移動する配管に含める（Ｓ６４）。
【００６８】
また、定義値内に縦管がない場合（Ｓ６４でＮＯの場合）、本設計支援装置は、定義値内にある継手を検索する（Ｓ６６）。継手がない場合（Ｓ６７でＮＯの場合）、すなわち、接続口から直管だけが接続されている場合、例えば、接続口から直管の直径（Ｄ）の３倍の長さ（３Ｄ）までを機器にとともに移動する範囲の配管とする（Ｓ６８）。ただし、直径（Ｄ）の３倍の長さ（３Ｄ）は、処理例であり、例えば、ユーザの設定によって変更可能な設定パラメータとすればよい。以上の定義値の範囲あるいは直管に対する設定パラメータの範囲が本発明の第１の基準に相当する。
【００６９】
また、縦管がなく、継手が存在する場合（Ｓ６７でＹＥＳ）、定義値の範囲内で、機器から最も遠い位置の継手までを機器とともに移動する範囲の配管とする（Ｓ６９）。このように処理することで、機器から所定の範囲の部材を機器と一体として移動するものとしてセットで編集できる。そして、本設計支援装置は、その範囲の管路に分岐があるか否かを判定する（Ｓ６Ａ）。その範囲に分岐がある場合、本設計支援装置は、分岐先に、機器の接続口からの定義値の範囲内にて部材があるかどうかを検索する（Ｓ６Ｂ）。ここで、部材とは、直管以外の配管の材料、例えば、継手、レジューサ継手、分岐、バルブ、計器（温度計等）をいう。なお、機器に関連のある部材を予め、機器ごとにテーブルに登録しておいてもよい。そして、それぞれの機器の移動、回転時に、そのような機器ごとの部材登録テーブルから、機器に関連のある配管の範囲を決定してもよい。
【００７０】
そして、分岐先の定義値範囲内に部材がある場合、本設計支援装置は、その最初の部材までを機器とともに移動する範囲の配管とする（Ｓ６Ｄ）。また、分岐先に直管以外の部材がない場合、分岐先であった直管と分岐との接続点までを機器とともに移動する範囲の配管とする（Ｓ６Ｅ）。以上のＳ６３、Ｓ６４およびＳ６ＢからＳ６Ｄの少なくとも１つの処理での判断基準が本発明の第２の基準に相当する。なお、本実施例の処理では、図７のように、まず、定義値によって機器からの延伸距離で機器とともに動く連動範囲を限定し、その次に、配管を構成する部材の種類を基準に連動範囲を確定した。しかし、このような手順に代えて、配管を構成する部材の種類を基準に連動範囲を確定してもよい。すなわち、上記第１の基準および第２の基準には、組み合わせて用いてもよいし、単独の基準として用いてもよい。
【００７１】
次に、本設計支援装置は、機器のすべての接続口について、定義値内の配管に対して、検索を終了したか否かを判定する（Ｓ６Ｆ）。まだ、未検索の配管がある場合、本設計支援装置は、制御をＳ６２に戻し、定義値内で検索を続行する。一方、機器のすべての接続口について、定義値内の配管に対して、検索を終了すると、本設計支援装置は、処理を終了する。
【００７２】
なお、この処理にしたがって、機器とともに移動する範囲の配管が確定する。そして、機器とともに移動する範囲の境界部分の配管には、接続点（本発明の切断点に相当）が設定される。接続点は、新たな節点として生成され、図４Ａに示したルート情報、および図４Ｃの節点定義ファイルに定義される。また、接続点が直管上にある場合、直管は、機器
とともに移動する直管と、移動しない直管に分割され、図４Ｂの部材配置情報に登録される。また、接続点の情報は、図示しない固定接続点テーブルおよび移動接続点テーブルに登録される。固定接続点テーブルは、機器とともに移動しない接続点の節点識別情報の一覧を列記したテーブルである。移動接続点テーブルは、機器とともに移動する接続点の節点識別情報の一覧を列記したテーブルである。それぞれの節点識別情報に対応する座標は、節点定義ファイルに定義される。
【００７３】
さらに、機器の移動に伴って、その機器の配置機器情報テーブルの接続口の節点識別情報に対応する節点定義ファイル（図４Ｃ）の節点の座標が書き換えられる。これらの座標は、機器の移動に対応するマトリクスによって座標変換すればよい。
【００７４】
図８Ａに、定義値の範囲内に直管が存在する場合の処理例を示す。この例では、機器２００の接続口２０１から延伸する配管Ｌ１の定義値内に、縦管ＬＶ１が存在するので、縦管ＬＶ１の上下の継手Ｃ１およびＣ２までが、機器とともに移動する範囲の配管となる。また、機器２００の接続口２０２には、縦管が接続されている。この場合には、縦管ＬＶ２および上端の継手Ｃ３までが、機器とともに移動する範囲の配管となる。
【００７５】
図８Ｂに、機器とともに移動する範囲の対象とならない縦管の例を示す。この例では、縦管ＬＶ１および継手Ｃ１に、さらに配管Ｌ２およびＬ３が接続されている。配管Ｌ３には、縦管が含まれている。しかしながら、配管Ｌ２およびＬ３は、定義値内の最初の縦管ＬＶ１およびその上下の継手Ｃ１、Ｃ２より遠い位置にある。そこで、配管Ｌ２およびＬ３は、機器とともに移動する範囲の対象とはならない。同様に、縦管ＬＶ４および継手Ｃ４より遠い位置にある、配管Ｌ４は、対象とはならない。
【００７６】
図８Ｃに、継手と分岐の処理例を示す。定義値内の継手Ｃ５までが、機器とともに移動する範囲の配管となる（図８Ｃで太線部分）。また、その途中に分岐Ｔ１、Ｔ２がある場合には、分岐Ｔ１、Ｔ２の分岐側の直管との接続点までを機器とともに移動する範囲の配管とする。ただし、分岐Ｔ１のさらに定義値内の範囲に当該直管との接続点に接してバルブＶＬ１等の部材が存在する場合、バルブＶＬ１までを機器とともに移動する範囲の配管とする。
【００７７】
図８Ｄに、直管の処理例を示す。接続口に直管だけが接続されている場合、設定パラメータ（直管の内径Ｄの３倍）の範囲までを機器とともに移動する配管の範囲とする。
【００７８】
図９に、移動後の機器（および機器とともに移動する配管）との接続対象となる配管と、配管上の接続点を検索する処理（図６のＳ８）の詳細を示す。この処理の前に管路の線が一旦破断されている。この処理は、機器とともに移動する範囲の境界に位置する固定側配管の接続点の代わりに、移動後の機器（および機器とともに移動する配管）から、より近い位置を新たな接続点とするために検索する処理である。
【００７９】
この処理では、本設計支援装置は、まず、移動後の機器と接続対象となる配管をＳ６２の定義値の範囲で検索する（Ｓ８１）。これは、機器移動前の接続点の位置する配管を部材配置情報から検索する処理である。なお、接続点一覧は、図７の処理によって生成される固定接続点テーブルに列記されている。また、接続点の節点識別情報の位置は、図４Ａのルート情報および図４Ｂの部材配置情報テーブルに登録されている。したがって、接続点テーブルの節点識別情報を基に、機器とともに移動しなかった配管をたどることができる。
【００８０】
次に、本設計支援装置は、移動前の機器との接続点から、配管のつながりをたどる（Ｓ８２）。そして、本設計支援装置は、移動前の管路の分岐の有無を判定する（Ｓ８３）。
そして、分岐がある場合には、分岐までを接続対象とする（Ｓ８４）。また、分岐がない場合には、接続点に接続されている配管全体が接続対象となる（Ｓ８５）。
【００８１】
そして、本設計支援装置は、接続対象の配管（切断された端点）と、機器とともに移動した配管の機器から遠い側の接続点との距離が最小の点を探索する（Ｓ８６）。そして、本設計支援装置は、移動後の機器との接続点を確定する（Ｓ８７）。本処理で確定された接続点によって、固定接続点テーブルの接続点の座標が更新される。
【００８２】
図１０に、分岐までを接続点とする処理例を示す。この例では、機器３００の移動前の接続点が機器の移動によって、機器側Ｐ３００Ａおよび機器から遠い配管側Ｐ３００Ｂに分離している。接続点Ｐ３００Ｂに接続される配管Ｌ６に分岐Ｔ６が存在する。接続点Ｐ３００Ｂから分岐Ｔ６までの間が、接続対象にとされる。
【００８３】
図１１に、移動後の機器との接続点を確定する処理例を示す。この例では、移動前後の接続点Ｐ３００（機器側Ｐ３００Ａおよび機器から遠い配管側Ｐ３００Ｂ）があり、機器の移動によって、接続点Ｐ３００ＡとＰ３００Ｂとが分離している。このような場合に、配管上で移動後の機器側の接続点Ｐ３００Ａからの距離が最も近い位置の点Ｐ３００Ｃが新たな接続点となる。
【００８４】
図１２に、機器の回転の処理例を示す。この処理は、機器の配置が、画面上で回転される点以外は、図６の機器の移動と同様である。すなわち、Ｓ１１からＳ１５の処理は、図６のＳ１−Ｓ５と同様である。回転の場合には、本設計支援装置は、機器の回転先の入力を促し、回転先を指定させる（Ｓ１６）。この処理では、入力装置６を通じて、回転中心の位置と、回転角が入力される。そして、機器が回転される。機器の回転に伴って、接続点に対応する節点の座標および接続点ベクトルが座標変換される。その後の処理（Ｓ１７およびＳ１８）は、図６の機器移動の処理（Ｓ７およびＳ８）と同様である。ただし、回転の場合には、機器の移動とは異なり、機器とともに移動する接続点の座標（節点定義ファイルの座標）の他、接続点ベクトルの方向が書き換えられる。図１３に、移動・回転のつなぎ直し処理（図６のＳ８および図１２のＳ１８で実行されるサブプログラムの処理）のフローチャートを例示する。
【００８５】
この処理では、本設計支援装置は、図７の処理で作成した固定接続点テーブルから、機器とともに移動しなかった配管の接続点の節点識別情報を取得し、節点定義ファイルからその座標を取得する。また、その配管の方向から、方向ベクトルを取得する。さらに、本設計支援装置は、移動接続点テーブルから、機器とともに移動した接続点の節点識別情報を取得し、節点定義ファイルからその座標を取得する。また、その配管の方向から、方向ベクトルを取得する（Ｓ１００）。
【００８６】
次に、機器とともに移動した接続点の座標を起点Ｐ１、その配管の方向ベクトルを起点ベクトルＶ１、機器とともに移動しなかった接続点の座標を終点Ｐ２、その配管の方向ベクトルを終点ベクトルＶ２に設定する（Ｓ１０１）。
【００８７】
そして、本設計支援装置は、２点間のつなぎ直し処理を実行する（Ｓ１０２）。そして、本設計支援装置は、固定接続点テーブルと移動接続点テーブルとに設定されたすべての接続点について、処理を完了したか否かを判定する（Ｓ１０３）。
【００８８】
すべての接続点の処理が完了していない場合、本設計支援装置は、制御をＳ１００に戻す。一方、すべての接続点の処理が完了した場合には、本設計支援装置は、処理を終了する。
【００８９】
図１４に、配管つなぎ替え処理（図１３のＳ１５４）で実行される処理の詳細を例示する。この処理は、例えば、コンピュータのサブプログラムとして実現される。このサブプログラムは、起点Ｐ１、起点ベクトルＶ１、終点Ｐ２、および終点ベクトルＶ２を引き渡され、起点Ｐ１から終点Ｐ２との間を接続する管路を形成する。
【００９０】
このサブプログラムを実行する本設計支援装置は、まず、起点ベクトルＶ１と終点ベクトルＶ２とが同一平面上にあるいか否かを判定する（Ｍ１）。２つのベクトルが同一平面上にあるか否かは、それぞれのベクトルを含む２つの直線の方程式を設定し、２つの直線が平行であるか、平行でない場合に交点を有するか否かで判定すればよい。
【００９１】
起点ベクトルＶ１と終点ベクトルＶ２とが同一平面上にある場合には、本設計支援装置は、共有平面上での二次元処理を実行する（Ｍ２）。
【００９２】
また、起点ベクトルＶ１と終点ベクトルＶ２とが同一平面上にない場合には、本設計支援装置は、基点ベクトルＶ１と終点ベクトルＶ２とは、互いに段差のあるＸＹ平面、ＹＺ平面、およびＺＸ平面のいずれかに平行な２つの平面上にあるか否かを判定する（Ｍ１Ａ）。起点ベクトルＶ１と終点ベクトルＶ２とが同一平面上にない場合には、本設計支援装置は、基点ベクトルＶ１と終点ベクトルＶ２とは、互いに段差のある平行な２つの平面上にある場合、本設計支援装置は、２つの平面を接続し、それぞれの水平面内での二次元処理を実行する（Ｍ２Ａ）。
【００９３】
例えば、起点ベクトルＶ１と終点ベクトルＶ２とが、互いに段差を有する２つの水平面上（ＸＹ平面に平行な平面上）にある場合には、縦管を用いて、２つの水平面を接続することにより、基本的には、管路がすべて１つの平面上にある場合の処理に帰着できる。例えば、起点Ｐ１から９０度継手、４５度継手、直管と９０度継手との組み合わせ、または、直管と４５度継手との組み合わせによって、縦管に接続すればよい。そして、縦管を終点ベクトルＰ２のある平面にまで延伸し、９０度継手または４５度継手によって、終点ベクトルＰ２のある平面上の配管に接続すればよい。起点ベクトルＶ１と終点ベクトルＶ２とが、ＹＺ平面、あるいは、ＺＸ平面に平行な２つの平面上にある場合も同様である。
【００９４】
この場合に、起点Ｐ１からではなく、終点Ｐ２から９０度継手、４５度継手、直管と９０度継手との組み合わせ、または、直管と４５度継手との組み合わせによって、縦管に接続してもよい。そして、縦管を終点ベクトルＰ２のある平面にまで延伸し、９０度継手または４５度継手によって、終点ベクトルＰ２のある平面上の配管に接続すればよい。
【００９５】
このように、縦管を設けることで、始点Ｐ１（および起点ベクトルＶ１）のある平面上での始点から縦管までの管路のつなぎ直しと、終点Ｐ２（および終点ベクトルＶ２）のある平面上での、縦管から終点Ｐ２までの管路のつなぎ直しを実行すること、段差のある管路においても、水平面上の処理にて、管路のつなぎ直しを実行できる。また、起点ベクトルＶ１と終点ベクトルＶ２とが同一平面上にない場合には、
次に、本設計支援装置は、次に、起点ベクトルＶ１と終点ベクトルＶ２の一方は、Ｘ、ＹまたはＺ軸に平行か否かを判定する（Ｍ３）。これは、起点ベクトルＶ１と終点ベクトルＶ２のいずれかのＸ、Ｙ、Ｚ成分のいずれかが、Ｘ、Ｙ、Ｚ成分のいずれかだけを持つかどうか、すなわち、２つの軸方向の成分が０か否かを判定する処理である。
【００９６】
そして、起点ベクトルＶ１と終点ベクトルＶ２の一方が、Ｘ、ＹまたはＺ軸に平行な場合、本設計支援装置は、座標軸に平行なベクトルを含む処理を実行する（Ｍ４）。また、起点ベクトルＶ１と終点ベクトルＶ２のいずれもが、Ｘ、ＹまたはＺ軸上に平行でない場合、本設計支援装置は、起点ベクトルＶ１と終点ベクトルＶ２の一方が、ＸＹ、ＹＺ、およびＺＸ平面のいずれかに平行な平面の上にあるか否かを判定する（Ｍ５）。これは、起
点ベクトルＶ１と終点ベクトルＶ２のいずれかのＸ、Ｙ、Ｚ成分のいずれかが０であるか否かを判定する処理である。Ｍ１、Ｍ３、およびＭ５の判定を実行するＣＰＵ１が、平面判定手段３０に相当する。
【００９７】
そして、起点ベクトルＶ１と終点ベクトルＶ２の一方が、ＸＹ、ＹＺ、およびＺＸ平面のいずれかに平行な平面の上にある場合、本設計支援装置は、ＸＹ、ＹＺ、およびＺＸ平面に平行な平面上のベクトルを含む処理を実行する（Ｍ６）。また、起点ベクトルＶ１と終点ベクトルＶ２の両方が、ＸＹ、ＹＺ、およびＺＸ平面のいずれにも平行でないとき、本設計支援装置は、２つのベクトルがＸＹ、ＹＺ、およびＺＸ平面のいずれにも平行でない場合の処理を実行する（Ｍ７）。
【００９８】
図１５に、共有平面上での二次元処理（図１４のＭ２）の処理を例示する。この処理では、本設計支援装置は、まず、起点ベクトルＶ１と終点ベクトルＶ２とが平行かつ対向しているか否かを判定する（Ｍ２１）。対向しているとは、ベクトルの向きが逆であることをいう。
【００９９】
（Ａ）２つのベクトルが平行かつ対向している場合（行き違いを除外）；
図１６に、起点ベクトルＶ１と終点ベクトルＶ２とが平行かつ対向している例を示す。２つのベクトルが平行か否かは、２つのベクトルの内積で判定できる。また、平行な２つのベクトルが対向しているか否かは、２つのベクトルに対して、それぞれ長さ１の単位ベクトルを求め、２つの単位ベクトルの加算結果がキャンセルして０（または０に近い許容値ε以下の値になるか）、２つの単位ベクトルの加算結果が単位ベクトルの２倍の大きさのベクトルに近づくか、によって判定すればよい。なお、ここでは、起点ベクトルＶ１と終点ベクトルＶ２とが行き違いの場合（図２２参照）を除外する。行き違いの状態にあるか、否かの判定方法は、（Ｂ）にて説明する。
【０１００】
今、図１６に示すように、起点Ｐ１を通り、基点ベクトルＶ１に平行な直線Ｌ１と、終点Ｐ２を通り、終点ベクトルＶ２に平行な直線との距離をΔＤ１とする。距離ΔＤ１は、起点Ｐ１を通り、起点ベクトルＶ１を含む直線が、終点Ｐ２を含む終点ベクトルＶ２に垂直な平面ＰＬＮ２（基点ベクトルＶ１との直交面でもある）と交わる交点Ｐ３を求めると、終点Ｐ２と交点Ｐ３との距離ΔＤ１として算出できる。ただし、より一般的には、一方の直線Ｌ２に垂直な平面ＰＬＮ２と、他方の直線Ｌ１との交点から、一方の直線Ｌ２に引いた垂線の長さとして求めることができる。
【０１０１】
また、起点Ｐ１を通り、起点ベクトルＶ１に垂直な平面ＰＬＮ１と、起点Ｐ２を通り、起点ベクトルＶ２に垂直な平面ＰＬＮ２との距離をΔＤ２とする。
【０１０２】
距離ΔＤ２は、起点Ｐ１を通り、起点ベクトルＶ１を含む直線が、終点Ｐ２を含む終点ベクトルＶ２に垂直な平面と交差する交点Ｐ３を求めると、起点Ｐ１から交点Ｐ３までの距離として求めることができる。ただし、逆に、終点Ｐ２を通り、終点ベクトルＶ２を含む直線が、起点Ｐ１を通り起点ベクトルＶ１に垂直な平面と交差する点と終点Ｐ２とから距離ΔＤ２を求めてもよい。
【０１０３】
以下、この距離ΔＤ１、ΔＤ２によって、起点Ｐ１と終点Ｐ２とを以下のように分類する。）
起点ベクトルＶ１と終点ベクトルＶ２とが平行かつ対向している場合（Ｍ２１でＹＥＳの場合）、本設計支援装置は、対向ベクトル処理を実行する（Ｍ２２）。対向ベクトル処理は、起点Ｐ１と起点Ｐ２との位置関係、および起点ベクトルＶ１と終点ベクトルＶ２と位置の関係を分類することで処理、例えば継手による接続の描画がされる。
（１）距離ΔＤ１＝０または距離Ｄ１＜所定の許容値ε；
これは、起点Ｐ１からの起点ベクトルＶ１と終点Ｐ２からの終点ベクトルＶ２とが、同一直線上にある場合である。この場合には、起点Ｐ１と終点Ｐ２とを直管で接続する。図１７に、起点Ｐ１と、終点Ｐ２とを直管で接続する例を示す。
（２）許容値ε＜距離ΔＤ１＜Ｌ４５ＲＭＩＮ；
Ｌ４５ＲＭＩＮは、２つの平行な配管を４５度継手で接続するための最低限必要な、配管に垂直な方向の距離である。Ｌ４５ＲＭＩＮは、４５度継手の配管に垂直は方向の長さと、４５度継手間の直管の最低長さＬＭＩＮから定まる値であり、継手の製造上の形状特性で決定されるカタログ値である。この場合に、接続すべき開口と開口との間の接続点ベクトル（起点ベクトルＶ１、終点ベクトルＶ２）に平行な方向の距離によって以下のように、さらに場合分けする。
（２−１）ＬＡＰＭＩＮ＜距離ΔＤ２；
ＬＡＰＭＩＮは、互いに対向する配管同士を任意角継手で接続するために必要な配管に平行な方向の最低限の距離である。ＬＡＰＭＩＮは、継手の配管に平行な方向の長さと、継手間の直管の最低長さＬＭＩＮから定まる値であり、継手の製造上の形状特性で決定されるカタログ値である。
【０１０４】
この条件を満足する場合には、起点Ｐ１と終点Ｐ２とを任意角継手で接続する。図１８に、任意角継手で配管を接続する例を示す。この場合、起点Ｐ１と終点Ｐ２との距離に応じて、直管が挿入されることになる。
（２−２）距離ΔＤ２＜ＬＡＰＭＩＮ；
この場合には、任意角継手を起点Ｐ１と終点Ｐ２との間に配置できないため、９０度継手を複数組み合わせて、迂回路を形成する。図１９に、迂回路を形成して、起点Ｐ１と終点Ｐ２とを接続する例を示す。ここでは、起点Ｐ１、直管１、９０度継手、直管２、９０度継手、直管３、９０度継手、直管４、９０度継手、終点Ｐ２によって、迂回路が形成される。これによって、直管１によって、起点Ｐ１の位置がＰ１１まで移動されることになる。なお、起点Ｐ１を含む配管ＰＩＰＥ１または終点Ｐ２を含む配管ＰＩＰＥ２と、迂回路とが干渉する場合、そのまま干渉が生じる状態で維持してもよいが、配管ＰＩＰＥ１の中心軸および配管ＰＩＰＥ２の中心軸を中心に、迂回路を揺動した位置に移動した上で直管２および直管４の長さを調整すればよい。すなわち、直管３を紙面に垂直な上下方向にシフトし、直管２および直管４を紙面に斜め方向にして接続すればよい。
【０１０５】
迂回路が形成された個所は、いずれ配管をつなぎ直すことになる場合も多いと想定されるが、システム上でこのような管路が形成されることで、管路が輻輳していることが操作者の目を引き、つなぎ忘れを防止できる。すなわち、形成された迂回路の表示が、接続し直しのガイダンスとなる。
（３）Ｌ４５ＲＭＩＮ＜距離ΔＤ１＜Ｌ９０ＲＭＩＮ；
この場合も、接続すべき開口と開口との間の接続点ベクトル（起点ベクトルＶ１、終点ベクトルＶ２）に平行な方向の距離によって以下のように、さらに場合分けする。なお、Ｌ９０ＲＭＩＮは、２つの平行な配管を９０度継手で接続するための最低限必要な、配管同士の距離である。Ｌ９０ＲＭＩＮは、９０度継手の配管に垂直な方向の長さと、９０度継手間の直管の最低長さＬＭＩＮから定まる値であり、継手の製造上の形状特性で決定されるカタログ値である。
（３−１）Ｌ４５ＰＭＩＮ＜距離ΔＤ２；
Ｌ４５ＰＭＩＮは、対向する配管同士、平行な配管同士を４５度継手で接続するために必要な配管に平行な方向の最低限の距離である。Ｌ４５ＰＭＩＮは、継手の配管に平行な方向の長さと、継手間の直管の最低長さＬＭＩＮから定まる値であり、継手の製造上の形状特性で決定されるカタログ値である。
【０１０６】
この条件を満足する場合には、起点Ｐ１と終点Ｐ２とを４５度継手で接続する。図２０に、４５度継手で配管を接続する例を示す。この場合、起点Ｐ１と終点Ｐ２との距離に応
じて、直管が挿入されることになる。
（３−２）距離ΔＤ２＜Ｌ４５ＰＭＩＮ；
この場合には、４５度継手を起点Ｐ１と終点Ｐ２との間に配置できないため、９０度継手を複数組み合わせて、迂回路を形成する。迂回路の構成は、図１９の場合と同様である。
（４）Ｌ９０ＲＭＩＮ＜距離ΔＤ１；
この場合も、接続すべき開口と開口との間の接続点ベクトル方向の距離によって以下のように場合分けする。
（４−１）Ｌ９０ＰＭＩＮ＜距離ΔＤ２；
Ｌ９０ＰＭＩＮは、互いに対向する配管同士、平行な配管同士を９０度継手で接続するために必要な配管に平行な方向の最低限の距離である。
【０１０７】
この条件を満足する場合には、起点Ｐ１と終点Ｐ２とを９０度継手で接続する。図２１に、９０度継手で配管を接続する例を示す。
（４−２）距離ΔＤ２＜Ｌ９０ＰＭＩＮ；
この場合には、９０度継手を起点Ｐ１と終点Ｐ２との間に配置できないため、次に示す起点ベクトルＶ１と終点ベクトルＶ２とが平行かつ対向していない場合（Ｐ２１でＮＯの場合）の処理と同様の処理を実行する。
【０１０８】
なお、以上の分類では、許容値ε＝＜Ｌ４５ＲＭＩＮ＝＜Ｌ９０ＲＭＩＮの場合を例として説明した。例えば、Ｌ９０ＲＭＩＮ＜Ｌ４５ＲＭＩＮの場合には、４５度継手を使用せず、９０度継手を使用する条件だけを考慮すればよい。すなわち、（２）の判定で、９０度継手の寸法（Ｌ９０ＲＭＩＮ）で判定するとともに、（３）の処理をなくせばよい。
【０１０９】
（Ｂ）２つのベクトルが平行かつ対向していない場合；
以下、図１５に戻り、起点ベクトルＶ１と終点ベクトルＶ２とが平行かつ対向していない場合（Ｍ２１でＮＯの場合）、本設計支援装置は、起点ベクトルＶ１と終点ベクトルＶ２とが、対向していないが、平行であるか否かを判定する（Ｍ２３）。起点ベクトルＶ１と終点ベクトルＶ２とが、対向していないが、平行である場合、本設計支援装置は、起点Ｐ１と終点Ｐ２との間に、９０度継手で迂回路を形成する。図２２−図２４に、対向していないが、平行な起点ベクトルＶ１と終点ベクトルＶ２に対する処理例を示す。ここで、対向していなとは、起点ベクトルＶ１と、終点ベクトルＶ２とが行き違いの関係にあるか、または、方向が同一の場合ということができる。
【０１１０】
図２２に、行き違いの関係にある起点ベクトルＶ１と、終点ベクトルＶ２の例を示す。この場合には、図１９の場合と同様、迂回路を形成する。図２３に、起点ベクトルＶ１と、終点ベクトルＶ２とが、行き違いの関係にあって迂回路を形成する例を示す。
【０１１１】
行き違いの関係にあるか、否かは、起点Ｐ１を起点ベクトルＶ１方向に微少量Δだけ移動した位置と、終点ベクトルＰ２と距離の変化ΔＬ＝ΔＤ２の変化量を求め、ΔＬが増加するか否かで判定できる。すなわち、始点Ｐ１の始点ベクトル方向への移動とともに、距離ΔＤ２が長くなるか、短くなるかで判定できる。なお、すでに上記（４−２）で述べたように、本実施形態では、ΔＤ２＜Ｌ９０ＰＭＩＮとなる場合も、行き違いの場合と同様の処理を行う。
【０１１２】
なお、迂回路が、起点Ｐ１を含む配管ＰＩＰＥ１あるいは終点Ｐ２を含む配管ＰＩＰＥ２と干渉する場合には、図１９で説明した手順と同様、ＰＩＰＥ１およびＰＩＰＥ２の中心軸を中心に迂回路を揺動させた位置に設定すればよい。
【０１１３】
図２４および図２５に、平行な非対向ベクトルに対する処理例を示す。図２４は、Ｌ９
０ＲＭＩＮ＜距離ΔＤ１の場合である。この場合には、起点Ｐ１と終点Ｐ２とが、９０度継手と直管で接続される。
【０１１４】
図２５は、距離ΔＤ１＜Ｌ９０ＲＭＩＮの場合である。この場合には、起点Ｐ１を通り起点ベクトルＶ１に平行な直線と、終点Ｐ２を通り終点ベクトルＶ２に平行な直線との間に９０度継手を配置できないので、９０度継手を組み合わせて迂回路を形成して、起点Ｐ１と終点Ｐ２とを接続する。
【０１１５】
（Ｃ）２つのベクトルが非平行な場合；
次に、図１５に戻って、起点ベクトルＶ１と終点ベクトルＶ２とが、処理Ｍ２３の条件を満たさなかった場合について説明する。これは、例えば、入れ替え機器の内部の流路が、接続口に対して斜めに形成されている場合である。この場合、本設計支援装置は、ベクトルの角度ごとの処理を実行する（Ｍ２５）。ベクトルの角度ごとの処理は、以下のように、起点Ｐ１と終点Ｐ２との位置関係、および起点ベクトルＶ１と終点ベクトルＶ２のなす角度θに応じて継手と直管とを組み合わせる処理である。
【０１１６】
以下、起点Ｐ１を通り起点ベクトルＶ１に平行な直線Ｌ１と、終点Ｐ２を通り終点ベクトルＶ２に平行な直線Ｌ２のなす角度をθとする。ただし、直線のなす角は、２通りに定義できるが、本実施形態では、起点ベクトルＶ１と終点ベクトルＶ２の逆方向ベクトルのなす角度として定義される。
【０１１７】
（１）交点ＰＸでの角度θが４５度未満の場合；
（１−１）交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置する場合には（図２６参照）、任意角継手と直管で接続する（図２７参照）。すなわち、交点点ＰＸに、角度θの任意角継手を配置し、始点Ｐ１と交点ＰＸおよび交点ＰＸと終点Ｐ２とを直管で接続する（図２７参照）。ただし、始点Ｐ１と交点ＰＸとの距離ΔＤＡ１および交点ＰＸと終点Ｐ２との距離ΔＤＡ２が、任意角継手の中心から一方の端部への最小寸法ＬＡＭＩＮより小さい場合には、（１−２）の処理による。
【０１１８】
（１−２）交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置しない場合（図２８参照）には、９０度継手と任意角継手の組み合わせによって迂回路を形成する（図２９参照）。図２９の例では、起点Ｐ１、直管１、９０度継手、直管２、９０度継手、直管３、９０度継手、直管４、任意角継手、終点Ｐ２の迂回路が形成される。
【０１１９】
さらに、起点Ｐ１を有する配管ＰＩＰＥ１または終点Ｐ２を有する配管ＰＩＰＥ２のいずれか一方が迂回路と干渉する場合には、そのまま干渉が生じる状態で維持してもよいが、一旦、図の紙面に垂直な方向（例えば、図がＸＹ平面を示す場合、Ｚ軸方向）にレベルを移動する。例えば、図２８、図２９が、ＸＹ平面上にある場合、直管１にて一旦Ｚ軸方向にシフトする９０度継手と、直管２−４にてＺ軸方向にレベルを戻す９０度継手とを設ける。
（２）交点ＰＸでのθが４５度の場合；
（２−１）交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置する場合には、４５度継手と直管で接続する。すなわち、交点点ＰＸに、４５度継手を配置し、始点Ｐ１と交点ＰＸおよび交点ＰＸと終点Ｐ２とを直管で接続する（図３０参照）。ただし、始点Ｐ１と交点ＰＸとの距離ΔＤ４５１および交点ＰＸと終点Ｐ２との距離ΔＤ４５２が、４５度継手の中心から一方の端部への最小寸法Ｌ４５ＭＩＮより小さい場合には、（２−２）の処理による。
【０１２０】
（２−２）上述の（２−１）ただし書きの場合、および、交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置しない場合（図３１参照）には、９０度継手と４５度継手の組み
合わせによって迂回路を形成する。図３１の例では、起点Ｐ１、直管１、９０度継手、直管２、９０度継手、直管３、９０度継手、直管４、４５度継手、終点Ｐ２の迂回路が形成される。また、図３０で、始点Ｐ１と交点ＰＸとの距離ΔＤ４５１および交点ＰＸと終点Ｐ２との距離ΔＤ４５２が、４５度継手の中心から一方の端部への最小寸法Ｌ４５ＭＩＮより小さい場合も、同様に迂回路を形成する。
【０１２１】
さらに、起点Ｐ１を有する配管ＰＩＰＥ１または終点Ｐ２を有する配管ＰＩＰＥ２のいずれか一方が迂回路と干渉する場合には、直管１にて一旦、図の紙面に垂直な方向（例えば、図がＸＹ平面にある場合、Ｚ軸方向）にレベルを移動する９０度継手と、直管２にてＺ軸方向にレベルを戻す９０度継手を設ける。
【０１２２】
（３）交点ＰＸでのθが４５度より大きく９０度未満の場合；
この場合には、任意角継手として４５度より大きく９０度未満のものを用いることで、（２）の場合と同様の処理を実行する。図３２に迂回路を形成する構成例を示す。
【０１２３】
（４）交点ＰＸでのθが９０度の場合；
（４−１）交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置する場合には、９０度継手と直管で接続する。すなわち、交点点ＰＸに、９０度継手を配置し、始点Ｐ１と交点ＰＸおよび交点ＰＸと終点Ｐ２とを直管で接続する（図３３参照）。ただし、始点Ｐ１と交点ＰＸとの距離ΔＤ９０１および交点ＰＸと終点Ｐ２との距離ΔＤ９０２が、９０度継手の中心から一方の端部への最小寸法Ｌ９０ＭＩＮより小さい場合には、（４−２）の処理による。
（４−２）交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置しない場合（図３４参照）には、９０度継手の組み合わせによって迂回路を形成する。図３４の例では、起点Ｐ１、直管１、９０度継手、直管２、９０度継手、直管３、９０度継手、直管４、終点Ｐ２の迂回路が形成される。ただし、図３３で、始点Ｐ１と交点ＰＸとの距離ΔＤ９０１および交点ＰＸと終点Ｐ２との距離ΔＤ９０２が、４５度継手の中心から一方の端部への最小寸法Ｌ９０ＭＩＮより小さい場合も、同様に迂回路を形成する。
【０１２４】
さらに、起点Ｐ１を有する配管ＰＩＰＥ１または終点Ｐ２を有する配管ＰＩＰＥ２のいずれか一方が迂回路と干渉する場合には、直管１にて一旦、図の紙面に垂直な方向（図がＸＹの場合にはＺ軸方向）にレベルを移動する９０度継手と、直管２にてＺ軸方向にレベルを戻す９０度継手とを設ける。
【０１２５】
（５）交点ＰＸでのθが９０度より大きく１３５０度未満の場合；
（５−１）交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置する場合には、起点ベクトルＶ１と、終点ベクトルＶ２の逆方向ベクトルのなす角θに対して、角度θを外角とする直角三角形ＴＲ１を設定する（図３５参照）。直角三角形ＴＲ１は、交点ＰＸと起点Ｐ１との間に起点ベクトルＶ１に直交する直線Ｌ１を設定することで、設定できる。
【０１２６】
起点ベクトルＶ１を含む直線Ｌ１と、起点ベクトルＶ１に垂直な直線ＬＨ１との交点をＰＸ１とし、終点ベクトルＶ２を含む直線Ｌ２と起点ベクトルＶ１に垂直な直線ＬＨ１との交点をＰＸ２とすると、交点ＰＸ、ＰＸ１、ＰＸ２三角形ＴＲ１を形成する。このとき、交点ＰＸ１に９０度継手を配置し、交点ＰＸ２に任意角継手（４５度未満）を配置することで、起点Ｐ１と終点Ｐ２とを接続できる。
【０１２７】
ただし、以下の条件の場合には、図３４の接続ができない。すなわち、交点Ｐ１と終点Ｐ２との間に、９０度継手と任意角継手を配置できない。
（条件１）起点Ｐ１から交点ＰＸ１までの距離ΔＤＸ１が、９０度継手の中心から一方の開口までの最小寸法Ｌ９０ＭＩＮより小さい場合；
（条件２）終点Ｐ２から交点ＰＸ２までの距離ΔＤＸ３が、任意角継手の中心から一方の開口までの最小寸法ＬＡＭＩＮより小さい場合；
（条件３）交点ＰＸ１と交点ＰＸ２との距離ΔＤＸ２が、９０度継手と任意角継手のそれぞれの中心から一方の開口までの最小寸法の和であるＬ９０ＭＩＮ＋ＬＡＭＩＮより小さい場合；
この場合には、９０度継手と任意角継手の位置関係を入れ替える。すなわち、直角三角形としては、交点ＰＸと終点Ｐ２との間に終点ベクトルＶ２に直交する直線を設定し、同様の手順を実行する。そして、同様の手順のよって、交点Ｐ１と終点Ｐ２との間に、９０度継手と任意角継手を配置できるか否かを判定する。配置できる場合には、その配置にて接続する。配置できない場合には、（５−２）の手順によって迂回路を構成する。
【０１２８】
（５−２）交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置しない場合（図３６参照）には、９０度継手と任意角継手の組み合わせによって迂回路を形成する。図３５の例では、起点Ｐ１、直管１、９０度継手、直管２、９０度継手、直管３、９０度継手、直管４、任意角継手、終点Ｐ２の迂回路が形成される。
【０１２９】
さらに、起点Ｐ１を有する配管ＰＩＰＥ１または終点Ｐ２を有する配管ＰＩＰＥ２のいずれか一方が迂回路と干渉する場合には、直管１にて一旦、図の紙面に垂直な方向（図がＸＹ平面の場合、Ｚ軸方向）にレベルを移動する９０度継手と、直管１〜直管５のいずれかにてレベルを戻す９０度継手を設ける。以上によって、図１５（共有平面上での二次元処理）のベクトルの角度ごとの処理を終了する。
【０１３０】
（Ｄ）２つのベクトルの一方が座標軸に平行な場合；
図３７に、座標軸に平行なベクトルを含む処理（図１４のＭ４）の詳細を例示する。また、図３８に、座標軸に平行なベクトルを含む処理の概念を例示する。理解を容易にするため、図３８の例では、起点Ｐ１が座標軸の原点（０，０，０）にあり、起点ベクトルＶ１が、Ｘ軸と平行であり、一方、終点ベクトルＶ２は、設定されたいずれの座標軸とも平行ではない場合を示している。この場合には、本設計支援装置は、まず、一方のベクトルである起点ベクトルＶ１がＸＹ平面にあるものとして、終点Ｐ２からＸＹ平面の点Ｐ３への経路を設定する。そして、その後、ＸＹ平面上の起点Ｐ１と点Ｐ３との間で、共有平面上での二次元処理を実行する。
【０１３１】
この場合に、起点ベクトルＶ１を含む平面（図３８では、ＸＹ平面）を目標平面ＴＰ１と呼ぶ。なお、起点Ｐ１および起点ベクトルＶ１がＸＹ平面上になく、起点ベクトルＶ１がＸ軸に平行な場合、目標平面ＴＰ１は、起点ベクトルＶ１を含むＸＹ平面に平行な平面として一般化できる。
【０１３２】
また、終点Ｐ２の近傍に目標平面ＴＰ１に平行な目標平面ＴＰ２を設定する。目標平面ＴＰ２の位置は、終点Ｐ２から直管Ｒ０と９０度継手ＣＲ１で、目標平面ＴＰ２上の直管Ｒ１に接続できる位置である。なお、直管Ｒ０は、終点Ｐ２に接続される直管であり、長さ０でも構わない。
【０１３３】
以下、終点Ｐ２の近傍で、直管Ｒ０と９０度継手ＣＲ１で接続可能な位置に目標平面ＴＰ２を設定する手順を説明する。まず、終点Ｐ２から終点ベクトルＶ２方向に所定長さ（例えば、長さ０とし、直管を省略してもよい）の直管Ｒ０の先端の位置Ｐ２０に終点ベクトルＶ２に垂直な平面を想定する。また、位置Ｐ２０を通る目標平面ＴＰ１に平行な目標平面ＴＰ２を想定する。そして、終点ベクトルＶ２に垂直な平面と目標平面ＴＰ２との交線の位置に直管Ｒ１を設定する。目標平面ＴＰ２は、図３８でＸ２軸およびＹ２軸のなす平面である。直管Ｒ１は、ＸＹ平面に平行な目標平面ＴＰ２上にあり、かつ、終点ベクトルＶ２に直交する。したがって、終点Ｐ１から終点ベクトルＶ２方向に直管Ｒ０だけシフ
トした位置Ｐ２０に９０度継手ＣＲ１を設けることで、終点Ｐ２と直管Ｒ３を接続できる。
【０１３４】
この場合に、目標平面ＴＰ１およびＴＰ２は、第１には、ＸＹ平面に平行なものを候補して優先する。ＸＹ平面は、設備、配管が設けられる床と平行な平面であるため、図面の把握、および施工等において便宜であるからである。なお、入れ替え対象の機器によっては、ＸＹ平面の代わりに、壁、すなわち、ＺＸ平面、ＹＺ平面を基準とすると便宜となるものもある。例えば、エアーコンディショナー等を入れ替える場合である。
【０１３５】
以上のように、この処理では、本設計支援装置は、まず、座標軸に平行なベクトル（例えば、起点ベクトルＶ１）から、目標平面ＴＰ１を設定する（Ｍ４１）。
【０１３６】
次に、本設計支援装置は、ＸＹＺ座標軸と平行でないベクトルの端点（終点Ｐ２）に９０度継手ＣＲ１を配置し、目標平面ＴＰ１と平行な目標平面ＴＰ２（Ｘ２Ｙ２平面）上の直管Ｒ１の経路を生成し、終点Ｐ２と直管Ｒ１とを接続する（Ｍ４２）。この場合に、端点（終点Ｐ２）と９０度継手ＣＲ１との間に、所定長さの直管Ｒ０を設けてもよい。また、９０度継手ＣＲ１に替えて、９０度継手ＣＲ１の経路をバイパスする経路（９０度継手ＣＲ１の経路のなす直角に曲がる通路に対して、直角三角形の斜辺となる経路）を構成する４５度継手を設けてもよい。この場合に、端点（終点Ｐ２）と４５度継手との間に、所定長さの直管Ｒ０を設けてもよい。
【０１３７】
さらに、直管Ｒ１の延長線上の経路に９０度継手ＣＲ２を配置し、Ｚ軸に平行な直管Ｒ２の経路を生成する（Ｍ４３）。この場合に、９０度継手ＣＲ１と９０度継手ＣＲ２との間に直管Ｒ１を設けてもよいし、直管Ｒ１の長さを０として実質的に直管を省略してもよい。この直管Ｒ２は、ＸＹ平面とＸ２Ｙ２平面とのレベル差解消のために配置される。この処理を実行するＣＰＵ１が、第１のレベル間接続手段３３に相当する。
【０１３８】
さらに、本設計支援装置は、直管Ｒ２とＸＹ平面との交点Ｐ３に９０度継手ＣＲ３を配置する（Ｍ４４）。この９０度継手ＣＲ３は、ＸＹ平面上で回転方向の設定自在である。以上の設定で、直管Ｒ２の両端には９０度継手ＣＲ２およびＣＲ３が設けられ、目標平面ＴＰ１（ＸＹ平面）上の経路と平行な目標平面ＴＰ２（Ｘ２Ｙ２平面）上の経路とが接続されることになる。なお、直管Ｒ２の両端の９０度継手ＣＲ２およびＣＲ３のいずれか、または、その両方を４５度継手としてもよい。すなわち、９０度継手ＣＲ２またはＣＲ３の経路をバイパスする経路（９０度継手ＣＲ２あるいはＣＲ３の経路のなす直角に曲がる通路に対して、直角三角形の斜辺となる経路）を構成する４５度継手を用いてもよい。
【０１３９】
この状態では、目標平面上で、９０度継手ＣＲ３の開口方向のベクトルと、始点Ｐ１からの始点ベクトルが、目標平面を共有することになる。したがって、図１４の処理Ｍ２と同様、共有平面上での二次元処理を実行する（Ｍ４５）。
【０１４０】
ただし、この９０度継手ＣＲ３は、ＸＹ平面上で回転方向の設定自在である。そこで、例えば、この例では、始点ベクトルと直交する方向に９０継手ＣＲ３が設けてもよい。その結果、９０度継手の延長方向の直管Ｒ３と起点ベクトルＶ１との交点に９０度継手ＣＮ４を設けることで、始点Ｐ１と終点Ｐ２との間の経路を完成するようにしてもよい。また、単純に９０度継手ＣＮ４を設けただけでは経路が設定できない場合に、共有平面上での二次元処理（図１４のＭ２の処理）を実行してもよい。
【０１４１】
次に、本設計支援装置は、経路の設定が成功したか否かを判定する（Ｍ４６）。そして、目標平面上での始点ベクトルと、９０度継手の開口方向のベクトルとの間で経路の設定が成功しなかった場合、次に、本設計支援装置は、一方のベクトル（この例では、始点ベ
クトルＶ１）と平行な平面で、まだ、目標平面にしてない、未処理の平面（図３８の場合のＺＸ平面）が存在するか否かを判定する（Ｍ４７）。そして、未処理の目標平面にしていない未処理平面（ＸＹ、ＹＺ，またはＺＸ平面）が存在する場合、その残りの平面を目標平面に設定する（Ｍ４８）。そして、本設計支援装置は、制御をＰ４２に戻し、処理を繰り返す。
【０１４２】
一方、Ｐ４７の判定で、未処理の目標平面がない場合、本設計支援装置は、ユーザ介入による作図処理を実行する（Ｍ４９）。また、Ｐ４６の判定で、経路の設定に成功した場合には、本設計支援装置は、そのまま処理を終了する。
【０１４３】
なお、図３８では、起点ベクトルＶ１がＸ軸に平行であり、起点Ｐ１が原点と一致する場合の例を示したが、起点Ｐ１が原点にない場合も同様に処理できる。例えば、起点Ｐ１の座標を（ａ，ｂ，ｃ）とすると、目標平面をＺ＝ａに設定して、図３８と同様の処理を実行すればよい。
【０１４４】
また、図３８では、起点ベクトルＶ１がＸ軸に平行な場合を例に説明し、その場合に、まず、目標表平面として、ＸＹ平面を想定した。これは、起点ベクトルＶ１がＹ軸に平行な場合も同様である。また、起点ベクトルがＺ軸に平行な場合には、目標平面としては、例えば、デフォルトで、まず、ＹＺ平面を目標平面として、その後にＺＸ平面を目標平面にするようにしてもよい。
【０１４５】
また、図３８では、最初の目標平面で経路の設定が成功した場合には、そのまま処理を終了した。しかし、最初の目標平面（例えば、ＸＹ平面）の成功の有無に拘わらず、次の目標平面（例えば、ＸＺ平面）を設定し、再度、Ｐ４２−Ｐ４５の処理を繰り返してもよい。そして、最初の目標平面での経路の設定結果と、２つの目の目標平面での経路の設定結果を比較し、例えば、使用する継手の個数、接続のための経路の長さ等を基準にして、簡略に経路が設定できる方を選択するようにしてもよい。
【０１４６】
また、図３８では、起点ベクトルＶ１がＸ軸に平行である場合を例に説明したが、終点ベクトルＶ２がいずれかの座標軸に平行な場合も同様に処理できる。
【０１４７】
（Ｅ）２つのベクトルの一方がＸＹ，ＹＺ，ＺＸのいずれかの平面に平行な場合；
図３９に、起点ベクトルまたは終点ベクトルがＸＹ，ＹＺ，ＺＸ平面のいずれかに平行な場合の処理（図１４のＭ６）の詳細を例示する。この処理を実行するＣＰＵ１が、単一目標平面経路設定手段３１に相当する。この処理は、目標平面の選択の余地がない点を除いて、図３７の処理と同様である。すなわち、起点ベクトルＶ１または終点ベクトルＶ２のいずれかが、ＸＹ，ＹＺまたはＺＸに平行な面上にあるとすると、そのＸＹ，ＹＺまたはＺＸに平行な面がそのまま目標平面（ここでは、ＴＰ１）となる。
【０１４８】
そして、本設計支援装置は、Ｍ６２からＭ６５の処理を実行する。この処理は、図３７でのＭ４２からＭ４５の処理と同様であるので、その説明を省略する。
【０１４９】
そして、本設計支援装置は、経路の設定が成功したか否かを判定する（Ｍ６６）。そして、経路の設定に成功しなかった場合、本設計支援装置は、ユーザ介入による作図処理を実行する（Ｍ６９）。また、Ｍ６６の判定で、経路の設定に成功した場合には、本設計支援装置は、そのまま処理を終了する。
【０１５０】
（Ｆ）起点ベクトルＶ１および終点ベクトルＶ２がいずれもＸＹ、ＹＺおよびＺＸ平面のいずれにも平行でない場合；
図４０に、起点ベクトルＶ１および終点ベクトルＶ２がいずれもＸＹ、ＹＺおよびＺＸ
平面のいずれにも平行でない場合の処理を例示する。この処理を実行するＣＰＵ１が、複数目標平面経路設定手段３２に相当する。また、図４１に、この場合の処理の概念を示す。図４１の例では、起点Ｐ１の近傍で、直管Ｒ０１と９０度継手ＣＲ４で接続可能な位置に目標平面ＴＰ３を設定する。その手順は、まず、起点Ｐ１から起点ベクトルＶ１方向に所定長さ（例えば、長さ０とし、直管を省略してもよい）の位置Ｐ１０に起点ベクトルＶ１に垂直な平面を想定する。また、位置Ｐ１０を通るＸＹ平面に平行な目標平面ＴＰ３を想定する。そして、起点ベクトルＶ１に垂直な平面と目標平面ＴＰ３との交線の位置に直管Ｒ１を設定する。直管Ｒ１は、ＸＹ平面に平行な目標平面ＴＰ３上にあり、かつ、起点ベクトルＶ１に直交する。したがって、起点Ｐ１から起点ベクトルＶ１方向に直管Ｒ０１だけシフトした位置Ｐ１０に９０度継手ＣＲ４を設けることで、起点Ｐ１と直管Ｒ１を接続できる。また、９０度継手ＣＲ４に替えて、９０度継手ＣＲ４の経路をバイパスする経路（９０度継手ＣＲ４の経路のなす直角に曲がる通路に対して、直角三角形の斜辺となる経路）を構成する４５度継手を設けてもよい。この場合に、端点（起点Ｐ１）と４５度継手との間に、所定長さの直管を設けてもよい。
【０１５１】
同様に、終点Ｐ２の近傍で、直管Ｒ０２と９０度継手ＣＲ１で接続可能な位置に目標平面ＴＰ４を設定する。その手順は、まず、終点Ｐ２から終点ベクトルＶ２方向に所定長さ（例えば、長さ０とし、直管を省略してもよい）の直管の先端の位置Ｐ２０に終点ベクトルＶ２に垂直な平面を想定する。また、位置Ｐ２０を通る目標平面ＴＰ３に平行な目標平面ＴＰ４を想定する。そして、終点ベクトルＶ２に垂直な平面と目標平面ＴＰ４との交線の位置に直管Ｒ３を設定する。直管Ｒ３は、ＸＹ平面に平行な目標平面ＴＰ４上にあり、かつ、終点ベクトルＶ２に直交する。したがって、終点Ｐ１から終点ベクトルＶ２方向に直管Ｒ０２だけシフトした位置Ｐ２０に９０度継手ＣＲ１を設けることで、終点Ｐ２と直管Ｒ３を接続できる。また、９０度継手ＣＲ１に替えて、９０度継手ＣＲ１の経路をバイパスする経路（９０度継手ＣＲ１の経路のなす直角に曲がる通路に対して、直角三角形の斜辺となる経路）を構成する４５度継手を設けてもよい。この場合に、端点（終点Ｐ２）と４５度継手との間に、所定長さの直管を設けてもよい。
【０１５２】
以上のように、目標平面ＴＰ３、目標平面ＴＰ３上の直管Ｒ１、目標平面ＴＰ４、目標平面ＴＰ４上の直管Ｒ３を設定した後、目標平面ＴＰ３と目標平面ＴＰ４との間でレベル差を解消すればよい。このレベル差解消の処理は、図３８の場合と同様である。
【０１５３】
以上の処理では、例えば、ＸＹ、ＹＺ、ＺＸ平面の順に目標平面を設定し、それぞれのベクトル（起点ベクトルＶ１と終点ベクトルＶ２）の双方から、目標平面へのレベル差解消の経路を設定する。そして、目標平面上で、共有平面上での二次元処理を実行する。
【０１５４】
以下、図４０により、手順の詳細を説明する。まず、本設計支援装置は、目標平面ＴＰ３、ＴＰ４の法線方向を設定する（Ｍ７０）。法線方向は、例えば、Ｚ軸方向である。次に、本設計支援装置は、目標平面ＴＰ３を設定する（Ｍ７１）。目標平面ＴＰ３は、起点Ｐ１から起点ベクトル方向への直管Ｒ０１と、９０度継手ＣＲ４（または４５度継手）によって、目標平面ＴＰ３上の直管Ｒ１に接続できる位置に設定する。この手順は、図４１にしたがって説明した通りである。
【０１５５】
同様に、本設計支援装置は、目標平面ＴＰ４を設定する（Ｍ７２）。目標平面ＴＰ４は、終点Ｐ２から終点ベクトルＶ２方向への直管Ｒ０２と、９０度継手ＣＲ１（または４５度継手）によって、目標平面ＴＰ４上の直管Ｒ３に接続できる位置に設定する。次に、本設計支援装置は、目標平面ＴＰ４から目標平面ＴＰ３に至るレベル差解消処理を実行する（Ｍ７３）。この処理は、図３７のＭ４３と同様である。この処理を実行するＣＰＵ１が、第２のレベル間接続手段３４に相当する。
【０１５６】
そして、本設計支援装置は、目標平面上で、共有平面上の二次元処理を実行する。この処理は、図１４のＭ２と同様である。
【０１５７】
次に、本設計支援装置は、経路の設定が成功したか否かを判定する（Ｍ７６）。そして、目標平面上で経路の設定が成功しなかった場合、次に、本設計支援装置は、まだ、目標平面にしてない、未処理の平面（法線ベクトル）が存在するか否かを判定する（Ｍ７７）。そして、未処理の目標平面にしていない未処理平面（法線ベクトル）が存在する場合、その残りの平面（ＹＺ平面、ＺＸ平面）を目標平面に設定する（Ｍ７８）。そして、本設計支援装置は、制御をＰ７１に戻し、処理を繰り返す。
【０１５８】
一方、Ｐ７７の判定で、未処理の目標平面がない場合、本設計支援装置は、ユーザ介入による作図処理を実行する（Ｍ７９）。また、Ｍ７６の判定で、経路の設定に成功した場合には、本設計支援装置は、そのまま処理を終了する。
【０１５９】
以上述べたように、本設計支援装置によれば、配管に接続される機器を画面上で、移動あるいは回転したときに、機器から定義値内の配管が検索され、機器と一体に移動あるいは回転される。さらに、機器と一体に移動した配管と、移動しなかった配管との接続点同士が、つなぎ直し処理によって接続される。したがって、機器と関連性の強い配管の接続が維持されるとともに、接続が維持されなかった接続点においても、つなぎ直しが実行される。このため、設計中の設備、設計済みの設備等の設計データ中で、機器の配置位置を変更しても、機器と配管とのつなぎ直し作業の負担が軽減される。
【０１６０】
なお、上記では、機器の接続口から定義値内の配管が検索の対象とされたが、移動・回転時に検索対象としない部分を指示できるようにしてもよい。例えば、ポインティングで、画面上で１以上の機器を選択しておき、その機器に接続される配管で接続口から、所定距離（設定パラメータで指定される距離）の範囲の配管については、検索の対象としないようにしてもよい。また、例えば、ポインティングデバイスの操作によって、矩形状のカーソルを画面に表示し、その矩形で囲まれた範囲を検索の対象としないようにしてもよい。
【０１６１】
検索の対象から除外された範囲の配管、部材については、ルート情報（図４Ａ）から、抹消した上で、上記で説明した機器の移動、回転処理を実行すればよい。このような処理によって、移動される機器、あるいは、回転される機器に追従する配管、および部材の範囲をユーザの指定にしたがって制限することができる。
【実施例２】
【０１６２】
上記実施例１では、移動および回転の対象となる機器をエンターキーが押下されるまで複数個指定するようにした。そのような移動および回転の対象となる機器については、事前にグループ化しておいてもよい。
【０１６３】
図４２に、部材をグループ化するイメージを例示する。この例では、ポンプ４００の周囲の部材を含めて、矩形枠４０１で示される範囲がグループ化される。さらに、矩形枠４０１でグループかれた部材のグループに、その周囲の配管を加えて、矩形枠４０２で示される範囲の部材が再度グループされる。
【０１６４】
図４３は、グループ化の概念を示す図である。この例では、まず、部材Ａ，Ｂ，Ｃが１つのグループにグループ化され、グループＧ１が形成される。同様に、構成されたグループＧ２と、Ｇ１とをさらに、グループ化し、グループＧ３が構成される。
【０１６５】
図４４に、グループ化処理のフローチャートを例示する。この処理は、配置グループ化
コマンドを実行することによって起動される。配置グループ化コマンドは、例えば、例えば、プルダウンメニューから選択される。ただし、エスケープキーが押下されると（Ｓ１２１でＹＥＳの場合）、処理は終了する（Ｓ１２２）。
【０１６６】
エスケープキーが押下されないと、本設計支援装置は、ユーザにオブジェクト、すなわち、グループ化対象の選択を促すメッセージを画面に表示する。ユーザは、エンターキーを押下するまでの間、複数のオブジェクトを選択することができる。そして、エンターキーが押下されると（Ｓ１２４でＹＥＳの場合）、グループ化対象が確定し、本設計支援装置は、グループ化処理を実行する（１２６）。
【０１６７】
本実施例の設計支援装置によれば、機器の移動、および回転の対象を予めグループ化しておくことができ、機器の移動、および回転時の操作が容易となる。
【０１６８】
ここで、図１を例にして説明する。図１には、画面上にポンプが３台表示されている。このような場合、ポンプとポンプを載せる防振架台上の３台分をまとめ、３台分の基礎は１つの共通基礎として形成すると決めた場合を考える。そのような場合、共通基礎上のこの３台分を１つのグループとすれば、設計操作がスムーズになる。定義値から決まる距離（定義値は管の内径に対する倍数を採用する場合は共通）、連動範囲、接続点は３台のポンプの管路ごとに異なる。しかし、上記グループ化によって、これらの機器を並行して、あたかも１台の機器として実施例１と同様に処理できる。さらに、１つの機器（例えば、ポンプ）の系統の管路の範囲に他の機器（例えば冷凍機）につながる管があったとすると、これも一緒に処理できると都合がよい。このため、操作対象の機器の近傍に存在する他の機器とその付設管路についても共通グループとして処理すればよい。
【実施例３】
【０１６９】
図４５から図４９を参照して、本発明の実施例３を説明する。上記のような機器の移動、あるいは回転時の配管の追従処理において、機器とともに移動した接続点、または、機器とともに移動しなかった固定された配管側の接続点のいずれか一方が、継手上にある場合には、継手の次の延伸方向を継手が接続されている接続元の配管の中心軸周りに回転することで、次の配管の延伸方向、すなわち、接続点での方向ベクトルの向きを調整できる。すなわち、起点Ｐ１、または終点Ｐ２が、継手上にある場合には、継手を回転することで、起点ベクトルＶ１または終点ベクトルＶ２の向きを調整し、つなぎ直し処理で、作成される配管の複雑さを低減し、配管を最適化する方向に調整できる。
【０１７０】
図４５に、そのような場合の機器と、機器に接続される配管の例を示す。図４５の（Ａ）は、平面図であり、（Ｂ）は、（Ａ）をＡ３１矢印方向から見た側面図である。図４５では、機器に直管Ｌ３１が接続され、さらに、９０度継手Ｔ３１、縦管、９０度継手Ｔ３２を介して、直管Ｌ３２が接続されている。この場合には、例えば、直管Ｌ３１、９０度継手Ｔ３１、縦管、および９０度継手Ｔ３２が、機器とともに移動あるいは回転する範囲の配管となる。
【０１７１】
図４６は、図４５の平面図（Ａ）で、配管の図形を簡略した上で、機器および機器とともに移動あるいは回転する配管を反時計周りに９０度回転した場合の例を示す。ここで、機器の移動または回転のよって機器とともに移動した接続点を起点Ｐ１、起点Ｐ１における配管の方向（接続口に向かう方向）の単位ベクトルを起点ベクトルＶ１、機器とともに移動しなかった接続点を終点Ｐ２、終点Ｐ２における配管の方向（接続口に向かう方向）の単位ベクトルを終点ベクトルＶ２とする。この定義は、実施例１と同様である。
【０１７２】
図４６で、処理１は、実施例１と同様の処理によって、回転後、そのままつなぎ直し処理を実行した場合である。この場合には、起点ベクトルＶ１が、機器の回転とともに９０
度回転し、図面で右方向を向き、節点Ｐ３１、直管Ｌ３３、節点Ｐ３２、節点Ｐ３３を通る管路が作成される。
【０１７３】
一方、処理２は、起点ベクトルＶ１を終点ベクトルＶ２と対向する方向に向けた上で、つなぎ直し処理を実行した場合の例である。この場合には、節点Ｐ３１は消滅し、起点Ｐ１から起点ベクトルＶ１方向に直管Ｌ３４が延伸し、節点Ｐ３２およびＰ３３を通る管路が作成され、配管の複雑さが低減する。本設計支援装置は、このようは継手上の方向ベクトル（起点ベクトルＶ１、または終点ベクトルＶ２）の向きの調整処理を実行し、調整前後の配管の複雑さを算出し、ユーザに調整前後の配管と、複雑さを示す評価関数の計算結果を提示する。ユーザは、調整前後で、表示された配管の形状と、複雑さを示す評価関数値とから、所望のつなぎ直し結果を選択すればよい。
【０１７４】
図４７および図４８は、この場合の設計支援装置の処理を例示するフローチャートである。この処理は、例えば、図６のＳ９の処理（つなぎ直し処理）の次に実行すればよい。この処理では、まず、設計支援装置は、起点ベクトルＶ１と終点ベクトルＶ２とが同一平面上または互いに平行なレベル差のある平面上にあるか否かを判定する（Ｓ２０１）。起点ベクトルＶ１と終点ベクトルＶ２とがＳ２０１の条件を満たさない場合、設計支援装置は、処理を終了する。また、起点ベクトルＶ１と終点ベクトルＶ２とがＳ２０１の条件を満たす場合、設計支援装置は、起点Ｐ１は、継手上にあるか否かを判定する（Ｓ２０２）。この判定は、起点の節点識別情報を基に、図４Ｂの部材配置情報を探索すればよい。また、機器とともに移動、回転する配管の範囲を検索する処理（図６のＳ６、その詳細である図７の処理、図１２のＳ１２）を実行したときに、接続点での部材が、継手であるか否かをメモリ２に記憶しておけばよい。
【０１７５】
そして、起点Ｐ１は、継手上にない場合、本設計支援装置は、処理を終了する。また、起点Ｐ１は、継手上にある場合、本設計支援装置は、接続点間（起点Ｐ１と終点Ｐ２との間）で、次の評価関数による配管の複雑さを算出する（Ｓ２０３）。
（数１）
評価関数＝配管の距離＋重み×区間内の節点数；
ここで、配管の距離は、起点Ｐ１から終点Ｐ２に至る管路の長さである。また、区間内の節点数は、起点Ｐ１と終点Ｐ２との間の節点である。また、重みは、距離に対して、節点数をどのように評価するかを示す係数である。重みは、例えば、システムで固定した値（例えば、３）としてもよい。また、配管の半径、直径、あるいは、それらの整数倍の値を用いてもよい。重みは、ユーザが設定する設定パラメータとすればよい。その場合に、配管の半径、直径、あるいは、それらの整数倍のような、対象によって重みが変化する指定ができるようにしてもよい。
【０１７６】
なお、評価関数は、節点に設けられた継手の種類ごとに異なる重みを付与して、評価するようにしてもよい。
（数２）
評価関数＝管路の距離＋Ｋ１×Ｎ１＋Ｋ２×Ｎ２＋Ｋ３×Ｎ３；
ここで、Ｋ１、Ｋ２、およびＫ３はそれぞれ、９０度継手、４５度継手、および任意角継手に対する重み係数である。また、Ｎ１、Ｎ２、およびＮ３はそれぞれ、管路中の９０度継手、４５度継手、および任意角継手の個数である。
【０１７７】
次に、本設計支援装置は、起点ベクトルＶ１と終点ベクトルＶ２とが対向するように、継手を縦管の中心軸周りに回転する（Ｓ２０４）。ここで、対抗するとは、２つのベクトルが平行、かつ、逆向きであることをいう。そして、本設計支援装置は、接続点間で、次の評価関数による配管の複雑さを算出する（Ｓ２０５）。ただし、機器の移動あるいは回転後に、元々、起点ベクトルＶ１と終点ベクトルＶ２とが対向していた場合には、この処
理（Ｓ２０４、Ｓ２０５）を省略する。
【０１７８】
次に、本設計支援装置は、起点ベクトルＶ１と終点ベクトルＶ２とが対向する方向から画面に平行な面内で９０度回転する（Ｓ２０６）。これは、継手を配管の延伸方向に対して、配管の中心軸周りに９０度回転することを意味する。そして、本設計支援装置は、接続点間で、数１の評価関数による配管の複雑さを算出する（Ｓ２０７）。ただし、機器の移動あるいは回転後に、元々、起点ベクトルＶ１が終点ベクトルＶ２と対向する向きから９０度回転した方向に向いていた場合には、この処理（Ｓ２０６、Ｓ２０７）を省略する。
【０１７９】
次に、本設計支援装置は、起点ベクトルＶ１と終点ベクトルＶ２とが対向する方向から画面に平行な面内で１８０度回転する（Ｓ２０８）。そして、本設計支援装置は、接続点間で、数１の評価関数による配管の複雑さを算出する（Ｓ２０９）。ただし、機器の移動あるいは回転後に、元々、起点ベクトルＶ１が終点ベクトルＶ２と対向する向きから１８０度回転した方向に向いていた場合には、この処理（Ｓ２０８、Ｓ２０９）を省略する。
【０１８０】
次に、本設計支援装置は、起点ベクトルＶ１と終点ベクトルＶ２とが対向する方向から画面に平行な面内で２７０度回転する（Ｓ２１０）。そして、本設計支援装置は、接続点間で、数１の評価関数による配管の複雑さを算出する（Ｓ２１１）。ただし、機器の移動あるいは回転後に、元々、起点ベクトルＶ１が終点ベクトルＶ２と対向する向きから２７０度回転した方向に向いていた場合には、この処理（Ｓ２１０、Ｓ２１１）を省略する。
【０１８１】
次に、本設計支援装置は、継手を回転する前の配管、および上記評価関数によって、複雑さの最も少ない配管を、評価関数による評価値とともに表示する（Ｓ２１２）。そして、本設計支援装置は、ユーザの選択を待つ（Ｓ２１３）。ユーザが、継手を回転する前の配管、および、複雑さの最も少ない配管のうち、いずれかを選択した場合、その選択された配管を移動、回転後のつなぎ直し処理による配管とする（Ｓ２１４）。
【０１８２】
なお、図４６〜図４８では、起点Ｐ１が、継手上のある例を示したが、終点Ｖ２が継手上にある場合も同様に処理できる。以上述べたように、本実施例によれば、つなぎ直し後の配管において、起点ベクトルＶ１および終点ベクトルＶ２のいずれか一方の向きを調整し、つなぎ直し後の配管の複雑さを低減できる。
【０１８３】
また、上記では、起点ベクトルＶ１を終点ベクトルＶ２に対して、対向する方向から、９０度単位に回転し、配管の複雑さを評価した。しかし、本発明の実施はこのような処理に限定されるわけではない。他の角度、例えば、４５度単位に評価してもよい。また、対向する方向および１８０度の方向で評価した後、２分法で、角度を分割して、評価してもよい。そして、評価関数値が最小となる角度を探索するようにしてよい。
【０１８４】
また、起点ベクトルＶ１の方向、あるいは、終点ベクトルＶ２の方向をユーザによる入力手段６（マウス等のポインティングデバイス）を通じた指定にしたがって、変更するようにしてもよい。すなわち、ユーザが、機器の移動、あるいは、回転後に、継手の方向を定めて、つなぎ直し処理を実行するようにしてもよい。
【０１８５】
また、図４５、図４６の例では、９０度継手を例に示したが、上記処理は、４５度継手でも可能である。また、４５度以外の任意角の継手でも可能である。
【実施例４】
【０１８６】
上記各実施例における、移動・回転時のつなぎ直し処理（例えば、図１３等）において、２点間のつなぎ直し処理のときに、次の評価関数を導入し、つなぎ直し前後の管路を評
価してもよい。
（数１）
評価関数＝管路の距離＋重み×区間内の節点数；
評価関数は、節点に設けられた継手の種類ごとに異なる重みを付与して、評価するようにしてもよい。
（数２）
評価関数＝管路の距離＋Ｋ１×Ｎ１＋Ｋ２×Ｎ２＋Ｋ３×Ｎ３；
ここで、Ｋ１、Ｋ２、およびＫ３はそれぞれ、９０度継手、４５度継手、および任意角継手に対する重み係数である。また、Ｎ１、Ｎ２、およびＮ３はそれぞれ、管路中の９０度継手、４５度継手、および任意角継手の個数である。
【０１８７】
すなわち、このような評価関数にて、管路のつなぎ直し効果を評価しつつ、機器を移動あるいは回転してもよい。そして、評価関数の結果が望ましくない場合には、ユーザに機器の移動を中止するように促してもよい。あるいは、評価関数の結果が望ましくない場合には、移動、回転後に、ユーザに、つなぎ直された２点間での配管の接続経路を変更するように促してもよい。
【図面の簡単な説明】
【０１８８】
【図１】設計支援装置の機能概要を例示する図である。
【図２】設計支援装置のハードウェア構成の例示する図である。
【図３】設計支援装置の機能ブロック図を例示する図である。
【図４Ａ】配管の経路を記述するルート情報のデータ構造例を示す図である。
【図４Ｂ】部材配置情報ファイルのデータ構造例を示す図である。
【図４Ｃ】節点定義ファイルのデータ構造を示す図である。
【図５Ａ】部材マスタのデータ構造例を示す図である。
【図５Ｂ】機器マスタのデータ構造例を示す図である。
【図５Ｃ】配置機器情報テーブルのデータ構造例を示す図である。
【図６】機器移動処理を例示するフローチャートである。
【図７】機器とともに移動する配管の探索処理の詳細を例示するフローチャートである。
【図８Ａ】定義値の範囲内に直管が存在する場合の処理例を示す図である。
【図８Ｂ】機器とともに移動する範囲の対象とならない縦管の例を示す図である。
【図８Ｃ】継手と分岐の処理例を示す図である。
【図８Ｄ】直管の処理例を示す図である。
【図９】移動後の機器との接続対象となる配管と、配管上の接続点を検索する処理の詳細を示す図である。
【図１０】分岐までを接続点とする処理例を示す図である。
【図１１】移動後の機器との接続点を確定する処理例を示す図である。
【図１２】機器の回転の処理例を示す図である。
【図１３】移動・回転のつなぎ直し処理のフローチャートを例示する図である。
【図１４】配管つなぎ替え処理で実行される処理の詳細を例示する図である。
【図１５】共有平面上での二次元処理の処理を例示する図である。
【図１６】起点ベクトルＶ１と終点ベクトルＶ２とが平行かつ対向している例を示す図である。
【図１７】起点Ｐ１と、終点Ｐ２とを直管で接続する例を示す図である。
【図１８】任意角継手で配管を接続する例を示す図である。
【図１９】迂回路を形成して、起点Ｐ１と終点Ｐ２とを接続する例を示す図である。
【図２０】４５度継手で配管を接続する例を示す図である。
【図２１】９０度継手で配管を接続する例を示す図である。
【図２２】対向していないが、平行な起点ベクトルと終点ベクトルを例示する図である。
【図２３】対向していないが、平行な起点ベクトルと終点ベクトルに対する処理例を示す図である。
【図２４】平行な非対向ベクトルに対する処理例を示す図である。
【図２５】平行な非対向ベクトルに対する処理例を示す図である。
【図２６】交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置する場合を例示する図である。
【図２７】交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置する場合に任意角継手と直管で接続する処理例を示す図である。
【図２８】交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置しない場合を例示する図である。
【図２９】交点ＰＸの位置が、起点Ｐ１と終点Ｐ２との間に位置しない場合に、９０度継手と任意角継手の組み合わせによって迂回路を形成する処理例を示す図である。
【図３０】起点ベクトルと終点ベクトルの交点の位置が、起点と終点との間に位置する場合の処理例を示す図である。
【図３１】交点の位置が、起点Ｐ１と終点Ｐ２との間に位置しない場合に、迂回路を形成する処理例を示す図である。
【図３２】交点での交差角が４５度より大きく９０度未満の場合に、迂回路を形成する構成例を示す図である。
【図３３】交点ＰＸでのθが９０度の場合に、９０度継手と直管で接続する処理例を示す図である。
【図３４】交点の位置が、起点と終点との間に位置しない場合に、９０度継手の組み合わせによって迂回路を形成する処理例を示す図である。
【図３５】交点での交差角が９０度より大きく１３５度未満で、交点の位置が、起点と終点との間に位置する場合の処理例である。
【図３６】交点での交差角が９０度より大きく１３５度未満で、交点の位置が、起点と終点との間に位置しない場合の処理例である。
【図３７】座標軸に平行なベクトルを含む処理の詳細を例示する図である。
【図３８】座標軸に平行なベクトルを含む処理の概念を例示する図である。
【図３９】起点ベクトルまたは終点ベクトルがＸＹ，ＹＺ，ＺＸ平面のいずれかに平行な場合の処理の詳細を例示する図である。
【図４０】起点ベクトルおよび終点ベクトルがいずれもＸＹ、ＹＺおよびＺＸ平面のいずれにも平行でない場合の処理を例示する図である。
【図４１】起点ベクトルおよび終点ベクトルがいずれもＸＹ、ＹＺおよびＺＸ平面のいずれにも平行でない場合の処理の外面を例示する図である。
【図４２】部材をグループ化するイメージを例示する図である。
【図４３】グループ化の概念を示す図である。
【図４４】グループ化処理のフローチャートを例示する図である。
【図４５】配管の複雑さを低減し、配管を最適化する方向に調整する対象となる配管を例示する図である。
【図４６】配管を簡略した上で、機器および機器とともに移動あるいは回転する配管を反時計周りに９０度回転した場合の例を示す図である。
【図４７】配管を最適化する方向に調整する設計支援装置の処理を例示するフローチャート（その１）である。
【図４８】配管を最適化する方向に調整する設計支援装置の処理を例示するフローチャート（その２）である。
【符号の説明】
【０１８９】
１  ＣＰＵ
２  メモリ
４  ハードディスク駆動装置
６  入力装置
８  表示装置
１０  ネットワークインターフェース
１２  着脱可能記憶媒体駆動装置
２０  制御部
２１  表示制御手段
２２  入力制御手段
２３  管路構成記憶手段
２４Ａ  部材属性記憶手段
２４Ｂ  部材特定手段
２５  仮定経路生成手段
２６  管路形成手段
２７  配置可否判定手段
２８  管路延伸手段
２９  迂回延伸手段
３０  平面判定手段
３１  単一目標平面経路設定手段
３２  複数目標平面経路設定手段
３３  第１のレベル間接続手段
３４  第２のレベル間接続手段
３６  評価手段
３７  中断点検出
【図１】
2010044715.tif 000003
【図２】
2010044715.tif 000004
【図３】
2010044715.tif 000005
【図４Ａ】
2010044715.tif 000006
【図４Ｂ】
2010044715.tif 000007
【図４Ｃ】
2010044715.tif 000008
【図５Ａ】
2010044715.tif 000009
【図５Ｂ】
2010044715.tif 000010
【図５Ｃ】
2010044715.tif 000011
【図６】
2010044715.tif 000012
【図７】
2010044715.tif 000013
【図８Ａ】
2010044715.tif 000014
【図８Ｂ】
2010044715.tif 000015
【図８Ｃ】
2010044715.tif 000016
【図８Ｄ】
2010044715.tif 000017
【図９】
2010044715.tif 000018
【図１０】
2010044715.tif 000019
【図１１】
2010044715.tif 000020
【図１２】
2010044715.tif 000021
【図１３】
2010044715.tif 000022
【図１４】
2010044715.tif 000023
【図１５】
2010044715.tif 000024
【図１６】
2010044715.tif 000025
【図１７】
2010044715.tif 000026
【図１８】
2010044715.tif 000027
【図１９】
2010044715.tif 000028
【図２０】
2010044715.tif 000029
【図２１】
2010044715.tif 000030
【図２２】
2010044715.tif 000031
【図２３】
2010044715.tif 000032
【図２４】
2010044715.tif 000033
【図２５】
2010044715.tif 000034
【図２６】
2010044715.tif 000035
【図２７】
2010044715.tif 000036
【図２８】
2010044715.tif 000037
【図２９】
2010044715.tif 000038
【図３０】
2010044715.tif 000039
【図３１】
2010044715.tif 000040
【図３２】
2010044715.tif 000041
【図３３】
2010044715.tif 000042
【図３４】
2010044715.tif 000043
【図３５】
2010044715.tif 000044
【図３６】
2010044715.tif 000045
【図３７】
2010044715.tif 000046
【図３８】
2010044715.tif 000047
【図３９】
2010044715.tif 000048
【図４０】
2010044715.tif 000049
【図４１】
2010044715.tif 000050
【図４２】
2010044715.tif 000051
【図４３】
2010044715.tif 000052
【図４４】
2010044715.tif 000053
【図４５】
2010044715.tif 000054
【図４６】
2010044715.tif 000055
【図４７】
2010044715.tif 000056
【図４８】
2010044715.tif 000057