<第1の実施形態>
以下、図面を参照して、本発明の実施の形態の一例について説明する。
まず図1を参照して、本発明の実施形態における、情報処理システムの構成の一例について説明する。
本発明の情報処理システムは、PC100、サーバ200がLAN101(ローカルエリアネットワーク)によって通信可能に接続されて構成されている。
PC100には、CADソフト及びCADソフトのアドオンとして機能する干渉チェックパターン特定ツール(干渉チェックパターン特定ソフトウェア)がインストールされている。
PC100及びサーバ200には、CADソフト(CADソフトウェア)によって生成された3次元モデルのデータ(アセンブリファイルや部品ファイル等)が記憶されている。
アセンブリとは、CADファイル(3次元CADにおける3次元モデルのファイル)の1つである。アセンブリ(設計データ)は、複数の部品(3次元モデルの形状を記憶したファイル/拡張子はprt)を参照することで、参照している複数の部品(構成部品)を組み合わせた3次元モデルを表示するためのファイルである。アセンブリには、参照している部品のファイル名、保存場所、3次元CADの3次元空間上における位置・姿勢、部品の合致の情報が記憶されている。アセンブリファイルの拡張子はasmやsldasmである。
合致とは、設計データにおけるエンティティ(点・面・エッジ等、設計データにおける要素)の動きを制限する制限情報である。例えば対象のエンティティ同士の相対位置を固定したり、エンティティ間の距離を制限したりする情報である。合致の詳細については図6の600の説明で後述する。
本実施形態において、ユーザが干渉チェックを所望するアセンブリを、干渉チェック対象アセンブリとして記載する。例えば、干渉チェックパターン特定ツールの起動が指示されたウィンドウ(CADソフトのウィンドウ)で展開されているアセンブリを、干渉チェック対象アセンブリとする。
干渉チェックパターンとは、干渉チェックを行うための情報であって、どのエンティティを(どのエンティティを持つ部品を)、どのように駆動させるか、を定めた情報である。本実実施形態における干渉チェックパターンのファイルは、後述するマスタアセンブリファイルである。
エンティティとは、点・面・エッジ等、設計データにおける要素の総称である。
マスタアセンブリとは、どのエンティティを(どのエンティティを持つ部品を)、どのように駆動させるかを記憶したアセンブリファイルであり、サーバ200の外部メモリに予め記憶されている。以上が図1の説明である。
以下、図2を用いて、本発明の実施形態における各種装置のハードウェア構成の一例について説明する。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN101)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。以上が図2の説明である。
次に図3を参照して、本発明の実施形態における機能構成の機能構成の一例について説明する。
アセンブリ取得部311は、PC100の外部メモリまたはサーバ200の外部メモリからアセンブリファイルを取得する取得部である。アセンブリ展開部312は、アセンブリ取得部311で取得したアセンブリをCADソフト上で開く処理を行う。
合致処理部313は、ユーザ操作や干渉チェックパターン特定ツールからの指示に応じて、エンティティ同士を合致する処理を行う。つまり、対象の要素に制限情報を付加する。
干渉判定部314は、部品同士が干渉しているか干渉チェック(判定)を行い、干渉チェックの結果をメモリ上に出力して記憶する。
干渉チェックパターン記憶部321は、干渉チェックのパターンの情報を記憶する。つまり、マスタアセンブリのファイルを記憶する記憶部である。干渉チェックパターン特定条件記憶部322は、CADソフトで展開中のアセンブリに適用可能な干渉チェックパターンを特定するための条件の情報(例:図6の630)を記憶する記憶部である。
干渉チェックパターン特定条件送信部323は、PC100からの要求に応じて干渉チェックパターン特定条件をPC100に送信する。干渉チェックパターン特定条件取得部315は、当該干渉チェックパターン特定条件を受信して取得し、メモリに記憶する。
干渉チェックパターン特定部316は、展開中のアセンブリの中の合致と、干渉チェックパターン特定条件が示す合致とを用いて、展開中のアセンブリに適用可能な干渉チェックパターンを特定する。
干渉チェックパターン取得部317は、干渉チェックパターン特定部316で特定された干渉チェックパターンの情報をサーバ200に要求する。干渉チェックパターン送信部324は、要求された干渉チェックパターンの情報を干渉チェックパターン記憶部321から取得してPC100に送信し、干渉チェックパターン取得部317がこれを取得してメモリに記憶する。
エンティティ合致制御部318は、干渉チェックパターン取得部317で取得した干渉チェックパターンの情報の内部を参照し、干渉チェックパターンに含まれる合致のエンティティを特定する。そして、当該干渉チェックパターンから特定したエンティティと、当該エンティティと対応する、展開中のアセンブリの中のエンティティを特定して、合致させるよう制御する。例えば、CADソフトが備える合致処理部313に、干渉チェックパターンから特定したエンティティと、当該エンティティと対応する、展開中のアセンブリの中のエンティティを合致させるよう指示する。
干渉チェック実行制御部319は、干渉チェックパターンの情報に含まれる駆動情報を読み出して、展開中のアセンブリ内の部品が当該駆動情報に従った動きをした場合の干渉チェックを行うよう制御する。例えば、当該駆動情報に従ってエンティティ(エンティティを含む部品)を動かすようにCADソフトに指示し、また、動いている間の干渉チェックを行うよう干渉判定部314に指示する。以上が図3の説明である。
以下、説明する各フローチャートの各ステップの処理は、PC100又はサーバ200のCPU201が、自機にインストールされたソフトウェアの機能を用いて実行するものとする。
次に図4を参照して、本発明の実施形態における処理の概要について説明する。
ステップS401で、CADソフトはユーザ操作によって起動し、ユーザにより選択されたアセンブリをCADソフト上で展開する(指定受付手段に該当)。例えば図7の700のCAD画面が表示される。
アセンブリの一例を図11のTopAssyに示す。TopAssy1は、アセンブリ情報1100と合致情報600を含むアセンブリファイルである。
レコードNo1101は、アセンブリが参照しているファイルの、アセンブリ内における識別番号である。レベル1102は、各ファイルの構成階層を格納する。フォルダパス1103は、各ファイルのフォルダパスを格納する。
ファイル名1104は、TopAssy自身およびTopAssyが直接的または間接的に参照している各ファイルのファイル名を格納する。
構成パス1105には、一般的な3次元CADにおける参照関係のパスが登録される。例えば、ファイル構造(構成)の頂点に位置する構成パス1105の値にはNullの値が登録される。
また、TopAssyが直接参照しているファイルであるAssy1の構成パスはTopAssyとなる。つまり、Assy1がTopAssyに直接的に参照されていることを示す。
さらに、TopAssyがAssy1を介して間接的に参照しているファイルPart1の構成パスは、TopAssy/Assy1となる。つまり、Part1が、Assy1に直接参照されており、TopAssyに間接的に参照されていることを示す。
種類1106は、処理ファイルの種類を格納する。当該種類とは、CADファイルの拡張子によって区別される。
その他、アセンブリファイルや部品ファイルの中には、当該ファイルの中で生成された面や線、点等の要素が記憶されており、当該要素の3次元空間上のXYZ座標、XYZで表現される角度の情報が記憶されている。合致情報600については後述する。
ステップS402で、CADソフトはユーザ操作によって干渉チェックパターン特定ツールの起動コマンドを実行し、当該コマンドに従ってステップS403で干渉チェックパターン特定ツールが起動する。起動した干渉チェックパターン特定ツールは、CADソフトのアクティブウィンドウで展開されているアセンブリを干渉チェック対象のアセンブリとして特定(決定)し、当該アセンブリの識別情報(例:ファイル名)をメモリに記憶する。
ステップS404で、干渉チェックパターン特定ツールは、干渉チェックパターンの特定処理(マスタアセンブリの特定処理)を実行する。マスタアセンブリの決定処理については図5の説明で後述する。
ここで図5を参照して、マスタアセンブリの特定処理の流れについて説明する。
ステップS501で、干渉チェックパターン特定ツールは、展開中のアセンブリの合致情報の一覧をCADソフトに要求し、CADソフトから当該合致情報の一覧を取得してメモリに記憶する。合致情報一覧の一例を図6の600に示す。合致情報600は、CADソフトが開いている干渉チェック対象アセンブリの中に含まれる全ての合致の情報の一覧である。
合致名601は、合致の表示名であり、合致の識別情報である。種別602は、合致の種別(種類)である。合致の種別には、例えば、一致(頂点(点)やエッジ(線/軸)、面(平面)を一致させる合致)、距離制限(線や面等の同士の相対距離を指定された距離幅に制限する合致)、角度制限(線や面同士の相対角度を指定された角度幅に制限する合致)、同心円(複数の円や円筒、点、球などの中心同士を一致させる合致)、ロック(複数のエンティティ間の相対位置を完全固定する合致)等がある。
合致エンティティA603と合致エンティティB604は、それぞれ合致の対象となっているエンティティ(点・面・エッジ等の要素の総称)である。
制限605は、合致エンティティAと合致エンティティBとの間で移動・変更可能な相対距離又は/及び相対角度の範囲を示す情報である。600の角度1の場合、エンティティAとエンティティBとの間の角度をX1°~X2°の間でのみ角度変更可能である。例えばX1°=0°でX2°=30°の場合、合致エンティティAと合致エンティティBとの間の角度を-1°以下、31°以上にはできない。
ステップS502で、干渉チェックパターン特定ツールは、サーバ200に記憶されている全ての絞込用合致情報の取得要求をする。絞込用合致情報とは、干渉チェックに必要な合致である、干渉チェックに用いられる可能性のある合致の絞込み条件である。絞込用合致情報610の一例を図6の610に示す。絞込用合致情報610は、サーバ200上に予め記憶されており、サーバ200上に記憶されている全てのマスタアセンブリの合致情報が記憶されている。
種別612、合致エンティティA614、合致エンティティB615は、それぞれ、種別602、合致エンティティA603、合致エンティティB604と同じであるため説明は割愛する。
合致コード611は、種別612、合致エンティティA614、合致エンティティB615の組み合わせ(合致条件)の識別情報(ID)である。
駆動情報名613は、種別612、合致エンティティA614、合致エンティティB615の組み合わせ(種別、エンティティの組み合わせの条件を満たす合致)に適用可能な駆動情報の識別情報である。
駆動情報は、マスタアセンブリ内に記憶されている。マスタアセンブリは、600で説明した合致情報と同じ構成の合致情報を持つ。また、図6の650に示すような駆動情報を持つ。
駆動情報名651は、各駆動情報の名称である。各駆動情報は、マスタアセンブリ内のどのエンティティ(駆動エンティティ)を含む部品を、X,Y,Z方向のうちどの方向(駆動方向653)に、どの程度の角度及び/又は距離(駆動角度/駆動距離654)の分だけ、駆動エンティティと合致している他のエンティティとの相対角度及び/又は相対距離を変化させるよう、部品を駆動させるか、を記憶した情報である。
図6の駆動情報650によれば、「合致エンティティ:Part1:面1」のレコードに従って、干渉チェック対象アセンブリが参照するPart1という部品ファイルの中の面1という面要素を、X方向に、X1°~X2°の範囲で駆動させる。
また、「合致エンティティ:Part1:円筒面1:XYZ」のレコードに従って、干渉チェック対象アセンブリが参照するPart1という部品ファイルの中の面1という円筒面要素の重心位置からXYZ分だけ離れた位置の点を、XYZの方向にそれぞれX1°~X2°の範囲で駆動させる。
マスタアセンブリの一例を図11のマスタアセンブリAに示す。アセンブリ情報1110の1111~1118の説明は、それぞれ1101~1108と同じであるため記載は省略する。また、合致情報1120の1121~1125の説明は、それぞれ合致情報600の601~605と同じであるため説明は省略する。
図5の説明に戻る。ステップS503で、サーバ200は当該絞込用合致情報の取得要求を受け付け、ステップS504で、自機のメモリに記憶されている絞込用合致情報610を取得してPC100(干渉チェックパターン特定ツール)に送信する。
ステップS505で、干渉チェックパターン特定ツールは絞込用合致情報610を受信し、メモリに記憶する。
ステップS506で、干渉チェックパターン特定ツールは、メモリ上の合致情報600と絞込用合致情報610を比較し、種別602、合致エンティティA603、合致エンティティB604の全てが、種別612、合致エンティティA614、合致エンティティB615とそれぞれ一致するレコードを特定し、干渉チェック用合致情報620としてメモリ上に記憶する。つまり、干渉チェック対象アセンブリの中の、干渉チェックに用いられる可能性のある合致情報を特定する。
エンティティの一致判定に際しては、エンティティ同士の名称が異なったとしても、エンティティの種別(面、点、線など)が同じであれば一致しているとみなす。
ステップS507で、干渉チェックパターン特定ツールは、図7に示すような干渉チェックパターン表示画面710(干渉チェックパターンの選択画面)を表示画面に表示し、一覧表示部712に、干渉チェック用合致情報620の一覧を表示する。駆動情報選択部715は、駆動情報名624を表示・選択可能(選択操作を受付可能)な表示部である。また、711には干渉チェック対象アセンブリのファイル名を表示する。
ステップS508で、干渉チェックパターン特定ツールは、干渉チェック対象アセンブリにおいて実行可能な干渉チェックパターン(マスタアセンブリ)を特定するための条件である干渉チェックパターン特定条件630の取得要求をサーバ200に送信する。
合致コード631は、合致の種別(612)、合致が適用されている合致エンティティ(641、615)の組み合わせ(合致条件)の識別情報である。
干渉チェックパターン632は、干渉チェックパターン(マスタアセンブリ)の名称の一覧であり、どのパターンの干渉チェックを行うために、どの合致条件が必要かを、干渉チェックパターンごとに記憶したテーブルである。
本実施形態においては、「1」の値が挿入されている合致コードの合致条件が必要であるものとする。例えば、干渉チェック用合致情報620に、合致コード=AE001、AE002のみが存在する場合には(つまり、合致条件がAE001及びAE002の場合には)、干渉チェックAの干渉チェックパターンを干渉チェック対象アセンブリに適用可能である。
本発明の実施形態における干渉チェックパターンはマスタアセンブリである。マスタアセンブリには駆動情報(合致されているエンティティ(エンティティを含む部品)をどの程度動かすかを示す動作の情報)が含まれている。
駆動範囲は、制限655又は、制限605の範囲に制限される。実際に干渉チェックを行う場合は、各制限655と、マスタアセンブリ(干渉チェックパターン)が適用された干渉チェック対象アセンブリの各制限605のうち、それぞれ、より小さい制限値に従って、駆動可能範囲が決まる。
また、例えばエンティティAの部品を動かしてエンティティAとエンティティBとの間の角度を30°まで開いたところで、同じ部品または当該部品と動作が連動する他の部品の制限655又は制限605を超えてしまう場合、エンティティAとエンティティBとの間の角度を29°まで変更可能である。
マスタアセンブリ内のエンティティと干渉チェック対象アセンブリのエンティティを合致(固定)させてからマスタアセンブリの部品を(駆動情報に従って)駆動させることで、マスタアセンブリの部品の動きに連動して干渉チェック対象アセンブリの部品も同じ方向へ、同じ角度・距離だけ移動(駆動)する。駆動の様子の一例を図9に示す。
ステップS509で、サーバ200は干渉チェックパターン特定条件630の取得要求を受け付け、ステップS510で、自機の外部メモリに記憶されている干渉チェックパターン特定条件630をPC100(干渉チェックパターン特定ツール)に送信する。
ステップS511で、干渉チェックパターン特定ツールは干渉チェックパターン特定条件630を受信し、メモリ上に記憶する。
ステップS512で、干渉チェックパターン特定ツールは、展開中の干渉チェック対象アセンブリに適用可能な干渉チェックパターンを特定する。
具体的には、干渉チェック用合致情報620の合致コード621を参照し、干渉チェック用合致情報620内に、632に示す干渉パターンを適用するために必要な合致コード(「1」が挿入された合致コード631)が全て存在するか、干渉パターンごとに判定する。
干渉チェックパターン特定ツールは、干渉チェックパターン一覧640をメモリ上に生成する。そして、干渉チェック用合致情報620内に、632に示す干渉パターンを適用するために必要な合致コードが全て存在すると判定された干渉パターンの名称を干渉チェックパターン名641に挿入し、不足合致条件数642=0のレコードとして記憶する。
また、干渉チェック用合致情報620内に、632に示す干渉パターンを適用するために必要な合致コードの一部または全部が存在しないと判定された干渉パターン名を干渉チェックパターン名641に挿入し、不足していた合致条件の数(不足合致条件数)を特定し、当該特定した数を不足合致条件数642に挿入して記憶する。
不足合致条件数=0ということは、干渉チェックパターンを適用する条件を満たしているということであり、展開中のアセンブリ上に、当該干渉チェックパターン(マスタセンブリ)に登録された駆動動作の対象となるエンティティの全てが存在しているということである。つまり、不足合致条件数=0の干渉チェックパターンは、展開中のアセンブリには適用可能な干渉チェックパターンである。
一方、合致条件の数が不足しているということは、干渉チェックパターン(マスタセンブリ)に登録された駆動動作の対象となるエンティティが不足しているということである。つまり、開いているアセンブリでは、合致条件の数が不足している干渉チェックパターン(マスタセンブリ)に登録された駆動動作ができない。すなわち、合致条件の数が不足している干渉チェックパターンは、展開中のアセンブリには適用できないということである。
ステップS513で、干渉チェックパターン特定ツールは、干渉チェックパターン一覧640(マスタアセンブリ一覧)を表示画面に表示する。例えば図7のマスタアセンブリ一覧表示部713(干渉チェックパターンの識別情報一覧)に表示する。
これにより、展開中の設計データ(アセンブリ)に適用可能な干渉チェックパターンをユーザに提示することができる。
また、本実施形態においては、不足合致上件数=0のマスタアセンブリを選択可能に表示し、不足合致上件数=1以上のマスタアセンブリを選択できないようにグレーアウト表示する。
これにより、所望の干渉チェックパターンを展開中のアセンブリに適用できるかを、ユーザに容易に確認させることができる。
ステップS514で、干渉チェックパターン特定ツールは、マスタアセンブリ一覧表示部713に表示されたマスタアセンブリの一覧から、展開中のアセンブリに適用する干渉チェックパターン(マスタアセンブリ)の選択を受け付ける(選択受付手段に該当)。
干渉チェックパターン特定ツールは、選択されたマスタアセンブリの中にある駆動情報650を特定し、特定した駆動情報650の駆動情報名651のみを選択可能に、駆動情報選択部715に表示する(駆動情報選択部715の表示を更新する)。また、選択されたマスタアセンブリの中にある駆動情報のいずれも適用できない合致については、一覧表示部712において非表示とする制御を行い、一覧表示部712の表示を更新する(合致情報一覧表示手段に該当)。
例えば713でマスタアセンブリが選択されると、当該マスタアセンブリの中にある駆動情報650を特定し、駆動情報650の中の各駆動情報名を、各駆動情報に対応する合致情報における駆動情報選択部715に表示する。つまり、マスタアセンブリの選択に応じて、各合致(合致により動きが制限されている部品の要素)に適用する駆動情報を自動選択する。
ステップS515で、干渉チェックパターン特定ツールは、「実行」ボタン714の押下を受け付けることで、ステップS516で、展開中のアセンブリに適用する干渉チェックパターン(マスタアセンブリ)を決定(特定)する。また、駆動情報選択部715で選択されている駆動情報を、各合致のエンティティ(エンティティを含む部品)に対して適用する駆動情報として決定し、図5の処理を終了する。
なお、CADソフトのウィンドウ上のユーザ操作で、展開中のアセンブリ内の合致情報が追加、削除、又は既にある合致情報の合致条件の変更がされたことを干渉チェックパターン特定ツールが検知した場合、干渉チェックパターン特定ツールはステップS501~S513を実行して、図7の712、713の表示を更新する。
図4の説明に戻る。ステップS405で、干渉チェックパターン特定ツールは、CADソフト対して、「実行」ボタン714の押下時点で選択されていたマスタアセンブリを展開するよう指示する。
ステップS406で、CADソフトが当該指示を受け付け、ステップS407で指示されたマスタアセンブリをサーバ200の外部メモリから読み出して展開する。展開したマスタアセンブリの一例を図8の800に示す。この時点で、干渉チェック対象アセンブリとマスタアセンブリが700と800に示すように、CADソフト上で同時に展開されている。
干渉チェックパターン特定ツールは、当該展開処理が完了したことをCADソフトのAPIの機能を用いて検知すると、ステップS408でCADソフトに対して、展開したマスタセンブリ上に、展開中の干渉チェック対象アセンブリを、当該マスタアセンブリの参照する部品(構成部品)として挿入する指示をする。
ステップS409で当該指示を受け付けたCADソフトは、ステップS410で指示されたマスタアセンブリ上に、指示された干渉チェック対象アセンブリを構成部品として挿入する。
干渉チェックパターン特定ツールは、当該挿入処理が完了したことをCADソフトのAPIの機能を用いて検知すると、ステップS411で、マスタアセンブリに応じた合致の実行を指示する(位置制御手段に該当)。ここで指示する合致は、複数の要素(部品の要素)の相対位置を固定する「一致」という種類の合致である。
具体的には、干渉チェックパターン特定ツールが、当該マスタアセンブリの干渉チェックパターンを適用するために必要な合致コード631(例えば干渉チェックEにとってのAE0001とAE0002)を取得し、これらの合致コードが示すマスタアセンブリ上の合致エンティティA614及び合致エンティティB615と、干渉チェック対象アセンブリ上の合致コード621の合致エンティティ622及び合致エンティティ623をそれぞれ合致(固定)させるよう指示する。
例えば図10の1000及び1010でいう、干渉チェック対象アセンブリ内の、部品1001の穴(円筒)の内側の面(合致エンティティA603/例:図6の603における「Part1:円筒面1」)と、マスタアセンブリ内の部品1012の円筒の内側の面(合致エンティティA614/例:図11の1123における「Part1:円筒面1」)とを合致させるよう指示する。また、部品1002の円筒の外側の面(合致エンティティB604/例:図6の604における「Part3:円筒面1」)と、部品1012の円筒の外側の面(合致エンティティB615/例:図11の1124における「Part2:円筒面1」)とを合致させるよう指示する。
また、図10の1020及び1030でいう、干渉チェック対象アセンブリ内の、部品1001の平面(合致エンティティA603/例:図6の603における「Part1:面1」)と、マスタアセンブリ内の部品1011の平面(合致エンティティA614/例:図11の1123における「Part1:面1」)とを合致させるよう指示する。また、干渉チェック対象アセンブリ内の、部品1013の平面(合致エンティティB604/例:図6の604における「Part3:面3」)と、マスタアセンブリ内の平面(合致エンティティB615/例:図11の1124における「Part2:面3」)とを合致させるよう指示する。
ステップS412で、CADソフトは当該指示を受け付け、ステップS413で、指示に従って、マスタアセンブリ上の、指示された合致コード631の合致エンティティA614及び合致エンティティB615と、干渉チェック対象アセンブリ上の、合致コード631と同じ合致コード621の合致エンティティ622及び合致エンティティ623をそれぞれ合致し、合致したエンティティ同士の相対位置を固定する。つまり「一致」という種類の合致を適用する。
干渉チェックパターン特定ツールは、当該合致処理が完了したことをCADソフトのAPIの機能を用いて検知すると、ステップS414で、CADソフトに対して、合致処理をしたマスタアセンブリに登録されている駆動情報のうち、「実行」ボタン714押下時に駆動情報選択部715で選択されていた駆動情報に従って各合致が設定されている部品(各合致が設定されているエンティティを含む部品)を動作させ、干渉チェックを実行するよう指示する(駆動制御手段に該当)。
これにより、マスタアセンブリに登録された駆動情報に従ったマスタアセンブリのエンティティの動きに連動して、当該エンティティと合致している干渉チェック対象アセンブリ内のエンティティ(エンティティを含む部品)を動かすことができる。
よって、マスタアセンブリに登録された動きで干渉チェックを行うことができる。
ステップS415で、CADソフトは当該指示を受け付ける。ステップS416で、CADソフトは、受け付けた指示に従ってCADソフト自身の干渉チェック機能を実行し、部品を駆動させることで、自動で干渉チェック処理を行う。すなわち、部品の駆動中に当該部品が他の部品と干渉した座標(X,Y,Z)と、干渉した日時と、干渉した当該他の部品の識別情報を干渉チェックの結果として表示・記録する処理を行う。
なお、干渉チェックパターン表示画面710では、各行に駆動情報選択部715を表示する。駆動情報選択部715で、「駆動情報を適用しない」が選択されている場合、「駆動情報を適用しない」が選択されている合致のエンティティについては、CADソフトに対して駆動の指示を行わない。駆動情報選択部715で、適用する駆動情報が選択されている合致のエンティティを駆動させる指示のみ、CADソフトに対して送信するものとする。
これにより、ユーザは任意の合致のエンティティ(エンティティを含む部品)を駆動させ、干渉チェックを行うことができる。
また、干渉チェックパターン表示画面710では、1つの合致条件に適用可能な駆動情報が複数ある場合、当該合致条件を満たしている合致の行の駆動情報選択部715で、当該合致の対象となっているエンティティに適用する駆動情報を選択可能に表示する。「実行」ボタン714が押下された場合、駆動情報選択部715で選択されている駆動情報に従って、当該合致のエンティティを駆動させるようCADソフトに指示する。
これにより、ユーザは任意の駆動情報に従って部品を動作させ、干渉チェックを行うことができる。
以上説明したように、本発明によれば、対象のモデルに対して行うべき干渉チェックを容易に行わせることが可能な仕組みを提供することができる。
<第2の実施形態>
以下、本発明の第2の実施形態について説明する。
まだ干渉チェックを行っていない部品を対象に干渉チェックを行いたいことがある。
また、既に干渉チェックを行った部品であっても、不適切な駆動方法で干渉チェックが行われている場合等においては、干渉チェックをやり直したいことがある。
本発明の第2の実施形態は、駆動実績に基づいて、設計物の制限情報にかかる部品の駆動方法を容易に特定可能な仕組みを提供することを目的とする。
以下、図12及び図13を参照して第2の実施形態について説明する。
図12の処理は、図5のステップS512の後に開始する。ステップS1201で、干渉チェックパターン特定ツールは、外部メモリ211より、干渉チェック対象アセンブリに対応する駆動実績(図13の1320に図示)の情報を取得する。
駆動実績1320は、図4のステップS414の後、干渉チェックパターン特定ツールが生成・記憶する。
具体的には、干渉チェックの実行指示の対象とした合致の合致名1321を記憶する。また、当該実行指示をした日時1324を記憶する。
また、当該合致の設定された部品を駆動させる駆動情報名1323を記憶し、当該駆動情報名1323の駆動情報を含んだマスタアセンブリ(図7の713で選択された干渉チェックパターン)の識別情報を適用パターン1322として記憶する。つまり、どの合致(どの合致が設定されている部品)にどのマスタアセンブリのどの駆動情報を適用したかの実績を記憶する。
図12の説明に戻る。ステップS1202で、干渉チェックパターン特定ツールは、ステップS1201の取得処理で駆動実績1320が取得できたか判定する。
つまり、干渉チェック対象アセンブリにおいて、過去にマスタアセンブリに基づく干渉チェックが行われた実績があるか判定する。
駆動実績1320が取得できた場合は処理をステップS1203に移行する。取得できなかった場合は処理を図5のステップS513に移行する。
ステップS1203で、干渉チェックパターン特定ツールは、マスタアセンブリによる駆動実績(マスタアセンブリの駆動情報による駆動実績)がない合致を、合致情報(干渉チェック用合致情報)から特定する。
例えば、干渉チェック対象アセンブリが図13のTopAssyであり、TopAssyが合致情報1300を持ち、干渉チェック用合致情報が1310となっている場合、且つ、TopAssyの駆動実績1320が取得された場合、ステップS1203で特定される合致情報は、合致コード=AE000Xのレコードである。
なお、合致情報1300及び干渉チェック用合致情報1310の各項目は、図6の合致情報600及び干渉チェック用合致情報620と同じであるため説明は割愛する。
ステップS1204で、干渉チェックパターン特定ツールは、干渉チェック用合致情報1310、干渉チェックパターン(マスタアセンブリ)の識別情報を、駆動実績の情報と共に表示する。具体的には、図14の干渉チェックパターン表示画面1400のような画面を表示する。
干渉チェックパターン表示画面1400では、1411においてどの合致に対して(どの合致が設定されている部品に対して)、マスタアセンブリを使った駆動実績、つまり干渉チェックの実績が有るか否かの情報である「実績」、実績があるマスタアセンブリ(干渉チェックパターン)の名称を示す「パターン」、実際に駆動に用いた駆動情報名である「駆動情報名(実績)」を、駆動実績1320に基づいて表示する。
また、1402においては、干渉チェック対象アセンブリに適用した実績があるマスタアセンブリ(干渉チェックパターン)、つまり、干渉チェック対象アセンブリに適用した駆動情報に対応するマスタアセンブリの「実績」の項目に、「有」の値を表示する。
干渉チェックパターン特定ツールは、処理を図5のステップS514に移行し、図12の処理を終了する。
以上説明したように、本発明の第2の実施形態では、まだ干渉チェックを行っていない部品を確認することができる。また、既に干渉チェックを行ったことのある部品を確認することができる。
すなわち、駆動実績に基づいて、設計物の制限情報にかかる部品の駆動方法を容易に特定可能な仕組みを提供することができる。
なお、第2の実施形態の説明では干渉チェックの実行指示に応じて実績を記憶・登録することとしたが、例えば干渉チェックパターン特定ツールがCADソフトの動作を監視し、実際に干渉チェック機能を実行され部品が駆動したことを検知した場合に、当該駆動実績1320を外部メモリに記憶するようにしてもよい。
また、図15の1500のように、干渉チェックパターン表示画面にチェックボックス1503を設け、1503にチェックが入れる操作がされた場合に、干渉チェックパターン特定ツールが、駆動実績のある干渉チェック用合致情報と、干渉チェック対象アセンブリに対して適用実績のある干渉チェックパターン及び適用できない干渉チェックパターンを、1501及び1502において非表示にし、まだ干渉チェックを行っていない部品や干渉チェックパターンを容易に確認できるようにしてもよい。
すなわち、マスタアセンブリにより駆動させたことのない干渉チェック用合致情報のみ選択可能に表示するようにしてもよい。
また、干渉チェック対象アセンブリに適用したことのないマスタアセンブリのみ選択可能に表示してもよいということである。
チェックを外す操作を受け付けた場合には、非表示にしていた干渉チェック用合致情報及び干渉チェックパターンが表示される画面に戻す。
また、図15の1510のように、実績のない干渉チェック用合致情報を識別表示(1511)し、干渉チェック対象アセンブリに適用した実績のない干渉チェックパターンを識別表示(1512)することで、まだ干渉チェックを行っていない部品や干渉チェックパターンを容易に確認できるようにしてもよい。
<第3の実施形態>
以下、本発明の第3の実施形態について説明する。
まだ干渉チェックを行っていない部品を対象に干渉チェックを行いたいことがある。
駆動情報を適用可能合致(制限情報)や、当該駆動情報を持つマスタアセンブリ(干渉チェックパターン)が複数ある場合、複数の情報の中からまだ干渉チェックを行っていない情報を探し出すのは手間である。例えば一覧に表示される情報の数が多い場合、一覧をスクロールする等して、干渉チェックを行っていない情報を探さなければならない。
本発明の第3の実施形態は、駆動実績に基づいて表示の優先順位を変更することで、設計物の制限情報にかかる部品の駆動方法を容易に特定可能な仕組みを提供することを目的とする。
例えばステップS1203の直後に、干渉チェックパターン特定ツールが、干渉チェック用合致情報1310を、駆動実績のないレコードが駆動実績のあるレコードより上位になるように並べ替える。つまり駆動実績のない情報を駆動実績のある情報に優先させる。
また、干渉チェックパターン一覧を取得し、干渉チェック対象アセンブリに未適用の干渉チェックパターンのうち、優先度の高い(駆動実績のない)合致情報に対応する干渉チェックパターンが上位となるように、一覧内の干渉チェックパターンを並べ替える。
そして処理をステップS1204に移行し、図16に示す干渉チェックパターン表示画面1600のような画面を表示する。
1601には、駆動実績の有無に応じて並べ替えられた干渉チェック用合致情報の一覧を表示する。
1602には、当該干渉チェック用合致情報の一覧においてより優先度の高い合致情報に対応する干渉チェックパターンを、他の干渉チェックパターンに対して優先して表示(優先表示)する。
つまり、干渉チェック対象アセンブリに適用したことのない駆動情報を含むマスタアセンブリを、干渉チェック対象アセンブリに適用したことがある駆動情報を含むマスタアセンブリに対して優先表示する。
以上説明したように、本発明の第3の実施形態によれば、駆動実績に基づいて表示の優先順位を変更することで、設計物の制限情報にかかる部品の駆動方法を容易に特定可能な仕組みを提供することができる。
<その他の実施形態>
なお、複数の干渉チェックパターン(マスタアセンブリ)をまとめて1つの干渉チェック対象アセンブリに適用してもよい。
例えば図17に示すように、適用可能な干渉チェックパターンが3つある場合、1720のように1つ目の干渉チェックパターンを選択し、1730のように2つ目の干渉チェックパターンを選択して、「実行」ボタンを押下することで、選択された2つの干渉チェックパターンによるエンティティの駆動が可能である。
また、干渉チェックパターンごとに識別枠1731の色を変えて表示することで、各干渉チェックパターンに含まれる駆動情報を適用可能な合致情報を識別表示し、ユーザに確認させることができる。例えば1731と1733の枠の色は赤色とし、1732と1734の枠の色は青色とする。
また、干渉チェックパターン特定ツールは、干渉チェックパターンが選択されると、当該干渉チェックパターンと干渉チェックパターン特定条件が一部または全部重複する別の干渉チェックパターンを特定し、識別表示する。
例えば、1710や1720に示すように、選択中の干渉チェックパターン(例:「主回転チェック」又は「主回転チェック2」)と同じ干渉チェックパターン特定条件を持つ干渉チェックパターン(例:「主回転チェック」又は「主回転チェック2」)をグレーアウトし、選択不可能な状態で表示する。
当該識別表示により、設計物の制限情報にかかる部品の駆動方法を重複することなく特定可能となる。
すなわち、異なる駆動情報を同時に同じ個所に適用することがないように、ユーザに通知、又は/及び、選択を制限する。よって、各駆動情報による駆動方向や確度の競合を防ぎ、各駆動情報に従った正しい駆動をさせることができる。
また、上述した実施形態においては、ステップS414において、駆動情報に従って各合致が設定されている部品を動作させ、干渉チェックを実行するよう指示するものとしたが、例えば、CADソフトの干渉チェック機能(エンティティを駆動させて当該エンティティを持つ部品と他の部品の干渉履歴を記憶する機能)で、対象個所の干渉チェックが容易に行えるようにすべく、駆動情報のパラメータと駆動対象のエンティティをCADソフトに通知するよう、干渉チェックパターン特定ツールを動作させてもよい。
具体的には、ステップS414のタイミングで干渉チェックパターン特定ツールが、CADソフトの干渉チェック機能を起動するよう指示し、駆動情報をCADソフトの干渉チェック機能に受け渡す。
CADソフトは当該指示に応じて干渉チェック機能を起動させて画面1800(図18)を表示し、「対象部品」に干渉チェック対象アセンブリを、「駆動情報」に干渉チェックパターン特定ツールから受け取った駆動情報を設定する。
そして、「結果表示間隔」で干渉チェック結果を表示する間隔を指定するユーザ操作を受け付け、「実行」ボタンの押下に応じて「駆動情報」に設定された駆動情報に応じたエンティティ(エンティティを持つ部品)の駆動を行い、干渉チェックの結果を記録する。
CADソフトは、チェック結果を「干渉チェック結果」に一覧表示する。また、「結果記録」ボタンの押下を受け付けると、「干渉チェック結果」に表示されている干渉チェック結果の一覧を、「対象部品」の識別情報と対応付けて外部メモリ211に記憶する。
つまり、駆動情報をCADソフトに出力することで、CADソフトが当該駆動情報に応じた部品の駆動をするこができるように制御する。
なお、干渉チェックパターン特定ツールは、当該干渉チェック結果の一覧の記憶処理が正常に完了したことを検知すると、前述の駆動実績1320を生成して記憶するものとする。
また、駆動情報はマスタアセンブリ内に記憶されているものとして説明したが、マスタアセンブリとは別のファイルとして、マスタアセンブリ内の部品の合致名と対応づけて、サーバ200又はPC100の外部メモリに記憶するようにしてもよい。この場合、マスタアセンブリファイルと駆動情報ファイルの組み合わせを、1つの干渉チェックパターンとする。
また、上述した実施形態においては、712に干渉チェック用合致情報の合致名を表示するものとしたが、例えば各合致情報が適用されている、合致により動きが制限されている部品名(部品のエンティティ名)を、合致名の代わりに、又は合致名と合わせて表示するようにしてもよい。
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
具体的には、PC100とサーバ200が一体であり、上述した実施形態の各図の各ステップの処理を実行するようにしてもよい。また、CADソフトと干渉チェックパターン特定ツールが一体であり、上述した実施形態の各図の各ステップの処理を実行するようにしてもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM,DVD-R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。