設計検証方法及び設計検証装置
【課題】3D−CADモデル化された締結部品モデルと被締結部品モデルとの締結不具合を、人間による最終的な判断によらずコンピュータによって迅速に且つ確実に検出する方法及び装置を提供する。
【解決手段】締結不具合の種類に応じて所定形状の円柱モデルを所定の位置に生成するとともに(ステップSA5の処理を実行するとともに)、該生成した円柱モデルと被締結部品モデルとの干渉チェックを実行して(ステップSA6の処理を実行して)、該干渉チェックの結果を基に締結不具合を検出する(ステップSA8〜ステップSA9の処理を実行する)。
【解決手段】締結不具合の種類に応じて所定形状の円柱モデルを所定の位置に生成するとともに(ステップSA5の処理を実行するとともに)、該生成した円柱モデルと被締結部品モデルとの干渉チェックを実行して(ステップSA6の処理を実行して)、該干渉チェックの結果を基に締結不具合を検出する(ステップSA8〜ステップSA9の処理を実行する)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合をコンピュータにより検出する設計検証方法及び設計検証装置に関する技術分野に属する。
【背景技術】
【0002】
従来より、コンピュータにより3次元のCADデータを使用して部品の干渉チェックを行う方法は知られている。
【0003】
この種の方法では、部品と部品とが当接している箇所を干渉部位として検出するようにしているため、例えばネジとネジ孔との係合部(当接部)など、本来、干渉してもよい部位まで干渉部位として検出してしまうという問題があり、この問題を解決するべく、これまでにも様々な方法が提案されている。
【0004】
例えば、特許文献1に示すものでは、ネジ部以外の箇所や、歯車の噛合い部以外の箇所を、部品同士が干渉してはいけない領域として予め設定し、この干渉をしてはいけない領域のみに対して干渉チェックを実施するようにしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−48221号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、従来の方法では、締結部品モデルと被締結部品モデルとの干渉を検出することはできても、例えば、部品同士が当接せずに浮いた状態で配置されている場合等の不具合を検出することができないという問題がある。このため、設計者は、これらの不具合を一つずつ目で見て探す他なく、この種の不具合を見つけるための設計者の負担が大きくなり、延いては、不具合の見逃しや作業工数の増加を招くという問題がある。
【0007】
本発明は、斯かる点に鑑みてなされたものであり、その目的とするところは、締結部品モデルと被締結部品モデルとの干渉のみならず両部品モデル間の浮き上がり等の不具合を締結不具合として、人間による最終的な判断によらずコンピュータによって迅速に且つ確実に検出する方法及び装置を提供しようとすることにある。
【課題を解決するための手段】
【0008】
上記の目的を達成するために、この発明では、検出しようとする締結不具合の種類に応じて、所定形状の円柱モデルを所定の位置に生成するとともに、該生成した円柱モデルと被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するようにした。
【0009】
具体的には、請求項1の発明では、3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合をコンピュータにより検出する設計検証方法を対象とする。
【0010】
そして、上記締結不具合の種類に応じた所定形状の円柱モデルを生成するモデル生成ステップと、上記モデル生成ステップにて生成された円柱モデルを、上記締結不具合の種類に応じて、上記締結部品モデルに対し所定の位置関係で配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出する不具合検出ステップと、を備えているものとする。
【0011】
これによれば、締結部品モデルと被締結部品モデルとの干渉のみならず両部品モデル間の浮き上がり等の不具合を締結不具合として、人間による最終的な判断によらずコンピュータによって迅速に且つ確実に検出することができる。
【0012】
請求項2の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記モデル生成ステップは、上記締結部品モデルの軸部よりも小径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部に対して略同軸に且つ重畳して配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0013】
これによれば、例えば、締結部品モデルの軸部の軸心位置と、被締結部品モデルの挿通孔の軸心位置とがずれているために両モデルが干渉する状態を、締結不具合(軸心ずれ)として容易に検出することができる
請求項3の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、上記モデル生成ステップは、上記フランジ部と略同径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部における軸心方向の異なる位置に配置し、該各位置において、該円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0014】
これによれば、例えば、締結部品モデルによって締結される一対の被締結部品モデルのうちの一方が、他方の被締結部品モデルに対して浮いている状態や、逆に沈み込んでいる状態を、締結不具合(浮き、重なり)として容易に検出することができる。
【0015】
請求項4の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記モデル生成ステップは、上記締結部品モデルの軸部と略同径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸中心側からその径方向外側に向かって順次配置するとともに、該各円柱モデルを配置する度に、該各円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックにより上記被締結部品モデルと干渉する円柱モデルが検出された場合には、当該円柱モデルを上記締結部品モデルの軸中心回りに180°反転させた位置に配置し、該配置した円柱モデルと該被締結部品モデルとの干渉チェックを実行して、該干渉チェックにより干渉が検出された場合には上記締結不具合を検出したものとする不具合検出処理を実行するステップであるものとする。
【0016】
これによれば、締結部品モデルと被締結部品モデルとが互いに干渉していなものの、締結部品モデルの軸部と、被締結部品モデルの挿通孔とがずれている状態を、締結不具合(軸心ずれ)として容易に検出することができる。
【0017】
請求項5の発明では、請求項4の発明において、上記不具合検出ステップは、上記締結部品モデルの軸中心側からその径方向外側に向かう所定方向において上記不具合検出処理を実行するとともに、該実行後に、該所定方向に直交する方向において上記不具合検出処理を実行するステップであるものとする。
【0018】
これによれば、例えば、挿通孔が楕円形である場合でも、上記軸心ずれを締結不具合として容易に検出することができる。
【0019】
請求項6の発明では、請求項4又は5の発明において、上記モデル生成ステップは、上記不具合検出ステップにて上記干渉チェックが実行されることにより上記被締結部品モデルと干渉する円柱モデルが検出された場合には、当該円柱モデルよりも小径の円柱モデルを生成するステップをさらに含み、上記不具合検出ステップは、上記モデル生成ステップにて上記小径の円柱モデルが生成された場合には、上記小径の円柱モデルによって上記不具合検出処理を実行するステップであるものとする。
【0020】
これによれば、上記不具合検出処理で用いる円柱モデルの径を徐々に小さくして行くことで、上記軸心ずれをより一層精度良く検出することができる。
【0021】
請求項7の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、上記モデル生成ステップは、上記締結部品モデルのフランジ部の直径から上記軸部の直径を差し引いた距離を直径値とする複数個の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された複数個の円柱モデルを、上記締結部品モデルの軸部の周囲に周方向に並べた状態で、該軸部の軸心方向の異なる位置に順次配置し、該配置の度に上記各円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0022】
これによれば、締結部品モデルの座面(フランジ部)が被締結部品モデルに沈み込んでいる状態や、締結部品モデルの座面(フランジ部)が被締結部品モデルに対して浮き上がっている状態、及び、締結部品モデルの座面が当接する被締結部品モデルの締結座面が傾いている状態をそれぞれ、締結不具合(沈み込み、浮き、傾き)として容易に検出することができる。
【0023】
請求項8の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有するものであり、上記モデル生成ステップは、上記締結部品モデルの軸部と略同径の円柱モデルを生成するものであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの先端位置に配置し、該配置した円柱モデルと、該円柱モデルの周辺に存在する部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0024】
これによれば、締結部品モデルの軸部が、他の部品モデルと干渉する状態を、締結不具合(底付き)として容易に検出することができる。
【0025】
請求項9の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、上記締結部品モデルの軸部には、ナットのモデルが孔嵌合により締結されるものであり、上記モデル生成ステップは、上記締結部品モデルの軸部よりも大径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部の先端位置に該軸部と同軸に配置するとともに、該配置した円柱モデルと上記ナットモデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0026】
これによれば、締結部品モデルの選定ミス等によって生じる締結部品モデルの軸部の長さ不足を、締結不具合として容易に検出することができる。
【0027】
請求項10の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、上記モデル生成ステップは、上記締結部品モデルのフランジ部の外径と略同径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部と同軸に且つ該締結部品モデルのフランジ部の座面側に配置して、該配置した円柱モデルとその周辺に存在する部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0028】
これによれば、例えば、上記円柱モデルと干渉する部品の中に、ラバー等の締結力を減少させるNG部品が含まれているか否かをチェックすることで、このようなNG部品に起因して生じる締結不具合を容易に検出することができる。
【0029】
請求項11の発明では、3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合を検出する設計検証装置を対象とする。
【0030】
そして、上記締結不具合の種類に応じた所定形状の円柱モデルを生成するモデル生成部と、上記締結不具合の種類に応じて、上記締結部品モデルに対し所定の位置関係で配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行する
干渉チェック部と、上記干渉チェック部における干渉チェックの結果を基に、上記締結不具合を検出する不具合検出部と、を備えているものとする。
【0031】
これによれば、請求項1の発明と同様の作用効果を得ることができる。
【発明の効果】
【0032】
以上説明したように、本発明では、検出しようとする締結不具合の種類に応じて、所定形状の円柱モデルを所定の位置に生成するとともに、該生成した円柱モデルと被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するようにしたことで、締結部品モデルと被締結部品モデルとの干渉のみならず両部品モデル間の浮き上がり等の不具合を締結不具合として、人間による最終的な判断によらず迅速に且つ確実に検出することができる。
【図面の簡単な説明】
【0033】
【図1】本発明の実施形態に係る設計検証装置の概略構成を示すブロック図である。
【図2】締結部品モデルと被締結部品モデルとが正常に配置された状態と、締結不具合Iの例とを示す概略図である。
【図3】締結不具合II〜IVの例を示す概略図である。
【図4】締結不具合V及びVIの例を示す概略図である。
【図5】締結不具合VII〜IXの例を示す概略図である。
【図6】制御部における締結不具合Iの検出処理を示すフローチャートである。
【図7】制御部における締結不具合IIの検出処理を示すフローチャートのである。
【図8】制御部における締結不具合IIの検出処理を示すフローチャートである。
【図9】制御部における締結不具合IIIの検出処理を示すフローチャートである。
【図10】制御部における締結不具合IIIの検出処理を示すフローチャートである。
【図11】制御部における締結不具合IVの検出処理を示すフローチャートである。
【図12】制御部における締結不具合IVの検出処理を示すフローチャートである。
【図13】制御部における締結不具合Vの検出処理を示すフローチャートである。
【図14】制御部における締結不具合Vの検出処理を示すフローチャートである。
【図15】制御部における締結不具合VIの検出処理を示すフローチャートである。
【図16】制御部における締結不具合VIの検出処理を示すフローチャートである。
【図17】制御部における締結不具合VIIの検出処理を示すフローチャートである。
【図18】制御部における締結不具合VIIIの検出処理を示すフローチャートである。
【図19】制御部における締結不具合VIIIの検出処理を示すフローチャートである。
【図20】制御部における締結不具合IX-iの検出処理を示すフローチャートである。
【図21】制御部における締結不具合IX-iiの検出処理を示すフローチャートである。
【図22】制御部における締結不具合IX-iiiの検出処理を示すフローチャートである。
【図23】締結不具合Iの検出処理を説明するための説明図である。
【図24】締結不具合IIの検出処理を説明するための説明図である。
【図25】締結不具合IIIの検出処理を説明するための説明図である。
【図26】締結不具合VIの検出処理を説明するための説明図である。
【図27】締結不具合VIIの検出処理を説明するための説明図である。
【図28】締結不具合VIIIの検出処理を説明するための説明図である。
【図29】締結不具合IX-i〜IX-iiiの検出処理を説明するための説明図である。
【図30】本発明の実施形態の変形例を示す図25相当図である。
【図31】他の実施形態を示す図23相当図である。
【図32】他の実施形態を示す図24相当図である。
【発明を実施するための形態】
【0034】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【0035】
図1は、本発明の実施形態に係る設計検証装置Aの概略構成を示す。この設計検証装置Aはコンピュータからなっていて、3D−CADソフトにより作成された対象アセンブリモデルの中に存在する締結部品モデル1と被締結部品モデル2との締結不具合を検出するものである。
【0036】
ここで、本実施形態では、対象アセンブリモデルは、設計対象とする車両の車体及び該車体に組み付けられる部品のモデルであり、被締結部品モデル2は車体を構成する各車体パネルのモデルである。締結部品モデル1は、ボルト、ナット、ファスナ、又はタッピングスクリュー等のモデルである。
【0037】
上記設計検証装置Aは、種々の情報処理を行う制御部10と、該設計検証装置Aを操作するオペレータ(車体の設計者等)が該制御部10に対し情報を入力するためのキーボードやマウス等からなる入力部11と、制御部10から出力された情報を表示するディスプレイ等からなる表示部12と、各種データや、制御部10が後述の不具合検出処理を実行するためのプログラムを記憶する記憶部13とを備えている。
【0038】
制御部10には、不具合検出処理中にデータ等を一時的に記憶するメインメモリ10aが設けられている。上記記憶部13には、上記車体のアセンブリモデルに関する3D−CADデータ13aや、締結部品データベース13b、干渉チェックプログラム13c、ボディパーツリストデータ13d、及びNGリストファイル13eが記憶されている。
【0039】
3D−CADデータには、車体を構成する被締結部品モデル2(各車体パネル等)や締結部品モデル1(ボルトモデル等)のCADデータも含まれている。ここで、CADデータとは、各モデルの幾何学的な位置情報や形状情報をコンピュータによって読み込み可能にデータ化したものである。
【0040】
締結部品データベース13bは、締結部品モデル1の属性値(ボルト軸長、ボルトフランジ径、ネジピッチ等)に関する情報をデータベース化したものである。
【0041】
干渉チェックプログラム13cは、各モデル同士の当接箇所や各モデル同士の重複(重畳)箇所を検出する干渉チェック用のプログラムである。
【0042】
ボディパーツリストデータ13dは、ボディ部品(車体部品)として使用される部品名をリスト化したものである。
【0043】
NGリストファイル13eは、例えばラバー52等、締結部品の締結力を低減させる恐れのある部品等をNG部品として予めリスト化したものである。
【0044】
上記オペレータは、設計検証を行う際には、上記入力部11を介して、設計検証を行おうとする車両の車体モデルを選択する。制御部10は、オペレータが選択した車体モデルの3D−CADデータを、上記記憶部13から読み込んで表示部12に3次元形式で表示する。オペレータは、表示された車体モデルが上記選択したモデルであることを確認した上で、入力部11を介して、該車体モデル中に存在する締結不具合を検出するための所定操作を実行する。制御部10では、この所定操作を受けて上記車体モデルに対して不具合検出処理を実行する。
【0045】
ここで、締結不具合とは、締結部品モデル1と被締結部品モデル2とが干渉している場合のみならず、未干渉ではあるが互いの相対位置が本来あるべき設計位置からずれている場合等も含んでいる。
【0046】
具体的には、上記制御部10が検出することができる締結不具合は、不具合I〜IXに大別することができる。以下、締結部品モデル1として、フランジ付きボルトのモデル50(以下、ボルトモデル50という)と、フランジ付きナットのモデル60(以下、ナットモデル60という)とを想定して、これらの不具合I〜IXについて説明する。尚、以下の説明において、ナットモデル51は、フランジ部を有さない通常のボルトのモデルであり、ボルトモデル61はフランジ部を有さない通常のナットのモデルである。
【0047】
不具合Iとしては、締結部品モデル1と被締結部品モデル2との相対的な位置関係が、すれているために、両者が干渉しているケース(図2(c)〜(f)参照)や、締結部品モデル1の径寸法又は被締結部品モデル2の締結孔2kの径寸法が設計値からずれているために、両者が干渉しているケース(図2(g)及び(h)参照)等が相当する。
【0048】
不具合IIとしては、締結部品モデル1によって互いに締結される2つの被締結部品モデル2a,2bの締結面2g、2hが互いに当接せずに、両者の間に隙間(浮き)が生じているケース(図3(a)及び(b)参照)や、一方の被締結部品モデル2aの締結面2gが他方の被締結部品モデル2b内に沈み込んでしまっているケース(図3(c)及び(d)参照)が相当する。
【0049】
不具合IIIとしては、締結部品モデル1と被締結部品モデル2とで干渉する部位は生じていないものの、締結部品モデル1の軸心と、被締結部品モデル2の締結孔2kの軸心とがずれてしまっているケース(図3(e)及び(f)参照)が相当する。
【0050】
具体的には、図3(e)に示す例では、ボルトモデル50の軸心位置が、被締結部品モデル2の締結孔2kの軸心位置に対してずれている様子を示し、図3(f)に示す例では、ナットモデル60の軸心位置が、被締結部品モデル2の締結孔2kの軸心位置に対してずれている様子を示している。尚、各図の左側の図は、締結孔2kが真円形である場合を示し、右側の図は、締結孔2kが楕円径である場合を示している。
【0051】
不具合IVとしては、図3(g)に示すように、ボルトモデル50に係合するナットモデル51の孔径寸法が設計値よりも大きいために、ボルトモデル50とナットモデル51との係合部に隙間が生じているケースや、図3(h)に示すように、ナットモデル60の孔径寸法が設計値よりも大きいために、該ナットモデル60と、該ナットモデル60に係合するボルトモデル61との係合部に隙間が生じているケースが相当する。
【0052】
不具合Vとしては、ボルトモデル50やナットモデル60の座面のかかり代が不足しているケース(図4(a)〜(d)参照)が相当する。
【0053】
不具合VIとしては、ボルトモデル50の座面やナットモデル60の座面が、被締結部品モデル2a内に沈み込んでしまっているケース(図4(e)及び(f)参照)や、ボルトモデル50やナットモデル60の座面が、被締結部品モデル2aの締結座面2fに対して浮き上がっているケース(図4(g)及び(h)参照)、さらには、被締結部品モデル2aの締結座面2fが、ボルトモデル50の座面やナットモデル60の座面に対して平行でなく傾斜してしまっているケース(図4(i)及び(j))が相当する。
【0054】
不具合VIIとしては、ボルトモデル50の先端部がその他の部品モデル70と干渉しているケース(図5(a)参照)が相当する。
【0055】
不具合VIIIとしては、ボルトモデル50のネジ部又はナットモデル60のネジ部のネジ山のかかり代が不足するケース(図5(b)〜(d)参照)が相当する。
【0056】
不具合IXは、不具合IX-i〜IX-iii(図5では不具合IX-iのみを示す)の3つのパターンを含んでおり、不具合IX-iとしては、被締結部品モデル2(ボルトモデル50、ナットモデル60等)と被締結部品モデル2との間や、締結部品モデル1の座面と被締結部品モデル2との間にラバー52等の介在物が存在するケース(図5(e)及び(f)参照)が相当する。
【0057】
不具合IX-iiとしては、ボルトモデル50のネジ山のピッチがその相手側のナットモデル51のネジ山のピッチと異なっているケースが相当する。
【0058】
不具合IX-iiiとしては、締結部品モデル1により締結される被締結部品モデル2がボディ部品(車体部品)であるにも拘わらず、締結部品モデル1の属性が焼き付き防止用モデルになっていないケースが相当する。
【0059】
そして、本実施形態では、制御部10は、円柱モデル生成処理を実行するに際して、締結不具合の種類(不具合I〜IX)に応じて、円柱モデル20の生成形態を異ならせることで不具合I〜IXを検出する。具体的には、制御部10における不具合検出処理は、締結不具合I〜IVの種類に応じて、所定形状の円柱モデル20を生成する円柱モデル生成処理と、この円柱モデル20を、締結不具合合I〜IVの種類に応じて所定位置に配置して、該配置した円柱モデル20と被締結部品モデル2との干渉チェックを実行するとともに、該干渉チェックの結果を基に、締結部品モデル1と被締結部品モデル2との締結不具合を検出する検出処理からなる。
【0060】
上記制御部10が実行する不具合検出処理の詳細を、図6〜図22のフローチャートに基づいて説明する。尚、本実施形態では、主にボルトモデル50に関連する不具合の検出処理(図2〜5の左側の列に示す不具合)について説明する。
【0061】
図6は不具合Iを検出するための処理を示している。
【0062】
先ず、ステップSA1では、オペレータが入力部11を介して選択した車体モデルを識別して、当該車体モデルの3D−CADデータを記憶部13からメインメモリ10a上にロードする。
【0063】
ステップSA2では、ステップSA1でロードした3D−CADデータを基に、車体モデルに含まれる締結部品モデル1を検索する。
【0064】
ステップSA3では、ステップSA2で検索した締結部品モデル1の中からボルトモデル50を抽出するとともに、その属性値を締結部品データベース13bから検索する。
【0065】
ステップSA4では、ステップSA3で検索した属性値(材質や形状)の中から、ボルト軸部50aの長さ(以下、ボルト軸長という)及びボルト軸部50aの外径(以下、ボルト軸径という)を読み込む。
【0066】
ステップSA5では、ステップSA4で読み込んだボルト軸径よりも小さい所定径(本実施形態では、ボルト軸部50aのネジ部の谷径)を有し且つ読み込んだボルト軸長と同高さの円柱モデル20を生成する。そして、生成した円柱モデル20を、ボルトモデル50のボルト軸部50aに重複して配設する。換言すると、円柱モデル20を、ボルト軸部50aと同軸にその基端面から先端面に至る全範囲に形成する。尚、所定径は、許容される軸心ずれ量等に応じて設定される。
【0067】
ステップSA6では、ステップSA5で生成した円柱モデル20と、ボルトモデル50を除く全ての部品との間で干渉チェックを実行する。干渉チェックを実行するには、記憶部13内に記憶された干渉チェックプログラムをロードして実行すればよい。
【0068】
ステップSA7では、ステップSA6で実行した干渉チェックの結果、干渉が検出されたか否かを判定し、この判定がYESであるときにはステップSA8に進み、NOであるときにはステップSA9に進む。
【0069】
ステップSA8では、不具合Iが発生しているものとして、結果ファイルに”NG”を出力する。
【0070】
ステップSA9では、不具合Iが発生していないものとして、結果ファイルに”OK”を出力し、しかる後に、不具合Iの検出処理を終了する。
【0071】
図7及び図8は不具合IIを検出するための処理を示している。
【0072】
ステップSB1〜ステップSB4では、それぞれ、ステップSA1〜ステップSA4と同様の処理を実行する。
【0073】
ステップSB5では、ステップSB4で読み込んだボルト径よりも大きい所定径(本実施形態では読み込んだボルトフランジ径)を有し且つ所定高さ(本実施形態では、ネジピッチの3〜5倍)の円柱モデル20を生成する。そして、生成した円柱モデル20を、ボルト軸部50aと同軸に且つボルト軸部50aの基端位置に配置する(図24参照)。
【0074】
ステップSB6では、ステップSB5で生成した円柱モデル20と、ボルトモデル50を除く全ての部品との間で干渉チェックを実行する。
【0075】
ステップSB7では、ステップSB6で実行した干渉チェックの結果を基に、「円柱モデル20と干渉する部品モデルがない」か否か判定し、この判定がYESであるときにはステップSB12に進む一方、NOであるときにはステップSB8(図8参照)に進む。
【0076】
ステップSB8では、ステップSB6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの数が1つであるか否かを判定し、この判定がYESであるときにはステップSB21に進む一方、NOであるときにはステップSB9に進む。
【0077】
ステップSB9では、”2つ以上干渉あり”カウンタを1つだけ増加させ、その他のカウンタ(”干渉なし”カウンタ、”1つ干渉あり”カウンタ)を0にする。
【0078】
ステップSB10では、”2つ以上干渉あり”カウンタが2であるか否かを判定し、この判定がYESであるときには、結果ファイルに「沈み込みNG」を出力する一方、NOであるときにはステップSB11(図8参照)に進む。
【0079】
ステップSB11では、円柱モデル20をボルト軸部50aの基端側から先端側に向かって該円柱モデル20の高さ分だけオフセットさせる。
【0080】
ステップSB7の判定がYESであるときに進むステップSB12では、円柱モデル20をボルト軸部50aの基端部から先端部まで(ボルト軸部50aの全長に亘って)シフトさせたか否か判定し、この判定がNOであるときにはステップSB17に進む一方、YESであるときにはステップSB13に進む。
【0081】
ステップSB13では、”干渉なし”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB18に進む一方、YESであるときにはステップSB14に進む。
【0082】
ステップSB14では、”1つ干渉あり”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB19に進む一方、YESであるときにはステップSB15に進む。
【0083】
ステップSB15では、”2つ以上干渉あり”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB20に進む一方、YESであるときにはステップSB16に進む。
【0084】
ステップSB16では、結果ファイルに”NG(浮き上がり)”を出力する。
【0085】
ステップSB12の判定がNOであるときに進むステップSB17では、”干渉なし”カウンタを1つ増加させ、その他のカウンタを0に設定し、しかる後にステップSB11に戻る。
【0086】
ステップSB13〜ステップSB15の判定がそれぞれNOであるときに進むステップSB18〜ステップSB20では、結果ファイルに”OK”を出力する。
【0087】
ステップSB8の判定がYESであるときに進むステップSB21では、ステップSB12と同様に、円柱モデル20をボルト軸部50aの全長に亘ってシフト(オフセット)させたか否かを判定し、この判定がNOであるときにはステップSB26に進む一方、YESであるときにはステップSB22に進む。
【0088】
ステップSB22では、”干渉なし”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB27に進む一方、YESであるときにはステップSB23に進む。
【0089】
ステップSB23では、”1つ干渉あり”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB28に進む一方、YESであるときにはステップSB24に進む。
【0090】
ステップSB24では、”2つ以上干渉あり”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB29に進む一方、YESであるときにはステップSB25に進む。
【0091】
ステップSB25では、結果ファイルに”OK”を出力する。
【0092】
ステップSB21の判定がNOであるときに進むステップSB26では、”1つ干渉あり”カウンタを1つ増加させ、その他のカウンタを0に設定し、しかる後にステップSB11に進む。
【0093】
ステップSB22がNOであるときに進むステップSB27では、結果ファイルに”浮き上がりNG”と出力する。
【0094】
ステップSB23及びステップSB24の判定がそれぞれNOであるときに進むステップSB28及びステップSB29では、結果ファイルに”OK”を出力する。
【0095】
図9及び図10は不具合IIIを検出するための処理を示している。
【0096】
ステップSC1〜ステップSC4では、それぞれ、ステップSA1〜ステップSA4と同様の処理を実行する。
【0097】
ステップSC5では、所定径D1(例えばボルト軸径の1/2)の円柱モデルを生成して、ボルト軸部50aの軸中心(軸方向から見た中心)から径方向外側に延びるX軸上に、該生成した円柱モデル20を、その軸心位置がボルト軸部50aの軸中心(原点)からD1/2(D1÷2)の位置になるように配置する(図25参照)。円柱モデル20の高さは所定高さ(例えばボルト軸長と同高さ)に設定すればよい。
【0098】
ステップSC6では、ステップSC5で生成した円柱モデル20と、ボルトモデル50を除く全ての部品との間で干渉チェックを実行する。
【0099】
ステップSC7では、ステップSC6の干渉チェックの結果を基に、「円柱モデル20と干渉する部品モデルがない」か否かを判定し、この判定がYESであるときにはステップSC16に進む一方、NOであるときにはステップSC8(図10参照)に進む。
【0100】
ステップSC8では、円柱モデル20の直径を変化させた回数が所定回数に達したか否かを判定し、この判定がYESであるときにはステップSC19に進む一方、NOであるときにはステップSC9に進む。
【0101】
ステップSC9では、最後に干渉を検知した円柱モデル20を、原点(ボルト軸部50aの軸心)を中心として180°回転した位置に配置する(つまり円柱モデル20の配置位置を原点回りに反転させる)。尚、これに伴って、計算軸として設定したX軸も原点を中心として180°回転させる。
【0102】
ステップSC10は、180°回転させた円柱モデル20と、上記ボルトモデル50を除く全ての部品との間で干渉チェックを実行する。
【0103】
ステップSC11では、ステップSC10の干渉チェックの結果を基に、「円柱モデル20と干渉する部品モデルがない」か否かを判定し、この判定がYESであるときにはステップSC20に進む一方、NOであるときにはステップSC12に進む。
【0104】
ステップSC12では、180°回転させた円柱モデル20をX軸方向の原点側(ボルト軸部50a側)にモデル1個分だけシフトさせてなる円柱モデル20を生成する。
【0105】
ステップSC13では、ステップSC12で生成した円柱モデル20と、上記ボルトモデル50を除く全ての部品モデルとの間で干渉チェックを実行する。
【0106】
ステップSC14では、「円柱モデル20と干渉する部品モデルがない」か否かを判定し、この判定がYESであるときにはステップSC21に進む一方、NOであるときにはステップSC15に進む。
【0107】
ステップSC7の判定がNOであるときに進むステップSC16では、生成した円柱モデル20の直径値の総和が所定値以上であるか否かを判定し、この判定がYESであるときにはステップSC18に進む一方、NOであるときにはステップSC17に進む。
【0108】
ステップSC17では、前回生成した円柱モデル20をX軸方向の+側(つまりボルト軸部50aの径方向外側)に向かってモデル一個分だけシフトさせてなる円柱モデル20を生成し、しかる後にステップSC6に進む。
【0109】
ステップSC18では、結果ファイルに”NG(軸心ずれ)”と出力する。
【0110】
ステップSC8の判定がYESであるときに進むステップSC19では、最後に干渉した円柱モデル20を消去してそれよりも小径の円柱モデル20を生成し、生成した円柱モデル20を前回生成した円柱モデル20に周接するようにX軸上に配置する。
【0111】
図11及び図12は、不具合IVを検出するための処理を示している。
【0112】
ステップSD1〜ステップSD3ではそれぞれ、ステップSA1〜ステップSA3と同様の処理を実行する。
【0113】
ステップSD4では、ステップSD3で検索した属性値(材質や形状データ)の中から、ボルト軸長、ボルト軸径、及びボルトフランジ径を読み込む。
【0114】
ステップSD5では、ステップSD4で読み込んだボルトフランジ径と同径で且つ読み込んだボルト軸長と同高さの円柱モデル20を、ボルト軸部50aの基端部から先端部に至る全範囲に亘って該ボルト軸部50aと同軸に生成する。
【0115】
ステップSD6では、ステップSD5で生成した円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックを実行する。
【0116】
ステップSD7では、ステップSD6で実行した干渉チェックの結果を基に、「円柱モデル20と干渉する”WELD.NUT”という名称の部品モデルがない」か否かを判定する。そして、この判定がYESであるときにはステップSD19に進む一方、NOであるときにはステップSD8に進む
ステップSD8では、所定径D1(例えばボルト軸径の1/2)の円柱モデルを生成して、ボルト軸部50aの軸中心(軸方向から見た中心)から径方向外側に延びるX軸上に、該生成した円柱モデル20を、その軸心位置がボルト軸部50aの軸中心(原点)からD1/2(D1÷2)の位置になるように配置する(図25参照)。円柱モデル20の高さは所定高さ(例えばボルト軸長と同高さ)に設定すればよい。
【0117】
ステップSD9では、生成した円柱モデル20と、ボルトモデルを除く全ての部品モデルとの間で干渉チェックを実行する。
【0118】
ステップSD10では、「円柱モデル20と干渉する”WELD.NUT”という名称の部品モデルがない」か否かを判定し、この判定がYESであるときにはステップSD20に進む一方、NOであるときにはステップSD11に進む。
【0119】
ステップSD11からステップSD18では、ステップSC8〜ステップSC15と同様の処理を実行する。
【0120】
ステップSD7の判定がYESであるときに進むステップSD19では、本不具合IIIの検出処理の対象外となるケースであると判断して、結果ファイルに”対象外”と出力する。
【0121】
ステップSD20〜ステップSD22では、ステップSC16〜19と同様の処理を実行する。
【0122】
ステップSD17の判定がYESであるときに進むステップSD24では、軸心ずれが無いものと判断して、ステップSD12で円柱モデル20の反転処理を実行するまでに生成した円柱モデル20の直径値の総和を2倍した値を締結孔2kの孔径として算出する。
【0123】
ステップSD25では、ステップSD24で算出した値(締結孔2kの孔径)が、ボルト軸径に等しいか否かを判定し、この判定がNOであるときにはステップSD26に進む一方、YESであるときにはステップSD27に進む。
【0124】
ステップSD26では、結果ファイルに”NG(穴径アンマッチ)”と出力する。
【0125】
ステップSD27では、結果ファイルに”OK”と出力する。
【0126】
図13及ぶ図14は、不具合Vを検出するための処理を示している。
【0127】
ステップSE1〜ステップSE21ではそれぞれ、上記ステップSC1〜ステップSC21と同様の処理を行う。
【0128】
ステップSE22では、ステップSE3で読み込んだ属性値の中からボルトフランジ径を読み取り、読み取ったボルトフランジ径と、ステップSE21で算出した値(円柱モデル20の直径値の総和を2倍した値)とを基に、ボルトフランジ径−(円柱モデル20の直径値の総和)×2≦基準値なる関係が成立するか否かを判定し、この判定がNOであるときにはステップSE23に進む一方、YESであるときにはステップSE24に進む。
【0129】
ステップSE23では、結果ファイルに”OK”と出力する。
【0130】
ステップSE24では、フランジ部のかかり代が不足しているものと判断して、結果ファイルに”かかり代不足”を出力する。
【0131】
図15及び図16は、不具合VIを検出するための処理を示している。
【0132】
ステップSF1〜ステップSF3ではそれぞれ、ステップSA1〜ステップSA3と同様の処理を実行する。
【0133】
ステップSF4では、ステップSF3で検索した属性値(材質や形状データ)の中から、ボルト軸長とボルトフランジ径とを読み込む。
【0134】
ステップSF5では、ボルトフランジ部50bの突出量(=ボルトフランジ径−ボルト軸径)に等しい直径値を有する複数個(本実施形態では7個)の円柱モデル20を、ボルト軸部50aの周方向に並ぶように生成する(図26参照)。またこの処理では、各円柱モデル20を、ボルトフランジ部50bの座面よりも所定距離W1だけボルト先端側にオフセットした位置に生成する。各円柱モデル20の中心位置は、例えば、ボルト軸部50aの半径+(ボルトフランジ径−ボルト軸部径)/2の位置に設定すればよい。また、各円柱モデル20の高さは所定高さ(例えばボルト軸部50aのネジピッチの3〜5倍)に設定すればよい。各円柱モデル20同士は、互いに周接するように配置してもよいし、互いに所定間隔を隔てて配置するようにしてもよい。尚、生成する円柱モデル20の個数は少なくとも3個以上であることが好ましい。
【0135】
ステップSF6では、ステップSF5で生成した円柱モデル20と、上記ボルトモデルを除く全て部品モデルとの間で干渉チェックを実行する。
【0136】
ステップSF7では、「円柱モデル20と干渉する部品モデルがない(未干渉)」か否かを判定し、この判定がYESであるときにはステップSF14に進む一方、NOであるときにはステップSF8に進む。
【0137】
ステップSF8では、ステップSF7の干渉チェックの結果を基に、円柱モデル20のうちの一部のみが部品モデルと干渉しているか否かを判定し、この判定がYESであるときにはステップSF15に進む一方、NOであるときにはステップSF9に進む。
【0138】
ステップSF9では、ステップSF5で生成した複数の円柱モデル20を、ボルトフランジ部50bの上面側(ボルト基端側)に所定距離W1だけシフトさせてなる複数の円柱モデル20を生成する。
【0139】
ステップSF10では、ステップSF9で生成した円柱モデル20と、上記ボルトモデルを除く全ての部品モデルとの間で干渉チェックを実行する。
【0140】
ステップSF11では、ステップSF10の干渉チェックの結果を基に、「円柱モデル20と干渉する部品モデルがない(未干渉)」か否かを判定し、この判定がYESであるときにはステップSF16に進む一方、NOであるときにはステップSF12に進む。
【0141】
ステップSF12では、円柱モデル20のうちの一部のみが部品モデルと干渉しているか否かを判定し、この判定がYESであるときにはステップSF17に進む一方、NOであるときにはステップSF13に進む。
【0142】
ステップSF13では、結果ファイルに”NG(沈み込み)”と出力する。
【0143】
ステップSF7の判定がYESであるときに進むステップSF14では、結果ファイルに”NG(浮き上がり)”と出力する。
【0144】
ステップSF7の判定がYESであるときに進むステップSF15では、結果ファイルに”NG(傾き)”と出力する。
【0145】
ステップSF11の判定がYESであるときに進むステップSF16では、結果ファイルに”OK”と出力する。
【0146】
ステップSF12の判定がYESであるときに進むステップSF17では、結果ファイルに”NG(傾き)”と出力する。
【0147】
図17は、不具合VIIを検出するため処理を示している。
【0148】
ステップSG1〜ステップSG4ではそれぞれ、ステップSA1〜ステップSA4と同様の処理を実行する。
【0149】
ステップSG5では、ボルト軸部50aの先端位置に、ステップSG4で読み取った軸径よりも小径(本実施形態ではボルト軸部50aのネジ部の谷径)の円柱モデル20を、ボルト軸部50aと同軸に生成する(図27参照)。すなわち、この処理では、円柱モデル20を、ボルト軸部50aの先端面から、その軸方向においてボルト外方側に突出するように生成する。円柱モデル20の高さは所定高さ(例えばボルト軸部50aのネジピッチの3〜5倍)に設定すればよい。
【0150】
ステップSG6では、ステップSG5で生成した円柱モデル20と、上記ボルトモデルを除いた全ての部品モデルとの間で干渉チェックを実行する。
【0151】
ステップSG7では、ステップSG6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルが検出されたか否を判定し、この判定がNOであるときにはステップSG9に進む一方、YESであるときにはステップSG8に進む。
【0152】
ステップSG8では、結果ファイルに”NG(底付き)”と出力する。
【0153】
ステップSG9では、結果ファイルに”OK”と出力する。
【0154】
図18は、不具合VIIIを検出するための処理の前半部を示している。
【0155】
ステップSH1〜ステップSH3ではそれぞれ、ステップSA1〜3と同様の処理を実行する。
【0156】
ステップSH4では、ステップSH3で検索した属性値(材質や形状データ)の中から、ボルト軸長とボルトフランジ径とを読み込む。
【0157】
ステップSH5では、ステップSH4で読み込んだボルトフランジ径と同径で且つ読み込んだボルト軸長と同高さの円柱モデル20を、ボルト軸部50aと同軸に且つ該ボルト軸部50aに重複するように生成する。換言すると、ボルトフランジ径と同径の円柱モデル20を、ボルト軸部50aと同軸に、該ボルト軸部50aの基端部から先端部に至る全範囲に亘って生成する。
【0158】
ステップSH6では、ステップSH5で生成した円柱モデル20と、ボルトモデルを除いた全ての部品モデルとの間で干渉チェックを実行する。
【0159】
ステップSH7では、ステップSH6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に”WELD.NUT”と記述された名前を持つ部品モデルが存在するか否かを判定し、この判定がNOであるときにはステップSH11に進む一方、YESであるときにはステップSH8に進む。
【0160】
ステップSH8では、ボルト軸径よりも大きい所定径の円柱モデル20をボルト軸部50aの先端位置に同軸に生成する。すなわち、この処理では、円柱モデル20を、ボルト軸部50aの先端面から、その軸心方向においてボルト外方側に突出するように生成する。円柱モデル20の高さは所定高さ(例えばボルト軸部50aのネジピッチの3〜5倍)に設定すればよい。
【0161】
ステップSH9では、ステップSH8で生成した円柱モデル20と、ボルトモデル50を除く部品モデルとの間で干渉チェックを実行する。そして、この干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に”WELD.NUT”と記述された名前を持つ部品が存在するか否かを判定し、この判定がNOであるときにはステップSH15に進む一方、YESであるときにはステップSH10に進む。
【0162】
ステップSH10では、結果ファイルに”NG(長さ不足)”と出力する。
【0163】
ステップSH7の判定がNOであるときに進むステップSH11では、ボルト軸部50aの先端位置(先端面)を基準として、かかり代として必要な長さ分だけボルト軸心方向の基端部側にオフセットした位置に、ボルト軸径よりも大径の円柱モデル20を生成する。
【0164】
ステップSH12では、ステップSH11で生成した円柱モデル20と、ボルトモデルを除く全ての部品モデルとの間で干渉チェックを実行して、当該円柱モデル20と干渉する部品モデルが存在するか否かを判定する。そして、この判定がNOであるときにはステップSH13に進む一方、YESであるときにはステップSH14に進む。
【0165】
ステップSH13では、結果ファイルに”NG(長さ不足)”と出力する。
【0166】
ステップSH14では、結果ファイルに”OK”と出力する。
【0167】
ステップSH9の判定がNOであるときに進むステップSH15では、結果ファイルに”OK”と出力する。
【0168】
図19は、不具合VIIIを検出するための処理の後半部を示している。
【0169】
ステップSI1では、ステップSA1と同様の処理を実行する。
【0170】
ステップSI2では、ステップSI1でロードした3D−CADデータを基に、車体モデルに含まれるナットモデル60を検索する。
【0171】
ステップSI3では、ステップSI2で検索したナットモデル60の型番情報を読み込む。そして、締結部品データベース13bの中から、該読み込んだ型番情報に対応するナットの属性値を検索する。
【0172】
ステップSI4では、ステップSA3で検索した属性値(材質や形状データ)の中から、ナット径とナット高さとを読み込む。
【0173】
ステップSI5では、ナット径と同径の円柱モデル20を生成して、ナットモデル60の座面側とは反対側の面に該ナットモデル60と同軸に配置する。円柱モデル20の高さは所定高さ(例えばボルト軸部50aのネジピッチの3〜5倍)に設定すればよい。
【0174】
ステップSI6では、ステップSI5で生成した円柱モデル20と、ナットモデル60を除いた全ての部品モデルとの間で干渉チェックを実行する。
【0175】
ステップSI7では、ステップSI6で実行した干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルが存在するか否かを判定し、NOであるときにはステップSI9に進む一方、YESであるときにはステップSI8に進む。
【0176】
ステップSI8では、結果ファイルに”OK”と出力する。
【0177】
ステップSI9では、結果ファイルに”NG(長さ不足)”と出力する。
【0178】
図20は、不具合IX-iを検出するための処理を示している。
【0179】
ステップSJ1〜ステップSJ3ではそれぞれ、ステップSA1〜ステップSA3と同様の処理を実行する。
【0180】
ステップSJ4では、ステップSJ3で検索した属性値(材質や形状データ)の中から、ボルト軸長とボルトフランジ径とを読み込む。
【0181】
ステップSJ5では、ステップSJ4で読み込んだボルトフランジ径と同径で且つ読み込んだボルト軸長と同高さの円柱モデル20を、ボルト軸部50aと同軸に且つ該ボルト軸部50aに重複するように生成する。換言すると、ボルトフランジ径と同径の円柱モデル20を、ボルト軸部50aと同軸に、該ボルト軸部50aの基端部から先端部に至る全範囲に亘って生成する。
【0182】
ステップSJ6では、生成した円柱モデル20と、ボルトモデル50を除いた全ての部品モデルとの間で干渉チェックを実行する。
【0183】
ステップSJ7では、ステップSJ6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に、NGリストファイル13e内に記述された名前を持つ部品モデルが存在するか否かを判定する。そして、この判定がNOであるときにはステップSJ9に進む一方、YESであるときにはステップSJ8に進む。
【0184】
ステップSJ8では、結果ファイルに”NG(NG干渉物有り)”と出力する。
【0185】
ステップSJ9では、結果ファイルに”OK”と出力する。
【0186】
図21は、不具合IX-iiを検出するための処理を示している。
【0187】
ステップSK1〜SK6ではそれぞれ、ステップSJ1〜ステップSJ6と同様の処理を実行する。
【0188】
ステップSK7では、ステップSJ6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に、”WELD NUT”と記述された名前を持つ部品モデルが存在するか否かを判定する。そして、この判定がNOであるときにはステップSK11に進む一方、YESであるときにはステップSK8に進む。
【0189】
ステップSK8では、ステップSK7で、”WELD NUT”なる名前を持つ部品モデルのネジピッチの値を、締結部品データベース13bを参照して取得する。また、ボルト軸部50aのネジピッチについても、同様に締結部品データベース13bを参照して取得する。
【0190】
ステップSK9では、ステップSK8で取得した”WELD NUT”なる部品モデルのネジピッチと、ボルト軸部50aのネジピッチとを比較して、両者が等しいか否かを判定する。そして、この判定がNOであるときにはステップSK12に進む一方、YESであるときにはステップSK10に進む。
【0191】
ステップSK10では、結果ファイルに”OK”と出力する。
【0192】
ステップSK7の判定がNOであるときに進むステップSK11では、本不具合IX-iの検出処理の対象外となるケースであると判断して、結果ファイルに”OK(対象外)”と出力する。
【0193】
ステップSK9がNOであるときに進むステップSK12では、結果ファイルに”ピッチアンマッチ”と出力する。
【0194】
図22は、不具合IX-iiiを検出するための処理を示している。
【0195】
ステップSL1〜ステップSL6ではそれぞれ、ステップSJ1〜ステップSJ6と同様の処理を実行する。
【0196】
ステップSL7では、ステップSL6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に、ボディパーツリストファイル内に記述された名前を持つ部品モデルが存在するか否かを判定し、この判定がNOであるときにはステップSL10に進む一方、YESであるときにはステップSL8に進む。
【0197】
ステップSL8では、ボルトモデルが焼き付き防止用のボルトであるか否かを判定し(ボルトモデルの情報に焼き付き防止フラグが含まれているか否かを判定し)この判定がNOであるときにはステップSL11に進む一方、YESであるときにはステップSL9に進む。
【0198】
ステップSL9では、結果ファイルに”OK”と出力する。
【0199】
ステップSL7の判定がNOであるときに進むステップSL10では、結果ファイルに”OK(検証対象外)”と出力する。
【0200】
ステップSL8の判定がNOであるときに進むステップSL11では、結果ファイルに”NG(焼き付き防止でない)”と出力する。
【0201】
上記制御部10は、上記結果ファイルに出力された情報を基に締結不具合I〜IXの少なくとも一つの不具合が生じている箇所のボルトモデル50を赤色で表示する。
【0202】
以上のように構成された設計検証装置Aにおいて、制御部10により不具合Iを検出するための処理が実行されると、図23に示すように、該ボルト軸部50aよりも小径で且つボルト軸部50aと同高さの円柱モデル20がボルト軸部50aに重複して生成される。そして、制御部10によって、この円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。
【0203】
ここで、不具合I(例えば図4(c)、(e)及び(g)に示す不具合)が発生している場合には、制御部10によって円柱モデル20と干渉する部品モデルが検出されるので、この場合は、ステップSA7の処理でYESと判定されて結果ファイルに”NG”が出力される。一方、不具合Iが発生していない場合には、制御部10によって円柱モデル20と干渉する部品モデルが検出されることもないので、この場合は、ステップSA7の処理でNOと判定されて結果ファイルに”OK”が出力される。
【0204】
上記制御部10により、不具合IIを検出するための検出処理が実行されると、図24に示すように、ボルトフランジ部50bと同径で且つ所定高さH2の薄肉円柱モデル20が生成され、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。制御部10では、生成した円柱モデル20をボルト軸部50aの基端部から先端部に向かって、該円柱モデル20の高さ分ずつシフトさせ、該シフトの度に干渉チェックを実行する。ここで、不具合IIとして締結部品同士の浮きが発生している場合には、制御部10において該円柱モデル20と部品モデルとの干渉が全く検出されない場合が生じるため、この場合(干渉が検出されない場合)は、ステップSB22の処理でNOと判定されて結果ファイルに”NG(浮き上がり)”が出力される。一方、不具合IIとして締結部品の沈み込みが発生している場合には、円柱モデル20が2つ以上の部品モデルと干渉する状態が2回連続して検出される場合が生じるので、この場合は、ステップSB10の処理でYESと判定されて結果ファイルに”沈み込みNG”が出力される。
【0205】
上記制御部10により不具合IIIを検出するための検出処理が実行されると、図25に示すように、X軸(ボルトモデル50を軸心方向から見てその中心から径方向外側に向かう軸)方向の+側に向かって所定径D3の円柱モデル20が順次生成され、該円柱モデル20が生成される度に、該円柱モデル20とその他の部品モデルとの干渉チェックが実行される。この干渉チェックの結果、他の部品モデル(被締結部品モデル2)との干渉が検出されると、当該円柱モデル20よりも小径(所定径D2)の円柱モデル20が、干渉が検出された円柱モデル20よりも1つ前に生成された円柱モデル20に接する位置からX軸方向の+側に向かって順次生成されて、該円柱モデル20が生成される度に、円柱モデル20とその他の部品モデルとの干渉チェックが実行される。そして、制御部10による円柱モデル20の直径寸法の変更回数が所定回数(図25では所定回数=2の場合を示している)に達した場合には、円柱モデル20(図25では所定径D3(<D2)の円柱モデル20)が被締結部品モデル2と干渉した時点で、当該円柱モデル20がボルトモデル50の軸心回りに180°回転移動され、該180°回転後の円柱モデル20とその他の部品モデルとの間で干渉チェックが実行される。
【0206】
ここで、ボルト軸部50aの軸心と、締結孔2kの軸心とがずれている場合には、上記180°回転後の円柱モデル20と被締結部品モデル2とが干渉しないか、又は、当該円柱モデル20と該円柱モデル20よりもモデル1個分だけボルト軸中心側にオフセットした円柱モデル20とが共に干渉することとなる。したがって、前者の場合は、ステップSC11の処理でYESと判定され、後者の場合には、ステップSC14の処理でNOと判定されて結果ファイルに”NG(軸心ずれ)”が出力される。一方、ボルト軸部50aの軸心と締結孔2kの軸心とが一致している場合(図25に示す場合)には、上記の2つの場合に該当しないので、ステップSC14の処理でYESと判定されて結果ファイルに”OKが出力される。
【0207】
上記制御部10により不具合IVを検出するための処理が実行されると、制御部10によって、ボルトモデル50が検索させるとともに、該ボルトモデル50に係合するナットモデル51を特定するべく、ボルトフランジ部50bと同径の円柱モデル20が生成されて、この円柱モデル20と干渉する”WELD.NUT"という名称の部品モデルが探索される。そして、制御部10によって、この探索した部品モデル(ナットモデル51の孔)とボルト軸部50aとを対象に、上述した不具合IIIを検出するためのロジックを適用して、ボルト軸部50aの径方向外側に円柱モデル20を順次生成して、ボルト軸部50aの軸心ずれが生じているか否かを検出する。制御部10では、この軸心ずれが検出されたときには、生成した円柱モデル20の直径値の総和を2倍した値をナットモデル51の孔径として算出し、この算出した孔径とボルト軸径とが一致していない場合には、結果ファイルに”NG孔径アンマッチ”を出力する一方、一致している場合には、結果ファイルに”OK”を出力する。
【0208】
上記制御部10により不具合Vを検出するための処理が実行されると、上述したボルト軸部50aの軸心ずれを検出したのと同様に、ボルト軸部50aの径方向外側(X軸方向の+側)に向かって円柱モデル20が順次生成されて、ボルト軸部50aの軸心ずれが生じているか否かが検出される。そして、制御部10によって、軸心ずれが生じていないと判断された場合には、生成した円柱モデル20の直径値の総和を2倍した値が締結孔2kの直径値として算出される。ここで、ボルトフランジ部50bのかかり代が不足している場合には、ボルトフランジ径から締結孔2kの直径値を引いた値が基準値以下となるので、この場合は、制御部10におけるステップSE22の処理でYESと判定されて結果ファイルに”NG(かかり代不足)”が出力される。一方、ボルトフランジ部50bのかかり代が十分に確保されている場合には、この直径値の差分値が基準値を上回ることとなるので、この場合は、ステップSE22の処理でNOと判定されて結果ファイルに”OK”が出力される。
【0209】
上記制御部10により不具合VIを検出するための処理が実行されると、ボルトフランジ部50bの座面からボルト先端側に向かって所定距離W1だけオフセットした位置に、ボルト軸部50aの周囲を囲むようにその周方向に並ぶ複数(本実施形態では7個)の円柱モデル20が生成され(図26参照)、該生成した各円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。この干渉チェックが終了すると、制御部10によって、上記生成した円柱モデル20を、ボルト基端部側に所定距離W1だけオフセットしてボルトフランジ部50bの上面側に配置し、この新たに配置した円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で再度干渉チェックが実行される。
【0210】
ここで、被締結部品モデル2の座面2fが傾いている場合(例えば図4(i)の場合)には、制御部10により各干渉チェックを実行したときに、複数の円柱モデル20の一部しか干渉しないこととなるので、この場合は、ステップSF8又はステップSF12の処理でYESと判定されて結果ファイルに”NG(傾き)”が出力される。また、ボルトモデル50が被締結部品モデル2に対して浮き上がっている場合(例えば図4(g)の場合)には、制御部10により最初の干渉チェックを実行したときに円柱モデル20と干渉する部品モデルが検出されないので、この場合には、ステップSF7の処理でYESと判定されて結果ファイルに”NG(浮き上がり)”が出力される。また、ボルトモデル50が被締結部品モデル2内に沈み込んでいる場合には、制御部10における各干渉チェックの双方において、各円柱モデル20の全てが他の部品モデルと干渉することとなるので、この場合には、ステップSF12の処理でNOと判定されて結果ファイルに”沈み込みNG”が出力される。
【0211】
上記制御部10により不具合VIIを検出するための処理が実行されると、図27に示すように、ボルト軸部50aの先端部に円柱モデル20が生成され、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。ここで、ボルト軸部50aの先端部が被締結部品モデル2に干渉する底付きが発生している場合(図5(a)の場合)には、当該円柱モデル20の先端部と被締結部品モデル2とが干渉することとなるので、この場合には、ステップSG7の処理でYESと判定されて結果ファイルに”NG(底付き)”が出力される。一方、底付きが発生していない場合には、円柱モデル20の先端部と被締結部品モデル2とが干渉することもないので、ステップSG7の処理でNOと判定されて結果ファイルに”OK”が出力される。
【0212】
上記制御部10により不具合VIIIを検出する処理の前半部が実行されると、ボルトモデル50の相手部品がナットモデル51である場合には、図28(a)に示すように、ボルト軸部50aの先端位置に、該ボルト軸部50aよりも大径の円柱モデル20が同軸に配置される。そして、制御部10によって、この円柱モデル20と、ボルトモデルを除く全ての部品モデルとの間で干渉チェックが実行される。
【0213】
ここで、ボルトモデル50のナットモデル51に対するかかり代が不足(ボルト軸長が不足)している場合には、図28(a)に示す如く、円柱モデル20とナットモデル51と干渉することとなるので、この場合は、ステップSH9の処理でYESと判定されて結果ファイルに”NG(長さ不足)”が出力される。
【0214】
図28(b)に示すように、ボルトモデル50の相手部品が被締結部品モデル2である場合には、ボルト軸部50aの先端位置から必要なかかり代分だけボルト軸心方向のボルト基端側にオフセットした位置に、ボルト軸部50aよりも大径の円柱モデル20が生成され、この円柱モデル20と、ボルトモデルを除く全ての部品モデルとの間で干渉チェックが実行される。
【0215】
ここで、ボルト軸部50aのかかり代が必要なかかり代よりも小さい場合には、円柱モデル20と干渉する部品モデルは検出されないので、この場合には、ステップSH12の処理でNOと判定されて結果ファイルに”NG(長さ不足)”が出力される。一方、かかり代が必要なかかり代以上である場合には、ステップSH12の処理でYESと判定されて結果ファイルに”OK”が出力される。
【0216】
上記制御部10により不具合VIIIを検出する処理の後半部が実行されると、図28(c)に示すように、ナットモデル60の上面(座面とは反対側の面)に円柱モデル20が生成されて、当該円柱モデル20と、ナットモデル60を除く全ての部品モデルとの間で干渉チェックが実行される。
【0217】
ここで、ボルトモデル61の軸長が不足している場合には、図28(c)に示すように、円柱モデル20とボルトモデル50とが干渉することもないので、この場合は、ステップSI7の処理でNOと判定されて結果ファイルに”NG(長さ不足)”が出力される。一方、ボルトモデル61の軸長が十分に確保されている場合には、ボルトモデル61の先端部がナットモデル60の上面よりも上側に突出して円柱モデル20と干渉することとなるので、この場合は、ステップSIの処理でYESと判定されて結果ファイルに”OK”が出力される。
【0218】
上記制御部10により不具合IX-iを検出するための処理が実行されると、図29に示すように、ボルトフランジ径と同径で且つボルト軸長と同高さの円柱モデル20が、ボルト軸部50aと同軸にその基端部から先端部に至る範囲に形成される。そして、制御部10により、この円柱モデル20と干渉する部品モデルが検出される。ここで、この干渉した部品モデルの中に、例えばラバー52等のNGリストファイル13eに記載された名前を持つ部品モデルが含まれている場合には、必要な締結力を得ることができないので、この場合は、ステップSJ7の処理でYESと判定されて”NG(NG部品有り)”が出力される。
【0219】
上記制御部10により不具合IX-iiを検出するための処理が実行されると、不具合IX-iを検出したのと同様に、図29に示す円柱モデル20が形成されて、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックを実行することにより、該円柱モデル20に干渉する部品モデルの中から”WELD.NUT”という名称を持つ部品モデルを探索する。制御部10では、探索した部品モデル(ナットモデル51)のピッチ情報を締結部品データベース13bの中から取得し、この取得したナットモデル51のピッチと、ボルトモデル50のピッチとを比較して、両者が一致しない場合には結果ファイルに”NG(ネジピッチアンマッチ)”を出力する一方、一致する場合には結果ファイルに”NG”を出力する。
【0220】
上記制御部10により不具合IX-iiiを検出するための処理が実行されると、上記不具合IX-iを検出したのと同様に、図29に示す円柱モデル20が形成され、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。ここで、干渉した部品モデルがボディ部材である場合には、設計上の観点からボルトには焼き付き防止用ボルトを使用する必要があるが、上記ボルトモデルが焼き付き防止用でない場合には、ステップSL8の処理でNOと判定されて、結果ファイルに”NG(焼き付き防止でない)”が出力される。一方、ボルトモデル50が焼き付き防止用である場合には、ステップSL8の処理でYESと判定されて結果ファイルに”OK”が出力される。
【0221】
そして、制御部10は、上述の如く、結果ファイルに出力された情報を基に締結不具合I〜IXが生じている箇所のボルトモデル50を赤色で表示する。これにより、オペレータは、不具合発生箇所を視覚を通じて認識することができる。
【0222】
ここで、上記実施形態では、制御部10による干渉チェックの対象部品としてボルトモデル50を除く代わりに、フランジ部等を有さない円柱モデル20を生成して、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとに対して干渉チェックを行うようにしているので、干渉しても良い箇所までもが不具合箇所として赤色で表示されるのを防止することができる。
【0223】
以上の如く、上記実施形態では、不具合I〜IXに応じて、形状、個数、大きさ、及び配置位置等が異なる円柱モデル20を生成して、この円柱モデル20と、ボルトモデルを除く全ての部品モデルとの干渉チェックを実行することで、各不具合I〜IXを効率良く検出することができる。
【0224】
(変形例)
図30は、本発明の変形例2を示し、不具合IIIの検出処理を上記実施形態とは異ならせたものである。すなわち、この変形例では、上記実施形態における図13及び図14に示す処理を、X軸方向のみならずX軸方向に直交するY軸方向においても実行するようにしている。
【0225】
これによれば、締結孔2kが楕円形である場合でも、締結孔2kに対するボルトモデル50の軸心ずれを精度良く検出することができる。
【0226】
(他の実施形態)
本発明の構成は、上記実施形態に限定されるものではなく、それ以外の種々の構成を包含するものである。すなわち、上記実施形態では、主にボルトモデル50に関連する締結不具合の検出処理について説明したが、同じ原理でナットモデル60に関連する締結不具合も検出することができる。
【0227】
具体的には、例えば不具合Iを検出する場合には、制御部10によって、ナットモデル60の孔径を読み込んだ上で、読み込んだ孔径と同径の円柱モデル20をナットモデル60の軸中心に生成して(図31参照)、生成した円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックを実行するようにすればよい。また、不具合IIを検出する場合には、ナットモデル60の軸中心に円柱モデル20を生成してその高さ分ずつオフセットさせるようにすればよい(図32参照)。その他、不具合IV〜IXを検出するにあたっては、図6〜図22のフローチャートにおいてそれぞれ、ボルトモデル50をナットモデル60に適宜置き換えるようにすればよい。
【0228】
上記実施形態では、制御部10における不具合IIIの処理を実行する際に、複数の円柱モデル20をボルト軸中心側から径方向外側に向かって順次配置するようにしているが、これら複数の円柱モデル20を同時に配置するようにしてもよい。これにより、制御部10における演算処理時間を短縮することができる。
【0229】
上記実施形態では、車両の車体のアセンブリモデル中に含まれる締結部品モデル1と被締結部品モデル2との締結不具合を検出するようにしているが、これに限ったものではなく、例えば、航空機、船舶、電化製品等のアセンブリモデルを対象アセンブリとして採用するようにしてもよい。
【0230】
また、上記実施形態では、締結部品モデル1としてボルトモデル50やナットモデル60を用いた例を示したが、これに限ったものではなく、例えば、ボルトモデル50とナットモデル51との組合せを、スクリューのモデルとグロメットのモデルとの組合せとしてもよいし、ボルトモデル50をファスナのモデルとしてもよい。
【0231】
また、上記実施形態では、制御部10において不具合I〜IXを検出するための処理を全て実行するようにしているが、これに限ったものではなく、例えば、不具合I〜IXのうちの一部を実行するようにしてもよい。
【産業上の利用可能性】
【0232】
本発明は、3D−CADモデル化された締結部品モデルと被締結部品モデルとの締結不具合をコンピュータにより検出する設計検証方法及び設計検証装置に有用であり、特に、車両の車体モデル中に含まれる締結部品モデルと被締結部品モデルとの締結不具合を検出する場合に有用である。
【符号の説明】
【0233】
1 締結部品モデル
2 被締結部品モデル
2k 挿通孔(締結孔)
10 制御部(モデル生成部、検証チェック部、不具合検出部)
20 円柱モデル
50 ボルトモデル(被締結部品モデル)
50a 軸部
50b フランジ部
60 ナットモデル(締結部品モデル)
【技術分野】
【0001】
本発明は、3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合をコンピュータにより検出する設計検証方法及び設計検証装置に関する技術分野に属する。
【背景技術】
【0002】
従来より、コンピュータにより3次元のCADデータを使用して部品の干渉チェックを行う方法は知られている。
【0003】
この種の方法では、部品と部品とが当接している箇所を干渉部位として検出するようにしているため、例えばネジとネジ孔との係合部(当接部)など、本来、干渉してもよい部位まで干渉部位として検出してしまうという問題があり、この問題を解決するべく、これまでにも様々な方法が提案されている。
【0004】
例えば、特許文献1に示すものでは、ネジ部以外の箇所や、歯車の噛合い部以外の箇所を、部品同士が干渉してはいけない領域として予め設定し、この干渉をしてはいけない領域のみに対して干渉チェックを実施するようにしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−48221号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、従来の方法では、締結部品モデルと被締結部品モデルとの干渉を検出することはできても、例えば、部品同士が当接せずに浮いた状態で配置されている場合等の不具合を検出することができないという問題がある。このため、設計者は、これらの不具合を一つずつ目で見て探す他なく、この種の不具合を見つけるための設計者の負担が大きくなり、延いては、不具合の見逃しや作業工数の増加を招くという問題がある。
【0007】
本発明は、斯かる点に鑑みてなされたものであり、その目的とするところは、締結部品モデルと被締結部品モデルとの干渉のみならず両部品モデル間の浮き上がり等の不具合を締結不具合として、人間による最終的な判断によらずコンピュータによって迅速に且つ確実に検出する方法及び装置を提供しようとすることにある。
【課題を解決するための手段】
【0008】
上記の目的を達成するために、この発明では、検出しようとする締結不具合の種類に応じて、所定形状の円柱モデルを所定の位置に生成するとともに、該生成した円柱モデルと被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するようにした。
【0009】
具体的には、請求項1の発明では、3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合をコンピュータにより検出する設計検証方法を対象とする。
【0010】
そして、上記締結不具合の種類に応じた所定形状の円柱モデルを生成するモデル生成ステップと、上記モデル生成ステップにて生成された円柱モデルを、上記締結不具合の種類に応じて、上記締結部品モデルに対し所定の位置関係で配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出する不具合検出ステップと、を備えているものとする。
【0011】
これによれば、締結部品モデルと被締結部品モデルとの干渉のみならず両部品モデル間の浮き上がり等の不具合を締結不具合として、人間による最終的な判断によらずコンピュータによって迅速に且つ確実に検出することができる。
【0012】
請求項2の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記モデル生成ステップは、上記締結部品モデルの軸部よりも小径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部に対して略同軸に且つ重畳して配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0013】
これによれば、例えば、締結部品モデルの軸部の軸心位置と、被締結部品モデルの挿通孔の軸心位置とがずれているために両モデルが干渉する状態を、締結不具合(軸心ずれ)として容易に検出することができる
請求項3の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、上記モデル生成ステップは、上記フランジ部と略同径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部における軸心方向の異なる位置に配置し、該各位置において、該円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0014】
これによれば、例えば、締結部品モデルによって締結される一対の被締結部品モデルのうちの一方が、他方の被締結部品モデルに対して浮いている状態や、逆に沈み込んでいる状態を、締結不具合(浮き、重なり)として容易に検出することができる。
【0015】
請求項4の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記モデル生成ステップは、上記締結部品モデルの軸部と略同径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸中心側からその径方向外側に向かって順次配置するとともに、該各円柱モデルを配置する度に、該各円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックにより上記被締結部品モデルと干渉する円柱モデルが検出された場合には、当該円柱モデルを上記締結部品モデルの軸中心回りに180°反転させた位置に配置し、該配置した円柱モデルと該被締結部品モデルとの干渉チェックを実行して、該干渉チェックにより干渉が検出された場合には上記締結不具合を検出したものとする不具合検出処理を実行するステップであるものとする。
【0016】
これによれば、締結部品モデルと被締結部品モデルとが互いに干渉していなものの、締結部品モデルの軸部と、被締結部品モデルの挿通孔とがずれている状態を、締結不具合(軸心ずれ)として容易に検出することができる。
【0017】
請求項5の発明では、請求項4の発明において、上記不具合検出ステップは、上記締結部品モデルの軸中心側からその径方向外側に向かう所定方向において上記不具合検出処理を実行するとともに、該実行後に、該所定方向に直交する方向において上記不具合検出処理を実行するステップであるものとする。
【0018】
これによれば、例えば、挿通孔が楕円形である場合でも、上記軸心ずれを締結不具合として容易に検出することができる。
【0019】
請求項6の発明では、請求項4又は5の発明において、上記モデル生成ステップは、上記不具合検出ステップにて上記干渉チェックが実行されることにより上記被締結部品モデルと干渉する円柱モデルが検出された場合には、当該円柱モデルよりも小径の円柱モデルを生成するステップをさらに含み、上記不具合検出ステップは、上記モデル生成ステップにて上記小径の円柱モデルが生成された場合には、上記小径の円柱モデルによって上記不具合検出処理を実行するステップであるものとする。
【0020】
これによれば、上記不具合検出処理で用いる円柱モデルの径を徐々に小さくして行くことで、上記軸心ずれをより一層精度良く検出することができる。
【0021】
請求項7の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、上記モデル生成ステップは、上記締結部品モデルのフランジ部の直径から上記軸部の直径を差し引いた距離を直径値とする複数個の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された複数個の円柱モデルを、上記締結部品モデルの軸部の周囲に周方向に並べた状態で、該軸部の軸心方向の異なる位置に順次配置し、該配置の度に上記各円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0022】
これによれば、締結部品モデルの座面(フランジ部)が被締結部品モデルに沈み込んでいる状態や、締結部品モデルの座面(フランジ部)が被締結部品モデルに対して浮き上がっている状態、及び、締結部品モデルの座面が当接する被締結部品モデルの締結座面が傾いている状態をそれぞれ、締結不具合(沈み込み、浮き、傾き)として容易に検出することができる。
【0023】
請求項8の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有するものであり、上記モデル生成ステップは、上記締結部品モデルの軸部と略同径の円柱モデルを生成するものであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの先端位置に配置し、該配置した円柱モデルと、該円柱モデルの周辺に存在する部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0024】
これによれば、締結部品モデルの軸部が、他の部品モデルと干渉する状態を、締結不具合(底付き)として容易に検出することができる。
【0025】
請求項9の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、上記締結部品モデルの軸部には、ナットのモデルが孔嵌合により締結されるものであり、上記モデル生成ステップは、上記締結部品モデルの軸部よりも大径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部の先端位置に該軸部と同軸に配置するとともに、該配置した円柱モデルと上記ナットモデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0026】
これによれば、締結部品モデルの選定ミス等によって生じる締結部品モデルの軸部の長さ不足を、締結不具合として容易に検出することができる。
【0027】
請求項10の発明では、請求項1の発明において、上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、上記モデル生成ステップは、上記締結部品モデルのフランジ部の外径と略同径の円柱モデルを生成するステップであり、上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部と同軸に且つ該締結部品モデルのフランジ部の座面側に配置して、該配置した円柱モデルとその周辺に存在する部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであるものとする。
【0028】
これによれば、例えば、上記円柱モデルと干渉する部品の中に、ラバー等の締結力を減少させるNG部品が含まれているか否かをチェックすることで、このようなNG部品に起因して生じる締結不具合を容易に検出することができる。
【0029】
請求項11の発明では、3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合を検出する設計検証装置を対象とする。
【0030】
そして、上記締結不具合の種類に応じた所定形状の円柱モデルを生成するモデル生成部と、上記締結不具合の種類に応じて、上記締結部品モデルに対し所定の位置関係で配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行する
干渉チェック部と、上記干渉チェック部における干渉チェックの結果を基に、上記締結不具合を検出する不具合検出部と、を備えているものとする。
【0031】
これによれば、請求項1の発明と同様の作用効果を得ることができる。
【発明の効果】
【0032】
以上説明したように、本発明では、検出しようとする締結不具合の種類に応じて、所定形状の円柱モデルを所定の位置に生成するとともに、該生成した円柱モデルと被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するようにしたことで、締結部品モデルと被締結部品モデルとの干渉のみならず両部品モデル間の浮き上がり等の不具合を締結不具合として、人間による最終的な判断によらず迅速に且つ確実に検出することができる。
【図面の簡単な説明】
【0033】
【図1】本発明の実施形態に係る設計検証装置の概略構成を示すブロック図である。
【図2】締結部品モデルと被締結部品モデルとが正常に配置された状態と、締結不具合Iの例とを示す概略図である。
【図3】締結不具合II〜IVの例を示す概略図である。
【図4】締結不具合V及びVIの例を示す概略図である。
【図5】締結不具合VII〜IXの例を示す概略図である。
【図6】制御部における締結不具合Iの検出処理を示すフローチャートである。
【図7】制御部における締結不具合IIの検出処理を示すフローチャートのである。
【図8】制御部における締結不具合IIの検出処理を示すフローチャートである。
【図9】制御部における締結不具合IIIの検出処理を示すフローチャートである。
【図10】制御部における締結不具合IIIの検出処理を示すフローチャートである。
【図11】制御部における締結不具合IVの検出処理を示すフローチャートである。
【図12】制御部における締結不具合IVの検出処理を示すフローチャートである。
【図13】制御部における締結不具合Vの検出処理を示すフローチャートである。
【図14】制御部における締結不具合Vの検出処理を示すフローチャートである。
【図15】制御部における締結不具合VIの検出処理を示すフローチャートである。
【図16】制御部における締結不具合VIの検出処理を示すフローチャートである。
【図17】制御部における締結不具合VIIの検出処理を示すフローチャートである。
【図18】制御部における締結不具合VIIIの検出処理を示すフローチャートである。
【図19】制御部における締結不具合VIIIの検出処理を示すフローチャートである。
【図20】制御部における締結不具合IX-iの検出処理を示すフローチャートである。
【図21】制御部における締結不具合IX-iiの検出処理を示すフローチャートである。
【図22】制御部における締結不具合IX-iiiの検出処理を示すフローチャートである。
【図23】締結不具合Iの検出処理を説明するための説明図である。
【図24】締結不具合IIの検出処理を説明するための説明図である。
【図25】締結不具合IIIの検出処理を説明するための説明図である。
【図26】締結不具合VIの検出処理を説明するための説明図である。
【図27】締結不具合VIIの検出処理を説明するための説明図である。
【図28】締結不具合VIIIの検出処理を説明するための説明図である。
【図29】締結不具合IX-i〜IX-iiiの検出処理を説明するための説明図である。
【図30】本発明の実施形態の変形例を示す図25相当図である。
【図31】他の実施形態を示す図23相当図である。
【図32】他の実施形態を示す図24相当図である。
【発明を実施するための形態】
【0034】
以下、本発明の実施形態を図面に基づいて詳細に説明する。
【0035】
図1は、本発明の実施形態に係る設計検証装置Aの概略構成を示す。この設計検証装置Aはコンピュータからなっていて、3D−CADソフトにより作成された対象アセンブリモデルの中に存在する締結部品モデル1と被締結部品モデル2との締結不具合を検出するものである。
【0036】
ここで、本実施形態では、対象アセンブリモデルは、設計対象とする車両の車体及び該車体に組み付けられる部品のモデルであり、被締結部品モデル2は車体を構成する各車体パネルのモデルである。締結部品モデル1は、ボルト、ナット、ファスナ、又はタッピングスクリュー等のモデルである。
【0037】
上記設計検証装置Aは、種々の情報処理を行う制御部10と、該設計検証装置Aを操作するオペレータ(車体の設計者等)が該制御部10に対し情報を入力するためのキーボードやマウス等からなる入力部11と、制御部10から出力された情報を表示するディスプレイ等からなる表示部12と、各種データや、制御部10が後述の不具合検出処理を実行するためのプログラムを記憶する記憶部13とを備えている。
【0038】
制御部10には、不具合検出処理中にデータ等を一時的に記憶するメインメモリ10aが設けられている。上記記憶部13には、上記車体のアセンブリモデルに関する3D−CADデータ13aや、締結部品データベース13b、干渉チェックプログラム13c、ボディパーツリストデータ13d、及びNGリストファイル13eが記憶されている。
【0039】
3D−CADデータには、車体を構成する被締結部品モデル2(各車体パネル等)や締結部品モデル1(ボルトモデル等)のCADデータも含まれている。ここで、CADデータとは、各モデルの幾何学的な位置情報や形状情報をコンピュータによって読み込み可能にデータ化したものである。
【0040】
締結部品データベース13bは、締結部品モデル1の属性値(ボルト軸長、ボルトフランジ径、ネジピッチ等)に関する情報をデータベース化したものである。
【0041】
干渉チェックプログラム13cは、各モデル同士の当接箇所や各モデル同士の重複(重畳)箇所を検出する干渉チェック用のプログラムである。
【0042】
ボディパーツリストデータ13dは、ボディ部品(車体部品)として使用される部品名をリスト化したものである。
【0043】
NGリストファイル13eは、例えばラバー52等、締結部品の締結力を低減させる恐れのある部品等をNG部品として予めリスト化したものである。
【0044】
上記オペレータは、設計検証を行う際には、上記入力部11を介して、設計検証を行おうとする車両の車体モデルを選択する。制御部10は、オペレータが選択した車体モデルの3D−CADデータを、上記記憶部13から読み込んで表示部12に3次元形式で表示する。オペレータは、表示された車体モデルが上記選択したモデルであることを確認した上で、入力部11を介して、該車体モデル中に存在する締結不具合を検出するための所定操作を実行する。制御部10では、この所定操作を受けて上記車体モデルに対して不具合検出処理を実行する。
【0045】
ここで、締結不具合とは、締結部品モデル1と被締結部品モデル2とが干渉している場合のみならず、未干渉ではあるが互いの相対位置が本来あるべき設計位置からずれている場合等も含んでいる。
【0046】
具体的には、上記制御部10が検出することができる締結不具合は、不具合I〜IXに大別することができる。以下、締結部品モデル1として、フランジ付きボルトのモデル50(以下、ボルトモデル50という)と、フランジ付きナットのモデル60(以下、ナットモデル60という)とを想定して、これらの不具合I〜IXについて説明する。尚、以下の説明において、ナットモデル51は、フランジ部を有さない通常のボルトのモデルであり、ボルトモデル61はフランジ部を有さない通常のナットのモデルである。
【0047】
不具合Iとしては、締結部品モデル1と被締結部品モデル2との相対的な位置関係が、すれているために、両者が干渉しているケース(図2(c)〜(f)参照)や、締結部品モデル1の径寸法又は被締結部品モデル2の締結孔2kの径寸法が設計値からずれているために、両者が干渉しているケース(図2(g)及び(h)参照)等が相当する。
【0048】
不具合IIとしては、締結部品モデル1によって互いに締結される2つの被締結部品モデル2a,2bの締結面2g、2hが互いに当接せずに、両者の間に隙間(浮き)が生じているケース(図3(a)及び(b)参照)や、一方の被締結部品モデル2aの締結面2gが他方の被締結部品モデル2b内に沈み込んでしまっているケース(図3(c)及び(d)参照)が相当する。
【0049】
不具合IIIとしては、締結部品モデル1と被締結部品モデル2とで干渉する部位は生じていないものの、締結部品モデル1の軸心と、被締結部品モデル2の締結孔2kの軸心とがずれてしまっているケース(図3(e)及び(f)参照)が相当する。
【0050】
具体的には、図3(e)に示す例では、ボルトモデル50の軸心位置が、被締結部品モデル2の締結孔2kの軸心位置に対してずれている様子を示し、図3(f)に示す例では、ナットモデル60の軸心位置が、被締結部品モデル2の締結孔2kの軸心位置に対してずれている様子を示している。尚、各図の左側の図は、締結孔2kが真円形である場合を示し、右側の図は、締結孔2kが楕円径である場合を示している。
【0051】
不具合IVとしては、図3(g)に示すように、ボルトモデル50に係合するナットモデル51の孔径寸法が設計値よりも大きいために、ボルトモデル50とナットモデル51との係合部に隙間が生じているケースや、図3(h)に示すように、ナットモデル60の孔径寸法が設計値よりも大きいために、該ナットモデル60と、該ナットモデル60に係合するボルトモデル61との係合部に隙間が生じているケースが相当する。
【0052】
不具合Vとしては、ボルトモデル50やナットモデル60の座面のかかり代が不足しているケース(図4(a)〜(d)参照)が相当する。
【0053】
不具合VIとしては、ボルトモデル50の座面やナットモデル60の座面が、被締結部品モデル2a内に沈み込んでしまっているケース(図4(e)及び(f)参照)や、ボルトモデル50やナットモデル60の座面が、被締結部品モデル2aの締結座面2fに対して浮き上がっているケース(図4(g)及び(h)参照)、さらには、被締結部品モデル2aの締結座面2fが、ボルトモデル50の座面やナットモデル60の座面に対して平行でなく傾斜してしまっているケース(図4(i)及び(j))が相当する。
【0054】
不具合VIIとしては、ボルトモデル50の先端部がその他の部品モデル70と干渉しているケース(図5(a)参照)が相当する。
【0055】
不具合VIIIとしては、ボルトモデル50のネジ部又はナットモデル60のネジ部のネジ山のかかり代が不足するケース(図5(b)〜(d)参照)が相当する。
【0056】
不具合IXは、不具合IX-i〜IX-iii(図5では不具合IX-iのみを示す)の3つのパターンを含んでおり、不具合IX-iとしては、被締結部品モデル2(ボルトモデル50、ナットモデル60等)と被締結部品モデル2との間や、締結部品モデル1の座面と被締結部品モデル2との間にラバー52等の介在物が存在するケース(図5(e)及び(f)参照)が相当する。
【0057】
不具合IX-iiとしては、ボルトモデル50のネジ山のピッチがその相手側のナットモデル51のネジ山のピッチと異なっているケースが相当する。
【0058】
不具合IX-iiiとしては、締結部品モデル1により締結される被締結部品モデル2がボディ部品(車体部品)であるにも拘わらず、締結部品モデル1の属性が焼き付き防止用モデルになっていないケースが相当する。
【0059】
そして、本実施形態では、制御部10は、円柱モデル生成処理を実行するに際して、締結不具合の種類(不具合I〜IX)に応じて、円柱モデル20の生成形態を異ならせることで不具合I〜IXを検出する。具体的には、制御部10における不具合検出処理は、締結不具合I〜IVの種類に応じて、所定形状の円柱モデル20を生成する円柱モデル生成処理と、この円柱モデル20を、締結不具合合I〜IVの種類に応じて所定位置に配置して、該配置した円柱モデル20と被締結部品モデル2との干渉チェックを実行するとともに、該干渉チェックの結果を基に、締結部品モデル1と被締結部品モデル2との締結不具合を検出する検出処理からなる。
【0060】
上記制御部10が実行する不具合検出処理の詳細を、図6〜図22のフローチャートに基づいて説明する。尚、本実施形態では、主にボルトモデル50に関連する不具合の検出処理(図2〜5の左側の列に示す不具合)について説明する。
【0061】
図6は不具合Iを検出するための処理を示している。
【0062】
先ず、ステップSA1では、オペレータが入力部11を介して選択した車体モデルを識別して、当該車体モデルの3D−CADデータを記憶部13からメインメモリ10a上にロードする。
【0063】
ステップSA2では、ステップSA1でロードした3D−CADデータを基に、車体モデルに含まれる締結部品モデル1を検索する。
【0064】
ステップSA3では、ステップSA2で検索した締結部品モデル1の中からボルトモデル50を抽出するとともに、その属性値を締結部品データベース13bから検索する。
【0065】
ステップSA4では、ステップSA3で検索した属性値(材質や形状)の中から、ボルト軸部50aの長さ(以下、ボルト軸長という)及びボルト軸部50aの外径(以下、ボルト軸径という)を読み込む。
【0066】
ステップSA5では、ステップSA4で読み込んだボルト軸径よりも小さい所定径(本実施形態では、ボルト軸部50aのネジ部の谷径)を有し且つ読み込んだボルト軸長と同高さの円柱モデル20を生成する。そして、生成した円柱モデル20を、ボルトモデル50のボルト軸部50aに重複して配設する。換言すると、円柱モデル20を、ボルト軸部50aと同軸にその基端面から先端面に至る全範囲に形成する。尚、所定径は、許容される軸心ずれ量等に応じて設定される。
【0067】
ステップSA6では、ステップSA5で生成した円柱モデル20と、ボルトモデル50を除く全ての部品との間で干渉チェックを実行する。干渉チェックを実行するには、記憶部13内に記憶された干渉チェックプログラムをロードして実行すればよい。
【0068】
ステップSA7では、ステップSA6で実行した干渉チェックの結果、干渉が検出されたか否かを判定し、この判定がYESであるときにはステップSA8に進み、NOであるときにはステップSA9に進む。
【0069】
ステップSA8では、不具合Iが発生しているものとして、結果ファイルに”NG”を出力する。
【0070】
ステップSA9では、不具合Iが発生していないものとして、結果ファイルに”OK”を出力し、しかる後に、不具合Iの検出処理を終了する。
【0071】
図7及び図8は不具合IIを検出するための処理を示している。
【0072】
ステップSB1〜ステップSB4では、それぞれ、ステップSA1〜ステップSA4と同様の処理を実行する。
【0073】
ステップSB5では、ステップSB4で読み込んだボルト径よりも大きい所定径(本実施形態では読み込んだボルトフランジ径)を有し且つ所定高さ(本実施形態では、ネジピッチの3〜5倍)の円柱モデル20を生成する。そして、生成した円柱モデル20を、ボルト軸部50aと同軸に且つボルト軸部50aの基端位置に配置する(図24参照)。
【0074】
ステップSB6では、ステップSB5で生成した円柱モデル20と、ボルトモデル50を除く全ての部品との間で干渉チェックを実行する。
【0075】
ステップSB7では、ステップSB6で実行した干渉チェックの結果を基に、「円柱モデル20と干渉する部品モデルがない」か否か判定し、この判定がYESであるときにはステップSB12に進む一方、NOであるときにはステップSB8(図8参照)に進む。
【0076】
ステップSB8では、ステップSB6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの数が1つであるか否かを判定し、この判定がYESであるときにはステップSB21に進む一方、NOであるときにはステップSB9に進む。
【0077】
ステップSB9では、”2つ以上干渉あり”カウンタを1つだけ増加させ、その他のカウンタ(”干渉なし”カウンタ、”1つ干渉あり”カウンタ)を0にする。
【0078】
ステップSB10では、”2つ以上干渉あり”カウンタが2であるか否かを判定し、この判定がYESであるときには、結果ファイルに「沈み込みNG」を出力する一方、NOであるときにはステップSB11(図8参照)に進む。
【0079】
ステップSB11では、円柱モデル20をボルト軸部50aの基端側から先端側に向かって該円柱モデル20の高さ分だけオフセットさせる。
【0080】
ステップSB7の判定がYESであるときに進むステップSB12では、円柱モデル20をボルト軸部50aの基端部から先端部まで(ボルト軸部50aの全長に亘って)シフトさせたか否か判定し、この判定がNOであるときにはステップSB17に進む一方、YESであるときにはステップSB13に進む。
【0081】
ステップSB13では、”干渉なし”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB18に進む一方、YESであるときにはステップSB14に進む。
【0082】
ステップSB14では、”1つ干渉あり”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB19に進む一方、YESであるときにはステップSB15に進む。
【0083】
ステップSB15では、”2つ以上干渉あり”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB20に進む一方、YESであるときにはステップSB16に進む。
【0084】
ステップSB16では、結果ファイルに”NG(浮き上がり)”を出力する。
【0085】
ステップSB12の判定がNOであるときに進むステップSB17では、”干渉なし”カウンタを1つ増加させ、その他のカウンタを0に設定し、しかる後にステップSB11に戻る。
【0086】
ステップSB13〜ステップSB15の判定がそれぞれNOであるときに進むステップSB18〜ステップSB20では、結果ファイルに”OK”を出力する。
【0087】
ステップSB8の判定がYESであるときに進むステップSB21では、ステップSB12と同様に、円柱モデル20をボルト軸部50aの全長に亘ってシフト(オフセット)させたか否かを判定し、この判定がNOであるときにはステップSB26に進む一方、YESであるときにはステップSB22に進む。
【0088】
ステップSB22では、”干渉なし”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB27に進む一方、YESであるときにはステップSB23に進む。
【0089】
ステップSB23では、”1つ干渉あり”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB28に進む一方、YESであるときにはステップSB24に進む。
【0090】
ステップSB24では、”2つ以上干渉あり”カウンタが0であるか否かを判定し、この判定がNOであるときにはステップSB29に進む一方、YESであるときにはステップSB25に進む。
【0091】
ステップSB25では、結果ファイルに”OK”を出力する。
【0092】
ステップSB21の判定がNOであるときに進むステップSB26では、”1つ干渉あり”カウンタを1つ増加させ、その他のカウンタを0に設定し、しかる後にステップSB11に進む。
【0093】
ステップSB22がNOであるときに進むステップSB27では、結果ファイルに”浮き上がりNG”と出力する。
【0094】
ステップSB23及びステップSB24の判定がそれぞれNOであるときに進むステップSB28及びステップSB29では、結果ファイルに”OK”を出力する。
【0095】
図9及び図10は不具合IIIを検出するための処理を示している。
【0096】
ステップSC1〜ステップSC4では、それぞれ、ステップSA1〜ステップSA4と同様の処理を実行する。
【0097】
ステップSC5では、所定径D1(例えばボルト軸径の1/2)の円柱モデルを生成して、ボルト軸部50aの軸中心(軸方向から見た中心)から径方向外側に延びるX軸上に、該生成した円柱モデル20を、その軸心位置がボルト軸部50aの軸中心(原点)からD1/2(D1÷2)の位置になるように配置する(図25参照)。円柱モデル20の高さは所定高さ(例えばボルト軸長と同高さ)に設定すればよい。
【0098】
ステップSC6では、ステップSC5で生成した円柱モデル20と、ボルトモデル50を除く全ての部品との間で干渉チェックを実行する。
【0099】
ステップSC7では、ステップSC6の干渉チェックの結果を基に、「円柱モデル20と干渉する部品モデルがない」か否かを判定し、この判定がYESであるときにはステップSC16に進む一方、NOであるときにはステップSC8(図10参照)に進む。
【0100】
ステップSC8では、円柱モデル20の直径を変化させた回数が所定回数に達したか否かを判定し、この判定がYESであるときにはステップSC19に進む一方、NOであるときにはステップSC9に進む。
【0101】
ステップSC9では、最後に干渉を検知した円柱モデル20を、原点(ボルト軸部50aの軸心)を中心として180°回転した位置に配置する(つまり円柱モデル20の配置位置を原点回りに反転させる)。尚、これに伴って、計算軸として設定したX軸も原点を中心として180°回転させる。
【0102】
ステップSC10は、180°回転させた円柱モデル20と、上記ボルトモデル50を除く全ての部品との間で干渉チェックを実行する。
【0103】
ステップSC11では、ステップSC10の干渉チェックの結果を基に、「円柱モデル20と干渉する部品モデルがない」か否かを判定し、この判定がYESであるときにはステップSC20に進む一方、NOであるときにはステップSC12に進む。
【0104】
ステップSC12では、180°回転させた円柱モデル20をX軸方向の原点側(ボルト軸部50a側)にモデル1個分だけシフトさせてなる円柱モデル20を生成する。
【0105】
ステップSC13では、ステップSC12で生成した円柱モデル20と、上記ボルトモデル50を除く全ての部品モデルとの間で干渉チェックを実行する。
【0106】
ステップSC14では、「円柱モデル20と干渉する部品モデルがない」か否かを判定し、この判定がYESであるときにはステップSC21に進む一方、NOであるときにはステップSC15に進む。
【0107】
ステップSC7の判定がNOであるときに進むステップSC16では、生成した円柱モデル20の直径値の総和が所定値以上であるか否かを判定し、この判定がYESであるときにはステップSC18に進む一方、NOであるときにはステップSC17に進む。
【0108】
ステップSC17では、前回生成した円柱モデル20をX軸方向の+側(つまりボルト軸部50aの径方向外側)に向かってモデル一個分だけシフトさせてなる円柱モデル20を生成し、しかる後にステップSC6に進む。
【0109】
ステップSC18では、結果ファイルに”NG(軸心ずれ)”と出力する。
【0110】
ステップSC8の判定がYESであるときに進むステップSC19では、最後に干渉した円柱モデル20を消去してそれよりも小径の円柱モデル20を生成し、生成した円柱モデル20を前回生成した円柱モデル20に周接するようにX軸上に配置する。
【0111】
図11及び図12は、不具合IVを検出するための処理を示している。
【0112】
ステップSD1〜ステップSD3ではそれぞれ、ステップSA1〜ステップSA3と同様の処理を実行する。
【0113】
ステップSD4では、ステップSD3で検索した属性値(材質や形状データ)の中から、ボルト軸長、ボルト軸径、及びボルトフランジ径を読み込む。
【0114】
ステップSD5では、ステップSD4で読み込んだボルトフランジ径と同径で且つ読み込んだボルト軸長と同高さの円柱モデル20を、ボルト軸部50aの基端部から先端部に至る全範囲に亘って該ボルト軸部50aと同軸に生成する。
【0115】
ステップSD6では、ステップSD5で生成した円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックを実行する。
【0116】
ステップSD7では、ステップSD6で実行した干渉チェックの結果を基に、「円柱モデル20と干渉する”WELD.NUT”という名称の部品モデルがない」か否かを判定する。そして、この判定がYESであるときにはステップSD19に進む一方、NOであるときにはステップSD8に進む
ステップSD8では、所定径D1(例えばボルト軸径の1/2)の円柱モデルを生成して、ボルト軸部50aの軸中心(軸方向から見た中心)から径方向外側に延びるX軸上に、該生成した円柱モデル20を、その軸心位置がボルト軸部50aの軸中心(原点)からD1/2(D1÷2)の位置になるように配置する(図25参照)。円柱モデル20の高さは所定高さ(例えばボルト軸長と同高さ)に設定すればよい。
【0117】
ステップSD9では、生成した円柱モデル20と、ボルトモデルを除く全ての部品モデルとの間で干渉チェックを実行する。
【0118】
ステップSD10では、「円柱モデル20と干渉する”WELD.NUT”という名称の部品モデルがない」か否かを判定し、この判定がYESであるときにはステップSD20に進む一方、NOであるときにはステップSD11に進む。
【0119】
ステップSD11からステップSD18では、ステップSC8〜ステップSC15と同様の処理を実行する。
【0120】
ステップSD7の判定がYESであるときに進むステップSD19では、本不具合IIIの検出処理の対象外となるケースであると判断して、結果ファイルに”対象外”と出力する。
【0121】
ステップSD20〜ステップSD22では、ステップSC16〜19と同様の処理を実行する。
【0122】
ステップSD17の判定がYESであるときに進むステップSD24では、軸心ずれが無いものと判断して、ステップSD12で円柱モデル20の反転処理を実行するまでに生成した円柱モデル20の直径値の総和を2倍した値を締結孔2kの孔径として算出する。
【0123】
ステップSD25では、ステップSD24で算出した値(締結孔2kの孔径)が、ボルト軸径に等しいか否かを判定し、この判定がNOであるときにはステップSD26に進む一方、YESであるときにはステップSD27に進む。
【0124】
ステップSD26では、結果ファイルに”NG(穴径アンマッチ)”と出力する。
【0125】
ステップSD27では、結果ファイルに”OK”と出力する。
【0126】
図13及ぶ図14は、不具合Vを検出するための処理を示している。
【0127】
ステップSE1〜ステップSE21ではそれぞれ、上記ステップSC1〜ステップSC21と同様の処理を行う。
【0128】
ステップSE22では、ステップSE3で読み込んだ属性値の中からボルトフランジ径を読み取り、読み取ったボルトフランジ径と、ステップSE21で算出した値(円柱モデル20の直径値の総和を2倍した値)とを基に、ボルトフランジ径−(円柱モデル20の直径値の総和)×2≦基準値なる関係が成立するか否かを判定し、この判定がNOであるときにはステップSE23に進む一方、YESであるときにはステップSE24に進む。
【0129】
ステップSE23では、結果ファイルに”OK”と出力する。
【0130】
ステップSE24では、フランジ部のかかり代が不足しているものと判断して、結果ファイルに”かかり代不足”を出力する。
【0131】
図15及び図16は、不具合VIを検出するための処理を示している。
【0132】
ステップSF1〜ステップSF3ではそれぞれ、ステップSA1〜ステップSA3と同様の処理を実行する。
【0133】
ステップSF4では、ステップSF3で検索した属性値(材質や形状データ)の中から、ボルト軸長とボルトフランジ径とを読み込む。
【0134】
ステップSF5では、ボルトフランジ部50bの突出量(=ボルトフランジ径−ボルト軸径)に等しい直径値を有する複数個(本実施形態では7個)の円柱モデル20を、ボルト軸部50aの周方向に並ぶように生成する(図26参照)。またこの処理では、各円柱モデル20を、ボルトフランジ部50bの座面よりも所定距離W1だけボルト先端側にオフセットした位置に生成する。各円柱モデル20の中心位置は、例えば、ボルト軸部50aの半径+(ボルトフランジ径−ボルト軸部径)/2の位置に設定すればよい。また、各円柱モデル20の高さは所定高さ(例えばボルト軸部50aのネジピッチの3〜5倍)に設定すればよい。各円柱モデル20同士は、互いに周接するように配置してもよいし、互いに所定間隔を隔てて配置するようにしてもよい。尚、生成する円柱モデル20の個数は少なくとも3個以上であることが好ましい。
【0135】
ステップSF6では、ステップSF5で生成した円柱モデル20と、上記ボルトモデルを除く全て部品モデルとの間で干渉チェックを実行する。
【0136】
ステップSF7では、「円柱モデル20と干渉する部品モデルがない(未干渉)」か否かを判定し、この判定がYESであるときにはステップSF14に進む一方、NOであるときにはステップSF8に進む。
【0137】
ステップSF8では、ステップSF7の干渉チェックの結果を基に、円柱モデル20のうちの一部のみが部品モデルと干渉しているか否かを判定し、この判定がYESであるときにはステップSF15に進む一方、NOであるときにはステップSF9に進む。
【0138】
ステップSF9では、ステップSF5で生成した複数の円柱モデル20を、ボルトフランジ部50bの上面側(ボルト基端側)に所定距離W1だけシフトさせてなる複数の円柱モデル20を生成する。
【0139】
ステップSF10では、ステップSF9で生成した円柱モデル20と、上記ボルトモデルを除く全ての部品モデルとの間で干渉チェックを実行する。
【0140】
ステップSF11では、ステップSF10の干渉チェックの結果を基に、「円柱モデル20と干渉する部品モデルがない(未干渉)」か否かを判定し、この判定がYESであるときにはステップSF16に進む一方、NOであるときにはステップSF12に進む。
【0141】
ステップSF12では、円柱モデル20のうちの一部のみが部品モデルと干渉しているか否かを判定し、この判定がYESであるときにはステップSF17に進む一方、NOであるときにはステップSF13に進む。
【0142】
ステップSF13では、結果ファイルに”NG(沈み込み)”と出力する。
【0143】
ステップSF7の判定がYESであるときに進むステップSF14では、結果ファイルに”NG(浮き上がり)”と出力する。
【0144】
ステップSF7の判定がYESであるときに進むステップSF15では、結果ファイルに”NG(傾き)”と出力する。
【0145】
ステップSF11の判定がYESであるときに進むステップSF16では、結果ファイルに”OK”と出力する。
【0146】
ステップSF12の判定がYESであるときに進むステップSF17では、結果ファイルに”NG(傾き)”と出力する。
【0147】
図17は、不具合VIIを検出するため処理を示している。
【0148】
ステップSG1〜ステップSG4ではそれぞれ、ステップSA1〜ステップSA4と同様の処理を実行する。
【0149】
ステップSG5では、ボルト軸部50aの先端位置に、ステップSG4で読み取った軸径よりも小径(本実施形態ではボルト軸部50aのネジ部の谷径)の円柱モデル20を、ボルト軸部50aと同軸に生成する(図27参照)。すなわち、この処理では、円柱モデル20を、ボルト軸部50aの先端面から、その軸方向においてボルト外方側に突出するように生成する。円柱モデル20の高さは所定高さ(例えばボルト軸部50aのネジピッチの3〜5倍)に設定すればよい。
【0150】
ステップSG6では、ステップSG5で生成した円柱モデル20と、上記ボルトモデルを除いた全ての部品モデルとの間で干渉チェックを実行する。
【0151】
ステップSG7では、ステップSG6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルが検出されたか否を判定し、この判定がNOであるときにはステップSG9に進む一方、YESであるときにはステップSG8に進む。
【0152】
ステップSG8では、結果ファイルに”NG(底付き)”と出力する。
【0153】
ステップSG9では、結果ファイルに”OK”と出力する。
【0154】
図18は、不具合VIIIを検出するための処理の前半部を示している。
【0155】
ステップSH1〜ステップSH3ではそれぞれ、ステップSA1〜3と同様の処理を実行する。
【0156】
ステップSH4では、ステップSH3で検索した属性値(材質や形状データ)の中から、ボルト軸長とボルトフランジ径とを読み込む。
【0157】
ステップSH5では、ステップSH4で読み込んだボルトフランジ径と同径で且つ読み込んだボルト軸長と同高さの円柱モデル20を、ボルト軸部50aと同軸に且つ該ボルト軸部50aに重複するように生成する。換言すると、ボルトフランジ径と同径の円柱モデル20を、ボルト軸部50aと同軸に、該ボルト軸部50aの基端部から先端部に至る全範囲に亘って生成する。
【0158】
ステップSH6では、ステップSH5で生成した円柱モデル20と、ボルトモデルを除いた全ての部品モデルとの間で干渉チェックを実行する。
【0159】
ステップSH7では、ステップSH6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に”WELD.NUT”と記述された名前を持つ部品モデルが存在するか否かを判定し、この判定がNOであるときにはステップSH11に進む一方、YESであるときにはステップSH8に進む。
【0160】
ステップSH8では、ボルト軸径よりも大きい所定径の円柱モデル20をボルト軸部50aの先端位置に同軸に生成する。すなわち、この処理では、円柱モデル20を、ボルト軸部50aの先端面から、その軸心方向においてボルト外方側に突出するように生成する。円柱モデル20の高さは所定高さ(例えばボルト軸部50aのネジピッチの3〜5倍)に設定すればよい。
【0161】
ステップSH9では、ステップSH8で生成した円柱モデル20と、ボルトモデル50を除く部品モデルとの間で干渉チェックを実行する。そして、この干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に”WELD.NUT”と記述された名前を持つ部品が存在するか否かを判定し、この判定がNOであるときにはステップSH15に進む一方、YESであるときにはステップSH10に進む。
【0162】
ステップSH10では、結果ファイルに”NG(長さ不足)”と出力する。
【0163】
ステップSH7の判定がNOであるときに進むステップSH11では、ボルト軸部50aの先端位置(先端面)を基準として、かかり代として必要な長さ分だけボルト軸心方向の基端部側にオフセットした位置に、ボルト軸径よりも大径の円柱モデル20を生成する。
【0164】
ステップSH12では、ステップSH11で生成した円柱モデル20と、ボルトモデルを除く全ての部品モデルとの間で干渉チェックを実行して、当該円柱モデル20と干渉する部品モデルが存在するか否かを判定する。そして、この判定がNOであるときにはステップSH13に進む一方、YESであるときにはステップSH14に進む。
【0165】
ステップSH13では、結果ファイルに”NG(長さ不足)”と出力する。
【0166】
ステップSH14では、結果ファイルに”OK”と出力する。
【0167】
ステップSH9の判定がNOであるときに進むステップSH15では、結果ファイルに”OK”と出力する。
【0168】
図19は、不具合VIIIを検出するための処理の後半部を示している。
【0169】
ステップSI1では、ステップSA1と同様の処理を実行する。
【0170】
ステップSI2では、ステップSI1でロードした3D−CADデータを基に、車体モデルに含まれるナットモデル60を検索する。
【0171】
ステップSI3では、ステップSI2で検索したナットモデル60の型番情報を読み込む。そして、締結部品データベース13bの中から、該読み込んだ型番情報に対応するナットの属性値を検索する。
【0172】
ステップSI4では、ステップSA3で検索した属性値(材質や形状データ)の中から、ナット径とナット高さとを読み込む。
【0173】
ステップSI5では、ナット径と同径の円柱モデル20を生成して、ナットモデル60の座面側とは反対側の面に該ナットモデル60と同軸に配置する。円柱モデル20の高さは所定高さ(例えばボルト軸部50aのネジピッチの3〜5倍)に設定すればよい。
【0174】
ステップSI6では、ステップSI5で生成した円柱モデル20と、ナットモデル60を除いた全ての部品モデルとの間で干渉チェックを実行する。
【0175】
ステップSI7では、ステップSI6で実行した干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルが存在するか否かを判定し、NOであるときにはステップSI9に進む一方、YESであるときにはステップSI8に進む。
【0176】
ステップSI8では、結果ファイルに”OK”と出力する。
【0177】
ステップSI9では、結果ファイルに”NG(長さ不足)”と出力する。
【0178】
図20は、不具合IX-iを検出するための処理を示している。
【0179】
ステップSJ1〜ステップSJ3ではそれぞれ、ステップSA1〜ステップSA3と同様の処理を実行する。
【0180】
ステップSJ4では、ステップSJ3で検索した属性値(材質や形状データ)の中から、ボルト軸長とボルトフランジ径とを読み込む。
【0181】
ステップSJ5では、ステップSJ4で読み込んだボルトフランジ径と同径で且つ読み込んだボルト軸長と同高さの円柱モデル20を、ボルト軸部50aと同軸に且つ該ボルト軸部50aに重複するように生成する。換言すると、ボルトフランジ径と同径の円柱モデル20を、ボルト軸部50aと同軸に、該ボルト軸部50aの基端部から先端部に至る全範囲に亘って生成する。
【0182】
ステップSJ6では、生成した円柱モデル20と、ボルトモデル50を除いた全ての部品モデルとの間で干渉チェックを実行する。
【0183】
ステップSJ7では、ステップSJ6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に、NGリストファイル13e内に記述された名前を持つ部品モデルが存在するか否かを判定する。そして、この判定がNOであるときにはステップSJ9に進む一方、YESであるときにはステップSJ8に進む。
【0184】
ステップSJ8では、結果ファイルに”NG(NG干渉物有り)”と出力する。
【0185】
ステップSJ9では、結果ファイルに”OK”と出力する。
【0186】
図21は、不具合IX-iiを検出するための処理を示している。
【0187】
ステップSK1〜SK6ではそれぞれ、ステップSJ1〜ステップSJ6と同様の処理を実行する。
【0188】
ステップSK7では、ステップSJ6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に、”WELD NUT”と記述された名前を持つ部品モデルが存在するか否かを判定する。そして、この判定がNOであるときにはステップSK11に進む一方、YESであるときにはステップSK8に進む。
【0189】
ステップSK8では、ステップSK7で、”WELD NUT”なる名前を持つ部品モデルのネジピッチの値を、締結部品データベース13bを参照して取得する。また、ボルト軸部50aのネジピッチについても、同様に締結部品データベース13bを参照して取得する。
【0190】
ステップSK9では、ステップSK8で取得した”WELD NUT”なる部品モデルのネジピッチと、ボルト軸部50aのネジピッチとを比較して、両者が等しいか否かを判定する。そして、この判定がNOであるときにはステップSK12に進む一方、YESであるときにはステップSK10に進む。
【0191】
ステップSK10では、結果ファイルに”OK”と出力する。
【0192】
ステップSK7の判定がNOであるときに進むステップSK11では、本不具合IX-iの検出処理の対象外となるケースであると判断して、結果ファイルに”OK(対象外)”と出力する。
【0193】
ステップSK9がNOであるときに進むステップSK12では、結果ファイルに”ピッチアンマッチ”と出力する。
【0194】
図22は、不具合IX-iiiを検出するための処理を示している。
【0195】
ステップSL1〜ステップSL6ではそれぞれ、ステップSJ1〜ステップSJ6と同様の処理を実行する。
【0196】
ステップSL7では、ステップSL6の干渉チェックの結果を基に、円柱モデル20と干渉する部品モデルの中に、ボディパーツリストファイル内に記述された名前を持つ部品モデルが存在するか否かを判定し、この判定がNOであるときにはステップSL10に進む一方、YESであるときにはステップSL8に進む。
【0197】
ステップSL8では、ボルトモデルが焼き付き防止用のボルトであるか否かを判定し(ボルトモデルの情報に焼き付き防止フラグが含まれているか否かを判定し)この判定がNOであるときにはステップSL11に進む一方、YESであるときにはステップSL9に進む。
【0198】
ステップSL9では、結果ファイルに”OK”と出力する。
【0199】
ステップSL7の判定がNOであるときに進むステップSL10では、結果ファイルに”OK(検証対象外)”と出力する。
【0200】
ステップSL8の判定がNOであるときに進むステップSL11では、結果ファイルに”NG(焼き付き防止でない)”と出力する。
【0201】
上記制御部10は、上記結果ファイルに出力された情報を基に締結不具合I〜IXの少なくとも一つの不具合が生じている箇所のボルトモデル50を赤色で表示する。
【0202】
以上のように構成された設計検証装置Aにおいて、制御部10により不具合Iを検出するための処理が実行されると、図23に示すように、該ボルト軸部50aよりも小径で且つボルト軸部50aと同高さの円柱モデル20がボルト軸部50aに重複して生成される。そして、制御部10によって、この円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。
【0203】
ここで、不具合I(例えば図4(c)、(e)及び(g)に示す不具合)が発生している場合には、制御部10によって円柱モデル20と干渉する部品モデルが検出されるので、この場合は、ステップSA7の処理でYESと判定されて結果ファイルに”NG”が出力される。一方、不具合Iが発生していない場合には、制御部10によって円柱モデル20と干渉する部品モデルが検出されることもないので、この場合は、ステップSA7の処理でNOと判定されて結果ファイルに”OK”が出力される。
【0204】
上記制御部10により、不具合IIを検出するための検出処理が実行されると、図24に示すように、ボルトフランジ部50bと同径で且つ所定高さH2の薄肉円柱モデル20が生成され、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。制御部10では、生成した円柱モデル20をボルト軸部50aの基端部から先端部に向かって、該円柱モデル20の高さ分ずつシフトさせ、該シフトの度に干渉チェックを実行する。ここで、不具合IIとして締結部品同士の浮きが発生している場合には、制御部10において該円柱モデル20と部品モデルとの干渉が全く検出されない場合が生じるため、この場合(干渉が検出されない場合)は、ステップSB22の処理でNOと判定されて結果ファイルに”NG(浮き上がり)”が出力される。一方、不具合IIとして締結部品の沈み込みが発生している場合には、円柱モデル20が2つ以上の部品モデルと干渉する状態が2回連続して検出される場合が生じるので、この場合は、ステップSB10の処理でYESと判定されて結果ファイルに”沈み込みNG”が出力される。
【0205】
上記制御部10により不具合IIIを検出するための検出処理が実行されると、図25に示すように、X軸(ボルトモデル50を軸心方向から見てその中心から径方向外側に向かう軸)方向の+側に向かって所定径D3の円柱モデル20が順次生成され、該円柱モデル20が生成される度に、該円柱モデル20とその他の部品モデルとの干渉チェックが実行される。この干渉チェックの結果、他の部品モデル(被締結部品モデル2)との干渉が検出されると、当該円柱モデル20よりも小径(所定径D2)の円柱モデル20が、干渉が検出された円柱モデル20よりも1つ前に生成された円柱モデル20に接する位置からX軸方向の+側に向かって順次生成されて、該円柱モデル20が生成される度に、円柱モデル20とその他の部品モデルとの干渉チェックが実行される。そして、制御部10による円柱モデル20の直径寸法の変更回数が所定回数(図25では所定回数=2の場合を示している)に達した場合には、円柱モデル20(図25では所定径D3(<D2)の円柱モデル20)が被締結部品モデル2と干渉した時点で、当該円柱モデル20がボルトモデル50の軸心回りに180°回転移動され、該180°回転後の円柱モデル20とその他の部品モデルとの間で干渉チェックが実行される。
【0206】
ここで、ボルト軸部50aの軸心と、締結孔2kの軸心とがずれている場合には、上記180°回転後の円柱モデル20と被締結部品モデル2とが干渉しないか、又は、当該円柱モデル20と該円柱モデル20よりもモデル1個分だけボルト軸中心側にオフセットした円柱モデル20とが共に干渉することとなる。したがって、前者の場合は、ステップSC11の処理でYESと判定され、後者の場合には、ステップSC14の処理でNOと判定されて結果ファイルに”NG(軸心ずれ)”が出力される。一方、ボルト軸部50aの軸心と締結孔2kの軸心とが一致している場合(図25に示す場合)には、上記の2つの場合に該当しないので、ステップSC14の処理でYESと判定されて結果ファイルに”OKが出力される。
【0207】
上記制御部10により不具合IVを検出するための処理が実行されると、制御部10によって、ボルトモデル50が検索させるとともに、該ボルトモデル50に係合するナットモデル51を特定するべく、ボルトフランジ部50bと同径の円柱モデル20が生成されて、この円柱モデル20と干渉する”WELD.NUT"という名称の部品モデルが探索される。そして、制御部10によって、この探索した部品モデル(ナットモデル51の孔)とボルト軸部50aとを対象に、上述した不具合IIIを検出するためのロジックを適用して、ボルト軸部50aの径方向外側に円柱モデル20を順次生成して、ボルト軸部50aの軸心ずれが生じているか否かを検出する。制御部10では、この軸心ずれが検出されたときには、生成した円柱モデル20の直径値の総和を2倍した値をナットモデル51の孔径として算出し、この算出した孔径とボルト軸径とが一致していない場合には、結果ファイルに”NG孔径アンマッチ”を出力する一方、一致している場合には、結果ファイルに”OK”を出力する。
【0208】
上記制御部10により不具合Vを検出するための処理が実行されると、上述したボルト軸部50aの軸心ずれを検出したのと同様に、ボルト軸部50aの径方向外側(X軸方向の+側)に向かって円柱モデル20が順次生成されて、ボルト軸部50aの軸心ずれが生じているか否かが検出される。そして、制御部10によって、軸心ずれが生じていないと判断された場合には、生成した円柱モデル20の直径値の総和を2倍した値が締結孔2kの直径値として算出される。ここで、ボルトフランジ部50bのかかり代が不足している場合には、ボルトフランジ径から締結孔2kの直径値を引いた値が基準値以下となるので、この場合は、制御部10におけるステップSE22の処理でYESと判定されて結果ファイルに”NG(かかり代不足)”が出力される。一方、ボルトフランジ部50bのかかり代が十分に確保されている場合には、この直径値の差分値が基準値を上回ることとなるので、この場合は、ステップSE22の処理でNOと判定されて結果ファイルに”OK”が出力される。
【0209】
上記制御部10により不具合VIを検出するための処理が実行されると、ボルトフランジ部50bの座面からボルト先端側に向かって所定距離W1だけオフセットした位置に、ボルト軸部50aの周囲を囲むようにその周方向に並ぶ複数(本実施形態では7個)の円柱モデル20が生成され(図26参照)、該生成した各円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。この干渉チェックが終了すると、制御部10によって、上記生成した円柱モデル20を、ボルト基端部側に所定距離W1だけオフセットしてボルトフランジ部50bの上面側に配置し、この新たに配置した円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で再度干渉チェックが実行される。
【0210】
ここで、被締結部品モデル2の座面2fが傾いている場合(例えば図4(i)の場合)には、制御部10により各干渉チェックを実行したときに、複数の円柱モデル20の一部しか干渉しないこととなるので、この場合は、ステップSF8又はステップSF12の処理でYESと判定されて結果ファイルに”NG(傾き)”が出力される。また、ボルトモデル50が被締結部品モデル2に対して浮き上がっている場合(例えば図4(g)の場合)には、制御部10により最初の干渉チェックを実行したときに円柱モデル20と干渉する部品モデルが検出されないので、この場合には、ステップSF7の処理でYESと判定されて結果ファイルに”NG(浮き上がり)”が出力される。また、ボルトモデル50が被締結部品モデル2内に沈み込んでいる場合には、制御部10における各干渉チェックの双方において、各円柱モデル20の全てが他の部品モデルと干渉することとなるので、この場合には、ステップSF12の処理でNOと判定されて結果ファイルに”沈み込みNG”が出力される。
【0211】
上記制御部10により不具合VIIを検出するための処理が実行されると、図27に示すように、ボルト軸部50aの先端部に円柱モデル20が生成され、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。ここで、ボルト軸部50aの先端部が被締結部品モデル2に干渉する底付きが発生している場合(図5(a)の場合)には、当該円柱モデル20の先端部と被締結部品モデル2とが干渉することとなるので、この場合には、ステップSG7の処理でYESと判定されて結果ファイルに”NG(底付き)”が出力される。一方、底付きが発生していない場合には、円柱モデル20の先端部と被締結部品モデル2とが干渉することもないので、ステップSG7の処理でNOと判定されて結果ファイルに”OK”が出力される。
【0212】
上記制御部10により不具合VIIIを検出する処理の前半部が実行されると、ボルトモデル50の相手部品がナットモデル51である場合には、図28(a)に示すように、ボルト軸部50aの先端位置に、該ボルト軸部50aよりも大径の円柱モデル20が同軸に配置される。そして、制御部10によって、この円柱モデル20と、ボルトモデルを除く全ての部品モデルとの間で干渉チェックが実行される。
【0213】
ここで、ボルトモデル50のナットモデル51に対するかかり代が不足(ボルト軸長が不足)している場合には、図28(a)に示す如く、円柱モデル20とナットモデル51と干渉することとなるので、この場合は、ステップSH9の処理でYESと判定されて結果ファイルに”NG(長さ不足)”が出力される。
【0214】
図28(b)に示すように、ボルトモデル50の相手部品が被締結部品モデル2である場合には、ボルト軸部50aの先端位置から必要なかかり代分だけボルト軸心方向のボルト基端側にオフセットした位置に、ボルト軸部50aよりも大径の円柱モデル20が生成され、この円柱モデル20と、ボルトモデルを除く全ての部品モデルとの間で干渉チェックが実行される。
【0215】
ここで、ボルト軸部50aのかかり代が必要なかかり代よりも小さい場合には、円柱モデル20と干渉する部品モデルは検出されないので、この場合には、ステップSH12の処理でNOと判定されて結果ファイルに”NG(長さ不足)”が出力される。一方、かかり代が必要なかかり代以上である場合には、ステップSH12の処理でYESと判定されて結果ファイルに”OK”が出力される。
【0216】
上記制御部10により不具合VIIIを検出する処理の後半部が実行されると、図28(c)に示すように、ナットモデル60の上面(座面とは反対側の面)に円柱モデル20が生成されて、当該円柱モデル20と、ナットモデル60を除く全ての部品モデルとの間で干渉チェックが実行される。
【0217】
ここで、ボルトモデル61の軸長が不足している場合には、図28(c)に示すように、円柱モデル20とボルトモデル50とが干渉することもないので、この場合は、ステップSI7の処理でNOと判定されて結果ファイルに”NG(長さ不足)”が出力される。一方、ボルトモデル61の軸長が十分に確保されている場合には、ボルトモデル61の先端部がナットモデル60の上面よりも上側に突出して円柱モデル20と干渉することとなるので、この場合は、ステップSIの処理でYESと判定されて結果ファイルに”OK”が出力される。
【0218】
上記制御部10により不具合IX-iを検出するための処理が実行されると、図29に示すように、ボルトフランジ径と同径で且つボルト軸長と同高さの円柱モデル20が、ボルト軸部50aと同軸にその基端部から先端部に至る範囲に形成される。そして、制御部10により、この円柱モデル20と干渉する部品モデルが検出される。ここで、この干渉した部品モデルの中に、例えばラバー52等のNGリストファイル13eに記載された名前を持つ部品モデルが含まれている場合には、必要な締結力を得ることができないので、この場合は、ステップSJ7の処理でYESと判定されて”NG(NG部品有り)”が出力される。
【0219】
上記制御部10により不具合IX-iiを検出するための処理が実行されると、不具合IX-iを検出したのと同様に、図29に示す円柱モデル20が形成されて、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックを実行することにより、該円柱モデル20に干渉する部品モデルの中から”WELD.NUT”という名称を持つ部品モデルを探索する。制御部10では、探索した部品モデル(ナットモデル51)のピッチ情報を締結部品データベース13bの中から取得し、この取得したナットモデル51のピッチと、ボルトモデル50のピッチとを比較して、両者が一致しない場合には結果ファイルに”NG(ネジピッチアンマッチ)”を出力する一方、一致する場合には結果ファイルに”NG”を出力する。
【0220】
上記制御部10により不具合IX-iiiを検出するための処理が実行されると、上記不具合IX-iを検出したのと同様に、図29に示す円柱モデル20が形成され、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックが実行される。ここで、干渉した部品モデルがボディ部材である場合には、設計上の観点からボルトには焼き付き防止用ボルトを使用する必要があるが、上記ボルトモデルが焼き付き防止用でない場合には、ステップSL8の処理でNOと判定されて、結果ファイルに”NG(焼き付き防止でない)”が出力される。一方、ボルトモデル50が焼き付き防止用である場合には、ステップSL8の処理でYESと判定されて結果ファイルに”OK”が出力される。
【0221】
そして、制御部10は、上述の如く、結果ファイルに出力された情報を基に締結不具合I〜IXが生じている箇所のボルトモデル50を赤色で表示する。これにより、オペレータは、不具合発生箇所を視覚を通じて認識することができる。
【0222】
ここで、上記実施形態では、制御部10による干渉チェックの対象部品としてボルトモデル50を除く代わりに、フランジ部等を有さない円柱モデル20を生成して、当該円柱モデル20と、ボルトモデル50を除く全ての部品モデルとに対して干渉チェックを行うようにしているので、干渉しても良い箇所までもが不具合箇所として赤色で表示されるのを防止することができる。
【0223】
以上の如く、上記実施形態では、不具合I〜IXに応じて、形状、個数、大きさ、及び配置位置等が異なる円柱モデル20を生成して、この円柱モデル20と、ボルトモデルを除く全ての部品モデルとの干渉チェックを実行することで、各不具合I〜IXを効率良く検出することができる。
【0224】
(変形例)
図30は、本発明の変形例2を示し、不具合IIIの検出処理を上記実施形態とは異ならせたものである。すなわち、この変形例では、上記実施形態における図13及び図14に示す処理を、X軸方向のみならずX軸方向に直交するY軸方向においても実行するようにしている。
【0225】
これによれば、締結孔2kが楕円形である場合でも、締結孔2kに対するボルトモデル50の軸心ずれを精度良く検出することができる。
【0226】
(他の実施形態)
本発明の構成は、上記実施形態に限定されるものではなく、それ以外の種々の構成を包含するものである。すなわち、上記実施形態では、主にボルトモデル50に関連する締結不具合の検出処理について説明したが、同じ原理でナットモデル60に関連する締結不具合も検出することができる。
【0227】
具体的には、例えば不具合Iを検出する場合には、制御部10によって、ナットモデル60の孔径を読み込んだ上で、読み込んだ孔径と同径の円柱モデル20をナットモデル60の軸中心に生成して(図31参照)、生成した円柱モデル20と、ボルトモデル50を除く全ての部品モデルとの間で干渉チェックを実行するようにすればよい。また、不具合IIを検出する場合には、ナットモデル60の軸中心に円柱モデル20を生成してその高さ分ずつオフセットさせるようにすればよい(図32参照)。その他、不具合IV〜IXを検出するにあたっては、図6〜図22のフローチャートにおいてそれぞれ、ボルトモデル50をナットモデル60に適宜置き換えるようにすればよい。
【0228】
上記実施形態では、制御部10における不具合IIIの処理を実行する際に、複数の円柱モデル20をボルト軸中心側から径方向外側に向かって順次配置するようにしているが、これら複数の円柱モデル20を同時に配置するようにしてもよい。これにより、制御部10における演算処理時間を短縮することができる。
【0229】
上記実施形態では、車両の車体のアセンブリモデル中に含まれる締結部品モデル1と被締結部品モデル2との締結不具合を検出するようにしているが、これに限ったものではなく、例えば、航空機、船舶、電化製品等のアセンブリモデルを対象アセンブリとして採用するようにしてもよい。
【0230】
また、上記実施形態では、締結部品モデル1としてボルトモデル50やナットモデル60を用いた例を示したが、これに限ったものではなく、例えば、ボルトモデル50とナットモデル51との組合せを、スクリューのモデルとグロメットのモデルとの組合せとしてもよいし、ボルトモデル50をファスナのモデルとしてもよい。
【0231】
また、上記実施形態では、制御部10において不具合I〜IXを検出するための処理を全て実行するようにしているが、これに限ったものではなく、例えば、不具合I〜IXのうちの一部を実行するようにしてもよい。
【産業上の利用可能性】
【0232】
本発明は、3D−CADモデル化された締結部品モデルと被締結部品モデルとの締結不具合をコンピュータにより検出する設計検証方法及び設計検証装置に有用であり、特に、車両の車体モデル中に含まれる締結部品モデルと被締結部品モデルとの締結不具合を検出する場合に有用である。
【符号の説明】
【0233】
1 締結部品モデル
2 被締結部品モデル
2k 挿通孔(締結孔)
10 制御部(モデル生成部、検証チェック部、不具合検出部)
20 円柱モデル
50 ボルトモデル(被締結部品モデル)
50a 軸部
50b フランジ部
60 ナットモデル(締結部品モデル)
【特許請求の範囲】
【請求項1】
3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合をコンピュータにより検出する設計検証方法であって、
上記締結不具合の種類に応じた所定形状の円柱モデルを生成するモデル生成ステップと、
上記モデル生成ステップにて生成された円柱モデルを、上記締結不具合の種類に応じて、上記締結部品モデルに対し所定の位置関係で配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出する不具合検出ステップと、を備えていることを特徴とする設計検証方法。
【請求項2】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記モデル生成ステップは、上記締結部品モデルの軸部よりも小径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部に対して略同軸に且つ重畳して配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉を検出するための干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項3】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、
上記モデル生成ステップは、上記フランジ部と略同径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部における軸心方向の異なる位置に配置し、該各位置において、該円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項4】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記モデル生成ステップは、上記締結部品モデルの軸部と略同径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸中心側からその径方向外側に向かって順次配置するとともに、該各円柱モデルを配置する度に、該各円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックにより上記被締結部品モデルと干渉する円柱モデルが検出された場合には、当該円柱モデルを上記締結部品モデルの軸中心回りに180°反転させた位置に配置し、該配置した円柱モデルと該被締結部品モデルとの干渉チェックを実行して、該干渉チェックにより干渉が検出された場合には上記締結不具合を検出したものとする不具合検出処理を実行するステップであることを特徴とする設計検証方法。
【請求項5】
請求項4記載の設計検証方法において、
上記不具合検出ステップは、上記締結部品モデルの軸中心側からその径方向外側に向かう所定方向において上記不具合検出処理を実行するとともに、該実行後に、該所定方向に直交する方向において上記不具合検出処理を実行するステップであることを特徴とする設計検証方法。
【請求項6】
請求項4又は5記載の設計検証方法において、
上記モデル生成ステップは、上記不具合検出ステップにて上記干渉チェックが実行されることにより上記被締結部品モデルと干渉する円柱モデルが検出された場合には、当該円柱モデルよりも小径の円柱モデルを生成するステップをさらに含み、
上記不具合検出ステップは、上記モデル生成ステップにて上記小径の円柱モデルが生成された場合には、上記小径の円柱モデルによって上記不具合検出処理を実行するステップであることを特徴とする設計検証方法。
【請求項7】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、
上記モデル生成ステップは、上記締結部品モデルのフランジ部の直径から上記軸部の直径を差し引いた距離を直径値とする複数個の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された複数個の円柱モデルを、上記締結部品モデルの軸部の周囲に周方向に並べた状態で、該軸部の軸心方向の異なる位置に順次配置し、該配置の度に上記各円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項8】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有するものであり、
上記モデル生成ステップは、上記締結部品モデルの軸部よりも小径の円柱モデルを生成するものであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの先端位置に配置し、該配置した円柱モデルと、該円柱モデルの周辺に存在する部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項9】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、
上記締結部品モデルの軸部には、ナットのモデルが孔嵌合により締結されるものであり、
上記モデル生成ステップは、上記締結部品モデルの軸部よりも大径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部の先端位置に該軸部と同軸に配置するとともに、該配置した円柱モデルと上記ナットモデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項10】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、
上記モデル生成ステップは、上記締結部品モデルのフランジ部の外径と略同径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部と同軸に且つ該締結部品モデルのフランジ部の座面側に配置して、該配置した円柱モデルとその周辺に存在する部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項11】
3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合を検出する設計検証装置であって、
上記締結不具合の種類に応じた所定形状の円柱モデルを生成するモデル生成部と、
上記モデル生成部にて生成された円柱モデルを、上記締結不具合の種類に応じて、上記締結部品モデルに対し所定の位置関係で配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行する干渉チェック部と、
上記干渉チェック部における干渉チェックの結果を基に、上記締結不具合を検出する不具合検出部と、を備えていることを特徴とする設計検証装置。
【請求項1】
3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合をコンピュータにより検出する設計検証方法であって、
上記締結不具合の種類に応じた所定形状の円柱モデルを生成するモデル生成ステップと、
上記モデル生成ステップにて生成された円柱モデルを、上記締結不具合の種類に応じて、上記締結部品モデルに対し所定の位置関係で配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出する不具合検出ステップと、を備えていることを特徴とする設計検証方法。
【請求項2】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記モデル生成ステップは、上記締結部品モデルの軸部よりも小径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部に対して略同軸に且つ重畳して配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉を検出するための干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項3】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、
上記モデル生成ステップは、上記フランジ部と略同径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部における軸心方向の異なる位置に配置し、該各位置において、該円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項4】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記モデル生成ステップは、上記締結部品モデルの軸部と略同径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸中心側からその径方向外側に向かって順次配置するとともに、該各円柱モデルを配置する度に、該各円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックにより上記被締結部品モデルと干渉する円柱モデルが検出された場合には、当該円柱モデルを上記締結部品モデルの軸中心回りに180°反転させた位置に配置し、該配置した円柱モデルと該被締結部品モデルとの干渉チェックを実行して、該干渉チェックにより干渉が検出された場合には上記締結不具合を検出したものとする不具合検出処理を実行するステップであることを特徴とする設計検証方法。
【請求項5】
請求項4記載の設計検証方法において、
上記不具合検出ステップは、上記締結部品モデルの軸中心側からその径方向外側に向かう所定方向において上記不具合検出処理を実行するとともに、該実行後に、該所定方向に直交する方向において上記不具合検出処理を実行するステップであることを特徴とする設計検証方法。
【請求項6】
請求項4又は5記載の設計検証方法において、
上記モデル生成ステップは、上記不具合検出ステップにて上記干渉チェックが実行されることにより上記被締結部品モデルと干渉する円柱モデルが検出された場合には、当該円柱モデルよりも小径の円柱モデルを生成するステップをさらに含み、
上記不具合検出ステップは、上記モデル生成ステップにて上記小径の円柱モデルが生成された場合には、上記小径の円柱モデルによって上記不具合検出処理を実行するステップであることを特徴とする設計検証方法。
【請求項7】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、
上記モデル生成ステップは、上記締結部品モデルのフランジ部の直径から上記軸部の直径を差し引いた距離を直径値とする複数個の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された複数個の円柱モデルを、上記締結部品モデルの軸部の周囲に周方向に並べた状態で、該軸部の軸心方向の異なる位置に順次配置し、該配置の度に上記各円柱モデルと上記被締結部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項8】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有するものであり、
上記モデル生成ステップは、上記締結部品モデルの軸部よりも小径の円柱モデルを生成するものであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの先端位置に配置し、該配置した円柱モデルと、該円柱モデルの周辺に存在する部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項9】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、
上記締結部品モデルの軸部には、ナットのモデルが孔嵌合により締結されるものであり、
上記モデル生成ステップは、上記締結部品モデルの軸部よりも大径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部の先端位置に該軸部と同軸に配置するとともに、該配置した円柱モデルと上記ナットモデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項10】
請求項1記載の設計検証方法において、
上記締結部品モデルは、軸部を有していて、該軸部を上記被締結部品モデルに形成された挿通孔に挿通して配置されるものであり、
上記締結部品モデルには、上記軸部に対し略同軸に接続され且つ上記被締結部品モデルに当接する座面を形成するフランジ部が設けられ、
上記モデル生成ステップは、上記締結部品モデルのフランジ部の外径と略同径の円柱モデルを生成するステップであり、
上記不具合検出ステップは、上記モデル生成ステップにて生成された円柱モデルを、上記締結部品モデルの軸部と同軸に且つ該締結部品モデルのフランジ部の座面側に配置して、該配置した円柱モデルとその周辺に存在する部品モデルとの干渉チェックを実行して、該干渉チェックの結果を基に上記締結不具合を検出するステップであることを特徴とする設計検証方法。
【請求項11】
3D−CADモデル化された締結部品のモデルと被締結部品のモデルとの締結不具合を検出する設計検証装置であって、
上記締結不具合の種類に応じた所定形状の円柱モデルを生成するモデル生成部と、
上記モデル生成部にて生成された円柱モデルを、上記締結不具合の種類に応じて、上記締結部品モデルに対し所定の位置関係で配置するとともに、該配置した円柱モデルと上記被締結部品モデルとの干渉チェックを実行する干渉チェック部と、
上記干渉チェック部における干渉チェックの結果を基に、上記締結不具合を検出する不具合検出部と、を備えていることを特徴とする設計検証装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【公開番号】特開2011−100392(P2011−100392A)
【公開日】平成23年5月19日(2011.5.19)
【国際特許分類】
【出願番号】特願2009−256035(P2009−256035)
【出願日】平成21年11月9日(2009.11.9)
【出願人】(000003137)マツダ株式会社 (6,115)
【Fターム(参考)】
【公開日】平成23年5月19日(2011.5.19)
【国際特許分類】
【出願日】平成21年11月9日(2009.11.9)
【出願人】(000003137)マツダ株式会社 (6,115)
【Fターム(参考)】
[ Back to top ]