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