(57)【特許請求の範囲】
【請求項１】
３Ｄモデル内の表面領域に関するデータにより表現された部品を他の部品との組み付け方向に所定量ずつ所定の方向に移動させる部品移動部と、
前記部品移動部による移動後の移動した部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する重複判定部と、
前記重複判定部によって前記移動した部品の表面領域に、他の部品の表面領域と重複する重複範囲があると判定された場合に、前記移動した部品の表面領域内の重複範囲に関する情報と他の部品の表面領域内の重複範囲に関する情報とを対応付けて接触範囲として定義する接触定義部と
を有することを特徴とする接触定義装置。
【請求項２】
前記重複判定部によって前記部品の表面領域に、他の部品の表面領域と重複する重複範囲があると判定された場合に、前記部品の表面領域を、該重複範囲の表面領域と該重複範囲以外の表面領域とに分割する表面領域分割部を有することを特徴とする請求項１に記載の接触定義装置。
【請求項３】
前記表面領域分割部は、
前記部品の表面領域を、該重複範囲に重複可能性のある領域を加えた重複可能領域と該重複可能領域以外の表面領域とに分割することを特徴とする請求項２に記載の接触定義装置。
【請求項４】
３Ｄモデル内の表面領域に関するデータがメッシュ状に分割されたデータの場合に、該重複範囲を含む複数のメッシュをグループ化するグループ化部を有し、
前記部品の表面領域を、前記グループ化部によってグループ化されたメッシュとそれ以外のメッシュとに分割するメッシュ表面領域分割部を有することを特徴とする請求項１に記載の接触定義装置。
【請求項５】
前記重複判定部は、
移動後の前記部品の表面領域であって前記表面領域分割部によって分割された該重複範囲以外の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定することを特徴とする請求項２または請求項３に記載の接触定義装置。
【請求項６】
３Ｄモデル内の表面領域に関するデータにより表現された部品を他の部品との組み付け方向に所定量ずつ所定の方向に移動させる部品移動手順と、
前記部品移動手順による移動後の移動した部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する重複判定手順と、
前記重複判定手順によって前記移動した部品の表面領域に、他の部品の表面領域と重複する重複範囲があると判定された場合に、前記移動した部品の表面領域内の重複範囲に関する情報と他の部品の表面領域内の重複範囲に関する情報とを対応付けて接触範囲として定義する接触定義手順と
をコンピュータに実行させることを特徴とする接触定義プログラム。
【請求項７】
コンピュータが部品間の接触を定義する接触定義方法であって、
３Ｄモデル内の表面領域に関するデータにより表現された部品を他の部品との組み付け方向に所定量ずつ所定の方向に移動させる部品移動ステップと、
前記部品移動ステップによる移動後の移動した部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する重複判定ステップと、
前記重複判定ステップによって前記移動した部品の表面領域に、他の部品の表面領域と重複する重複範囲があると判定された場合に、前記移動した部品の表面領域内の重複範囲に関する情報と他の部品の表面領域内の重複範囲に関する情報とを対応付けて接触範囲として定義する接触定義ステップと
を含むことを特徴とする接触定義方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接触定義装置、接触定義プログラム及び接触定義方法に関する。
【背景技術】
【０００２】
近年、装置等の設計段階では、設計対象の例えば装置の構造をコンピュータによって数値的に解析し、シミュレーションする手法がとられている。このようなコンピュータを用いて物理現象を数値的に模擬する技術は、ＣＡＥ（Computer Aided Engineering）と称される。このような数値解析シミュレーションでは、装置を構成する解析対象の部品間に、あらかじめ接触定義を行っておくことが必要となる。すなわち、部品間の接触定義を用いて、数値解析シミュレーションを実行する数値解析ソフトが、部品を変形させる毎に、部品間が接触するか否かの接触判定を行う。
【０００３】
ここで、部品間の接触定義を行わなかった場合には、数値解析シミュレーション実行後に不具合が生じることがある。例えば、接触定義を行なわなかった場合の不具合について、図１９を参照しながら説明する。図１９は、接触定義を行なわなかった場合の不具合を示す図である。図１９に示すように、部品の変形前の状態から、部品に外力をかけて部品を変形後の状態にする。すると、接触定義が行なわれている部品間では、部品同士が接触することとなるが、接触定義が行なわれなかった部品間では、部品が別の部品に入り込む貫通という現象が発生し、適切な数値解析が行えないという不具合が生じる。
【０００４】
そこで、このような不具合が生じないような接触定義の手段として、ユーザが、３Ｄモデルの幾何学形状の作成を支援するモデラーを用いて、３Ｄモデルで表現された部品の幾何学形状の表面を選択し、部品間の接触定義を行う。また、接触定義の別の手段として、モデラーが、ユーザによって指定される部品間の距離内に配置された部品の幾何学形状の表面同士を自動検知し、部品間の接触定義を行う。
【０００５】
また、部品の幾何学形状の表面をメッシュ分割された場合には、メッシュ分割された任意の領域における法線ベクトルの方向と略反対方向の法線ベクトルを持つ他の部品の表面の領域のうち、任意の領域に最も近い領域を接触領域として定義する技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−５９０２８号公報
【特許文献２】特開平６−２６６８０７号公報
【特許文献３】特開２００６−４８５８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の部品間の接触定義の技術では、部品の幾何学形状の表面同士の接触定義を行なうので、接触定義後に実行される数値解析シミュレーションにおいて、不要な接触判定がされることとなり、数値解析時間が増加するという問題があった。
【０００８】
ここで、従来の部品間の接触定義について、図２０及び図２１を参照しながら説明する。図２０は、部品間の接触範囲の具体例を示す図であり、図２１は、従来の接触定義を説明する図である。図２０に示すように、部品Ａ、Ｂ、Ｃ、Ｄにおいて、部品Ａに対して部品Ｂの方向に荷重を付加した場合、部品Ａの部品Ｃ側表面と部品Ｃの部品Ａ側表面とが接触し、部品Ａの部品Ｄ側表面と部品Ｄの部品Ａ側表面とが接触する。すなわち、部品Ａ表面では、表面Ａ−Ｃ及び表面Ａ−Ｄが接触可能性の有る表面Ｅとなり、それ以外の範囲が接触可能性の無い範囲Ｆとなる。
【０００９】
ところが、図２１に示すように、従来の接触定義では、部品Ａの部品Ｃ側表面ｍ１及び部品Ｃの部品Ａ側表面ｍ２間の接触を定義する接触定義ｄ１がなされる。すなわち、部品Ａの部品Ｃ側表面には部品Ｃとの関係で接触可能性の無い範囲Ｆをも含んで接触定義がなされることになる。このため、接触定義後に実行される数値解析シミュレーションでは、数値解析ソフトが不要な接触判定をすることとなり、数値解析時間が増加してしまう。なお、部品Ａの部品Ｂ側表面ｍ１と部品Ｂの部品Ａ側表面ｍ４間の接触定義ｄ２、部品Ｄの部品Ｂ側表面ｍ３と部品Ｂの部品Ｄ側表面ｍ４間の接触定義ｄ３の場合であっても、同様の結果となる。
【００１０】
また、モデラーを用いた部品間の接触定義では、使用者が接触するか否かを判断するので、接触定義に漏れが発生することがある。接触定義に漏れが発生すると、再び漏れのあった部品間の接触定義を行なわなければならず、その後、数値解析シミュレーションを実行することとなるので、数値解析時間が増加するという問題があった。
【００１１】
なお、部品の表面領域における法線ベクトルを用いた接触定義の場合には、部品の幾何学形状の表面がメッシュ分割された領域から構成されていることが必要であるので、部品の表面が幾何学形状のままでは部品間の接触定義を行なうことができない。
【００１２】
開示の技術は、上記に鑑みてなされたものであって、３Ｄモデルで表現された部品が幾何学形状であっても、部品間の接触定義を効率的に行ない、数値解析時間を低減できる接触定義装置、接触定義プログラム及び接触定義方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本願の開示する接触定義装置は、一つの態様において、３Ｄモデル内の表面領域に関するデータにより表現された部品を所定の方向に移動させる部品移動部と、前記部品移動部による移動後の前記部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する重複判定部と、前記重複判定部によって前記部品の表面領域に、他の部品の表面領域と重複する範囲があると判定された場合に、該重複範囲を他の部品との接触範囲として定義する接触定義部とを備える。
【発明の効果】
【００１４】
本願の開示する接触定義装置の一つの態様によれば、３Ｄモデルで表現された部品が幾何学形状であっても、部品間の接触定義を効率的に行ない、数値解析時間を低減できるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施例１に係る接触定義装置の構成を示す機能ブロック図である。
【図２】図２は、実施例２に係る接触定義装置の構成を示す機能ブロック図である。
【図３】図３は、部品移動の具体例を示す図である。
【図４】図４は、部品Ａの移動による表面領域分割の具体例を示す図である。
【図５】図５は、部品Ｄの移動による表面領域分割の具体例を示す図である。
【図６】図６は、部品Ｃの移動による表面領域分割の具体例を示す図である。
【図７】図７は、表面領域分割の変形例を示す図である。
【図８】図８は、数値解析処理の全体手順を示すフローチャートである。
【図９】図９は、接触定義処理の手順を示すフローチャートである。
【図１０】図１０は、表面領域分割処理の手順を示すフローチャートである。
【図１１】図１１は、実施例２に係る接触定義の具体例を示す図である。
【図１２】図１２は、実施例３に係る接触定義装置の構成を示す機能ブロック図である。
【図１３】図１３は、部品移動の具体例を示す図である。
【図１４】図１４は、部品Ａの移動によるメッシュグループ化の具体例を示す図である。
【図１５】図１５は、接触定義処理の手順を示すフローチャートである。
【図１６】図１６は、メッシュグループ化処理の手順を示すフローチャートである。
【図１７】図１７は、表面領域分割の別の具体例を示す図である。
【図１８】図１８は、部品Ａの移動による表面領域分割の具体例を示す図である。
【図１９】図１９は、接触定義を行なわなかった場合の不具合を示す図である。
【図２０】図２０は、接触範囲の具体例を示す図である。
【図２１】図２１は、従来の接触定義を説明する図である。
【図２２】図２２は、接触定義処理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１６】
以下に、本願の開示する接触定義装置、接触定義プログラム及び接触定義方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例１】
【００１７】
図１は、本実施例１に係る接触定義装置の構成を示す機能ブロック図である。図１に示すように、接触定義装置１は、部品移動部１１、重複判定部１２及び接触定義部１３を有する。
【００１８】
部品移動部１１は、３Ｄモデル内の表面領域に関するデータにより表現された部品を所定の方向に移動させる。なお、部品の表面領域に関するデータとは、３Ｄモデルの幾何学形状データであっても良く、幾何学形状データで表される形状をメッシュ状に分割されたデータであっても良い。
【００１９】
重複判定部１２は、部品移動部１１による移動後の前記部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。接触定義部１３は、重複判定部１２によって部品の表面領域に、他の部品の表面領域と重複する範囲があると判定された場合に、該重複範囲を他の部品との接触範囲として定義する。
【００２０】
このようにして、接触定義装置１は、３Ｄモデル内の部品を所定の方向に移動させ、移動後の部品の表面領域に、他の部品の表面領域と重複する範囲がある場合に、該重複範囲を他の部品との接触範囲として定義することとした。このため、接触定義装置１は、部品間の重複範囲を接触範囲とすることにより、表面領域の全範囲を接触範囲とするのと比較して部品間の接触範囲を最適化することができる。この結果、接触定義装置１は、３Ｄモデルで表現される部品が幾何学形状であっても、部品間の接触定義を効率的に行なうことができ、その後の数値解析時間の低減を図ることができる。
【実施例２】
【００２１】
［実施例２に係る接触定義装置の構成］
まず、実施例２に係る接触定義装置２の構成について図２を参照しながら説明する。図２は、実施例２に係る接触定義装置を示す機能ブロック図である。図２に示すように、接触定義装置２は、記憶部２１及び制御部２２を備える。なお、以下の実施例では、接触定義装置２は、コンピュータ援用エンジニアリング（ＣＡＥ：Computer Aided Engineering）に用いられるが、本実施例により限定されるものではない。
【００２２】
記憶部２１は、形状データ記憶部２１１及び接触定義データ記憶部２１２を有する。なお、記憶部２１は、例えば、ＲＡＭ（Random Access Memory）、フラッシュメモリ（flash memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置を含む。
【００２３】
形状データ記憶部２１１は、部品の表面領域に関する形状データを記憶する。具体的には、形状データ記憶部２１１は、部品に関する３Ｄモデルの幾何学形状データ（以下、形状データと略記する。）を記憶する。なお、３Ｄモデルは、例えばソリッドモデルであっても良く、サーフェースモデルまたはワイヤフレームモデルであっても良い。また、形状データには、３次元座標系における位置データを含むものとする。
【００２４】
接触定義データ記憶部２１２は、部品の表面領域と他の部品の表面領域との接触定義データを記憶する。具体的には、接触定義データ記憶部２１２は、表面が重なり合う部品同士の重なり合う（重複する）表面領域に関する形状データを対にして記憶する。例えば、接触定義データ記憶部２１２は、表面が重複する部品毎に、部品番号、重複する表面の表面番号及び重複する表面領域に関する形状データを対応付けて記憶する。なお、以降、部品の表面同士が重なり合うことを、「重複する」と表現するものとする。
【００２５】
制御部２２は、ファイル入出力部２２１、荷重付加情報取得部２２２、部品移動部２２３、重複判定部２２４、表面領域分割部２２５及び接触定義部２２６を有する。なお、制御部２２は、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）等の集積回路またはＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）等の電子回路である。
【００２６】
ファイル入出力部２２１は、形状データ記憶部２１１に記憶された形状データ及び接触定義データ記憶部２１２に記憶された接触定義データの入出力を行なう。荷重付加情報取得部２２２は、ユーザや外部の装置（図示しない）等から、部品間の接触定義に必要な荷重付加情報を取得する。この荷重付加情報は、例えば、荷重が付加されることによって変形させる最初の部品（変形部品）、当該部品に対して荷重が付加される荷重位置、荷重方向及び当該部品の予想される変形量（予想変形量）を含む。なお、部品に対して荷重が付加される位置とは、例えば部品の重心を指す。
【００２７】
部品移動部２２３は、３Ｄモデル内の表面領域に関するデータにより表現された部品を荷重方向に荷重を付加し、当該部品を移動させる。具体的には、部品移動部２２３は、荷重付加情報取得部２２２によって取得された荷重付加情報に含まれた最初の部品を変形部品として、当該変形部品を荷重位置から荷重方向に所定量ずつ移動させる。また、部品移動部２２３は、変形部品の移動を、予想変形量まで繰り返す。また、部品移動部２２３は、変形部品を予想変形量まで移動させた後、荷重が付加された変形部品との距離が近い順に部品を選択し、選択した部品を次の変形部品として、当該変形部品を荷重方向に移動させる。なお、荷重方向は、例えば、部品の組み付け方向とすれば良い。
【００２８】
重複判定部２２４は、部品移動部２２３による移動毎に、移動後の変形部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。具体的には、重複判定部２２４は、形状データ記憶部２１１に記憶された形状データに基づいて、移動後の変形部品の表面領域に、他の部品の表面領域の一部または全部と重複する範囲があるか否かを判定する。また、重複判定部２２４は、後述する表面領域分割部２２５によって分割された変形部品の重複範囲以外の表面領域に、他の部品の表面領域の一部または全部と重複する範囲があるか否かを判定する。なお、判定方法には、例えば３次元直交座標におけるミニマックス・ボックスによるものがあるが、これに限定されるものではない。
【００２９】
表面領域分割部２２５は、重複判定部２２４によって移動後の変形部品の表面領域に、他の部品の表面領域と重複する範囲があると判定された場合、互いに重複した各部品の表面領域を、該重複範囲の表面領域と該重複範囲以外の表面領域とに分割する。ここで、重複範囲を形成するどちらか一方の部品または両方の部品の表面領域が重複範囲と一致する場合がある。この場合には、表面領域分割部２２５は、表面領域が重複範囲と一致する部品に関する分割処理を行なわない。そして、表面領域分割部２２５は、変形部品の重複範囲以外の表面領域に関する形状データを記憶部２１に一時的に保持する。
【００３０】
なお、表面領域分割部２２５は、変形部品の変形後の位置ずれを考慮して、部品の表面領域を、該重複範囲に重複可能性のある領域を加えた重複可能領域と該重複可能領域以外の表面領域とに分割するようにしても良い。重複可能領域は、重複範囲の面積の規定値パーセント（％）の範囲を重複可能性のある領域とし、この領域を重複範囲に加えた領域とする。ただし、規定値は、例えば１０であっても、１５であっても良く、その情報は記憶部２１に予め記憶されているものとする。そして、表面領域分割部２２５は、部品の重複可能領域以外の表面領域に関する形状データを記憶部２１に一時的に保持する。
【００３１】
接触定義部２２６は、部品間の重複範囲を接触範囲として定義する。具体的には、接触定義部２２６は、変形部品の重複範囲に関する形状データを、変形部品と重複した他の部品の重複範囲に関する形状データに対応付けて、接触定義データ記憶部２１２に格納する。例えば、接触定義部２２６は、変形部品及び該変形部品と重複した他の部品の部品番号と重複範囲を含む表面領域の表面番号と重複範囲に関する形状データとを対応付けて、接触定義データ記憶部２１２に格納する。
【００３２】
［部品移動の具体例］
次に、部品移動部２２３による部品移動の具体例について図３を参照しながら説明する。図３は、部品移動の具体例を示す図である。なお、図３の説明では、３Ｄモデル内に含まれる部品Ａ、部品Ｂ、部品Ｃ及び部品Ｄの形状データを用いて説明するものとする。
【００３３】
図３に示すように、部品移動部２２３は、部品Ａを最初の変形部品とし、部品Ａの荷重位置から荷重方向に所定量ずつ荷重を付加して移動させる。また、部品移動部２２３は、部品Ａの移動を予想変形量まで繰り返し、変形量が予想変形量に到達すると、荷重が付加された部品Ａとの距離が近い順に部品を選択し、選択した部品を変形部品として部品Ａの場合と同様に荷重方向に移動させる。ここでは、部品移動部２２３は、部品Ａの移動後、部品Ｄ、部品Ｃ、部品Ｂの順に移動させることとなる。
【００３４】
［表面領域分割の具体例］
次に、表面領域分割部２２５による表面領域分割の具体例について図４〜図６を参照しながら説明する。図４は部品Ａの移動による表面領域分割の場合について説明し、図５は部品Ｄの移動による表面領域分割の場合について説明し、図６は部品Ｃの移動による表面領域分割の場合について説明する。なお、図４〜図６の説明では、３Ｄモデル内に含まれる部品Ａ、部品Ｂ、部品Ｃ及び部品Ｄの形状データを用いて説明するものとする。
【００３５】
まず、図４を参照して、部品Ａの移動による表面領域分割の具体例について説明する。図４は、部品Ａの移動による表面領域分割の具体例を示す図である。なお、図４（ａ）〜（ｄ）は、部品Ａを変形部品として部品Ａの移動に伴う部品Ａの表面領域分割及び変形状態の図を用いて説明するものとする。
【００３６】
図４（ａ）〜（ｄ）に示すように、部品Ａの表面領域を、他の部品の表面領域との重複範囲の表面領域と該重複範囲以外の表面領域とに分割する。まず、図４（ａ）に示すように、部品Ａの移動前には、部品Ａの部品Ｂ側の表面領域を指す表面Ａ−１は、まだ分割されていない。
【００３７】
次に、図４（ｂ）に示すように、部品移動部２２３は、部品Ａを、部品Ａの荷重位置から荷重方向に移動させる。重複判定部２２４は、部品Ａの移動後に、移動後の部品Ａの表面Ａ−１に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、表面領域分割部２２５は、部品Ａの表面Ａ−１に、部品Ｄの表面領域と重複する範囲があると判断する。そして、表面領域分割部２２５は、部品Ａの表面Ａ−１を、部品Ｄとの重複範囲を指す表面Ａ−Ｄと該重複範囲以外の表面Ａ−１−１とに分割する。
【００３８】
次に、図４（ｃ）に示すように、部品移動部２２３は、部品Ａを、さらに部品Ａの荷重位置から荷重方向に移動させる。重複判定部２２４は、部品Ａの移動後、移動後の部品Ａの表面Ａ−１−１に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、表面領域分割部２２５は、部品Ａの表面Ａ−１−１に、部品Ｃの表面領域と重複する範囲があると判断する。そして、表面領域分割部２２５は、部品Ａの表面Ａ−１−１を部品Ｃとの重複範囲を指す表面Ａ−Ｃと該重複範囲以外の表面Ａ−１−２とに分割する。
【００３９】
次に、図４（ｄ）に示すように、部品移動部２２３は、部品Ａを、さらに部品Ａの荷重位置から荷重方向に移動させる。重複判定部２２４は、部品Ａの移動後、移動後の部品Ａの表面Ａ−１−２に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、表面領域分割部２２５は、部品Ａの表面Ａ−１−２に、部品Ｂの表面領域と重複する範囲があると判断する。そして、表面領域分割部２２５は、部品Ａの表面Ａ−１−２を部品Ｂとの重複範囲を指す表面Ａ−Ｂ−１及び表面Ａ−Ｂ−２と該重複範囲以外の表面Ａ−１−３及び表面Ａ−１−４に分割する。そして、部品移動部２２３が部品Ａを予想変形量まで移動させると、部品Ａの移動を終了し、部品Ａを元の位置に戻す。
【００４０】
次に、図５を参照して、部品Ｄの移動による表面領域分割の具体例について説明する。図５は、部品Ｄの移動による表面領域分割の具体例を示す図である。なお、図５（ａ）（ｂ）は、部品Ｄを変形部品として部品Ｄの移動に伴う部品Ｂの表面領域分割及び変形状態の図を用いて説明するものとする。
【００４１】
図５（ａ）（ｂ）に示すように、部品Ｂの表面領域を、変形部品Ｄの表面領域との重複範囲の表面領域と該重複範囲以外の表面領域とに分割する。まず、図５（ａ）に示すように、部品Ｄの移動前には、既に変形部品として移動した部品Ａとの関係で、部品Ａとの重複範囲を示す表面Ｂ−１と該重複範囲以外の表面Ｂ−１−１及び表面Ｂ−１−２とに分割されている。すなわち、部品Ｂの表面Ｂ−１は、図４（ｄ）に示す部品Ａの表面Ａ−Ｂ−１及び表面ＡーＢ−２と重複する。
【００４２】
次に、図５（ｂ）に示すように、部品移動部２２３は、部品Ｄを、部品Ｄの荷重位置から荷重方向に移動させる。重複判定部２２４は、部品Ｄの移動後に、移動後の部品Ｄの表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、表面領域分割部２２５は、部品Ｄの表面領域に、部品Ｂの表面領域と重複する範囲があると判断する。ここでは、部品Ｄの部品Ｂとの重複範囲は、部品Ｄの表面領域の全範囲となるので、表面領域分割部２２５は、部品Ｄの表面領域の分割処理を行わない。一方、表面領域分割部２２５は、部品Ｂの表面Ｂ−１を、部品Ｄとの重複範囲を指す表面Ｂ−Ｄと該重複範囲以外の表面Ｂ−１−３に分割する。そして、部品移動部２２３が部品Ｄを予想変形量まで移動させると、部品Ｄの移動を終了し、部品Ｄを元の位置に戻す。
【００４３】
次に、図６を参照して、部品Ｃの移動による表面領域分割の具体例について説明する。図６は、部品Ｃの移動による表面領域分割の具体例を示す図である。なお、図６（ａ）（ｂ）は、部品Ｃを変形部品として部品Ｃの移動に伴う部品Ｂの表面領域分割及び変形状態の図を用いて説明するものとする。
【００４４】
図６（ａ）（ｂ）に示すように、部品Ｂの表面領域を、変形部品Ｃの表面領域との重複範囲の表面領域と該重複範囲以外の表面領域とに分割する。まず、図６（ａ）に示すように、部品Ｃの移動前には、既に変形部品として移動した部品Ａ及び部品Ｄとの関係で、部品Ｂの表面は、表面Ｂ−１−１、表面Ｂ−１−２、表面Ｂ−１−３及び表面Ｂ−Ｄに分割されている（図５（ｂ）参照）。
【００４５】
次に、図６（ｂ）に示すように、部品移動部２２３は、部品Ｃを、部品Ｃの荷重位置から荷重方向に移動させる。重複判定部２２４は、部品Ｃの移動後に、移動後の部品Ｃの表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、表面領域分割部２２５は、部品Ｃの表面領域に、部品Ｂの表面領域と重複する範囲があると判断する。ここでは、部品Ｃの部品Ｂとの重複範囲は、部品Ｃの表面領域の全範囲となるので、表面領域分割部２２５は、部品Ｃの表面領域の分割処理を行わない。一方、表面領域分割部２２５は、部品Ｂの表面Ｂ−１−３を、部品Ｃとの重複範囲を指す表面Ｂ−Ｃと該重複範囲以外の表面Ｂ−１−４に分割する。そして、部品移動部２２３が部品Ｃを予想変形量まで移動させると、部品Ｃの移動を終了し、部品Ｃを元の位置に戻す。
【００４６】
［表面領域分割の変形例］
ここで、表面領域分割部２２５による表面領域分割の変形例について、図７を参照しながら説明する。図７は、表面領域分割の変形例を示す図である。なお、図７では、部品Ｂの表面領域の一部の範囲と部品Ｄの表面領域の全範囲とが重複するものとして説明する。
【００４７】
図７に示すように、表面領域分割部２２５は、部品Ｂの表面領域を、部品Ｄとの重複範囲に重複可能性のある領域を加えた重複可能領域と該重複可能領域以外の表面領域とに分割する。ここでは、重複可能領域は、部品Ｂと部品Ｄとの重複範囲を指す「部品Ｄ表面」に該「部品Ｄ表面」の面積の規定値ｄ％の範囲を加えた領域を示す。なお、「ｄ」は、例えば１０であっても、１５であっても良く、その情報は記憶部２１に予め記憶されているものとする。これにより、変形する部品Ｄの変形後の位置ずれを見込んだ接触定義を行うことができる。
【００４８】
［数値解析処理の全体手順］
次に、上記接触定義装置２を用いた数値解析処理の全体手順を、図８を参照して説明する。図８は、数値解析の全体手順を示すフローチャートである。なお、解析手法として、境界要素法を用いたときの手順例であるが、有限要素法等の他の解析手法を用いた場合も同様である。
【００４９】
まず、解析を行なうための３Ｄモデル（部品）がユーザによって定義される（ステップＳ１１）。３Ｄモデルは、３次元の幾何学形状モデルを指す。そして、実施例２に係る接触定義装置２が、３Ｄモデルとして定義された部品間の接触定義を実行する（ステップＳ１２）。すなわち、部品間の向かい合った両方の表面の重複を認識し、重複部品間に接触定義を行なう。この接触定義処理については後に詳しく説明する。
【００５０】
続いて、３Ｄモデルとして定義された部品の表面に、解析を行なうためのメッシュの自動生成が行なわれる（ステップＳ１３）。さらに、３Ｄモデルとして定義された部品の材料特性がユーザによって定義される（ステップＳ１４）。そして、メッシュが生成された部品間の接触条件が定義される（ステップＳ１５）。さらに、メッシュが生成された部品に対し、数値解析の種類と目的とに応じた境界条件が定義される（ステップＳ１６）。
【００５１】
次に、上記定義された部品の幾何学形状、接触条件、境界条件及びメッシュを含む数値解析用データが、数値解析プログラムを実行する数値解析装置に出力される（ステップＳ１７）。そして、数値解析装置が、出力された数値解析用データを入力し（ステップＳ１８）、該数値解析用データを用いて、数値解析プログラムによって数値解析を実行する（ステップＳ１９）。
【００５２】
続いて、数値解析装置が、数値解析結果を解析結果ファイルに出力する（ステップＳ２０）。その後、数値解析装置が、解析結果ファイルを読み込み（ステップＳ２１）、解析結果ファイルに基づいて、部品の変形表示を行なう。そして、部品の変形形状に問題が有るか否かをユーザによって判定される（ステップＳ２２）。そして、部品の変形形状に問題が有ると判定された場合には（ステップＳ２２；Ｙｅｓ）、部品間の接触条件を再定義するために、ステップＳ１５に移行する。一方、部品の変形形状に問題がないと判定された場合には（ステップＳ２２；Ｎｏ）、数値解析処理を終了する。
【００５３】
［接触定義処理の手順］
次に、図８のステップＳ１２で説明した接触定義処理の処理手順を、図９を参照して説明する。図９は、接触定義処理の手順を示すフローチャートである。
【００５４】
まず、制御部２２は、接触定義を行なう部品に関する３Ｄモデルの形状データを形状データ記憶部２１１から読み込む（ステップＳ３１）。そして、荷重付加情報取得部２２２は、ユーザや外部の装置から、部品間の接触定義に必要な荷重付加情報を取得する（ステップＳ３２）。
【００５５】
続いて、部品移動部２２３は、荷重付加情報に基づいて各部品を移動させながら、表面領域分割部２２５は、各部品の表面領域を、自部品と異なる他の部品との重複範囲の表面領域と該重複範囲以外の表面領域とに分割する（ステップＳ３３）。この表面領域分割処理については後に詳しく説明する。
【００５６】
その後、接触定義部２２６は、重複範囲となった部品間の表面領域を接触範囲として定義する（ステップＳ３４）。そして、接触定義部２２６は、定義された部品間の接触範囲の対を、接触定義データ記憶部２１２に出力する（ステップＳ３５）。
【００５７】
［表面領域分割処理の手順］
次に、図９のステップＳ３３で説明した表面領域分割処理の処理手順を、図１０を参照して説明する。図１０は、表面領域分割処理の手順を示すフローチャートである。
【００５８】
まず、部品移動部２２３は、荷重が付加される部品から近い順に部品を選択する（ステップＳ４１）。具体的には、部品移動部２２３は、最初に、荷重負荷情報に含まれる荷重が付加される部品を変形部品として選択する。
【００５９】
次に、部品移動部２２３は、選択した部品（変形部品）を、当該変形部品の荷重位置から荷重方向に所定量ずつ移動させる（ステップＳ４２）。続いて、重複判定部２２４は、移動後の変形部品の表面領域に、他の部品の表面領域と重複する範囲が有るか否かを判定する（ステップＳ４３）。そして、重複判定部２２４によって重複する範囲がないと判定された場合に（ステップＳ４３；Ｎｏ）、変形部品をさらに移動させるために、ステップＳ４２に移行する。一方、重複判定部２２４によって重複する範囲が有ると判定された場合に（ステップＳ４３；Ｙｅｓ）、表面領域分割部２２５は、変形部品の表面領域と他の部品の表面領域との重複した範囲の領域を認識する（ステップＳ４４）。
【００６０】
そして、表面領域分割部２２５は、互いに重複した各部品の表面領域を、認識した重複範囲の領域に規定値パーセントを加算した重複可能領域と該重複可能領域以外の表面領域とに分割する（ステップＳ４５）。ただし、規定値は、例えば１０であっても、１５であっても良く、その情報は予め記憶部２１に記憶されているものとする。なお、表面領域分割部２２５は、重複した部品の表面領域を、重複可能領域と該重複可能領域以外の表面領域とに分割するようにしたが、これに限定されるものではなく、重複した部品の表面領域を、重複領域と該重複領域以外の表面領域とに分割しても良い。
【００６１】
その後、部品移動部２２３は、変形部品を予想移動量まで移動させたか否かを判定する（ステップＳ４６）。そして、部品移動部２２３によって変形部品を予想移動量まで移動させていないと判定された場合には（ステップＳ４６；Ｎｏ）、部品移動部２２３は、変形部品を、当該変形部品の荷重位置から荷重方向にさらに所定量移動させる（ステップＳ４７）。
【００６２】
続いて、重複判定部２２４によって重複する範囲があると判定された場合に、表面領域分割部２２５は、変形部品の既に分割された重複範囲以外の表面領域と、他の部品の表面領域との重複した範囲の領域を認識する（ステップＳ４８）。そして、表面領域分割部２２５は、互いに重複した各部品の表面領域を、認識した重複範囲の領域に規定値パーセントを加算した重複可能領域と該重複可能領域以外の表面領域とに分割し（ステップＳ４９）、ステップＳ４６に移行する。
【００６３】
部品移動部２２３によって変形部品を予想移動量まで移動させたと判定された場合には（ステップＳ４６；Ｙｅｓ）、部品移動部２２３は、変形部品を元の位置に戻す（ステップＳ５０）。その後、部品移動部２２３は、次に移動させるべき部品が有るか否かを判定する（ステップＳ５１）。すなわち、部品移動部２２３は、荷重が付加される部品から次に近い位置にある部品が有るか否かを判定する。
【００６４】
そして、部品移動部２２３によって次に移動させるべき部品が有ると判定された場合には（ステップＳ５１；Ｙｅｓ）、ステップＳ４１に移行する。一方、部品移動部２２３によって次に移動させるべき部品がないと判定された場合には（ステップＳ５１；Ｎｏ）、表面領域分割処理を終了する。
【００６５】
［実施例２の効果］
上記実施例２によれば、部品移動部２２３が、３Ｄモデル内の表面領域に関するデータにより表現された部品（変形部品）を荷重方向に移動させる。そして、重複判定部２２４が、部品移動部２２３による移動後の変形部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。さらに、表面領域分割部２２５が、重複判定部２２４によって変形部品の表面領域に他の部品の表面領域と重複する範囲があると判定された場合に、変形部品の表面領域を、該重複範囲の表面領域と該重複範囲以外の表面領域とに分割する。そして、接触定義部２２６は、重複範囲となった部品間の表面領域を接触範囲として定義する。
【００６６】
かかる構成によれば、表面領域分割部２２５が、変形部品の表面領域に他の部品との重複範囲がある場合、変形部品の表面領域を該重複範囲とそれ以外とに分割することとした。このため、表面領域分割部２２５は、分割した該重複範囲以外の表面領域を用いて次の重複判定をさせることが可能となる。この結果、接触定義部２２６は、重複判定によって重複と判定された重複範囲同士を接触範囲として定義できるので、効率の良い接触定義を行うことができる。
【００６７】
ここで、接触定義装置２を用いた接触定義の具体例を、図１１を参照して説明する。図１１は、実施例２に係る接触定義の具体例を説明する図である。なお、図１１の例では、部品移動部２２３によって部品Ａが荷重を付加された場合の、部品Ａとの関係で接触定義がなされた場合について説明する。
【００６８】
図１１に示すように、部品移動部２２３によって部品Ａが荷重を付加されると、接触定義部２２６は、部品Ａの部品Ｄ側と部品Ｄの部品Ａ側との接触定義ｄＡＤを行なう。そして、同様に部品Ａは荷重を付加されると、接触定義部２２６は、部品Ａの部品Ｃ側と部品Ｃの部品Ａ側との接触定義ｄＡＣを行なう。さらに、同様に部品Ａは荷重を付加されると、接触定義部２２６は、部品Ａの部品Ｂ側と部品Ｂの部品Ａ側との接触定義ｄＡＢを行なう。このようにして、接触定義部２２６は、部品間の互いに重複する重複範囲同士を接触範囲として定義するので、重複範囲を含む全表面同士を接触範囲とするのに比べ、効率の良い接触定義を行うことができる。
【００６９】
また、上記実施例２によれば、表面領域分割部２２５は、部品の表面領域を、該重複範囲に重複可能性のある領域を加えた重複可能領域と該重複可能領域以外の表面領域とに分割する。かかる構成によれば、表面領域分割部２２５が、部品の表面領域を、重複可能領域とそれ以外とに分割することとしたので、接触定義部２２６は、部品間の接触範囲を、重複可能領域を用いて定義できる。この結果、部品間の接触定義後の数値解析では、何らかの理由により部品の変形後の位置ずれが発生しても、位置ずれによってずれた領域も重複可能領域として接触定義されているので、正常に接触判定をすることができ、数値解析時間を低減できる。
【００７０】
また、上記実施例２によれば、重複判定部２２４は、移動後の部品の表面領域であって表面領域分割部２２５によって分割された該重複範囲以外の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。かかる構成によれば、重複判定部２２４が、移動後の部品の表面領域を、既に重複範囲とされた表面領域を除外して、さらに他の部品との重複範囲の有無を判定することとしたので、他の部品との重複範囲を無駄なく発見できる。この結果、接触定義部２２６が、重複範囲と判定された部品同士の重複範囲を接触範囲として定義できるので、効率の良い接触定義を行うことができる。
【実施例３】
【００７１】
ところで、実施例２に係る接触定義装置２では、幾何学形状データを有する３Ｄモデルを対象に、部品間の接触定義を行なう場合を説明した。しかしながら、接触定義装置２は、これに限定されるものではなく、幾何学形状データで表される形状をメッシュ状に分割されたデータを有する３Ｄモデルを対象に、部品間の接触定義を行なっても良い。
【００７２】
そこで、実施例３では、接触定義装置２が、幾何学形状データで表される形状をメッシュ状に分割されたデータを持った３Ｄモデルを対象に、部品間の接触定義を行なう場合を説明する。
【００７３】
［実施例３に係る接触定義装置の構成］
図１２は、実施例３に係る接触定義装置の構成を示す機能ブロック図である。なお、図２に示す接触定義装置と同一の構成については同一符号を示すことで、その重複する構成及び動作の説明については省略する。実施例２と実施例３とが異なるところは、接触定義装置３にメッシュグループ化部３０１を追加した点にある。
【００７４】
形状データ記憶部２１１は、部品の表面領域に関するデータを記憶する。具体的には、形状データ記憶部２１１は、部品の表面に関する３Ｄモデルの幾何学形状データで表される形状をメッシュ状に分割されたデータ（以下、形状データと略記する。）を記憶する。なお、形状データ記憶部２１１は、幾何学形状データを含んで記憶するものとしても良い。また、形状データには、３次元座標系における位置データを含むものとする。
【００７５】
重複判定部２２４は、部品移動部２２３による移動毎に、移動後の変形部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。具体的には、重複判定部２２４は、形状データ記憶部２１１に記憶された形状データに基づいて、移動後の変形部品のメッシュ表面領域に、他の部品の表面領域の一部または全部と重複する範囲があるか否かを判定する。また、重複判定部２２４は、後述する表面領域分割部２２５によって分割される変形部品の重複範囲以外のメッシュ表面領域に、他の部品の表面領域の一部または全部と重複する範囲があるか否かを判定する。なお、判定方法には、例えば３次元直交座標におけるミニマックス・ボックスによるものがあるが、これに限定されるものではない。
【００７６】
メッシュグループ化部３０１は、重複判定部２２４によって移動後の変形部品のメッシュ表面領域に他の部品の表面領域と重複する範囲があると判定された場合、重複する範囲があると判定された部品毎に重複範囲を含む複数のメッシュ表面をグループ化する。
【００７７】
表面領域分割部２２５は、重複範囲がある部品毎に、各部品のメッシュ表面領域を、メッシュグループ化部３０１によってグループ化されたメッシュ表面と該メッシュ表面以外のメッシュ表面とに分割する。ここで、重複範囲を形成するどちらか一方の部品または両方の部品もメッシュ表面領域が重複範囲と一致する場合がある。この場合には、表面領域分割部２２５は、メッシュ表面領域が重複範囲と一致する部品に関する分割処理を行わない。そして、表面領域分割部２２５は、変形部品のグループ化されたメッシュ表面以外のメッシュ表面領域に関する形状データを記憶部２１に一時的に保持する。
【００７８】
［部品移動の具体例］
次に、部品移動部２２３による部品移動の具体例について図１３を参照しながら説明する。図１３は、部品移動の具体例を示す図である。なお、図１３の説明では、部品の表面をメッシュ状に分割された形状データを有する３Ｄモデル内に含まれる部品Ａ、部品Ｂ、部品Ｃ及び部品Ｄの形状データを用いて説明するものとする。
【００７９】
図１３に示すように、部品移動部２２３は、部品Ａを最初の変形部品とし、部品Ａの荷重位置から荷重方向に所定量ずつ荷重を付加して移動させる。また、部品移動部２２３は、部品Ａの移動を予想変形量まで繰り返し、変形量が予想変形量に到達すると、荷重が付加された部品Ａとの距離が近い順に部品を選択し、選択した部品を変形部品として部品Ａと同様に荷重方向に移動させる。ここでは、部品Ａの移動後、部品Ｄ、部品Ｃ、部品Ｂの順に移動させることとなる。
【００８０】
［メッシュグループ化の具体例］
次に、メッシュグループ化部３０１によるメッシュグループ化の具体例について図１４を参照しながら説明する。図１４は部品Ａの移動によるメッシュグループ化の場合について説明する。なお、図１４の説明では、部品の表面をメッシュ状に分割された形状データを有する３Ｄモデル内に含まれる部品Ａ、部品Ｂ、部品Ｃ及び部品Ｄの形状データを用いて説明するものとする。また、図１４（ａ）〜（ｄ）は、部品Ａを変形部品として部品Ａの移動に伴う部品Ａのメッシュグループ化及び変形状態の図を用いて説明するものとする。
【００８１】
図１４（ａ）〜（ｄ）に示すように、部品Ａのメッシュ表面領域を、他の部品の表面領域と重複する範囲を含む複数のメッシュ表面をグループ化する。まず、図１４（ａ）に示すように、部品Ａの移動前には、部品Ａの部品Ｂ側のメッシュ表面領域を指すメッシュ表面Ａ−１は、まだグループ化されていない。
【００８２】
次に、図１４（ｂ）に示すように、部品移動部２２３は、部品Ａを、部品Ａの荷重位置から荷重方向に移動させる。重複判定部２２４は、部品Ａの移動後に、移動後の部品Ａのメッシュ表面Ａ−１に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、メッシュグループ化部３０１は、部品Ａのメッシュ表面Ａ−１に、部品Ｄの表面領域と重複する範囲があると判断し、重複範囲を含む複数のメッシュ表面をグループＡ−Ｄとしてグループ化する。そして、表面領域分割部２２５は、部品Ａのメッシュ表面Ａ−１を、グループ化されたグループＡ−Ｄと該グループ以外のグループＡ−１−１に分割することになる。
【００８３】
次に、図１４（ｃ）に示すように、部品移動部２２３は、部品Ａを、さらに部品Ａの荷重位置から荷重方向に移動させる。重複判定部２２４は、部品Ａの移動後、移動後の部品Ａのグループ化されたメッシュ表面（グループＡ−１−１）に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、メッシュグループ化部３０１は、部品Ａのメッシュ表面（グループＡ−１−１）に、部品Ｃの表面領域と重複する範囲があると判断し、重複範囲を含む複数のメッシュ表面をグループＡ−Ｃとしてグループ化する。そして、表面領域分割部２２５は、部品Ａのメッシュ表面（グループＡ−１−１）を、グループＡ−Ｃと該グループ以外のグループＡ−１−２に分割することになる。
【００８４】
次に、図１４（ｄ）に示すように、部品移動部２２３は、部品Ａを、さらに部品Ａの荷重位置から荷重方向に移動させる。重複判定部２２４は、部品Ａの移動後、移動後の部品Ａのグループ化されたメッシュ表面（グループＡ−１−２）に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、メッシュグループ化部３０１は、部品Ａのメッシュ表面（グループＡ−１−２）に、部品Ｂの表面領域と重複する範囲があると判断し、重複範囲を含む複数のメッシュ表面をグループＡ−Ｂとしてグループ化する。そして、表面領域分割部２２５は、部品Ａのメッシュ表面（グループＡ−１−２）を、グループＡ−Ｂと該グループ以外のグループ（図示せず）に分割することになる。そして、部品移動部２２３が部品Ａを予想変形量まで移動させると、部品Ａの移動を終了し、部品Ａを元の位置に戻す。
【００８５】
この結果、接触定義部２２６は、部品Ａのメッシュ表面グループＡ−Ｄと部品Ｄの部品Ａ側のメッシュ表面グループＤ−１（図示しない）との接触定義を行なう。また、接触定義部２２６は、部品Ａのメッシュ表面グループＡ−Ｃと部品Ｃの部品Ａ側のメッシュ表面グループＣ−１（図示しない）との接触定義を行なう。さらに、接触定義部２２６は、部品Ａのメッシュ表面グループＡ−Ｂと部品Ｂの部品Ａ側のメッシュ表面グループＢ−１（図示しない）との接触定義を行なう。
【００８６】
［接触定義処理の手順］
次に、実施例３に係る接触定義処理の処理手順を、図１５を参照して説明する。図１５は、接触定義処理の手順を示すフローチャートである。なお、実施例３に係る接触定義処理のうち、実施例２に係る接触定義処理（図９）と同じ処理手順については、同一符号を付すことで、その重複する手順の説明を省略する。
【００８７】
まず、制御部２２は、接触定義を行なう部品に関する３Ｄモデルの形状データを形状データ記憶部２１１から読み込み（ステップＳ３１）、部品の幾何学形状データで表される表面領域の分割処理を行うか否かを判定する（ステップＳ６１）。例えば、制御部２２は、ユーザや外部の装置等から幾何形状データの分割処理の要否指示を受けて、該要否指示に基づいて判定する。
【００８８】
そして、制御部２２によって部品の幾何学形状データで表される表面領域の分割処理を行わないと判定された場合は（ステップＳ６１；Ｎｏ）、制御部２２は、部品のメッシュデータで表される表面領域のメッシュグループ化を行うか否かを判定する（ステップＳ６２）。例えば、制御部２２は、ユーザや外部の装置等からメッシュデータのメッシュグループ化の要否指示を受けて、該要否指示に基づいて判定する。
【００８９】
制御部２２によって部品のメッシュデータで表される表面領域のメッシュグループ化を行わない場合は（ステップＳ６２；Ｎｏ）、接触定義処理を終了する。一方、制御部２２によって部品のメッシュデータで表される表面領域のメッシュグループ化を行う場合は（ステップＳ６２；Ｙｅｓ）、荷重付加情報取得部２２２が、ユーザや外部の装置から、部品間の接触定義に必要な荷重付加情報を取得する（ステップＳ６３）。そして、メッシュグループ化部３０１は、部品毎にメッシュグループ化処理を行い（ステップＳ６４）、ステップＳ３４に移行する。このメッシュグループ化処理については後に詳しく説明する。
【００９０】
一方、制御部２２によって部品の幾何学形状データで表される表面領域の分割処理を行うと判定された場合は（ステップＳ６１；Ｙｅｓ）、荷重付加情報取得部２２２が、ユーザや外部の装置から、部品間の接触定義に必要な荷重付加情報を取得する（ステップＳ３２）。続いて、部品移動部２２３が、荷重付加情報を基づいて各部品を移動させながら、表面領域分割部２２５は、各部品の表面領域を、自部品と異なる他の部品との重複範囲の表面領域と該重複範囲以外の表面領域とに分割する（ステップＳ３３）。
【００９１】
その後、接触定義部２２６は、重複範囲となった部品間の表面領域を接触範囲として定義する（ステップＳ３４）。そして、接触定義部２２６は、定義された部品間の接触範囲の対を、接触定義データ記憶部２１２に出力する（ステップＳ３５）。
【００９２】
［メッシュグループ化処理の手順］
次に、図１５のステップＳ６４で説明したメッシュグループ化処理の処理手順を、図１６を参照して説明する。図１６は、メッシュグループ化処理の手順を示すフローチャートである。
【００９３】
まず、部品移動部２２３は、荷重が付加される部品から近い順に部品を選択する（ステップＳ７１）。具体的には、部品移動部２２３は、最初に、荷重負荷情報に含まれる荷重が付加される部品を変形部品として選択する。
【００９４】
次に、部品移動部２２３は、選択した部品（変形部品）を、当該変形部品の荷重位置から荷重方向に所定量ずつ移動させる（ステップＳ７２）。続いて、重複判定部２２４は、移動後の変形部品の表面領域に、他の部品の表面領域と重複する範囲が有るか否かを判定する（ステップＳ７３）。そして、重複判定部２２４によって重複する範囲がないと判定された場合に（ステップＳ７３；Ｎｏ）、変形部品をさらに移動させるために、ステップＳ７２に移行する。
【００９５】
一方、重複判定部２２４によって重複する範囲が有ると判定された場合に（ステップＳ７３；Ｙｅｓ）、メッシュグループ化部３０１は、変形部品の表面領域と他の部品の表面領域との重複範囲の領域を認識する（ステップＳ７４）。そして、メッシュグループ化部３０１は、認識した重複範囲の領域を含む複数のメッシュ表面を、重複範囲の領域がある部品毎にグループ化する（ステップＳ７５）。そして、表面領域分割部２２５は、重複範囲の領域がある部品毎に、各部品のメッシュ表面領域を、メッシュグループ化部３０１によってグループ化されたメッシュ表面と該メッシュ表面以外のメッシュ表面とに分割する（ステップＳ７６）。
【００９６】
その後、部品移動部２２３は、変形部品を予想移動量まで移動させたか否かを判定する（ステップＳ７７）。そして、部品移動部２２３によって変形部品を予想移動量まで移動させていないと判定された場合には（ステップＳ７７；Ｎｏ）、部品移動部２２３は、変形部品を、当該変形部品の荷重位置から荷重方向にさらに所定量移動させる（ステップＳ７８）。
【００９７】
続いて、重複判定部２２４によって重複する範囲が有ると判定された場合に、メッシュグループ化部３０１は、変形部品の既に分割された重複範囲以外のメッシュ表面領域と、他の部品の表面領域との重複範囲の領域を認識する（ステップＳ７９）。そして、メッシュグループ化部３０１は、認識した重複範囲の領域を含む複数のメッシュ表面を、重複範囲の領域がある部品毎にグループ化する（ステップＳ８０）。そして、表面領域分割部２２５は、重複範囲の領域がある部品毎に、各部品のメッシュ表面領域を、メッシュグループ化部３０１によってグループ化されたメッシュ表面と該メッシュ表面以外のメッシュ表面とに分割し（ステップＳ８１）、ステップＳ７７に移行する。
【００９８】
部品移動部２２３によって変形部品を予想移動量まで移動させたと判定された場合には（ステップＳ７７；Ｙｅｓ）、部品移動部２２３は、変形部品を元の位置に戻す（ステップＳ８２）。その後、部品移動部２２３は、次に移動させるべき部品があるか否かを判定する（ステップＳ８３）。すなわち、部品移動部２２３は、荷重が付加される部品から次に近い位置にある部品があるか否かを判定する。
【００９９】
そして、部品移動部２２３によって次に移動させるべき部品があると判定された場合には（ステップＳ８３；Ｙｅｓ）、ステップＳ７１に移行する。一方、部品移動部２２３によって次に移動させるべき部品がないと判定された場合には（ステップＳ８３；Ｎｏ）、メッシュグループ化処理を終了する。
【０１００】
［実施例３の効果］
上記実施例３によれば、メッシュグループ化部３０１は、３Ｄモデル内の表面領域に関するデータがメッシュ状に分割されたデータの場合に、部品の表面領域に他の部品の表面領域との重複範囲があるとき、該重複範囲を含む複数のメッシュをグループ化する。そして、表面領域分割部２２５は、物品の表面領域を、メッシュグループ化部３０１によってグループ化された複数のメッシュとそれ以外のメッシュに分割する。
【０１０１】
かかる構成によれば、３Ｄモデル内の表面領域に関するデータがメッシュ状に分割されたデータの場合に、メッシュグループ化部３０１が部品間の表面領域の重複範囲をメッシュによってグループ化することとした。そして、表面領域分割部２２５が物品の表面領域をグループ化したメッシュとそれ以外のメッシュに分割することとした。このため、表面領域分割部２２５は、該重複範囲を含むグループ化されたメッシュ以外のメッシュを用いて次の重複判定をさせることが可能となる。この結果、接触定義部２２６は、重複判定によって重複と判定された重複範囲を含むメッシュ同士を接触範囲として定義できるので、効率の良い接触定義を行うことができる。また、部品間の接触定義後の数値解析では、何らかの理由により部品の変形後の位置ずれが発生しても、位置ずれによってずれた領域を含んで接触定義できるので、正常に接触判定をすることができ、数値解析時間を低減できる。
【０１０２】
また、上記実施例３によれば、重複判定部２２４は、移動後の部品の表面領域であってメッシュグループ化部３０１によってグループ化された複数のメッシュ部分を除外した表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。かかる構成によれば、重複判定部２２４が、移動後の部品の表面領域を、既に重複範囲としてグループ化されたメッシュを除外して、さらに他の部品との重複範囲の有無を判定することとしたので、他の部品との重複範囲を無駄なく発見できる。この結果、接触定義部２２６が、重複判定部２２４によって重複と判定された重複範囲を含むメッシュ同士を接触範囲として定義できるので、効率の良い接触定義を行うことができる。
【０１０３】
［その他］
なお、実施例２では、荷重が付加される部品が荷重方向に移動する場合について説明した。しかしながら、荷重が付加される部品が荷重方向に移動するとともに、該部品が荷重方向と垂直の方向にも移動する場合がある。そこで、表面領域分割の別の具体例として、荷重が付加される部品が荷重方向に移動するとともに、該部品が荷重方向と垂直の方向にも移動する場合の表面領域分割について、図１７及び図１８を参照しながら説明する。なお、図１７及び図１８の説明では、３Ｄモデル内に含まれる部品Ａ、部品Ｂ及び部品Ｃの形状データを用いて説明するものとする。
【０１０４】
まず、図１７は、表面領域分割の別の具体例を示す図である。図１７に示すように、部品移動部２２３は、部品Ａを変形部品とし、部品Ａの荷重位置から荷重方向ｘに所定量ずつ荷重を付加して移動させる。そして、表面領域分割部２２５は、重複判定部２２４によって移動後の部品Ａの表面領域に他の部品の表面領域と重複する範囲があると判定される場合には、部品Ａの表面領域を、該重複範囲と該重複範囲以外に分割する表面領域分割処理を行う。ここでは、移動方向には、部品Ａの表面領域と重複する他の部品がないので、表面領域分割部２２５は、部品Ａの移動方向ｘに対する表面領域分割処理を行わない。
【０１０５】
次に、部品移動部２２３は、部品Ａを変形部品とし、部品Ａの荷重位置から荷重方向ｘに荷重を付加しながら荷重方向ｘと垂直の方向ｙに所定量ずつ移動させる。そして、表面領域分割部２２５は、重複判定部２２４によって移動後の部品Ａの表面領域に他の部品の表面領域と重複する範囲があると判定される場合には、部品Ａの表面領域を、該重複範囲と該重複範囲以外に分割する処理を行う。ここでは、移動方向には、部品Ａの表面領域と重複する他の部品Ｂがあるので、表面領域分割部２２５は、部品Ａの移動方向ｙに対する表面領域分割処理を行うこととなる。
【０１０６】
そこで、図１８は、部品Ａの移動による表面領域分割の具体例を示す図である。図１８（ａ）（ｂ）に示すように、部品Ｂの表面領域を、変形部品Ａの表面領域との重複範囲の表面領域と該重複範囲以外の表面領域とに分割する。まず、図１８（ａ）に示すように、部品Ａの移動前には、部品Ｂの部品Ａ側の表面領域を指す表面Ｂ−１は、まだ分割されていない。
【０１０７】
次に、図１８（ｂ）に示すように、部品移動部２２３は、部品Ａを、部品Ａの荷重位置から荷重方向と垂直の方向ｙに移動させる。重複判定部２２４は、部品Ａの移動後に、移動後の部品Ａの表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する。そして、表面領域分割部２２５は、部品Ａの表面領域に、部品Ｂの表面領域と重複する範囲があると判断する。ここでは、部品Ａの部品Ｂとの重複範囲は、部品Ａの表面領域の全範囲となるので、表面領域分割部２２５は、部品Ａの表面領域の分割処理を行わない。一方、表面領域分割部２２５は、部品Ｂの表面Ｂ−１を、部品Ａとの重複範囲を指す表面Ｂ−Ａと該重複範囲以外の表面Ｂ−１−１に分割する。このとき、表面領域分割部２２５は、部品Ａの変形後の位置ずれを考慮して、部品Ｂの表面領域を、該重複範囲に重複可能性のある領域を加えた重複可能領域と該重複可能領域以外の表面領域とに分割するようにしても良いことはいうまでもない。
【０１０８】
なお、上記した荷重が付加される部品が荷重方向に移動するとともに、該部品が荷重方向と垂直の方向にも移動する場合の表面領域分割は、部品の表面領域がメッシュ状に分割された実施例３の場合であっても同様に行なうことができる。
【０１０９】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、表面領域分割部２２５と接触定義部２２６とを１つの部として統合しても良い。一方、形状データ記憶部２１１を、部品の幾何学形状データを記憶する幾何学形状データ記憶部と、部品のメッシュデータを記憶するメッシュデータ記憶部と、部品の位置データを記憶する位置データ記憶部とに分散しても良い。また、記憶部２１を接触定義装置２、３の外部装置として有し、ネットワーク接続されて協働することで、上記した接触定義装置２、３の機能を実現するようにしても良い。特に、３Ｄモデルの形状データを記憶する形状データ記憶部２１１を含む３Ｄモデルデータベースを接触定義装置２、３の外部装置として有し、ネットワーク接続されて協働することで、上記した接触定義装置２、３の機能を実現するようにしても良い。
【０１１０】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、図３に示したコンピュータ支援装置２と同様の機能を有する接続関係決定処理プログラムを実行するコンピュータの一例を説明する。
【０１１１】
図２２は、接触定義処理プログラムを実行するコンピュータを示す図である。図２２に示すように、コンピュータ１０００は、ＲＡＭ（Random  Access  Memory）１０１０と、キャッシュ１０２０と、ＨＤＤ１０３０と、ＲＯＭ（Read  Only  Memory）１０４０と、ＣＰＵ（Central  Processing  Unit）１０５０、バス１０６０とを有する。ＲＡＭ１０１０、キャッシュ１０２０、ＨＤＤ１０３０、ＲＯＭ１０４０、ＣＰＵ１０５０は、バス１０６０によって接続されている。
【０１１２】
ＲＯＭ１０４０には、図２に示した接触定義装置２と同様の機能を発揮する接触定義処理プログラム１０４１が予め記憶されている。
【０１１３】
そして、ＣＰＵ１０５０は、この接触定義処理プログラム１０４１を読み出して実行する。これにより、図２２に示すように、接触定義処理プログラム１０４１は、接触定義処理プロセス１０５１になる。なお、接触定義処理プロセス１０５１は、図２に示した制御部２２に対応する。
【０１１４】
また、ＨＤＤ１０３０には、図２２に示すように３Ｄモデルデータベース１０３１及び接触定義情報１０３２が設けられる。３Ｄモデルデータベース１０３１は、例えば、図２に示した記憶部２１に記憶される形状データ記憶部２１１に対応し、接触定義情報１０３２は、図２に示した記憶部２１に記憶される接触定義データ記憶部２１２に対応する。
【０１１５】
なお、上述した各プログラム１０４１については、必ずしもＲＯＭ１０４０に記憶させなくても良い。例えば、コンピュータ１０００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラム１０４１を記憶させても良い。又は、コンピュータ１０００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」にプログラム１０４１を記憶させても良い。又は、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１０００に接続される「他のコンピュータ（又はサーバ）」にプログラム１０４１を記憶させても良い。そして、コンピュータ１０００は、上述したフレキシブルディスクなどから各プログラムを読み出して実行するようにしても良い。
【０１１６】
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
【０１１７】
（付記１）３Ｄモデル内の表面領域に関するデータにより表現された部品を所定の方向に移動させる部品移動部と、
前記部品移動部による移動後の前記部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する重複判定部と、
前記重複判定部によって前記部品の表面領域に、他の部品の表面領域と重複する範囲があると判定された場合に、該重複範囲を他の部品との接触範囲として定義する接触定義部と
を有することを特徴とする接触定義装置。
【０１１８】
（付記２）前記重複判定部によって前記部品の表面領域に、他の部品の表面領域と重複する範囲があると判定された場合に、前記部品の表面領域を、該重複範囲の表面領域と該重複範囲以外の表面領域とに分割する表面領域分割部を有することを特徴とする付記１に記載の接触定義装置。
【０１１９】
（付記３）前記表面領域分割部は、
前記部品の表面領域を、該重複範囲に重複可能性のある領域を加えた重複可能領域と該重複可能領域以外の表面領域とに分割することを特徴とする付記２に記載の接触定義装置。
【０１２０】
（付記４）３Ｄモデル内の表面領域に関するデータがメッシュ状に分割されたデータの場合に、該重複範囲を含む複数のメッシュをグループ化するグループ化部を有し、
前記部品の表面領域を、前記グループ化部によってグループ化されたメッシュとそれ以外のメッシュとに分割するメッシュ表面領域分割部を有することを特徴とする付記１に記載の接触定義装置。
【０１２１】
（付記５）前記重複判定部は、
移動後の前記部品の表面領域であって前記表面領域分割部によって分割された該重複範囲以外の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定することを特徴とする付記２または付記３に記載の接触定義装置。
【０１２２】
（付記６）前記重複判定部は、
移動後の前記部品の表面領域であって前記グループ化部によってグループ化された複数のメッシュ部分を除外した表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定することを特徴とする付記４に記載の接触定義装置。
【０１２３】
（付記７）３Ｄモデル内の表面領域に関するデータにより表現された部品を所定の方向に移動させる部品移動手順と、
前記部品移動手順による移動後の前記部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する重複判定手順と、
前記重複判定手順によって前記部品の表面領域に、他の部品の表面領域と重複する範囲があると判定された場合に、該重複範囲を他の部品との接触範囲として定義する接触定義手順と
をコンピュータに実行させることを特徴とする接触定義プログラム。
【０１２４】
（付記８）コンピュータが部品間の接触を定義する接触定義方法であって、
３Ｄモデル内の表面領域に関するデータにより表現された部品を所定の方向に移動させる部品移動ステップと、
前記部品移動ステップによる移動後の前記部品の表面領域に、他の部品の表面領域と重複する範囲があるか否かを判定する重複判定ステップと、
前記重複判定ステップによって前記部品の表面領域に、他の部品の表面領域と重複する範囲があると判定された場合に、該重複範囲を他の部品との接触範囲として定義する接触定義ステップと
を含むことを特徴とする接触定義方法。
【符号の説明】
【０１２５】
１、２、３  接触定義装置
１１  部品移動部
１２、２２４  重複判定部
１３、２２６  接触定義部
２１  記憶部
２１１  形状データ記憶部
２１２  接触定義データ記憶部
２２  制御部
２２１  ファイル入出力部
２２２  荷重付加情報取得部
２２３  部品移動部
２２５  表面領域分割部
３０１  メッシュグループ化部
【図１】
0005609302.tif 000002
【図２】
0005609302.tif 000003
【図３】
0005609302.tif 000004
【図４】
0005609302.tif 000005
【図５】
0005609302.tif 000006
【図６】
0005609302.tif 000007
【図７】
0005609302.tif 000008
【図８】
0005609302.tif 000009
【図９】
0005609302.tif 000010
【図１０】
0005609302.tif 000011
【図１１】
0005609302.tif 000012
【図１２】
0005609302.tif 000013
【図１３】
0005609302.tif 000014
【図１４】
0005609302.tif 000015
【図１５】
0005609302.tif 000016
【図１６】
0005609302.tif 000017
【図１７】
0005609302.tif 000018
【図１８】
0005609302.tif 000019
【図１９】
0005609302.tif 000020
【図２０】
0005609302.tif 000021
【図２１】
0005609302.tif 000022
【図２２】
0005609302.tif 000023