(57)【要約】【課題】  各部材の表示態様を簡略化することによって表示速度を向上させるとともに、干渉部位を高速にかつ正確に確認できる管体の３次元曲げ加工シミュレーション方法、装置およびプログラムを提供すること。【解決手段】  コンピュータ装置ＭのＣＰＵ１６は、ワークＰと干渉する可能性が高いベンダ等を、多角形を用いて近似して表示器１２に表示する。また、ベンダの加工動作を定めるための加工動作量を表す加工データを記憶装置１９から入力する。この入力された加工データに基づく加工動作に伴って変化するワークＰの形状を、直線を用いて近似して表示器１２に表示する。そして、ベンダ等とワークＰとの間の干渉の有無を、ベンダ等に形成された面とワークＰを表す直線との交点の有無に基づいて判定する。この判定によってベンダ等とワークＰとの間に干渉があれば、同干渉の生じた部位を表示器１２に表示する。【選択図】  図７
2007014972.tif 000002
【特許請求の範囲】
【請求項１】
管体を３次元的な曲げ形状に成形する曲げ加工機の加工動作を再現することによって、前記加工動作により３次元的に曲げ加工された管体と同管体の周辺に存在する部材との間に干渉が生じるか否かを確認する管体の３次元曲げ加工シミュレーション方法において、
前記曲げ加工機を構成する複数の部材のうち、少なくとも曲げ加工される管体の周辺に存在する周辺部材の形状を、多角形を用いて近似して表示し、
前記曲げ加工機の加工動作を定めるための加工動作量を表す加工データを入力し、
同加工データに基づく加工動作に伴って変化する管体の形状を、直線を用いて近似して表示し、
前記多角形を用いて近似した周辺部材と、前記直線を用いて近似した管体との間の干渉の有無を、前記多角形による近似に関連して形成される面と前記直線との交点の有無に基づいて判定し、
前記判定によって前記周辺部材と前記管体との間に干渉があれば、同干渉の生じた部位を表示するようにしたことを特徴とする管体の３次元曲げ加工シミュレーション方法。
【請求項２】
前記加工データの入力後に、
同加工データによって表される加工動作量を所定量ごとに分割するようにした請求項１に記載した管体の３次元曲げ加工シミュレーション方法。
【請求項３】
前記加工データを、
３次元的に曲げ加工された管体の形状を表す設計データに基づいて自動的に作成して入力するようにした請求項１または請求項２に記載した管体の３次元曲げ加工シミュレーション方法。
【請求項４】
前記加工データを、
前記曲げ加工機の送り動作量を定める値、ひねり動作量を定める値および曲げ動作量を定める値から構成するようにした請求項１ないし請求項３のうちのいずれか一つに記載した管体の３次元曲げ加工シミュレーション方法。
【請求項５】
前記周辺部材と前記管体との干渉が生じた部位を表示し、さらに、干渉の生じた加工動作を表す工程名を表示するようにした請求項１に記載した管体の３次元曲げ加工シミュレーション方法。
【請求項６】
管体を３次元的な曲げ形状に成形する曲げ加工機の加工動作を再現することによって、前記加工動作により３次元的に曲げ加工された管体と同管体の周辺に存在する部材との間に干渉が生じるか否かを確認する管体の３次元曲げ加工シミュレーション装置において、
前記曲げ加工機を構成する複数の部材のうち、少なくとも曲げ加工される管体の周辺に存在する周辺部材の形状であって、多角形を用いて近似した周辺部材の形状を表す周辺部材形状データを記憶する記憶手段と、
前記曲げ加工機の加工動作を定めるための加工動作量を表す加工データを入力する入力手段と、
前記加工データに基づく加工動作に伴って変化する管体の形状であって、直線を用いて近似した管体の形状を表す形状データを算出する形状データ算出手段と、
前記多角形を用いて近似した周辺部材と、前記直線を用いて近似した管体との間の干渉の有無を、前記多角形による近似に関連して形成される面と前記直線との交点の有無に基づいて判定する干渉判定手段と、
前記記憶手段に記憶した周辺部材形状データおよび前記形状データ算出手段により算出した形状データに基づいて前記曲げ加工機の周辺部材および前記管体を表示するとともに、前記干渉判定手段による判定に基づいて干渉の生じた部位を表示する表示手段とを備えたことを特徴とする管体の３次元曲げ加工シミュレーション装置。
【請求項７】
請求項６に記載した管体の３次元曲げ加工シミュレーション装置において、さらに、
前記入力手段により入力された加工データによって表される加工動作量を所定量ごとに分割する分割手段を設けたことを特徴とする管体の３次元曲げ加工シミュレーション装置。
【請求項８】
請求項６または請求項７に記載した管体の３次元曲げ加工シミュレーション装置において、さらに、
３次元的に曲げ加工された管体の形状を表す設計データを入力する設計データ入力手段と、
前記入力された設計データに基づいて、前記加工データを自動的に生成する加工データ生成手段とを備え、
前記入力手段は、前記加工データ生成手段によって自動的に生成された加工データを入力することを特徴とする３次元曲げ加工シミュレーション装置。
【請求項９】
請求項６ないし請求項８のうちのいずれか一つに記載した管体の３次元曲げ加工シミュレーション装置において、
前記加工データは、
前記曲げ加工機の送り動作量を定める値、ひねり動作量を定める値および曲げ動作量を定める値から構成されることを特徴とする管体の３次元曲げ加工シミュレーション装置。
【請求項１０】
請求項６に記載した管体の３次元曲げ加工シミュレーション方法において、
前記表示手段は、さらに、
前記周辺部材と前記管体との干渉が生じた加工動作を表す工程名を表示することを特徴とする管体の３次元曲げ加工シミュレーション装置。
【請求項１１】
所定のデータを入力する入力手段と、同入力されたデータを含む各種データを記憶する記憶手段と、同記憶手段に記憶した各種データに基づいて所定の演算を実行する演算手段と、同演算手段により演算された結果を表示する表示手段とを備えたコンピュータ装置に適用されて、
記憶手段に記憶されていて、管体を３次元的な曲げ形状に成形する曲げ加工機を構成する複数の部材のうち、少なくとも曲げ加工される管体の周辺に存在する周辺部材の形状であって、多角形を用いて近似した周辺部材の形状を表す周辺部材形状データを読み出して表示するステップと、
前記曲げ加工機の加工動作を定めるための加工動作量を表す加工データを入力するステップと、
前記入力された加工データに基づく加工動作に伴って変化する管体の形状であって、直線を用いて近似した管体の形状を表す形状データを算出するステップと、
前記多角形を用いて近似した周辺部材と、前記直線を用いて近似した管体との間の干渉の有無を、前記多角形による近似に関連して形成される面と前記直線との交点の有無に基づいて判定するステップと、
前記判定によって前記周辺部材と前記管体との間に干渉があれば、同干渉の生じた部位を表示するステップとを含むコンピュータ読み取り可能な３次元曲げ加工シミュレーションプログラム。
【請求項１２】
請求項１１に記載したコンピュータ読み取り可能な３次元曲げ加工シミュレーションプログラムにおいて、さらに、
前記入力された加工データによって表される加工動作量を所定量ごとに分割するステップを設けたことを特徴とするコンピュータ読み取り可能な３次元曲げ加工シミュレーションプログラム。
【請求項１３】
請求項１１または請求項１２に記載したコンピュータ読み取り可能な３次元曲げ加工シミュレーションプログラムにおいて、さらに、
３次元的に曲げ加工された管体の形状を表す設計データを入力するステップと、
前記入力された設計データに基づいて、前記加工データを自動的に作成するステップとを備えること特徴とするコンピュータ読み取り可能な３次元曲げ加工シミュレーションプログラム。
【請求項１４】
前記加工データは、
前記曲げ加工機の送り動作量を定める値、ひねり動作量を定める値および曲げ動作量を定める値から構成される請求項１１ないし請求項１３のうちのいずれか一つに記載したコンピュータ読み取り可能な３次元曲げ加工シミュレーションプログラム。
【請求項１５】
請求項１１に記載したコンピュータ読み取り可能な３次元曲げ加工シミュレーションプログラムにおいて、さらに、
前記干渉の生じた加工動作を表す工程名を表示するステップを備えることを特徴とするコンピュータ読み取り可能な３次元曲げ加工シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管体を３次元に曲げ加工する際に、周辺に存在する障害物と曲げ途中の製品との干渉を事前に確認することのできる管体の３次元曲げ加工シミュレーション方法、管体の３次元曲げ加工シミュレーション装置および管体の３次元曲げ加工シミュレーションプログラムに関する。
【背景技術】
【０００２】
従来から、例えば、下記特許文献１に示すような、パイプ曲げ加工のシミュレーション方法は知られている。この従来のシミュレーション方法は、パイプ曲げ加工製品の設計データから作成されたベンダ制御用の加工データに基づき、原材パイプの複数部位に曲げ加工を順次、自動的に施すパイプベンダに関し、このパイプベンダによるパイプ曲げ加工製品の製造過程を、設計データまたは加工データに基づいて、３次元動画的に表示させるようになっている。そして、３次元動画的に表示されたパイプとパイプベンダとの間に発生した干渉を確認できるようになっている。
【０００３】
また、従来から、例えば、下記特許文献２に示すような、３次元曲げ加工シミュレーション方法も知られている。この従来のシミュレーション方法は、３次元製品モデルの形状データ（設計データ）から加工情報（加工データ）および設備動作情報を算出し、これに素材の物性から決まる補正量および曲げ加工設備の設備機差による補正量とを加味して、曲げ加工のシミュレーションを実行するようになっている。そして、曲げ加工される素材と設備側等との干渉を確認するようになっている。
【特許文献１】特開２００３−２５０２０号公報
【特許文献２】特開２００３−３２６３１９号公報
【０００４】
上記従来のシミュレーション方法によれば、実際の曲げ加工機によってパイプ（素材）に曲げ加工を施して、加工機とパイプ（素材）との干渉を確認しなくても、コンピュータ装置の表示画面に表示される曲げ状態を確認することにより、干渉の有無を確認することができる。ここで、上記従来の方法における干渉の有無の確認は、例えば、パイプ（素材）の表面と加工機側の表面との接触の有無に基づいて視覚的に確認したり、パイプの表面座標と加工機側の表面座標とが一致するか否かに基づいて確認したりするようになっている。
【０００５】
ところで、上記従来のシミュレーション方法では、表示画面上に表示されるパイプ（素材）の形状および加工機側の形状は、実際のパイプ（素材）の形状および加工機側の形状とほぼ一致するように表示されるため、この表示に要するデータの容量は大きなものとなる。すなわち、各部材を実際の形状に近づけて表示するためのデータは、外形形状を決定するための線データと同線データによって決定される面の面データとを含んでいる。このように、表示に要するデータの容量が大きくなると、同データに基づいて各部材を表示（再現）するための演算量が増大し、この結果、干渉部位を確認するまでに時間がかかる場合がある。この場合、加工動作をより細分化して干渉部位を細かく確認する場合には、さらに多くの時間を要する場合がある。このため、実際の作業現場において、曲げ加工シミュレーションを実施する場合には、曲げ加工時の干渉の有無を速やかにかつ正確に確認できることが強く熱望されている。
【発明の開示】
【０００６】
本発明は、上記した課題を解決するためになされたものであり、その目的は、各部材の表示態様を簡略化することによって表示速度を高速化するとともに、干渉部位を速やかにかつ正確に確認できる管体の３次元曲げ加工シミュレーション方法、シミュレーション装置およびシミュレーションプログラムを提供することにある。
【０００７】
本発明は、管体を３次元的な曲げ形状に成形する曲げ加工機の加工動作を再現することによって、前記加工動作により３次元的に曲げ加工された管体と同管体の周辺に存在する部材との間に干渉が生じるか否かを確認する管体の３次元曲げ加工シミュレーション方法、その装置およびそのプログラムを改良しようとするものである。
【０００８】
本発明の特徴は、次のようにしたことにある。コンピュータ装置は、前記曲げ加工機を構成する複数の部材のうち、少なくとも曲げ加工される管体の周辺に存在する周辺部材の形状を、多角形を用いて近似して表示し、前記曲げ加工機の加工動作を定めるための加工動作量を表す加工データを入力し、同加工データに基づく加工動作に伴って変化する管体の形状を、直線を用いて近似して表示し、前記多角形を用いて近似した周辺部材と、前記直線を用いて近似した管体との間の干渉の有無を、前記多角形による近似に関連して形成される面と前記直線との交点の有無に基づいて判定し、前記判定によって前記周辺部材と前記管体との間に干渉があれば、同干渉の生じた部位を表示する。
【０００９】
これによれば、曲げ加工機を表示するときには、曲げ加工機を構成する複数の部材のうち、管体の周辺に存在する周辺部材、言い換えれば、曲げ加工された管体と干渉を生じる可能性が高い部材を選択的に表示することができる。これにより、曲げ加工された管体が干渉を生じるか否かを確認するときには、必要最小限の部材のみによって曲げ加工機を表示すればよく、したがって、表示を高速化することができる。また、周辺部材を、多角形を用いて近似することによって、簡略化して表示することができる。さらに、加工データに基づいて再現された曲げ加工機の加工動作に伴って形状変化する管体を、直線を用いて近似することによって、簡略化して表示することができる。これらにより、周辺部材および形状変化する管体を表示するために必要な演算量を低減することができ、この結果、表示を高速化することができる。
【００１０】
また、干渉の有無は、周辺部材側に形成された面と管体の形状を表す直線とが交点を有するか否かに基づいて判定することができる。また、干渉が生じた場合には、干渉部位を表示することもできる。これにより、例えば、表示画面を観察することによって発見できない干渉が生じた場合であっても、確実にかつ正確に干渉の有無を自動的に判定することができるとともに、極めて容易に干渉部位を確認することができる。また、面と線との交点を演算することにより、干渉の有無を判定することができるため、例えば、面と面との接触状態を演算する場合に比して、演算に要する時間を大幅に短縮することができる。これにより、干渉の有無を高速に行うことができる。このように、周辺部材および管体を高速に表示するとともに、干渉の有無を高速で判定することができるため、最適な曲げ加工工程を決定するために、より多くのシミュレーションを実行することができる。
【００１１】
この場合、前記加工データの入力後に、同加工データによって表される加工動作量を所定量ごとに分割するようにするとよい。ここで、前記加工データは、例えば、前記曲げ加工機の送り動作量を定める値、ひねり動作量を定める値および曲げ動作量を定める値から構成される。このように、加工動作量を分割することによって、管体の形状変化を細かく（所謂、コマ送り的に）観察することができる。言い換えれば、管体の形状変化に対する動作分解能を大きくして観察することができる。一方で、動作分解能を大きくして観察する場合であっても、周辺部材および管体の形状が簡略化されて表示されることによって、表示速度が低下することがない。これにより、より詳細に干渉の有無を速やかに確認することができる。
【００１２】
また、この場合、前記加工データを、３次元的に曲げ加工された管体の形状を表す設計データに基づいて自動的に作成して入力するようにするとよい。これによれば、通常、先行して作成される製品の設計データを入力することにより、加工データが自動的に作成される。したがって、例えば、オペレータが加工データを入力するために必要な計算を別途実施する必要がなく、極めて簡便に３次元曲げ加工シミュレーションを実行することができる。
【００１３】
さらに、前記周辺部材と前記管体との干渉が生じた部位を表示するとともに、干渉の生じた加工動作を表す工程名を表示するようにすることもできる。これにより、オペレータは、干渉の生じる曲げ成形工程を容易に確認することができる。したがって、例えば、この干渉の生じる工程を外して別途曲げ成形を施すなど、干渉の生じない曲げ成形工程を再構築する場合の有益な情報を得ることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態を図面を用いて詳細に説明する。図１は、本発明に係る管体（パイプ）の３次元曲げ加工シミュレーションを実行するコンピュータ装置Ｍの構成をブロック図により示している。
【００１５】
コンピュータ装置Ｍは、キーボード１１、マウス１１ａおよび表示器１２を備えている。キーボード１１は複数の操作子からなり、同操作子の操作状態はバス１５に接続された検出回路１３内に各操作子に対応して設けられた操作子スイッチのオン・オフによってそれぞれ検出される。マウス１１ａは、キーボード１１を介して検出回路１３に接続されており、このマウス１１ａの移動方向、移動量およびクリックの有無も検出回路１３により検出される。そして、これらキーボード１１およびマウス１１ａは、後述する設計データまたは加工データをコンピュータ装置Ｍに入力したり、各種指示を入力するために、例えば、オペレータによって操作される。
【００１６】
表示器１２は、液晶ディスプレイまたはブラウン管装置などで構成されており、入力された各データや後述する各プログラムの実行によって再現されたシミュレーション結果などを表示する。この表示器１２の表示態様は、バス１５に接続された表示制御回路１４によって制御される。
【００１７】
また、バス１５には、ＣＰＵ１６、ＲＯＭ１７、ＲＡＭ１８および記憶装置１９が接続されている。ＣＰＵ１６は、各種プログラムを実行してコンピュータ装置Ｍの各種動作を制御する。ＲＯＭ１７は、システムプログラム、コンピュータ装置Ｍの各種機能を実現するための一部のプログラム、各種データなどを予め記憶している。ＲＡＭ１８は、プログラムおよびプログラムの実行時に利用されるデータを一時的に記憶する。
【００１８】
記憶装置１９は、コンピュータ装置Ｍに装着されたハードディスク（ＨＤ）、同コンピュータ装置Ｍに装着可能なコンパクトディスク（ＣＤ）、デジタル多目的ディスク（ＤＶＤ）、光磁気ディスク（ＭＯ）などの各種記録媒体と、同各記録媒体に対するドライブユニットを含むものである。これらの記録媒体は、大量のデータおよびプログラムを記憶および読み出し可能にしており、同記録媒体内には、プログラムファイル記憶部１９ａ、設計データ記憶部１９ｂ、加工データ記憶部１９ｃおよびベンダ形状データ記憶部１９ｄが構築されている。
【００１９】
プログラムファイル記憶部１９ａは、図３，７，８および図１１に示すプログラムを含む各種プログラムを記憶している。設計データ記憶部１９ｂは、後述するように、オペレータによって入力された３次元的に曲げ加工されたパイプの形状（以下、製品形状という）を表す設計データを記憶している。加工データ記憶部１９ｃは、直管状のパイプに対して所定の曲げ加工を施す曲げ加工機（以下、ベンダという）を制御するためのデータであって、設計データに基づいて曲げ加工に必要な動作量を表す加工データを記憶している。ベンダ形状データ記憶部１９ｄは、ベンダを構成する各部材（例えば、パイプに曲げ加工を施す曲げヘッド、パイプを挟持するチャックのチャックホルダや機台など）とベンダの周辺に存在する障害物（例えば、壁面や床面など）の形状を表す形状データおよびそれらの配置を表す配置データなどを記憶している。
【００２０】
また、バス１５には、通信インターフェース回路２０（以下、通信Ｉ／Ｆ２０という）も接続されている。通信Ｉ／Ｆ２０は、インターネット、ＬＡＮ(Local Area Network)やシリアル通信回線などのネットワークＮＷに接続するためのインターフェースである。これにより、コンピュータ装置Ｍは、通信Ｉ／Ｆ２０を介して、外部の他のコンピュータ装置と通信可能となっている。
【００２１】
次に、上記のように構成したコンピュータ装置Ｍを用いて実行されるパイプの３次元曲げ加工シミュレーションについて詳細に説明する。このパイプの３次元曲げ加工シミュレーションプログラムは、図３に示す基準形状作成プログラムと図７に示すシミュレーションプログラムとから構成されている。このため、まず、オペレータは、コンピュータ装置Ｍに対して、図３に示す基準形状作成プログラムを実行させる。
【００２２】
すなわち、オペレータは、キーボード１１またはマウス１１ａを利用して、コンピュータ装置Ｍに基準形状作成プログラムの実行開始を指示する。この指示に応じて、コンピュータ装置ＭのＣＰＵ１６は、記憶装置１９のプログラムファイル記憶部１９ａに記憶されている基準形状作成プログラムを読み出し、同プログラムの実行をステップＳ１０にて開始する。そして、ＣＰＵ１６は、ステップＳ１１にて、オペレータに対し、入力するデータとして、設計データまたは加工データのうちの一方を選択させる。具体的に説明すると、ＣＰＵ１６は、表示器１２に対して、設計データまたは加工データを選択するためのメッセージを表示させる。これにより、オペレータは、表示器１２の表示画面上に表示されたメッセージに従い、キーボード１１またはマウス１１ａを利用して、設計データまたは加工データの一方を選択する。
【００２３】
続いて、ＣＰＵ１６は、ステップＳ１２にて、オペレータによって設計データの入力が選択されたか否かを判定する。すなわち、ＣＰＵ１６は、前記ステップＳ１１にて、オペレータが設計データの入力を選択していれば、「Ｙｅｓ」と判定してステップＳ１３に進む。ステップＳ１３においては、ＣＰＵ１６は、オペレータに対して、設計データを順次入力するように促す。具体的に説明すると、ＣＰＵ１６は、表示制御回路１４に対して、表示器１２の表示画面を設計データの入力画面に切り替えるように指示する。この指示に基づき、表示制御回路１４は、表示器１２の表示画面を設計データの入力画面に切り替える。これにより、オペレータは、表示器１２の表示画面に従って、製品形状を表す設計データを順次入力する。そして、ＣＰＵ１６は、入力された設計データを記憶装置１９の記録媒体に構築された設計データ記憶部１９ｂに記憶する。なお、この場合、入力された設計データを、通信Ｉ／Ｆ２０を介して、外部のコンピュータ装置に出力することも可能である。
【００２４】
ここで、オペレータによる設計データの入力について、図４（ａ）に示すように、極めて簡単な製品形状の設計データを入力する場合を例示して説明しておく。図４（ａ）に例示した製品形状は、始点としてのポイントＰ１から終点としてのポイントＰ５までの間に曲げポイントＰ２，Ｐ３およびＰ４が設定されている。そして、各曲げポイントＰ２，Ｐ３，Ｐ４にて、曲げ半径Ｒ１，Ｒ２，Ｒ３で曲げ加工されることにより、直管状のパイプが３次元的な製品形状に成形される。このため、オペレータは、各ポイントＰ１〜Ｐ５の位置関係を３次元座標、すなわち、ｘ座標、ｙ座標、ｚ座標として入力するとともに、曲げポイントＰ２，Ｐ３，Ｐ４での曲げ半径Ｒ１，Ｒ２，Ｒ３を入力する。
【００２５】
具体的に説明すると、オペレータは、例えば、図４（ｂ）に示すように、表示器１２に表示された表示画面に従って、始点としてのポイントＰ１の位置を表す３次元座標（Ｘ１，Ｙ１，Ｚ１）を入力する。次に、オペレータは、ポイントＰ２の位置を表す３次元座標（Ｘ２，Ｙ２，Ｚ２）を入力し、このポイントＰ２における曲げ半径Ｒ１を入力する。また、オペレータは、同様にして、ポイントＰ３の位置を表す３次元座標（Ｘ３，Ｙ３，Ｚ３）とこのポイントＰ３における曲げ半径Ｒ２を入力し、ポイントＰ４の位置を表す３次元座標（Ｘ４，Ｙ４，Ｚ４）とこのポイントＰ４における曲げ半径Ｒ３を入力する。さらに、オペレータは、終点としてのポイントＰ５の位置を表す３次元座標（Ｘ５，Ｙ５，Ｚ５）を入力する。このように、製品形状を表す設計データは、始点から終点までの各ポイントＰ１〜Ｐ５の各３次元座標と、曲げポイントＰ２，Ｐ３およびＰ４の曲げ半径Ｒ１，Ｒ２およびＲ３とから構成されるものであり、これらの各値が順次入力される。
【００２６】
そして、オペレータは、設計データの入力が終了すると、ＣＰＵ１６に対して、データの入力完了を指示する。この指示に応じて、ＣＰＵ１６は、入力された設計データを設計データ記憶部１９ｂの所定記憶位置に記憶し、ステップＳ１４にて、入力された設計データを加工データに変換する。この加工データへの変換について以下に説明する。加工データは、前記ステップＳ１３にて入力されて設計データ記憶部１９ｂに記憶された設計データにより表される製品形状を実現するために、ベンダの加工動作量を制御するデータである。
【００２７】
一般的に、直管状のパイプを３次元形状に曲げ加工するベンダに要求される動作としては、パイプの送り動作、ひねり動作および曲げ動作が必要となる。このため、加工データは、パイプの実長、送り長さ、ひねり角および曲げ角から構成される。ここで、パイプの実長とは、各ポイント間の３次元距離を表すものである。また、送り長さとは、実長から曲げ形状部分を除いた直線要素の長さを表すものである。また、ひねり角とは、曲げ形状部分を含んで決定される２面のそれぞれの法線の角度差を表すものである。さらに、曲げ角とは、曲げポイントを含む３つのポイントで形成される角度に対する補角を表すものである。なお、送り長さはパイプを順送（送り動作）する場合を正の値で表し、逆送（戻し動作）する場合を負の値で表す。また、ひねり角および曲げ角は、パイプの順送方向を基準として、例えば、右方向に回転する場合を正の値で表し、左方向に回転する場合を負の値で表す。
【００２８】
したがって、ＣＰＵ１６は、設計データ記憶部１９ｂに記憶された設計データを用いて、図５（ａ）に示すように、パイプの実長、送り長さ、ひねり角および曲げ角を算出することにより、加工データに変換する。具体的に説明すると、ＣＰＵ１６は、図５（ｂ）に示すように、記憶された設計データのうちのポイントＰ１とポイントＰ２の３次元座標を用いて、ポイントＰ１とポイントＰ２間の３次元距離すなわち実長ｄ１を算出する。同様にして、ポイントＰ２とポイントＰ３間の実長ｄ２、ポイントＰ３とポイントＰ４間の実長ｄ３およびポイントＰ４とポイントＰ５間の実長ｄ４をそれぞれ算出する。
【００２９】
また、ＣＰＵ１６は、入力された設計データのうちの曲げポイントＰ２，Ｐ３，Ｐ４の曲げ半径Ｒ１，Ｒ２，Ｒ３を用い、図５（ｂ）に示すように、曲げ半径Ｒ１，Ｒ２，Ｒ３によって決定される円弧と、直線Ｐ１Ｐ２，直線Ｐ２Ｐ３，直線Ｐ３Ｐ４および直線Ｐ４Ｐ５との接点Ａ〜Ｆを求める。そして、ＣＰＵ１６は、前記算出した実長ｄ１から距離Ｐ２と接点Ａまでの距離を減じて送り長さＬ１を算出する。同様に、ＣＰＵ１６は、各曲げポイントＰ２，Ｐ３，Ｐ４と接点Ｂ，Ｃ，Ｄ，Ｅまでの各距離を、実長ｄ２、ｄ３から減じて送り長さＬ２，Ｌ３を算出する。さらに、ＣＰＵ１６は、算出した実長ｄ４から距離Ｐ４と接点Ｆまでの距離を減じて送り長さＬ４を算出する。
【００３０】
また、ＣＰＵ１６は、ポイントＰ１，Ｐ２，Ｐ３によって決定される面の法線と、ポイントＰ２，Ｐ３，Ｐ４によって決定される面の法線との間の角度差すなわちひねり角θ１を算出する。また、同様に、ＣＰＵ１６は、ポイントＰ２，Ｐ３，Ｐ４によって決定される面の法線と、ポイントＰ３，Ｐ４，Ｐ５によって決定される面の法線との間の角度差すなわちひねり角θ２を算出する。
【００３１】
さらに、ＣＰＵ１６は、ポイントＰ１，Ｐ２，Ｐ３によって決定される角度を算出し、同算出した角度の補角すなわち曲げ角Θ１を算出する。同様にして、ＣＰＵ１６は、ポイントＰ２，Ｐ３，Ｐ４によって決定される角度から曲げ角Θ２およびポイントＰ３，Ｐ４，Ｐ５によって決定される角度から曲げ角Θ３を算出する。このように、実長、送り長さ、ひねり角および曲げ角を算出することによって、図５（ａ）に示すように、設計データを変換した加工データが作成される。
【００３２】
また、前記ステップＳ１１にて、オペレータによって設計データの入力が選択されていなければ、言い換えれば、加工データの入力が選択されていれば、ＣＰＵ１６は、前記ステップＳ１２にて「Ｎｏ」と判定してステップＳ１５に進む。ステップＳ１５においては、オペレータは、上述したように算出される加工データを、キーボード１１を利用して入力する。
【００３３】
そして、ＣＰＵ１６は、前記ステップＳ１４にて加工データを作成した場合、または、前記ステップＳ１５にて加工データが入力された場合には、記憶装置１９の加工データ記憶部１９ｃの所定記憶位置に加工データを記憶する。このとき、ＣＰＵ１６は、送り長さ、ひねり角および曲げ角を一連の工程とみなし、この工程ごとに、例えば、加工工程番号などの加工工程名を関連付けて、作成した加工データを加工データ記憶部１９ｃに記憶する。
【００３４】
ここで、コンピュータ装置Ｍは、通信Ｉ／Ｆ２０を備えていて、外部の他のコンピュータ装置との通信が可能とされている。このため、オペレータによる、前記ステップＳ１３における設計データの入力または前記ステップＳ１５における加工データの入力に代えて、他のコンピュータ装置から取得した設計データまたは加工データを直接入力するように実施することも可能である。この場合、例えば、他のコンピュータ装置から設計データを取得すると、コンピュータ装置ＭのＣＰＵ１６は、取得した設計データを設計データ記憶部１９ｂに記憶するとともに、同記憶した設計データを変換した加工データを加工データ記憶部１９ｃに記憶する。また、他のコンピュータ装置から加工データを取得した場合には、ＣＰＵ１６は、取得した加工データを加工データ記憶部１９ｃに記憶する。このように、他のコンピュータ装置から必要なデータを取得することにより、オペレータがキーボード１１を利用してデータを入力する必要が無くなり、データ入力に関する負担を軽減することができる。
【００３５】
前記ステップＳ１４またはステップＳ１５の処理後、ＣＰＵ１６は、ステップＳ１６にて、オペレータに対して、パイプの３次元曲げ加工シミュレーションに使用するベンダ形状、言い換えれば、実際にパイプに対して曲げ加工を施すベンダ形状を選択するように促す。すなわち、ＣＰＵ１６は、現在、ベンダ形状データ記憶部１９ｄに記憶されている種々のベンダ形状を確認する。そして、ＣＰＵ１６は、確認した結果を表す情報を表示器１２に表示させる。これにより、オペレータは、３次元曲げ加工シミュレーションに使用するベンダ形状を、例えば、マウス１１ａを利用して選択する。そして、ＣＰＵ１６は、オペレータによってベンダ形状が選択されると、ステップＳ１７に進む。
【００３６】
ステップＳ１７においては、ＣＰＵ１６は、予めベンダ形状データ記憶部１９ｄに記憶されていて、選択されたベンダ形状に対応するベンダ形状データを取得し、このベンダ形状データに基づくベンダ形状を表示器１２の表示画面上に再現して表示する。このベンダ形状の表示について詳細に説明する。ベンダ形状は、図６に示すように、パイプに曲げ加工を施す部分、より詳しくは、曲げ加工されたパイプがベンダと接触（干渉）する可能性のある周辺部材のみが再現されて表示される。具体的に表示される部材としては、ベンダを構成する機台Ｂ、曲げヘッドＭＨ、曲げヘッドＭＨに接続されたハーネスＨＮおよび曲げ加工されたパイプの周辺に存在する部材（床面、壁面）であり、これら部材が再現されて表示される。
【００３７】
このように、表示すべき部材を必要最小限に限定することにより、ベンダ形状の再現に必要なデータ容量を小さくして必要な演算量を少なくすることができる。これにより、高速に再現してベンダ形状を表示することができる。ここで、後述するように、本実施形態においては、加工対象であるパイプの形状が１本の直線として表示される。このため、ベンダ形状を再現するときには、ベンダを構成する各部材の大きさは、実際のパイプが有する外径に比例するように決定される。すなわち、実際のパイプの外径が大きくなるに伴って、ベンダを構成する各部材の大きさが相対的に大きくなるように再現される。
【００３８】
また、これらの周辺部材は、図６に示すように、その曲面部分が、同曲面部分に外接する多角形により近似されて表示される。このように、曲面部分が多角形により近似されて表示されることにより、より高速に表示することができるとともに、本来１つの面で構成される部材の曲面部分が多数の面に細分化されて表示されることになる。これにより、後述する干渉チェックにおいて、パイプとベンダとの干渉をより正確に判定することができるとともに、干渉位置をより明確に表示することができる。
【００３９】
したがって、ＣＰＵ１６は、ベンダ形状データ記憶部１９ｄに記憶されていて、オペレータによって選択されたベンダ形状（より詳しくは、周辺部材の形状）を表すベンダ形状データを取得して、ＲＡＭ１８の所定記憶位置に一時的に記憶する。そして、ＣＰＵ１６は、取得したベンダ形状データを表示制御回路１４に供給するとともに、同回路１４に対して、ベンダ形状を表示器１２に表示するように指示する。これにより、表示制御回路１４は、図６に示すように、オペレータが選択したベンダ形状を表示器１２の表示画面上に再現して表示させる。
【００４０】
このように、前記ステップＳ１７にてベンダ形状を再現して表示すると、ＣＰＵ１６は、ステップＳ１８にて、加工前のパイプＰ（以下、本明細書における説明においては、加工対象であるパイプＰをワークＰともいう）の形状をその中心軸と一致させた直線で表示する。そして、ＣＰＵ１６は、実際のベンダに加工前のパイプ（ワーク）をセットした状態を再現して表示する。なお、このワークＰの表示においては、オペレータによる図示しない入力操作によって入力された製品長の直線が表示されるものとする。このワークＰの表示においては、ＣＰＵ１６が、表示制御回路１４に対して直線状のワーク形状を表す形状データを供給することによって、同形状データに基づいて表示器１２にワーク形状を表示させる。これにより、表示器１２の表示画面には、加工開始前のベンダ形状と直線状のワーク形状が表示される。
【００４１】
そして、ＣＰＵ１６は、前記ステップＳ１８の表示処理によって加工前のワーク形状を表示させると、ステップＳ１９にて、基準形状作成プログラムの実行を終了する。このように、ＣＰＵ１６は、基準形状作成プログラムの実行を終了すると、図示しないプログラムを実行することにより、表示器１２の表示画面上に曲げ加工シミュレーションの実行を開始するか否かを表示させる。この表示に従い、オペレータによってシミュレーションの実行開始が指示されると、ＣＰＵ１６は、図７に示すシミュレーションプログラムの実行を開始する。このシミュレーションプログラムは、記憶装置１９の加工データ記憶部１９ｃに記憶された工程ごとの加工データに基づいて、実際の曲げ加工機（ベンダ）によるワーク（パイプ）の曲げ加工を再現して表示するプログラムである。
【００４２】
このシミュレーションプログラムは、図７に示すように、ステップＳ１００にてその実行が開始される。なお、このシミュレーションプログラムを実行する場合には、ＣＰＵ１６は、図示しない初期設定プログラムを実行し、各種パラメータ値を初期値（例えば、後述する中止フラグＦＲＧ＿Ｓを”０”）に設定する。ステップＳ１０１においては、前記基準形状作成プログラムのステップＳ１４にて設計データから変換した加工データ、または、ステップＳ１５にて入力された加工データであって、記憶装置１９の加工データ記憶部１９ｃに記憶された加工データを読み出す（入力する）。そして、ＣＰＵ１６は、読み出した加工データをＲＡＭ１８の所定記憶位置に一時的に記憶する。ここで、ＣＰＵ１６は、シミュレーションプログラムのステップＳ１０２以降を実行するに当たり、ＲＡＭ１８に記憶した加工データを一工程ずつ参照して実行するものとする。
【００４３】
ステップＳ１０２においては、ＣＰＵ１６は、ＲＡＭ１８に一時的に記憶した一の工程の加工データを参照して、この工程に送り指示が有るか否かを判定する。すなわち、ＣＰＵ１６は、参照した工程の加工データの送り長さを確認する。そして、送り長さに値が入力されていれば、ＣＰＵ１６は、送り指示が有るために「Ｙｅｓ」と判定して、ステップＳ１０３に進む。一方、参照した工程における加工データの送り長さに値が入力されていなければ、ＣＰＵ１６は、「Ｎｏ」と判定してステップＳ１０６に進む。
【００４４】
ステップＳ１０３においては、ＣＰＵ１６は、現在の加工工程名を表示器１２に表示させる。具体的に説明すると、ＣＰＵ１６は、参照した加工データに関連付けられている加工工程名、すなわち、加工工程番号を表す情報を取得し、同取得した情報を表示制御回路１４に供給する。表示制御回路１４は、供給された加工工程番号を表す情報に基づいて、表示器１２の所定表示位置に加工工程番号を表示させる。このとき、加工工程番号とともに、例えば、現在の加工内容すなわち「送り」などを併せて表示するとよい。これにより、オペレータは、現在の加工内容を極めて容易に確認することができる。
【００４５】
このように、ＣＰＵ１６は、前記ステップＳ１０３にて加工工程名を表示させると、続くステップＳ１０４にて加工データにより指示された送り長さだけ移動させたワークＰの形状データを作成する。すなわち、ＣＰＵ１６は、実際のベンダがワークを移動させる送り動作を再現するように、表示器１２に表示されているワークＰを移動させた形状データを作成する。そして、ＣＰＵ１６は、形状データを作成すると、同作成した形状データをＲＡＭ１８内に一時的に記憶して、ステップＳ１０５に進む。
【００４６】
ステップＳ１０５においては、ＣＰＵ１６は、前記ステップＳ１０４にて作成したワークＰの形状データに基づいて、送り動作後のワークＰの形状を表示器１２に表示させる。具体的に説明すると、ＣＰＵ１６は、ＲＡＭ１８に一時的に記憶した形状データを表示制御回路１４に供給するとともに、同供給した形状データに基づいて表示器１２を制御するように指示する。表示制御回路１４は、同指示に従い、供給された形状データに基づいて表示器１２の表示画面を切り替える。この表示画面切り替えにおいては、上述したベンダ形状が表示されるとともに、指示された送り長さだけ移動したワークＰの形状が表示される。そして、ＣＰＵ１６は、表示器１２に送り動作後のワークＰを表示させると、ステップＳ１０６に進む。
【００４７】
ステップＳ１０６においては、ＣＰＵ１６は、前記ステップＳ１０１にてＲＡＭ１８に一時的に記憶した一の工程の加工データを参照して、この工程にひねり指示が有るか否かを判定する。すなわち、ＣＰＵ１６は、参照した工程の加工データにおけるひねり角の値を確認する。そして、ひねり角の値が入力されていれば、ＣＰＵ１６は、ひねり指示が有るため「Ｙｅｓ」と判定してステップＳ１０７に進み、ひねり動作時干渉チェックルーチンを実行する。一方、ひねり角の値が入力されていなければ、ＣＰＵ１６は、ひねり指示が無いため「Ｎｏ」と判定してステップＳ１０８に進む。
【００４８】
ステップＳ１０７にて実行されるひねり動作時干渉チェックルーチンは、図８に示すように、ステップＳ１５０にてその実行が開始される。そして、ステップＳ１５１にて、ＣＰＵ１６は、加工データによって指示されたひねり角をｎ分割する。この分割について、以下に説明する。
【００４９】
一般的に、３次元に曲げ加工されたワークと、ベンダやベンダ周辺の障害物（以下、これらをまとめてベンダ等という）との干渉は、ワークのひねり動作時や曲げ動作時に生じる。特に、ひねり動作時においては、曲げ加工前のワークの軸線周りにて、曲げ加工された部分または曲げヘッドが回転するため、ベンダ等と干渉を生じる可能性が高くなる。このため、コンピュータ装置Ｍを用いて、ひねり動作時に生じる干渉をチェックする際には、３次元に曲げ加工されたワークＰとベンダ等との干渉部位および干渉状態を詳細に確認する必要がある。この確認においては、ワークＰのひねり動作における動作分解能が高いほど、詳細に確認することができる。
【００５０】
このため、ＣＰＵ１６は、加工データによって指示されたひねり角を、所定の角度間隔（例えば、５゜間隔）でｎ分割し、ひねり動作時の動作分解能を高める。そして、ＣＰＵ１６は、指示されたひねり角をｎ分割すると、同分割したそれぞれのひねり角をＲＡＭ１８に記憶して、ステップＳ１５２以降の各ステップを繰り返し実行する。すなわち、ステップＳ１５２にて、ｎ分割したひねり角のうち、第ｉ番目（ｉ＝１，２，…，ｎ）のひねり角まで回転させたときのワークＰの状態を表す形状データを作成する。この形状データの作成に際しては、種々の方法が考えられるが、例えば、既に曲げ加工されたポイントが存在する場合には、このポイントを曲げ加工前の直線状のワークＰを回転基準として第ｉ番目のひねり角と一致するまで回転させることによって、形状データを作成することができる。または、曲げヘッドＭＨを第ｉ番目のひねり角と一致するまで回転させることによっても、ワークＰとの相対的な位置関係が変化するため、形状データを作成することができる。
【００５１】
そして、ＣＰＵ１６は、形状データを作成すると、同作成した形状データをＲＡＭ１８内に一時的に記憶して、ステップＳ１５３に進む。ステップＳ１５３においては、ＣＰＵ１６は、第ｉ番目のひねり角を表示器１２の所定表示位置に表示させる。このとき、第ｉ番目のひねり角の表示に加えて、加工工程番号とともに、例えば、現在の加工内容すなわち「ひねり」などを併せて表示するとよい。これにより、オペレータは、現在の加工内容（すなわち、何度ワークＰが回転されたか）を極めて容易に確認することができる。
【００５２】
続くステップＳ１５４にて、ＣＰＵ１６は、第ｉ番目のひねり角だけ回転させたワークＰの形状または回転させた曲げヘッドＭＨの形状を、図９に示すように、表示器１２に表示させる。なお、このステップＳ１５４におけるワークＰの形状の表示に関しては、前記ステップＳ１０５におけるワークＰの形状の表示と同様に表示されるため、その詳細な説明を省略する。ここで、後述する曲げ動作時干渉チェックルーチンの説明で詳述するように、ワークＰの曲げ形状部分は、複数の直線を連結することによって近似されて表示される。これにより、ＣＰＵ１６、表示器１２および表示制御回路１４によって実現されるワークＰの形状の表示を高速に行うことができる。
【００５３】
このように、第ｉ番目のひねり角まで回転したワークＰまたは回転させた曲げヘッドＭＨの形状を表示すると、ＣＰＵ１６は、ステップＳ１５５にて、ベンダ等とワークＰとの間に干渉が生じているか否かを判定する。すなわち、ＣＰＵ１６は、ベンダ等とワークＰとの間に干渉が生じている場合、言い換えれば、ベンダ等を形成する多角形に関連して形成される面とワークＰの形状を表す直線とが交点を有している場合には、「Ｙｅｓ」と判定してステップＳ１５６に進む。なお、このベンダ等とワークＰとの干渉判定の詳細については、後述する曲げ動作時干渉チェックルーチンにおいて詳細に説明する。一方、ベンダ等とワークＰとの間に干渉が生じていない場合には、ＣＰＵ１６は、「Ｎｏ」と判定して、ステップＳ１５８に進む。
【００５４】
ステップＳ１５６においては、ＣＰＵ１６は、図１０に示すように、ベンダ等とワークＰとの干渉部位を表示器１２の表示画面上に表示させる。具体的に説明すると、ＣＰＵ１６は、前記ステップＳ１５５の判定処理により、ベンダ等を形成する多角形に関連して形成される面とワークＰの形状を表す直線との交点を把握することができる。このため、ＣＰＵ１６は、この交点近傍の直線部分を、例えば、一般部分と異なる色彩で表示したり、一般部分よりも太い線で表示したりして、オペレータが容易に識別できる態様で表示器１２に表示させる。ここで、図１０においては、ベンダの曲げヘッドＭＨとワークＰとが干渉した場合を示している。なお、この場合、コンピュータ装置Ｍの表示器１２にシミュレーション結果を表示することに加えて、同結果を表すデータを通信Ｉ／Ｆ２０を介して供給することにより、他のコンピュータ装置に表示することもできる。
【００５５】
このように、干渉部分を表示器１２に表示させると、ＣＰＵ１６は、ステップＳ１５７にて、オペレータに対して、シミュレーションを続けるか否かを選択させる。これは、以下に示す理由によるものである。上述したように、前記ステップＳ１５５における干渉判定に基づいて、ベンダ等とワークＰとの干渉が生じる場合には、ＣＰＵ１６は、ステップＳ１５６にて干渉部位を表示器１２に表示させる。これにより、オペレータは、ベンダ等とワークＰとの干渉部位を極めて容易に確認することができる。
【００５６】
ところで、曲げ加工のシミュレーションを実行することにより、ベンダ等とワークＰとの干渉発生が確認できた場合には、実際に発生するであろう干渉を回避するための別工程を再構築することが行われる。この別工程を再構築するときには、例えば、あるひねり工程の第ｉ番目のひねり角にて干渉が発生することが確認できた場合、他のひねり工程におけるひねり動作で干渉が発生するか否かを予め確認しておく必要がある。すなわち、干渉の発生が確認できた工程のみを再度検討して別工程を再構築する場合もあれば、曲げ加工の全工程を再度検討して再構築する場合もある。
【００５７】
このため、ＣＰＵ１６は、ステップＳ１５７にて、オペレータに対して、シミュレーションを継続する必要があるか否かを選択するように促す。具体的に説明すると、ＣＰＵ１６は、現在表示されているシミュレーション結果、より詳しくは、ワークＰをひねり動作することによってベンダ等と干渉が生じた状態を表すシミュレーション結果を、ワークＰのひねり動作を一時停止させることにより表示器１２に表示させ続ける。そして、ＣＰＵ１６は、シミュレーションを続けるか否かをオペレータに選択させるためのメッセージを表す情報を表示制御回路１４に対して供給する。これにより、表示制御回路１４は、表示器１２の表示態様を制御し、所定の表示位置に前記メッセージを表示させる。
【００５８】
この状態において、オペレータが、キーボード１１またはマウス１１ａを利用して、シミュレーションの継続を選択すると、ＣＰＵ１６は「Ｙｅｓ」と判定してステップＳ１５８に進む。ステップＳ１５８においては、ＣＰＵ１６は、第ｉ番目のひねり角に対応するひねり動作番号ｉが最終のひねり動作番号ｎであるか否かを判定する。すなわち、ＣＰＵ１６は、現在のひねり動作番号ｉが「ｎ」でなければ「Ｎｏ」と判定して、ステップＳ１５９に進む。ステップＳ１５９においては、ＣＰＵ１６は、ひねり動作番号ｉを「１」だけインクリメントし、ふたたび、ステップＳ１５２以降の各ステップ処理をひねり動作番号ｉ＋１すなわち第ｉ＋１番目のひねり角について実行する。
【００５９】
そして、現在のひねり動作番号ｉが最終のひねり動作番号ｎと一致するまで、繰り返し、ステップＳ１５２〜ステップＳ１５９までの各ステップの処理を実行する。これにより、第ｉ番目のひねり角にて干渉が発生していても、引き続き、シミュレーションを継続することができる。一方、前記ステップＳ１５８にて、ひねり動作番号ｉが「ｎ」であれば「Ｙｅｓ」と判定する。そして、ステップＳ１６１にて、ひねり動作時干渉チェックルーチンの実行を終了する。
【００６０】
また、前記ステップＳ１５７において、オペレータが、シミュレーションの中止を選択していれば、ＣＰＵ１６は「Ｎｏ」と判定してステップＳ１６０に進む。ステップＳ１６０においては、ＣＰＵ１６は、シミュレーションの中止を設定するための中止フラグＦＲＧ＿Ｓを、シミュレーションの中止を表す”１”に設定する。そして、ＣＰＵ１６は、ステップＳ１６１にて、ひねり動作時干渉チェックルーチンの実行を終了する。
【００６１】
ふたたび、図７のシミュレーションプログラムに戻り、ＣＰＵ１６は、ステップＳ１０８にて、中止フラグＦＲＧ＿Ｓが”０”であるか否かを判定する。すなわち、中止フラグＦＲＧ＿Ｓが”０”であれば、言い換えれば、オペレータによってシミュレーションの継続が選択されていれば、「Ｙｅｓ」と判定して、ステップＳ１０９に進む。一方、中止フラグＦＲＧ＿Ｓが”１”であれば、オペレータによってシミュレーションの中止が指示されているため、「Ｎｏ」と判定して、ステップＳ１１３に進み、シミュレーションプログラムの実行を終了する。この場合、シミュレーションの実行を中止した後、例えば、基本形状作成プログラムを実行することによって、オペレータは、別工程の加工データを設定することができる。そして、ふたたび、シミュレーションプログラムを実行することにより、再構築した別工程で干渉が生じるか否かを確認することができる。
【００６２】
ステップＳ１０９においては、ＣＰＵ１６は、前記ステップＳ１０１にてＲＡＭ１８に一時的に記憶した一の工程の加工データを参照して、この工程に曲げ指示が有るか否かを判定する。すなわち、ＣＰＵ１６は、参照した工程の加工データの曲げ角の値を確認する。そして、曲げ角の値が入力されていれば、ＣＰＵ１６は、曲げ指示が有るため「Ｙｅｓ」と判定してステップＳ１１０に進み、曲げ動作時干渉チェックルーチンを実行する。一方、曲げ角の値が入力されていなければ、ＣＰＵ１６は、曲げ指示が無いため「Ｎｏ」と判定してステップＳ１１１に進む。
【００６３】
ステップＳ１１０にて実行される曲げ動作時干渉チェックルーチンは、図１１に示すように、ステップＳ２００にてその実行が開始される。そして、ステップＳ２０１にてＣＰＵ１６は、加工データによって指示された曲げ角、言い換えれば、同曲げ角によって曲げ加工されたワークＰの円弧形状部分をｍ分割する。この分割について、以下に説明する。
【００６４】
ベンダ等とワークＰとの干渉は、上述したひねり動作時に加えて、ワークＰの曲げ動作時においても生じる可能性がある。そして、ひねり動作時と同様に、曲げ動作時に生じる干渉をチェックする際にも、ワークＰの曲げ動作における動作分解能を高くすることによって、干渉状態および干渉位置を詳細に確認することができる。一方で、曲げ動作時における動作分解能を高めた場合には、曲げ加工によって変形する部分（円弧部分）が連続した短い直線で表される。このように、曲げ加工部分を短い直線で再現して表示するためには、実際に曲げ加工されたときの円弧部分上に存在する多数の点を計算して結ぶ必要があり、この結果、形状の再現に必要なデータ量が増大する。したがって、曲げ動作を再現して表示する際には、表示速度が低下する。
【００６５】
これに対して、例えば、前記円弧部分の曲線上に多数存在する点から適宜選択した点を算出し、この点を直線で結ぶ、言い換えれば、曲線部分を多角形で表すと、ワークＰの形状の再現に必要なデータ数を少なくすることができて、表示速度を向上することができる。ところが、適宜選択する点の数を少なくすると、実際の円弧形状すなわち曲線と多角形を形成する直線（以下、この直線を簡略化直線という）との間のズレ量が大きくなり、曲げ加工部分を適正に再現できない場合がある。したがって、ベンダ等とワークＰとの干渉チェックの精度が大幅に低下する可能性がある。
【００６６】
このため、本発明者は、曲げ加工部分の実際の円弧形状（曲線）と簡略化直線とのズレ量が干渉チェックの精度を確保できる許容範囲内となる点数、言い換えれば、曲げ角の分割数ｍを検討した。以下、この検討結果を説明する。
【００６７】
図１２は、曲げ加工における曲げ角に対して、この曲げ角で実際に曲げ加工したときの円弧形状と簡略化直線との間の距離（ズレ量）の関係を示すグラフである。ここで、干渉チェックの精度を確保できるズレ量としては、曲げ加工時に設定される曲げ公差に対して十分に小さな、例えば、０．２ｍｍに設定する。そして、図１２のグラフから明らかなように、加工データの曲げ角（すなわち円弧形状）を１０゜以内の角度で分割すれば、設計データに基づく曲げ半径Ｒの大きさによらず、曲げ加工による実際の円弧形状と簡略化直線とのズレ量が十分に小さく抑えられることが理解できる。
【００６８】
このとき、簡略化直線は、図１３に示すように、幾何学的に決定される。すなわち、図１３に示すように、実際に曲げ加工された円弧形状の半径、言い換えれば、曲げ半径をＲとして、この円弧形状をともに同じ大きさの中心角θ１，θ２で分割する場合を考えると、円弧に接する直線は、下記式１に示すように表すことができる。
tan(θ1／2)×R＋tan(θ2／2)×R  …式１
前記式１に従って決定される直線すなわち簡略化直線を採用して、分割された円弧形状を多角形とすることにより、実際の円弧形状と簡略化直線との間のズレ量が小さくすることができて、干渉チェックの精度を十分に確保することができる。また、このように、円弧形状を簡略化直線によって多角形化することによって、形状の再現に必要なデータ量を少なくすることができるため、ワークＰの形状を高速に表示することができる。
【００６９】
このことに基づき、ＣＰＵ１６は、指示された曲げ角を、例えば、１０°ごとにｍ分割すると、同分割したそれぞれの曲げ角をＲＡＭ１８に記憶して、ステップＳ２０２以降の各ステップを繰り返し実行する。すなわち、ステップＳ２０２にて、ｍ分割した曲げ角のうち、第ｊ番目（ｊ＝１，２，…，ｍ）の曲げ角まで曲げた（回転させた）ときのワークＰの状態を表す形状データ、言い換えれば、前記式１によって決定される簡略化直線を表す形状データを作成する。
【００７０】
このように、曲げ動作時の形状データを作成すると、ＣＰＵ１６は、ステップＳ２０３以降の各ステップ処理を、上述したひねり動作時干渉チェックルーチンのステップＳ１５３以降と同様に実行する。すなわち、ＣＰＵ１６は、ステップＳ２０３にて、第ｊ番目の曲げ角を表示器１２の所定表示位置に表示させ、ステップＳ２０４にて、第ｊ番目の曲げ角だけ回転させたワークＰの形状を表示器１２に表示させる。このとき、第ｊ番目の曲げ角の表示に加えて、加工工程番号とともに、例えば、現在の加工内容すなわち「曲げ」などを併せて表示するとよい。これにより、オペレータは、現在の加工内容を極めて容易に確認することができる。
【００７１】
ステップＳ２０５においては、ベンダ等とワークＰとの間に干渉が生じているか否かを、ベンダ等を形成する多角形に関連して形成される面とワークＰを表す直線（または、曲げ加工部分においては簡略化直線）との交点の有無に基づいて判定する。この判定について具体的に説明する。
【００７２】
上述したように、ベンダ等を形成する各部材の大きさは、実際のワーク（パイプ）の外径に比例するように決定される。これにより、シミュレーションの実行に際して、ワークＰの形状が直線で表されていても、ワークＰとベンダ等との相対的な大きさの関係および相対的な位置関係が変化することなく、実際の大きさの関係および位置関係を維持した状態で再現することができる。また、ワークＰの形状は、曲げ加工部分が前記式１に従って決定される簡略化直線により多角形化される。これにより、ワークＰの３次元形状は、実際のワークの３次元形状に対してほぼ一致する。
【００７３】
このように、ベンダ等とワークＰとが再現されている状態においては、ベンダ等を形成する多角形に関連して形成される面とワークＰの形状を表す直線（または簡略化直線）とが交点を有していれば、ベンダ等とワークＰは、確実に互いに接触（干渉）した状態にある。したがって、ベンダ等を形成する面とワークＰの形状を表す直線とが交点を有するか否かを判定することのみで、ベンダ等とワークＰとが干渉しているか否かを正確に判定することができる。また、交点の有無を演算すればよいので、干渉の有無を高速に判定することができる。
【００７４】
したがって、ＣＰＵ１６は、ステップＳ２０５にて、上述した交点の有無に基づいて、ベンダ等とワークＰとの間に干渉が生じていれば、「Ｙｅｓ」と判定してステップＳ２０６に進み、同ステップＳ２０６にて干渉部位を表示器１２の表示画面上に表示させる。なお、この場合も、コンピュータ装置Ｍの表示器１２にシミュレーション結果を表示することに加えて、同結果を表すデータを通信Ｉ／Ｆ２０を介して供給することにより、他のコンピュータ装置に表示することもできる。そして、ＣＰＵ１６は、ステップＳ２０７にて、シミュレーションの継続か中止かのいずれか一方をオペレータに選択させる。この選択により、継続が選択されれば、ＣＰＵ１６は、「Ｙｅｓ」と判定してステップＳ２０８以降の各ステップの処理を実行する。一方、シミュレーションの中止が選択されれば、ＣＰＵ１６は、ステップＳ２１０にて、中止フラグＦＲＧ＿Ｓを”１”に設定し、ステップＳ２１１にて曲げ動作時干渉チェックルーチンの実行を終了する。
【００７５】
ステップＳ２０８においては、第ｊ番目の曲げ角に対応する曲げ動作番号ｊが最終の曲げ動作番号ｍであるか否かを判定する。そして、現在の曲げ動作番号ｊが最終の曲げ動作番号ｍでなければ、「Ｎｏ」判定に基づき、ステップＳ２０９を実行し、曲げ動作番号ｊを「１」だけインクリメントし、ふたたび、ステップＳ２０２以降の各ステップ処理を実行する。そして、現在の曲げ動作番号ｊが最終の曲げ動作番号ｍと一致するまで、繰り返し、ステップＳ２０２以降の各ステップ処理を実行し、ステップＳ２０８の「Ｙｅｓ」判定に基づき、ステップＳ２１１にて、曲げ動作時干渉チェックルーチンの実行を終了する。
【００７６】
ふたたび、図７のシミュレーションプログラムに戻り、ＣＰＵ１６は、ステップＳ１１１にて、中止フラグＦＲＧ＿Ｓが”０”であるか否かを判定し、中止フラグＦＲＧ＿Ｓが”０”であれば、言い換えれば、オペレータによってシミュレーションの中止が指示されていなければ、「Ｙｅｓ」と判定して、ステップＳ１１２に進む。ステップＳ１１２においては、ＣＰＵ１６は、前記ステップＳ１０１にてＲＡＭ１８に一次的に記憶した全加工工程について、曲げ加工のシミュレーションが終了したか否かを判定する。この判定により、未だ全加工工程についてシミュレーションが実行されていなければ、「Ｎｏ」と判定し、ふたたび、他の工程についてステップＳ１０２以降の各ステップ処理を実行する。一方、全加工工程について曲げ加工シミュレーションの実行が終了していれば、ＣＰＵ１６は、「Ｙｅｓ」と判定して、ステップＳ１１３に進み、シミュレーションプログラムの実行を終了する。
【００７７】
また、前記ステップＳ１１１にて、中止フラグＦＲＧ＿Ｓが”１”であれば、オペレータによってシミュレーションの中止が指示されている。このため、ＣＰＵ１６は、「Ｎｏ」と判定して、ステップＳ１１３に進み、シミュレーションプログラムの実行を終了する。
【００７８】
以上の説明からも理解できるように、本実施形態によれば、ベンダ等の形状を表示するときには、ベンダ等を構成する複数の部材のうち、ワークＰの周辺に存在する周辺部材、言い換えれば、曲げ加工された管体と干渉を生じる可能性が高い部材を選択的に表示することができる。これにより、曲げ加工されたワークＰが干渉を生じるか否かを確認するときには、必要最小限の部材によってベンダ等の形状を表示すればよく、したがって、表示を高速化することができる。また、ベンダ等を、多角形を用いて近似することによって、簡略化して表示することができる。さらに、加工データに基づいて再現されたベンダの加工動作に伴って形状変化するワークＰを、直線を用いて近似することによって、簡略化して表示することができる。これらにより、ベンダ形状および形状変化するワークＰを表示するために必要なデータ量および演算量を低減することができ、この結果、表示を高速化することができる。
【００７９】
また、干渉の有無は、ベンダ等を形成する多角形に関連して形成される面とワークＰの形状を表す直線とが交点を有するか否かに基づいて判定することができる。また、干渉が生じた場合には、干渉部位を表示することもできる。これにより、例えば、表示画面を観察することによって発見できない干渉が生じた場合であっても、確実にかつ正確に干渉の有無を自動的に判定することができるとともに、極めて容易に干渉部位を確認することができる。また、面と線との交点を演算することにより、干渉の有無を判定することができるため、例えば、面と面との接触状態を演算する場合に比して、演算に要する時間を大幅に短縮することができる。これにより、干渉の有無を高速に行うことができる。このように、ベンダ等およびワークＰを高速に表示するとともに、干渉の有無を高速で判定することができるため、最適な曲げ加工工程を決定するために、より多くのシミュレーションを実行することができる。
【００８０】
また、加工データによって表されるひねり角および曲げ角を所定量ごとに分割することができる。このように、ひねり角および曲げ角を分割することによって、ワークＰの形状変化を細かく（所謂、コマ送り的に）観察することができる。言い換えれば、ワークＰの形状変化に対する動作分解能を大きくして観察することができる。一方で、動作分解能を大きくして観察する場合であっても、ベンダ等およびワークＰの形状が簡略化されて表示されることによって、表示速度が低下することがない。これにより、より詳細に干渉の有無を速やかに確認することができる。
【００８１】
また、加工データを、通常先行して作成される製品形状を表す設計データに基づいて自動的に作成することができる。したがって、例えば、オペレータが加工データを入力するために必要な計算を別途実施する必要がなく、極めて簡便に３次元曲げ加工シミュレーションを実行することができる。
【００８２】
さらに、干渉の生じた加工動作を表す工程名としての加工工程番号や、分割されたひねり角、曲げ角などを表示することができる。これにより、オペレータは、干渉の生じる曲げ成形工程を容易に確認することができる。したがって、例えば、この干渉の生じる工程を外して別途曲げ成形を施すなど、干渉の生じない曲げ成形工程を再構築する場合の有益な情報を得ることができる。
【００８３】
上記実施形態においては、ひねり動作時と曲げ動作時に干渉チェックのためのルーチンを実行するように実施した。これは、ひねり動作時と曲げ動作時に、ベンダ等とワークＰとの間で干渉が生じる可能性が高いからである。しかしながら、上述したように、曲げ加工のシミュレーションを実行することにより確認された干渉を回避するために、ひねり動作および曲げ動作に加えて送り動作を積極的に行う別工程を構築する場合がある。この場合には、曲げポイントに関係なくワークＰを送ったり戻したりすることが考えられ、この送り動作により、ベンダ等とワークＰとの干渉が生じる可能性がある。このため、上記実施形態におけるシミュレーションプログラムに対して、送り動作時の干渉をチェックするルーチンを付加して実施することも可能である。
【００８４】
この場合には、上述したひねり動作時干渉チェックルーチンや曲げ動作時干渉チェックルーチンと同様に、加工データにより指示された送り長さを所定量（例えば、５ｍｍ程度）ごとに分割しておき、この分割した送り長さごとにワークＰの形状を再現するとともに、ベンダ等との干渉をチェックするようにするとよい。ここで、送り動作時において、ベンダ等とワークＰとの間に干渉が生じたか否かは、上述の各ルーチンと同様に、ベンダ等を形成する多角形に関連して形成される面とワークＰの形状を表す直線との交点の有無に基づくことによって、極めて容易に判定することができる。
【００８５】
したがって、この変形例においても、上述した実施形態と同様の効果が期待でき、ベンダ等とワークＰとの干渉を正確かつ高速に確認することができる。さらに、送り動作、ひねり動作および曲げ動作の動作分解能を高めることができ、この結果、より正確に干渉の有無を確認することができる。
【００８６】
また、上記実施形態においては、より高速にワークＰの形状およびベンダ等の形状を再現して表示するとともに、より高速に干渉の有無の確認を行うために、ワークＰの形状を直線補完した直線で表示するように実施した。そして、ベンダ等を構成する周辺部材の大きさを実際のワークの外径に比例するように決定することにより、ワークＰとベンダ等との干渉を確認するように実施した。これに対して、ワークＰの形状データに外径データを含ませるとともに、ベンダ等を構成する周辺部材の大きさを実際の部材の大きさに合わせて実施可能であることはいうまでもない。この場合には、ワークＰの断面形状を、例えば、前記第１式の簡略化直線を用いて多角形化することにより、上記実施形態に比して、若干ワークＰの形状の再現および干渉の確認に時間を要する場合があるが、ベンダ等との干渉状態については、より精度よく確認することができる。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施形態に係るコンピュータ装置の概略ブロック図である。
【図２】図１のコンピュータ装置の記憶装置を説明するための図である。
【図３】本発明の実施形態に係る３次元曲げ加工シミュレーションプログラムを構成する基準形状作成プログラムを示すフローチャートである。
【図４】（ａ），（ｂ）は、図３の基本形状作成プログラムを実行したときの設計データの入力を説明するための図である。
【図５】（ａ），（ｂ）は、図３の基本形状作成プログラムを実行したときに作成される加工データを説明するための図である。
【図６】図３の基本形状作成プログラムの実行により表示器に表示されるベンダとワークを説明するための概略図である。
【図７】本発明の実施形態に係る３次元曲げ加工シミュレーションプログラムを構成するシミュレーションプログラムを示すフローチャートである。
【図８】図７のシミュレーションプログラムのひねり動作時干渉チェックルーチンを詳細に示すフローチャートである。
【図９】曲げ加工に伴ってベンダ等とワークとの間に干渉が生じない場合の表示を説明するための図である。
【図１０】曲げ加工に伴ってベンダ等とワークとの間に干渉が生じた場合の表示を説明するための図である。
【図１１】図７のシミュレーションプログラムの曲げ動作時干渉チェックルーチンを詳細に示すフローチャートである。
【図１２】曲げ加工における曲げ角に対して、実際に曲げ加工したときの円弧形状と簡略化直線との間の距離（ズレ量）の関係を示すグラフである。
【図１３】幾何学的に決定される簡略化直線を説明するための図である。
【符号の説明】
【００８８】
１１…キーボード、１２…表示器、１６…ＣＰＵ、１９…記憶装置、Ｐ…ワーク、Ｍ…コンピュータ装置
【図１】
2007014972.tif 000003
【図２】
2007014972.tif 000004
【図３】
2007014972.tif 000005
【図４】
2007014972.tif 000006
【図５】
2007014972.tif 000007
【図６】
2007014972.tif 000008
【図７】
2007014972.tif 000009
【図８】
2007014972.tif 000010
【図９】
2007014972.tif 000011
【図１０】
2007014972.tif 000012
【図１１】
2007014972.tif 000013
【図１２】
2007014972.tif 000014
【図１３】
2007014972.tif 000015