(57)【要約】【課題】１つの側面では、干渉チェックを実施するときの干渉チェック結果の信頼性を向上させる。【解決手段】干渉チェック実行部（１２）は、部品同士の干渉を検証する。アセンブリ指定部（２０）で指定された最上位アセンブリ配下のオブジェクトについて個別検証部（２２）で干渉チェックを実行し、情報書込部（２８）で干渉チェック結果をアセンブリに対応づけて記憶部（１６）に格納する。干渉チェック結果出力部（１４）は、有効性検証部（３２）により、アセンブリに対応付けられている干渉結果情報を取得し、最新の編集時間と干渉チェック時の編集時間を比較して取得した干渉結果情報が有効か否かを判断する。従って、編集時間の相違に基づき干渉チェック結果の信頼性を向上できる。【選択図】図１
2014119958.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品を有する製品における前記各部品の形状及び位置の少なくとも一方に関する最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記各部品の前記編集時刻及び前記複数の部品の部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する記憶部と、
前記記憶部に記憶された前記部品の最新の編集時刻と、前記干渉チェック情報に含まれる前記干渉チェック時における部品の編集時刻とに基づいて、前記記憶部に記憶された干渉チェック情報の有効性を判定する判定部と、
を備えた干渉チェック装置。
【請求項２】
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する
請求項１の干渉チェック装置。
【請求項３】
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を前記組立体に対応付けて記憶し、
前記判定部は、前記組立体について前記記憶部に記憶された干渉チェック情報の有効性を判定する
請求項１または請求項２の干渉チェック装置。
【請求項４】
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前干渉チェック対象の部品または組立体が指定されるとき、
前記記憶部に、
前記指定された部品または組立体の上位の組立体が、干渉チェック対象の組立体に指定されて、前記上位の組立体に属する部品について干渉チェックの実行時における編集時刻、及び前記上位の組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報が記憶される
請求項１〜請求項３の何れか１項の干渉チェック装置。
【請求項５】
複数の部品を有する製品における前記各部品の形状及び位置の少なくとも一方に関する最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記各部品の前記編集時刻及び前記複数の部品の部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する記憶部に記憶された前記部品の最新の編集時刻と、前記干渉チェック情報に含まれる前記干渉チェック時における部品の編集時刻とに基づいて、前記記憶部に記憶された干渉チェック情報の有効性を判定する
ことを含む干渉チェック方法。
【請求項６】
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する（１０８）
ことを含む請求項５の干渉チェック方法。(図５）
【請求項７】
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を前記組立体に対応付けて記憶し、
前記干渉チェック情報の有効性を判定する場合、前記組立体について前記記憶部に記憶された干渉チェック情報の有効性を判定する
ことを含む請求項５または請求項６の干渉チェック方法。
【請求項８】
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前干渉チェック対象の部品または組立体が指定されるとき、
前記記憶部に、
前記指定された部品または組立体の上位の組立体が、干渉チェック対象の組立体に指定されて、前記上位の組立体に属する部品について干渉チェックの実行時における編集時刻、及び前記上位の組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報が記憶される
ことを含む請求項５〜請求項７の何れか１項の干渉チェック方法。
【請求項９】
複数の部品を有する製品における前記各部品の形状及び位置の少なくとも一方に関する最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記各部品の前記編集時刻及び前記複数の部品の部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する記憶部に記憶された前記部品の最新の編集時刻と、前記干渉チェック情報に含まれる前記干渉チェック時における部品の編集時刻とに基づいて、前記記憶部に記憶された干渉チェック情報の有効性を判定する
ことを含む処理をコンピュータに実行させる干渉チェックプログラム。
【請求項１０】
コンピュータに、前記コンピュータを、請求項５〜請求項８の何れか１項記載の干渉チェック方法に係る処理を実行させるための干渉チェックプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、干渉チェック装置、干渉チェック方法、及び干渉チェックプログラムに関する。
【背景技術】
【０００２】
複数の部品を含む製品を設計するとき、ＣＡＤ（Computer Aided Design）システムを使用して効率的に設計することが行われている。ＣＡＤシステムでは、製品に含まれる個々の部品の設計はもとより、複数の部品を組み合わせて１つの部品を設計したり複数の部品を組み合わせて製品を設計したりする。複数の部品を含む製品を設計する場合、静止状態で製品に含まれる部品同士の一部が重なりあうことや、移動を伴う部品を含む製品で他の部品が移動の障害となること等の部品の干渉が考えられる。製品の設計時に部品の干渉をユーザに確認させるために、例えば、部品の干渉を検証する干渉チェックの機能を有するＣＡＤシステムが知られている。
【０００３】
部品間の干渉チェックの一例として、ＣＡＤシステムを用いて、複数の部品を含む製品を設計するときに、干渉チェックを実施する対象の部品を特定する技術が知られている。干渉チェックを実施する対象の部品を特定する技術では、例えば、干渉チェックの対象部品の周囲をチェック対象領域に設定する。チェック対象領域を設定した上で、チェック対象領域内の形状データに基づき、対象部品に対して干渉チェックの対象となる対象物を選定し、対象部品と対象物の形状データを用いて、干渉チェックを実施する。
【０００４】
製品の干渉チェックでは、処理時間が長くなったり処理負荷が高くなったりする場合があるので、処理時間の短縮や処理負荷軽減のために、干渉チェック結果を再利用することが検討されている。干渉チェック結果を再利用する技術の一例として、製品における部品の干渉チェックを実行するときに、過去に実行された干渉チェック結果を使用する技術が知られている。例えば、この技術では、複数の部品の組み合わせについて、過去に干渉チェックが実行されている場合、複数の部品の組み合わせに関する干渉チェック結果として過去に実行された干渉チェック結果を出力する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−６０１５１号公報
【特許文献２】特開２００７−２５７０８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、近年、数多くの部品を用いた大規模な製品や複雑な形状の部品を用いた複雑な構造の製品等の製品が設計対象になってきている。例えば、大規模な製品や複雑な形状の部品を用いた複雑な構造の製品に対して干渉チェックを実行した場合、処理時間が膨大になる。干渉チェックの処理時間が膨大であることは、部品の設計変更等の度に製品全体の干渉チェックを繰り返して実行するので、製品設計が終了するまでの期間が長期化する場合がある。また、処理時間の短縮や処理負荷軽減のために、干渉チェック結果を再利用することが考えられる。ところが、過去に実行された干渉チェック結果を使用する場合、干渉チェックが実行されたときから製品の形状等が変更されると、過去に実行された干渉チェック結果の信頼性が低下する場合がある。
【０００７】
１つの側面では、干渉チェックを実施するときの干渉チェック結果の信頼性を向上させることが目的である。
【課題を解決するための手段】
【０００８】
開示の技術は、記憶部に、複数の部品を有する製品における部品の形状及び位置の少なくとも一方に関する編集時刻を記憶する。これと共に、干渉チェックの実行時における各部品の編集時刻を含む部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する。判定部は、記憶部に記憶された干渉チェック対象の各部品の編集時刻と、干渉チェック情報に含まれる各部品の編集時刻とに基づいて、記憶部に記憶された干渉チェック情報の有効性を判定する。
【発明の効果】
【０００９】
１つの実施態様では、干渉チェックを実施するときの干渉チェック結果の信頼性を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る干渉チェック装置の一例を示すブロック図である。
【図２】製品におけるアセンブリ及びパーツの関係の一例を示すブロック図である。
【図３】干渉チェック結果情報のフォーマットの一例を示すイメージ図である。
【図４】コンピュータで実現される干渉チェック装置の一例を示すブロック図である。
【図５】干渉チェック実行部の動作の流れを示すフローチャートである。
【図６】アセンブリ抽出プロセスの流れを示すフローチャートである。
【図７】干渉チェック対象リストの一例を示すイメージ図である。
【図８】並び替え処理の過程についての一例を示す説明図である。
【図９】オブジェクトの最終編集時間の相違を示す説明図である。
【図１０】リスト更新処理の流れを示すの一例を示すフローチャートである。
【図１１】上位アセンブリを対象アセンブリとする一例を示すイメージ図である。
【図１２】検証実行プロセス及び情報書込プロセスの流れを示すフローチャートである。
【図１３】製品の階層構造に対する干渉チェック結果の一例を示す説明図である。
【図１４】干渉チェック結果情報の一例を示すイメージ図である。
【図１５】干渉チェック結果情報の一例を示すイメージ図である。
【図１６】干渉チェック結果出力プログラムの処理の流れを示すフローチャートである。
【図１７】干渉チェック結果リストの一例を示すイメージ図である。
【図１８】干渉チェック結果リストの他の一例を示すイメージ図である。
【図１９】表示情報の一例を示すイメージ図である。
【図２０】第２実施形態に係る部品の使用例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１２】
＜第１実施形態＞
図１に、第１実施形態に係る干渉チェック装置１０の構成を示す。干渉チェック装置１０は、干渉チェック実行部１２、干渉チェック結果出力部１４、及び記憶部１６を備えている。記憶部１６は、外部記憶装置１８に接続されている。外部記憶装置１８には、製品の構造を示す設計データが記憶されている。設計データの一例としてＣＡＤプログラムで使用するワイヤーフレーム等のＣＡＤデータが知られている。例えば、ＣＡＤプログラムでは、製品をワイヤーフレーム等の設計データによる数値計算用の数値計算モデルに対応させ、数値計算モデルを使用して、製品の構造設計を支援する。
【００１３】
製品は、複数の部品を組み合わせた組立体を含むことが一般的である。また、組立体は上位の組立体の一部である場合もある。本実施形態では、製品は最上位の組立体であり、最上位から下位になるに従い、上位の組立体の一部となる組立体及び部品の少なくとも一方を含み、最下位には部品が対応する階層構造になる一例を説明する。なお、第１実施形態では、組立体をアセンブリと称し、部品をパーツと称して説明する。また、或るアセンブリの配下に含まれるアセンブリとパーツとを、オブジェクトと称して説明する。すなわち、或るアセンブリのオブジェクトは、１階層下のアセンブリ及びパーツの少なくとも一方を含む。
【００１４】
干渉チェック装置１０に含まれる記憶部１６は、外部記憶装置１８に記憶されている製品の設計データのうち、干渉チェック対象の製品の設計データを一時的に記憶する。また、記憶部１６は、干渉チェック結果情報を記憶する。なお、詳細は後述するが、設計データにより示されるアセンブリには、属性情報として干渉チェック結果情報が対応付けられる。
【００１５】
干渉チェック装置１０に含まれる干渉チェック実行部１２は、アセンブリ指定部２０と、個別検証部２２と、を含んでいる。個別検証部２２は、アセンブリ抽出部２４と、検証実行部２６と、情報書込部２８とを含んでいる。干渉チェック結果出力部１４は、アセンブリ指定部３０、有効性検証部３２、及び情報出力部３４を含んでいる。個別検証部２２のアセンブリ抽出部２４及び情報書込部２８は、記憶部１６に接続されている。また干渉チェック結果出力部１４の有効性検証部３２は、記憶部１６に接続されている
【００１６】
干渉チェック実行部１２は、干渉チェック対象の製品について、当該製品に含まれる部品同士の一部が重なりあうことや移動を伴う部品を含む製品で他の部品が移動の障害となること等の部品の干渉を検証する。干渉チェック実行部１２に含まれるアセンブリ指定部２０は、干渉チェックを実行する最上位アセンブリを指定する。干渉チェック実行部１２に含まれる個別検証部２２は、アセンブリ指定部２０で指定された最上位アセンブリ配下のアセンブリ及びパーツについて、干渉チェックを実行する。個別検証部２２に含まれるアセンブリ抽出部２４は、最上位のアセンブリ配下の各アセンブリにおいて、新たに干渉チェックを実行するアセンブリを抽出する。検証実行部２６は、アセンブリ抽出部２４で抽出した、新たに干渉チェックを実行する各アセンブリについて、配下のオブジェクトであるアセンブリ、及びパーツの少なくとも一方の間で干渉チェックを実行する。情報書込部２８は、検証実行部２６において実行された干渉チェックの結果を干渉チェック情報として、各アセンブリに対応付け、記憶部１６に記憶する。すなわち、情報書込部２８は、検証実行部２６による干渉チェックの実行により得られた干渉チェック結果を、干渉チェックを実行した各々のアセンブリに対応づけて記憶部１６に格納する。
【００１７】
干渉チェック装置１０に含まれる干渉チェック結果出力部１４は、アセンブリ指定部３０と、有効性検証部３２と、情報出力部３４と、を含んでいる。アセンブリ指定部３０は、干渉チェック結果を出力する最上位のアセンブリを指定する。有効性検証部３２は、アセンブリ指定部３０で指定された最上位のアセンブリ配下の各アセンブリに対応付けられている干渉結果情報を取得し、取得した干渉結果情報が有効か否かを判断する。情報出力部３４は、最上位アセンブリ配下の全てのアセンブリに対する干渉結果情報を出力する。
【００１８】
外部記憶そうち１８に記憶されている設計データは、構成情報、位置情報、形状情報、及び最終編集時間情報の各情報を含む。構成情報は、各アセンブリに含まれるアセンブリ、及びパーツの構成を示す情報である。構成情報の一例として、或るアセンブリ配下のオブジェクトであるアセンブリとパーツとを識別するための識別情報のリストがある。また、構成情報は、アセンブリからパーツまでの階層関係を示す情報を含む。位置情報は、各アセンブリに含まれるアセンブリ、及びパーツの位置を示す情報である。形状情報は、各パーツの形状を示す情報である。
【００１９】
なお、最終編集時間情報は、ＣＡＤにより編集されたアセンブリまたはパーツの最終編集時間を示す。つまり、最終編集時間情報は、アセンブリまたはパーツが最後に編集された時間を示す。最終編集時間は、具体的な一例として、ＣＡＤシステムにおいて、パーツの形状変更を行うコマンド、パーツやアセンブリの配置や位置に関係するコマンドが実行され、かつコマンドによる編集が確定された時点の時刻がある。最終編集時間は、オブジェクト毎に、属性パラメータ等によりオブジェクト単位に属性情報として付加される。パーツの形状変更を行うコマンドの一例には、ソリッドジオメトリの作成や編集（突起、カット、ラウンド等の作成と寸法基準や寸法編集等）を行うコマンドが知られている。また、アセンブリの配置位置コマンドの一例には、配置条件付加のための配置座標指定や拘束条件（結合条件と呼ばれる場合もある）を示すコマンドが知られている。
【００２０】
図２に、設計データによる製品におけるアセンブリ及びパーツの関係の一例を示す。図２は、製品におけるアセンブリ及びパーツが階層関係にあるときに、当該製品の階層構造３６を示す。図２では、アセンブリをＡｓｙの記号で表記し、パーツをＰｒｔの記号で表記している。また、製品に含まれるアセンブリ及びパーツの記号に続けて、アセンブリ及びパーツの位置関係を示す数値情報で表記している。なお、位置関係を示す数値情報は、製品におけるアセンブリまたはパーツの階層位置に対応する数値と、当該階層までの上位階層のアセンブリ配下のオブジェクトの順位に対応する数値列とを「−」で連結して表記している。例えば、最上位である第１階層のアセンブリは、Ａｓｙ１と表記し、配下である第２階層のアセンブリは、Ａｓｙ２−１，Ａｓｙ２−２，パーツはＰｒｔ２−３と表記している。また、第３階層のアセンブリは、Ａｓｙ３−１１，Ａｓｙ３−１２，パーツはＰｒｔ３−２１、Ｐｒｔ３−２２と表記している。
【００２１】
干渉チェック結果情報は、最終編集時間を含むオブジェクト情報と干渉チェック結果を示す干渉結果情報とを含む。また、第１実施形態では、製品に含まれるアセンブリの各々に、干渉チェック結果情報が対応付けられて記憶部１６に記憶される。オブジェクト情報は、干渉チェックが実行された時の対象アセンブリ配下のオブジェクト、つまりアセンブリ、及びパーツと、当該オブジェクトの各々の最終編集時間とが対応される。干渉結果情報は、ユーザの指示により干渉チェックを実行したときの干渉チェック結果の内、最新の干渉チェック結果を示す。なお、本実施形態では、干渉チェック結果情報を記憶部１６に記憶する場合を説明するが、外部記憶装置１８に記憶し読み取るようにしてもよい。
【００２２】
図３に、干渉チェック結果情報のフォーマットの一例を示す。干渉チェック結果情報３８は、オブジェクト情報３８Ｊと干渉結果情報３８Ｒを含む。オブジェクト情報３８Ｊには、干渉チェック結果情報３８が対応付けられるアセンブリ配下のオブジェクトを示すオブジェクト名と当該オブジェクトの最終編集時間とが対応付けて登録される。また、干渉結果情報３８Ｒには、オブジェクト情報３８Ｊに含まれる各オブジェクトを示す第１オブジェクト名と、第１オブジェクトと干渉する他のオブジェクトを示す第２オブジェクト名とが対応づけて登録される。なお、干渉結果情報３８Ｒは、オブジェクト情報３８Ｊに含まれる全てのオブジェクトを列挙してもよく、干渉チェックを実行した結果で干渉するとされるオブジェクトのみを列挙してもよい。干渉結果情報３８Ｒに、オブジェクト情報３８Ｊに含まれる全てのオブジェクトを列挙する場合、空欄などの所定形式で第２オブジェクト名を登録することにより、干渉チェックを実行した結果で干渉ないとされる第１オブジェクトを識別可能に登録できる。
【００２３】
なお、干渉チェック装置１０は開示の技術における干渉チェック装置の一例である。また、記憶部１６は開示の技術における記憶部の一例であり、有効性検証部３２は開示の技術における判定部の一例である。また、干渉チェック結果情報は、開示の技術における干渉チェック情報の一例である。
【００２４】
図４に、干渉チェック装置１０を、コンピュータで実現する場合の一例を示す。図１に示す干渉チェック装置１０は、コンピュータ４０により実現される。コンピュータ４０はＣＰＵ４２、メモリ４４、不揮発性の格納部５４を備えている。ＣＰＵ４２、メモリ４４、及び格納部５４はバス５３を介して互いに接続されている。格納部５４はＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現できる。また、コンピュータ４０はネットワークに接続するための通信制御部５２を備え、通信制御部５２はバス５３に接続されている。また、コンピュータ４０は、出力デバイスの一例の表示装置４６、キーボードやマウス等の入力デバイスの一例の入力装置４８を備えている。表示装置４６、及び入力装置４８はバス５３に接続されている。また、コンピュータ４０は、光ディスク等の記録媒体４９が挿入され、挿入された記録媒体４９に対して読み書きするための装置（Ｒ／Ｗ装置）５０を備え、Ｒ／Ｗ装置５０はバス５３に接続されている。なお、表示装置４６、入力装置４８、及びＲ／Ｗ装置５０は、省略してもよく、必要に応じてバス５３に接続するようにしてもよい。
【００２５】
格納部５４には、ＣＡＤプログラム５６が記憶されている。ＣＰＵ４２がＣＡＤプログラム５６を実行することで、コンピュータ４０はＣＡＤ装置として動作する。なお、ＣＡＤプログラム５６の実行で動作されるＣＡＤ装置としての所定の主要な機能は、第１実施形態に直接関係しないため、説明を省略する。
【００２６】
また、格納部５４には、干渉チェックプログラム５８、及び干渉チェック結果出力プログラム７０が記憶される。干渉チェックプログラム５８は、アセンブリ指定プロセス６０及び個別検証プロセス６２を含んでいる。また、個別検証プロセス６２は、アセンブリ抽出プロセス６４、検証実行プロセス６６、及び情報書込プロセス６８を含んでいる。また、干渉チェック結果出力プログラム７０は、アセンブリ指定プロセス７２、有効性検証プロセス７４、及び情報出力プロセス７６を含んでいる。また、格納部５４には、製品の設計データ及び干渉チェック結果情報を含むデータベース７８が記憶される。なお、図４では、製品の設計データ及び干渉チェック結果情報を含む情報を、３Ｄモデル情報８０と表記している。
【００２７】
干渉チェックプログラム５８、及び干渉チェック結果出力プログラム７０の各々は、ＣＰＵ４２によって格納部５４から読み出されてメモリ４４に展開されて実行される。つまり、干渉チェック装置１０がコンピュータ４０で実現され、ＣＰＵ４２が干渉チェックプログラム５８を実行することで、コンピュータ４０は、図１に示す干渉チェック実行部１２として動作する。また、ＣＰＵ４２が干渉チェック結果出力プログラム７０を実行することで、コンピュータ４０は、図１に示す干渉チェック結果出力部１４として動作する。
【００２８】
また、干渉チェック装置１０がコンピュータ４０で実現され、ＣＰＵ４２が干渉チェックプログラム５８に含まれるアセンブリ指定プロセス６０を実行することで、図１に示すアセンブリ指定部２０の一例として動作される。また、ＣＰＵ４２が干渉チェックプログラム５８に含まれる個別検証プロセス６２を実行することで、図１に示す個別検証プロセス６２の一例として動作される。なお、ＣＰＵ４２が個別検証プロセス６２に含まれるアセンブリ抽出プロセス６４、検証実行プロセス６６、及び情報書込プロセス６８の各々を実行することで、図１に示すアセンブリ抽出部２４、検証実行部２６、及び情報書込部２８各々の一例として動作される。
【００２９】
また、干渉チェック装置１０がコンピュータ４０で実現され、ＣＰＵ４２が干渉チェック結果出力プログラム７０に含まれるアセンブリ指定プロセス７２を実行することで、図１に示すアセンブリ指定部３０の一例として動作される。また、ＣＰＵ４２が干渉チェック結果出力プログラム７０に含まれる有効性検証プロセス７４、及び情報出力プロセス７６の各々を実行することで、図１に示す有効性検証部３２、及び情報出力部３４の各々の一例として動作される。
【００３０】
なお、コンピュータ４０で実行される干渉チェックプログラム５８、及び干渉チェック結果出力プログラム７０は、開示の技術における干渉チェックプログラムの一例である。また、コンピュータ４０で実行される干渉チェックプログラム５８、及び干渉チェック結果出力プログラム７０は、コンピュータ４０を開示の技術における干渉チェック装置として機能させるためのプログラムでもある。また、コンピュータ４０に処理を実行させるためのプログラムを記録した光ディスク等の記録媒体は開示の技術の記録媒体の一例である。
【００３１】
次に第１実施形態の作用を説明する。
図５に、コンピュータ４０（図２）で実現される干渉チェック装置１０に含まれる干渉チェック実行部１２の動作の流れを示す。すなわち、図５は、干渉チェックプログラム５８（図４）の処理の流れを示す。
【００３２】
なお、第１実施形態では、ＣＡＤ装置として製品の設計支援が実行され、干渉チェック装置１０において、設計支援の対象となる製品の設計データが記憶部１６に記憶されており、また、前回までの干渉チェック結果情報が記憶されているものとする。すなわち、ＣＰＵ４２によりＣＡＤプログラム５６が実行されて設計支援の対象となる製品の設計データ、及び前回までの干渉チェック結果情報を含む情報が、格納部５４のデータベース７８に３Ｄモデル情報８０として記憶されているものとする。
【００３３】
コンピュータ４０のＣＰＵ４２は、入力装置４８によりユーザの干渉チェック開始指示を受け付けると、アセンブリ指定プロセス６０としての図５に示す処理ルーチンを実行し、ステップ１００以降の処理を実行する。ステップ１００では、干渉チェックを実行する最上位のアセンブリが指定される。ステップ１００では、入力装置４８によりユーザが指定した干渉チェック対象のアセンブリの指示が読み取られ、読み取られたアセンブリが最上位のアセンブリに指定される。ＣＰＵ４２は、指定された最上位アセンブリに対して、個別検証プロセス６２を実行する。具体的には、まず、ステップ１０２において、ステップ１００で指定した最上位アセンブリの配下の各アセンブリのうち、新たに干渉チェックを行うアセンブリを候補アセンブリとして抽出するアセンブリ抽出プロセス６４が実行される。
【００３４】
次に、ＣＰＵ４２は、ステップ１０２で抽出した、新たに干渉チェックを行う各アセンブリの配下のオブジェクト間で干渉チェックを実行する。また、干渉チェック結果情報を、各アセンブリに対応付け（属性情報に書き込み）、３Ｄモデル情報８０をデータベース７８に格納する。
【００３５】
詳細には、ステップ１０４において、ステップ１０２で抽出された候補アセンブリの中から、干渉チェックを実行する任意のアセンブリが対象アセンブリとして指定される。ステップ１０４で指定される対象アセンブリの優先順位は、階層構造の上位やオブジェクトの順位等により指定できる。次のステップ１０６では、ステップ１０４で指定された対象アセンブリに対して干渉チェックが実行され、次のステップ１０８において、干渉チェック結果情報が対象アセンブリに対応づけられてデータベース７８に格納される。次のステップ１１０では、ステップ１０２で抽出した候補アセンブリのうち、ステップ１０６における干渉チェックの実行が未了の候補アセンブリがあるか否かが判断される。ステップ１０２で抽出された全ての候補アセンブリについて干渉チェックが完了すると、ステップ１１０で否定判断されて、本処理ルーチンは終了される。一方、ステップ１０２で抽出した候補アセンブリのうち干渉チェックが未了のアセンブリが残存するときは、ステップ１１０で肯定判断され、ステップ１１２の処理に移行される。ステップ１１２では、干渉チェックが未了の候補センブリのうち何れか１つが対象アセンブリに指定され、ステップ１０６の処理に戻る。
【００３６】
なお、ステップ１００の処理は、図１に示すアセンブリ指定部２０における処理の一例である。また、ステップ１０２〜１１２の処理は、図１に示す個別検証部２２における処理の一例である。また、ステップ１０２の処理は図１に示すアセンブリ抽出部２４における処理の一例であり、ステップ１０６の処理は図１に示す検証実行部２６における処理の一例であり、ステップ１０８の処理は図１に示す情報書込部２８における処理の一例である。
【００３７】
次に、図５に示すステップ１０２〜１１２の処理（個別検証プロセス６２の処理）を、さらに説明する。
図６に、図５に示すステップ１０２の処理としてのアセンブリ抽出プロセス６４の流れを示す。ＣＰＵ４２は、ステップ１２０において、干渉チェック対象リスト８２（図７）を初期化する。干渉チェック対象リスト８２は、実際に干渉チェックを実行するアセンブリが登録されるものである。なお、第１実施形態では、干渉チェック対象リスト８２は、ステップ１２０において生成され、メモリ４４に一時的に記憶される。なお、干渉チェック対象リスト８２は、データベース７８に予め記憶しておき、ステップ１２０において、干渉チェック対象リストから全てのアセンブリを消去する処理を、初期化処理として実行してもよい。
【００３８】
図７に、干渉チェック対象リスト８２の一例を示す。図７に示す干渉チェック対象リスト８２は、干渉チェックを実行するアセンブリとして、４個のアセンブリＡｓｙ４−１１１，Ａｓｙ３−１１，Ａｓｙ２−１，Ａｓｙ１が登録されている一例である。
【００３９】
図６に示すステップ１２２では、図５に示すステップ１００の処理により指定された最上位のアセンブリの配下に含まれる全てのアセンブリが候補アセンブリとして抽出される。次のステップ１２４では、ステップ１２２で抽出された候補アセンブリのうちの何れか１つの候補アセンブリが対象アセンブリとして指定される。次のステップ１２６では、干渉チェック実行対象として指定された対象アセンブリに干渉チェック結果情報があるか否かが判断される。第１実施形態では、各アセンブリに、干渉チェック結果情報が属性情報として対応づけられている。従って、ステップ１２６では、アセンブリの属性情報に干渉チェック結果情報があるか否かを判別すればよい。なお、第１実施形態では、干渉チェック結果情報の有無を判断しているが、干渉チェック結果情報が無のときに干渉チェック結果情報が無を示す情報を干渉チェック結果情報として格納してもよい。この場合、干渉チェック結果情報に格納されている情報が干渉チェック結果情報が無を示す情報であるか否かを判断すればよい。
【００４０】
ステップ１２６で否定判断されると、ステップ１３４において、詳細を後述する干渉チェック対象リスト８２の更新処理が実行されてステップ１３６の処理に移行される。リスト更新処理は、干渉チェックを実行するアセンブリを追加して、干渉チェック対象リスト８２を更新する処理である。すなわち、干渉チェック実行対象として指定された対象アセンブリに干渉チェック結果情報がないときは、対象アセンブリに対する干渉チェックを実行させるために、ステップ１３４において、対象アセンブリが干渉チェック対象リスト８２に追加される。
【００４１】
一方、ステップ１２６で肯定判断されると、対象アセンブリに対する干渉チェックを実行させるか否かが判断される。すなわち、対象アセンブリに干渉チェック結果情報があるとき、ステップ１２８において、現時点における対象アセンブリの１階層下の全てのオブジェクトについてオブジェクト情報（オブジェクト名及び最終編集時間）が取得される。ステップ１２８では、設計データに基づく最新のオブジェクト情報が取得される。次のステップ１３０では、干渉チェック時における対象アセンブリの１階層下の全てのオブジェクト情報（オブジェクト名及び最終編集時間）が取得される。ステップ１３０では、干渉チェック時に対応づけられるアセンブリの属性情報に基づくオブジェクト情報が取得される。次のステップ１３２では、ステップ１２８で取得した最終編集時間とステップ１３０で取得した最終編集時間とが相違するか否かが判断される。
【００４２】
図９に、設計データに基づく最新の最終編集時間と、干渉チェック時の属性情報に基づく最終編集時間との相違を示す。図９は、前回干渉チェックの実行時から、アセンブリＡｓｙ４−１１１配下のパーツＰｒｔ５−１１１１のみの形状を変更した場合の一例を示す。設計データに基づく最新のオブジェクト情報３８Ｊａは、「2011/11/07 11:28:18」と、干渉チェック時におけるアセンブリの属性情報に基づく最新のオブジェクト情報３８Ｊｂは、「2011/10/09 10:17:43」とは相違する。従って、アセンブリＡｓｙ４−１１１は、１階層配下のオブジェクトであるパーツＰｒｔ５−１１１１の最終編集時間が相違しているため、アセンブリＡｓｙ４−１１１は干渉チェックの対象アセンブリとする。
【００４３】
設計データに基づく最新の最終編集時間と、干渉チェック時の属性情報に基づく最終編集時間とが相違するときは、ステップ１３２で肯定判断され、ステップ１３４において、対象アセンブリが干渉チェック対象リスト８２に追加される。一方、設計データに基づく最新の最終編集時間と、干渉チェック時の属性情報に基づく最終編集時間とが一致するときは、ステップ１３２で否定判断され、ステップ１３６へ進み、残存する次のアセンブリに対する処理へ移行する。すなわち、最新の最終編集時間と、属性情報に基づく最終編集時間とが一致するときは、干渉チェックを実行してからオブジェクトが編集されていないため、干渉チェックを実行しても同一の結果となる。従って、ステップ１３２で否定判断されるときは、干渉チェック対象リスト８２の更新処理が実行されることなく、ステップ１３６へ進む。
【００４４】
ステップ１３６では、干渉チェック実行判断処理（ステップ１２６〜１３４）が未了の残存する候補アセンブリがあるか否かが判断される。全候補アセンブリの干渉チェック実行判断処理が終了したときはステップ１３６で否定判断され、ステップ１４０において、階層順にアセンブリの並び替え処理が実行された後、本ルーチンが終了される。ステップ１４０では、ステップ１４０の並び替え処理では、干渉チェック対象リスト８２内の対象アセンブリの順序が、階層順に並び替えられる。一方、ステップ１３６で肯定判断されると、ステップ１３８において、次の対象アセンブリが指定され、ステップ１２６の処理へ移行される。
【００４５】
図８に、ステップ１４０の処理としての並び替え処理の過程についての一例を示す。図８では、規則的な順序ではなく対象アセンブリが追加された干渉チェック対象リスト８２Ａから、階層の深いアセンブリ（Ａｓｙ４−１１１）から階層の浅いアセンブリ（Ａｓｙ１）に対象アセンブリが並び替えられている一例である。
【００４６】
図１０に、図６に示すステップ１３４の処理としてのリスト更新処理の流れを示す。ＣＰＵ４２は、ステップ１４２において、対象アセンブリが干渉チェック対象リスト８２に登録済みか否かを判断し、肯定判断のときは本ルーチンを終了する。
【００４７】
一方、ステップ１４２で否定判断されると、ステップ１４４において対象アセンブリが干渉チェック対象リスト８２が追加される。次のステップ１４６では、対象アセンブリが最上位アセンブリ（図５のステップ１００で指定）であるか否かが判断され、肯定判断されると本ルーチンを終了する。対象アセンブリが最上位アセンブリでないときは（ステップ１４６で否定判断）、対象アセンブリの上位アセンブリを対象アセンブリに変更し、ステップ１４２の処理へ戻る。ステップ１４６、及びステップ１４８の処理は、対象アセンブリが干渉チェックの対象であるとき、その上位アセンブリについても、配下のオブジェクト情報が変更されているため、干渉チェックの対象アセンブリとすることが好ましいために実行される。
【００４８】
図１１に、ステップ１４６及びステップ１４８の処理により、対象アセンブリの上位アセンブリを、干渉チェックの対象アセンブリとする一例を示す。図１１では、対象アセンブリがＡｓｙ４−１１１であるとき、上位のアセンブリＡｓｙ３−１１、Ａｓｙ２−１，及びＡｓｙ−１に至るまで、対象アセンブリの上位アセンブリを対象アセンブリに変更することを示す。
【００４９】
つまり、配下のオブジェクトであるパーツＰｒｔ５−１１１１が編集されているアセンブリＡｓｙ４−１１１の上位アセンブリＡｓｙ３−１１，Ａｓｙ２−１，Ａｓｙ１も、配下に変更したオブジェクト（パーツＰｒｔ５−１１１１）が含まれている。従って、アセンブリＡｓｙ４−１１１の上位アセンブリＡｓｙ３−１１，Ａｓｙ２−１，Ａｓｙ１は、干渉チェックの対象アセンブリとして干渉チェック対象リスト８２に追加される。なお、既に、干渉チェック対象リスト８２に登録されているアセンブリは、新たに追加しない。
【００５０】
次に、図５に示すステップ１０４〜１１２の処理（検証実行プロセス６６及び情報書込プロセス６８）を、さらに説明する。
図１２に、図５に示すステップ１０６の処理としての検証実行プロセス６６及びステップ１０８の処理としての情報書込プロセス６８の流れを示す。検証実行プロセス６６及び情報書込プロセス６８は、抽出された候補アセンブリのうち、指定された対象アセンブリについて干渉チェックを実行し、干渉チェック結果情報を対象アセンブリの属性情報に書き込む。
【００５１】
ＣＰＵ４２は、ステップ１５０において、干渉チェック対象リスト８２の１つの対象アセンブリについて、当該対象アセンブリの１階層下のオブジェクトを抽出し、ステップ１５２において、抽出したオブジェクト間で干渉チェックを実行する。次のステップ１５４では、抽出した全てのオブジェクトの最終編集時間を取得する。次のステップ１５６では、抽出した全てのオブジェクトのオブジェクト情報３８Ｊを該当する対象アセンブリに対応付け、次のステップ１５８において干渉結果情報３８Ｒを該当する対象アセンブリに対応付ける。オブジェクト情報３８Ｊ及び干渉結果情報３８Ｒを該当する対象アセンブリに対応付ける処理は、干渉チェック結果情報３８を対象アセンブリに対応づけてデータベース７８に格納する処理に対応する。
【００５２】
なお、ステップ１５０及びステップ１５２の処理は、検証実行プロセス６６の処理に対応し、ステップ１５４〜ステップ１５８の処理は、情報書込プロセス６８の処理に対応する。
【００５３】
図１３に、製品の階層構造３６におけるオブジェクト間の干渉チェック結果の一例を示す。図１３は、階層構造３６におけるオブジェクトに、対象アセンブリＡｓｙ１に関する干渉チェック結果を対応付けて示している。
【００５４】
干渉チェックの実行は、アセンブリＡｓｙ１の１階層下のオブジェクト間（アセンブリＡｓｙ２−１、Ａｓｙ２−２、及びパーツＰｒｔ２−３の相互の間）についてなされる。すなわち、アセンブリＡｓｙ２−１とアセンブリＡｓｙ２−２、アセンブリＡｓｙ２−１とパーツＰａｒｔ２−３、及びアセンブリＡｓｙ２−２とパーツＰｒｔ２−３の間で干渉チェックが実行される。例えば、パーツＰｒｔ５−１２１２とパーツＰｒｔ３−２１との間が干渉する場合、アセンブリＡｓｙ２−１とアセンブリＡｓｙ２−２との干渉チェックにおいて、パーツＰｒｔ５−１２１２とパーツＰｒｔ３−２１との間で干渉ありの結果が得られる。
【００５５】
また、他の一例として、対象アセンブリがアセンブリＡｓｙ４−１１１である場合には、アセンブリＡｓｙ４−１１１の１階層配下のパーツＰｒｔ５−１１１１、パーツＰｒｔ５−１１１２、およびパーツＰｒｔ５−１１１３の間で干渉チェックが実行される。図１３には、パーツＰｒｔ５−１１１１とパーツＰａｒｔ５−１１１２の間、パーツＰｒｔ５−１１１２ととパーツＰａｒｔ５−１１１３の間で干渉ありの結果を得る場合を示す。
【００５６】
なお、オブジェクト間の干渉チェック処理は、ＣＡＤに含まれる機能を使用することができる。
【００５７】
図１４及び図１５に、干渉チェック結果情報３８の一例を示す。図１４はアセンブリＡｓｙ１が対象アセンブリである場合、図１５はアセンブリＡｓｙ４−１１１が対象アセンブリである場合を示す。
【００５８】
対象アセンブリに対する干渉チェックの実行時には、対象アセンブリの階層構造３６上における１階層下の全オブジェクト（アセンブリ、パーツ）を示す情報、各オブジェクトの最終編集情報の各情報を得ることができる。従って、オブジェクトを示す情報、及びオブジェクトの最終編集情報からオブジェクト情報３８Ｊを得ることができる。なお、オブジェクトの最終編集情報は、オブジェクトの形状、位置、干渉結果情報を編集した時間を含む。一方、オブジェクト間で実行された干渉チェックの処理（ステップ１５２）により、対象アセンブリ１階層配下の 各オブジェクト間で実行された干渉チェックの結果を得ることができる。従って、対象アセンブリ１階層配下の 各オブジェクト間で実行された干渉チェックの結果を干渉結果情報３８Ｒとして得ることができる。
【００５９】
なお、オブジェクト情報３８Ｊは、一般的なＣＡＤシステムが有するＩＤ、すなわちオブジェクトを識別可能かつオブジェクトを示す各種情報を含む、オブジェクト単位に付与されるオブジェクトＩＤ情報を使用してもよい。また、干渉チェック結果情報３８は、ＣＡＤシステムが有する、オブジェクトに属性情報を付与する機能を使用して、書き込むことができる。
【００６０】
なお、干渉チェック結果情報は、干渉がない場合でも、アセンブリに書込みを行うことが好ましい。干渉がない場合でも干渉チェック結果情報をアセンブリに書込むことは、干渉チェックが実行されていないのか、または、干渉チェックが実行されたときに干渉がない結果を得たものなのかを区別するために有効である。
【００６１】
次に、干渉チェック装置１０に含まれる干渉チェック結果出力部１４の動作を説明する。干渉チェック装置１０がコンピュータ４０（図２）で実現され、干渉チェック結果出力プログラム７０に実行により、コンピュータ４０は干渉チェック結果出力部１４として動作される。
【００６２】
図１６に、干渉チェック結果出力プログラム７０の処理の流れを示す。干渉チェック結果出力プログラム７０では、指定された最上位アセンブリ配下の各アセンブリに書き込まれている干渉結果情報の有効性を判断し、干渉結果情報が有効なアセンブリ配下の干渉チェック結果を出力する処理が実行される。なお、第１実施形態では、干渉チェック結果出力として、干渉チェック結果を表示する一例を説明する。
【００６３】
コンピュータ４０のＣＰＵ４２は、入力装置４８によりユーザの干渉チェック結果出力指示を受け付けると、図１６に示す処理ルーチンを実行し、ステップ１６０以降の処理を実行する。ステップ１６０では、干渉チェック結果出力対象のアセンブリとして、干渉チェック結果表示対象の最上位アセンブリが指定される。ステップ１６０では、入力装置４８によりユーザが指定したアセンブリの指示が読み取られ、読み取られたアセンブリが最上位アセンブリに指定される。
【００６４】
ＣＰＵ４２は、ステップ１６２において、干渉チェック結果リスト８４（図１７）を初期化する。干渉チェック結果リスト８４は、有効な干渉チェック結果を有するアセンブリが登録されるものである。なお、第１実施形態では、干渉チェック結果リスト８４は、ステップ１６０において生成され、メモリ４４に一時的に記憶される。なお、干渉チェック結果リスト８４は、データベース７８に予め記憶しておき、ステップ１６０において、干渉チェック結果リスト８４から全てのアセンブリを消去する処理を、初期化処理として実行してもよい。
【００６５】
図１７に、干渉チェック結果リスト８４の一例を示す。図１７は、アセンブリＡｓｙ１が最上位アセンブリに指定されたときの干渉チェック結果リスト８４を表示装置４６に、干渉チェック結果の一覧表８６として表示したときの表示例を示している。図１７に示す干渉チェック結果リスト８４は、有効な干渉チェック結果を有するアセンブリとして、アセンブリＡｓｙ１配下の全てのアセンブリに書込まれた干渉結果情報３８Ｒが登録されている一例である。つまり、アセンブリＡｓｙ１が６組のオブジェクト間で干渉チェックがなされ（図１３参照）、各々のオブジェクトの組として第１オブジェクトと第２オブジェクトとが対応付けられて登録されている。
【００６６】
また、図１８に、干渉チェック結果リスト８４の他の一例を示す。図１８は、アセンブリＡｓｙ４−１１１が最上位アセンブリに指定されたときの干渉チェック結果リスト８４を表示装置４６に、干渉チェック結果の一覧表８６として表示したときの表示例を示している。図１８では、アセンブリＡｓｙ４−１１１が２組のオブジェクト間で干渉チェックがなされ（図１３参照）、各々のオブジェクトの組として第１オブジェクトと第２オブジェクトとが対応付けられて登録されている。
【００６７】
図１６に示すステップ１６４では、ステップ１６０で指定された最上位アセンブリの配下に含まれる全アセンブリが表示候補のアセンブリとして抽出される。次のステップ１６６では、ステップ１６４で抽出された表示候補のアセンブリのうちの何れか１つの表示候補のアセンブリが対象アセンブリとして指定される。次のステップ１６８では、干渉チェック結果表示候補として指定された対象アセンブリに干渉チェック結果情報があるか否かが判断される。
【００６８】
ステップ１６８で否定判断されると、ステップ１８６において、干渉チェック結果が有効ではないことを示す表示情報（図１９）が表示されて本処理ルーチンが終了される。
【００６９】
図１９に、干渉チェック結果が有効ではないことを示す表示情報８８の一例を示す。図１９は、指定された最上位アセンブリＡｓｙ１について、干渉チェック結果情報が有効ではないことを示す表示情報の一例を示している。また、図１９に示す表示情報８８では、干渉チェック結果が有効ではないことを示す情報に加えて、干渉チェックの実行を促す情報も含んでいる。
【００７０】
一方、ステップ１６８で肯定判断されると、対象アセンブリに対する干渉結果情報３８Ｒの有効性が判断される。すなわち、対象アセンブリに干渉チェック結果情報３８があるとき、ステップ１７０において、現時点における対象アセンブリの１階層下の全てのオブジェクトについてオブジェクト情報（オブジェクト名及び最終編集時間）が取得される。ステップ１７０では、設計データに基づく最新のオブジェクト情報が取得される。次のステップ１７２では、干渉チェック時における対象アセンブリの１階層下の全てのオブジェクト情報（オブジェクト名及び最終編集時間）が取得される。ステップ１７２では、干渉チェック時に対応づけられるアセンブリの属性情報に基づくオブジェクト情報が取得される。次のステップ１７４では、ステップ１７０で取得した最終編集時間とステップ１７２で取得した最終編集時間とが相違するか否かが判断される。
【００７１】
例えば、図９に示すように、アセンブリＡｓｙ４−１１１配下のオブジェクトで、最新の最終編集時間と、干渉チェック時の最終編集時間とが相違する場合、アセンブリＡｓｙ４−１１１の干渉結果情報３８Ｒは、有効ではないと判断する。すなわち、アセンブリＡｓｙ４−１１１配下のオブジェクトで、設計データに基づく最新のオブジェクト情報３８Ｊａの最終編集時間と、干渉チェック時におけるアセンブリの属性情報に基づく最新のオブジェクト情報３８Ｊｂの最終編集時間とは相違する。従って、アセンブリＡｓｙ４−１１１は、１階層配下のオブジェクトであるパーツＰｒｔ５−１１１１の最終編集時間が相違しているため、アセンブリＡｓｙ４−１１１は干渉チェック結果が有効ではない対象アセンブリとする。
【００７２】
設計データに基づく最新の最終編集時間と、干渉チェック時の最終編集時間とが相違するときは、ステップ１７４で肯定判断され、ステップ１８６へ処理を移行する。一方、設計データに基づく最新の最終編集時間と、干渉チェック時の最終編集時間とが一致するときは、ステップ１７４で否定判断され、ステップ１７６において、対象アセンブリの干渉結果情報が干渉チェック結果リストに追加される。干渉チェック結果リストへの追加処理は、干渉チェック結果を表示する干渉結果情報を追加して、干渉チェック結果リスト８４を更新する処理である。すなわち、全オブジェクトの最終編集時間が一致する対象アセンブリは有効な干渉チェック結果情報を有するとして、対象アセンブリの干渉結果情報３８Ｒを表示させるために、干渉結果情報３８Ｒが干渉チェック結果リスト８４に追加される。
【００７３】
次に、残存する次のアセンブリに対する処理へ移行するために、ステップ１７８において、ステップ１６４で抽出された表示候補のアセンブリで干渉チェック結果情報の有効性判断処理が未了のアセンブリが残存するか否かが判断される。全表示候補のアセンブリについて有効性判断処理が終了したときはステップ１７８で否定判断され、ステップ１８０へ処理を移行する。ステップ１８０では、干渉チェック結果リスト８４を表示させるための干渉チェック結果の一覧表８６が作成され、次のステップ１８２において、作成した干渉チェック結果の一覧表８６を表示装置４６に表示させて本ルーチンを終了する。一方、ステップ１７８で肯定判断されると、ステップ１８４において、次の対象アセンブリが指定され、ステップ１６８の処理へ移行される。
【００７４】
なお、図１６に示す干渉チェック結果出力プログラム７０による処理は、アセンブリ指定プロセス７２、有効性検証プロセス７４、及び情報出力プロセス７６の各々の処理を含んでいる。アセンブリ指定プロセス７２は、干渉チェック結果を出力する最上位アセンブリを指定する処理である。従って、アセンブリ指定プロセス７２の処理は、ステップ１６０の処理が対応する。有効性検証プロセス７４は、干渉チェック結果情報３８の有効性を検証する処理である。つまり指定された最上位アセンブリ配下の各アセンブリに書き込まれている干渉結果情報を検証し、干渉結果情報が有効か否かが判断される。有効性検証プロセス７４の処理は、ステップ１６２〜ステップ１７８、１８４の処理が対応する。情報出力プロセス７６は、指定された最上位アセンブリに対する干渉結果情報を出力する処理である。具体的には、最上位アセンブリを含む最上位アセンブリ配下の全アセンブリの干渉結果情報が有効な場合、最上位アセンブリ配下の干渉情報を出力し、有効でない場合、現在の干渉チェック結果情報が有効でない主旨のメッセージを表示する。情報出力プロセス７６の処理は、ステップ１８０及びステップ１８２の処理が対応する。
【００７５】
また、ステップ１６０の処理は、図１に示す干渉チェック結果出力部１４のアセンブリ指定部３０における処理の一例である。ステップ１６２〜１７８の処理は、図１に示す有効性検証部３２における処理の一例である。ステップ１８０，１８２の処理は図１に示す情報出力部３４における処理の一例である。
【００７６】
以上説明したように、第１実施形態では、設計データに基づき、オブジェクトの最新の最終編集時間と、干渉チェック時におけるオブジェクトの最終編集時間とが一致するか否かを判別することにより、干渉チェック結果情報の有効性の有無を判断している。つまり、前回の干渉チェックを実行してから、オブジェクトを編集したか否かを判別でき、最終編集時間が一致するとき、オブジェクトは有効な干渉チェック結果情報を有すると判定できる。従って、オブジェクトに対して干渉チェック結果情報を対応付けているとき、対応付けられた干渉チェック結果情報を使用可能か否かを判別でき、干渉チェックを実行するときの干渉チェック結果の信頼性を向上させることができる。
【００７７】
また、オブジェクトが有効な干渉チェック結果情報を有する場合、従って、オブジェクトの有効な干渉チェック結果情報を使用することにより、干渉チェックの実行時間を、短縮することができる。
【００７８】
例えば、新たに干渉チェックを実行する場合、前回の干渉チェックを実行してから、編集した設計データに影響がある箇所、つまりアセンブリ配下のオブジェクト間のみ干渉チェックを実行する。また、編集した設計データに影響のない箇所、つまりアセンブリ配下のオブジェクト間は新たな干渉チェックの実行を省略できる。従って、干渉チェックの実行を省略した時間について、干渉チェックを実行する時間を短縮することができる。
【００７９】
また、第１実施形態では、例えばオブジェクトの最新の最終編集時間と、干渉チェック時における最終編集時間とが不一致の場合、干渉チェック結果の信頼性に欠けると判別する。干渉チェック結果の信頼性に欠けるオブジェクトについては、製品全体の干渉チェックを実行することなく、該当オブジェクトに関係するオブジェクトについて干渉チェックを実行すればよい。すなわち、干渉チェック結果の信頼性に欠けるオブジェクトについて個別に干渉チェックを実行することができる。従って、製品に含まれる全ての部品に対して一括干渉チェックを実行することに比べて、干渉チェックを実行する時間を短縮することができる。
【００８０】
また、第１実施形態では、干渉結果情報をアセンブリ毎に対応付ける（書込む）ことにより、干渉結果情報の有効性をアセンブリ単位で判別できる。従って、製品の干渉チェックを実行するとき、アセンブリ毎に干渉結果情報を検討することができる。また、製品全体の干渉チェックを実行したときに製品全体の干渉チェック結果情報を取得するのに比べて製品を細分化して干渉チェック結果情報を得ることができ、細やかな干渉チェック結果情報の有効性を判別することができる。
【００８１】
なお、第１実施形態では、最終編集時間は、オブジェクトの設計データを変更したときの編集終了時間を採用することができる。例えば、オブジェクトを参照したのみ、または編集の結果が編集前の設計データと一致する場合、最終編集時間は更新されるものの、設計データに変更がない場合がある。そこで、オブジェクトの最新の最終編集時間と、干渉チェック時におけるオブジェクトの最終編集時間とが相違するとき、相違対象のオブジェクトの最新の設計データと、干渉チェック時の設計データとを比較し、比較結果を最終編集時間の適否に使用してもよい。
【００８２】
また、第１実施形態では、記憶部１６および格納部５４の一例として、ＨＤＤを適用した場合を説明したが、ＨＤＤに限定されるものではなく、ソリッドステートドライブ（ＳＳＤ）であってもシリアルフラッシュメモリなどであってもよい。
【００８３】
＜第２実施形態＞
次に第２実施形態を説明する。第２実施形態は、設計データの１部を他の製品に使用する場合に、開示の技術を適用させるものである。なお、第２実施形態は、第１実施形態と略同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
【００８４】
図２０に、第２実施形態に係る製品の一部を他の製品に使用する過程の一例を示す。図２０に示す製品の階層構造３６は、図２に示す階層構造３６の一部を表記している。階層構造３６に含まれるアセンブリＡｓｙ３−１２配下の全てのオブジェクトを、他の製品に使用する場合、例えば、アセンブリＡｓｙ３−１２配下の全てのオブジェクトを、アセンブリ群Ａｓｙ−Ｘとする。
【００８５】
他の製品は、アセンブリＡｓｙＮとして階層構造３７で示されており、アセンブリＡｓｙＮの配下にアセンブリ群Ａｓｙ−Ｘが連結される。従って、他の製品では、アセンブリ群Ａｓｙ−Ｘが、オブジェクトであるアセンブリＡｓｙＮ−１として干渉チェックが実行される。
【００８６】
アセンブリ群Ａｓｙ−Ｘには、干渉結果情報が対応付けられている。従って、アセンブリ群Ａｓｙ−Ｘを他の製品に使用するとき、アセンブリ群Ａｓｙ−Ｘの干渉チェック結果情報は、そのまま使用することができる。すなわち、設計データの１部を、他の装置の設計に使用した場合、使用した部分の干渉チェック結果情報も、他の装置の設計データに引き継ぐことができる。
【００８７】
なお、第２実施形態では、干渉チェック結果情報を他の製品に使用する場合を説明したが、同一の製品に再利用してもよい。
【００８８】
以上説明したように、第２実施形態では、設計データの１部を、他の装置の設計に使用した場合、使用した部分の干渉チェック結果情報を他の装置の設計データに引き継ぐことができるので、他の装置において干渉チェック対象アセンブリの数を抑制できる。また、干渉チェック結果情報を他の装置の設計データに引き継ぐことにより、他の装置において干渉チェックを実行する時間を短縮することができる。従って、第２実施形態によれば、干渉チェック結果情報を他の製品に使用することにより、干渉チェック結果情報の信頼性を向上させつつ干渉チェックの実行時間を短縮させることができる。
【００８９】
なお、上記では干渉チェック装置１０をコンピュータ４０により実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
【００９０】
また、上記ではプログラムが記憶部に予め記憶（インストール）されている態様を説明したが、これに限定されるものではない。例えば、開示の技術における情報処理プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【００９１】
以上の実施形態に関し、更に以下の付記を開示する。
【００９２】
（付記１）
複数の部品を有する製品における前記各部品の形状及び位置の少なくとも一方に関する最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記各部品の前記編集時刻及び前記複数の部品の部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する記憶部と、
前記記憶部に記憶された前記部品の最新の編集時刻と、前記干渉チェック情報に含まれる前記干渉チェック時における部品の編集時刻とに基づいて、前記記憶部に記憶された干渉チェック情報の有効性を判定する判定部と、
を備えた干渉チェック装置。
【００９３】
（付記２）
前記判定部は、前記干渉チェック情報に含まれる部品に対して、前記記憶部に記憶された最新の編集時刻と、前記干渉チェック情報に含まれる編集時刻とが一致するときに、前記記憶部に記憶された干渉チェック情報が有効と判定する
付記１の干渉チェック装置。
【００９４】
（付記３
前記判定部で判定された前記干渉チェック情報の有効性の判定結果を出力する出力部
を備えた付記１または付記２の干渉チェック装置。
【００９５】
（付記４）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する
付記１〜付記３の何れか１つの付記の干渉チェック装置。
【００９６】
（付記５）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を前記組立体に対応付けて記憶し、
前記判定部は、前記組立体について前記記憶部に記憶された干渉チェック情報の有効性を判定する
付記１〜付記３の何れか１つの付記の干渉チェック装置。
【００９７】
（付記６）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前干渉チェック対象の部品または組立体が指定されるとき、
前記記憶部に、
前記指定された部品または組立体の上位の組立体が、干渉チェック対象の組立体に指定されて、前記上位の組立体に属する部品について干渉チェックの実行時における編集時刻、及び前記上位の組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報が記憶される
付記１〜付記５の何れか１つの付記の干渉チェック装置。
【００９８】
（付記７）
複数の部品を有する製品における前記各部品の形状及び位置の少なくとも一方に関する最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記各部品の前記編集時刻及び前記複数の部品の部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する記憶部に記憶された前記部品の最新の編集時刻と、前記干渉チェック情報に含まれる前記干渉チェック時における部品の編集時刻とに基づいて、前記記憶部に記憶された干渉チェック情報の有効性を判定する
ことを含む干渉チェック方法。
【００９９】
（付記８）
前記干渉チェック情報の有効性を判定する場合、前記干渉チェック情報に含まれる部品に対して、前記記憶部に記憶された最新の編集時刻と、前記干渉チェック情報に含まれる編集時刻とが一致するときに、前記記憶部に記憶された干渉チェック情報が有効と判定する（１３２）
ことを含む付記７の干渉チェック方法。
【０１００】
（付記９）
前記干渉チェック情報の有効性が判定される場合に、判定された前記干渉チェック情報の有効性の判定結果を出力する
ことを含む付記７または付記８の干渉チェック方法。
【０１０１】
（付記１０）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する
ことを含む付記７〜付記９の何れか１つの付記の干渉チェック方法。
【０１０２】
（付記１１）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を前記組立体に対応付けて記憶し、
前記干渉チェック情報の有効性を判定する場合、前記組立体について前記記憶部に記憶された干渉チェック情報の有効性を判定する
ことを含む付記７〜付記１１の何れか１つの付記の干渉チェック方法。
【０１０３】
（付記１２）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前干渉チェック対象の部品または組立体が指定されるとき、
前記記憶部に、
前記指定された部品または組立体の上位の組立体が、干渉チェック対象の組立体に指定されて、前記上位の組立体に属する部品について干渉チェックの実行時における編集時刻、及び前記上位の組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報が記憶される
ことを含む付記７〜付記１１の何れか１つの付記の干渉チェック方法。
【０１０４】
（付記１３）
複数の部品を有する製品における前記各部品の形状及び位置の少なくとも一方に関する最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記各部品の前記編集時刻及び前記複数の部品の部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する記憶部に記憶された前記部品の最新の編集時刻と、前記干渉チェック情報に含まれる前記干渉チェック時における部品の編集時刻とに基づいて、前記記憶部に記憶された干渉チェック情報の有効性を判定する
ことを含む処理をコンピュータに実行させる干渉チェックプログラム。
【０１０５】
（付記１４）
前記干渉チェック情報の有効性を判定する場合、前記干渉チェック情報に含まれる部品に対して、前記記憶部に記憶された最新の編集時刻と、前記干渉チェック情報に含まれる編集時刻とが一致するときに、前記記憶部に記憶された干渉チェック情報が有効と判定する
ことを含む処理をコンピュータに実行させる付記１３の干渉チェックプログラム。
【０１０６】
（付記１５）
前記干渉チェック情報の有効性が判定される場合に、判定された前記干渉チェック情報の有効性の判定結果を出力する
ことを含む処理をコンピュータに実行させる付記１３または付記１４の干渉チェックプログラム。
【０１０７】
（付記１６）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を記憶する
ことを含む処理をコンピュータに実行させる付記１３〜付記１５の何れか１つの付記の干渉チェックプログラム。
【０１０８】
（付記１７）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前記記憶部は、前記組立体に属する前記部品の最新の編集時刻を記憶すると共に、干渉チェックの実行時における前記組立体に属する前記部品の編集時刻及び前記組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報を前記組立体に対応付けて記憶し、
前記干渉チェック情報の有効性を判定する場合、前記組立体について前記記憶部に記憶された干渉チェック情報の有効性を判定する
ことを含む処理をコンピュータに実行させる付記１３〜付記１６の何れか１つの付記の干渉チェックプログラム。
【０１０９】
（付記１８）
前記複数の部品のうちの一部の複数の部品を組み合わせた組立体及び前記部品の少なくとも一方が上位の組立体に属する階層構造により前記製品が表され、
前干渉チェック対象の部品または組立体が指定されるとき、
前記記憶部に、
前記指定された部品または組立体の上位の組立体が、干渉チェック対象の組立体に指定されて、前記上位の組立体に属する部品について干渉チェックの実行時における編集時刻、及び前記上位の組立体に属する部品間の干渉チェックの実行結果を示す干渉チェック情報が記憶される
ことを含む処理をコンピュータに実行させる付記１３〜付記１７の何れか１つの付記の干渉チェックプログラム。
【０１１０】
（付記１９）
コンピュータに、前記コンピュータを、付記７〜付記１２の何れか１項記載の干渉チェック方法に係る処理を実行させるための干渉チェックプログラム。
【符号の説明】
【０１１１】
１０    干渉チェック装置
１２    干渉チェック実行部
１４    干渉チェック結果出力部
１６    記憶部
１８    外部記憶装置
２０    アセンブリ指定部
２２    個別検証部
２４    アセブリ指定部
２６    検証実行部
２８    情報書込部
３０    アセンブリ指定部
３２    有効性検証部
３４    情報出力部
【図１】
2014119958.tif 000003
【図２】
2014119958.tif 000004
【図３】
2014119958.tif 000005
【図４】
2014119958.tif 000006
【図５】
2014119958.tif 000007
【図６】
2014119958.tif 000008
【図７】
2014119958.tif 000009
【図８】
2014119958.tif 000010
【図９】
2014119958.tif 000011
【図１０】
2014119958.tif 000012
【図１１】
2014119958.tif 000013
【図１２】
2014119958.tif 000014
【図１３】
2014119958.tif 000015
【図１４】
2014119958.tif 000016
【図１５】
2014119958.tif 000017
【図１６】
2014119958.tif 000018
【図１７】
2014119958.tif 000019
【図１８】
2014119958.tif 000020
【図１９】
2014119958.tif 000021
【図２０】
2014119958.tif 000022