以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1は、本発明の3次元CADシステム100のシステム構成の一例を示す図である。本発明の3次元CADシステム100は、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、オペレーティングシステム上でCADアプリケーションと参照切れファイル探索プログラムを実行する装置である。CADアプリケーションと参照切れファイル探索プログラムは後述する図2のROM202または外部メモリ211に記憶されており、ユーザからの指示に応じて、CPU201がRAM203に読み出して各種動作を行う。すなわち、設計物の立体形状を示す3次元モデルを表示するアプリケーションとオペレーティングシステムを有する情報処理装置の一例を示す。
オペレーティングシステムは、情報処理装置101を動作させるための基本的なアプリケーションである。オペレーティングシステム上でCADアプリケーションや参照切れファイル探索プログラム、その他各種プログラムを動作させることができる。
CADアプリケーションは、ユーザからの操作に応じて、設計物の立体形状を示す3次元モデルの作成や構築、また3次元モデルに基づく2次元図面の作成を行う。
参照切れファイル探索プログラムは、指定されたアセンブリファイルの子部品である構成部品の構成部品情報をCADアプリケーションから取得する。この取得には、参照切れファイル探索プログラムがCADアプリケーションのAPIを実行して取得する。このAPIに基づき、CADアプリケーションは、指定されたアセンブリファイル(親部品)から自身が参照している子部品のパスを取得し、要求のあった参照切れファイル探索プログラムに情報を返す。より詳細には、CADアプリケーションは子部品のオブジェクト名の配列を参照切れファイル探索プログラムに返し、そのオブジェクト名に基づき、子部品のファイルパスを取得するためのGET_APIを参照切れファイル探索プログラムが実行する。CADアプリケーションは、要求のあったオブジェクト名に対応するファイルパスを参照切れファイル探索プログラムに返すことで、参照切れを起こしている部品を判定する。
そして、参照切れファイル探索プログラムは、図10の画面で参照先を変更すると、参照切れファイル探索プログラムは、参照先変更の変更要求(API)をCADアプリケーションに行う。
このように、参照切れファイル探索プログラムは、CADアプリケーションに備えられた各種APIを用いて指示を出力することが可能なプログラムである。参照切れファイル探索プログラムは、CADアプリケーションのアドオン(アドイン)であることが望ましいが、別個の独立したプログラムとして動作させることも可能である。
サーバ102は、情報処理装置101で作成された各種データを記憶管理する装置である。3次元モデルは、複数のユーザによって作成される場合があり、その場合には1つのサーバ102に各ユーザの情報処理装置101で作成された3次元モデルを一元管理する。サーバ102にはファイル管理アプリケーションが動作している。
尚、情報処理装置101が、サーバ102の構成を含んでもよいし、サーバ102が情報処理装置101の構成を含んでもよい。また、本実施形態においては、情報処理装置101に各種データが記憶され、ユーザからの操作によって動作させる形態に基づいて説明を行う。
図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211(記憶)には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
次に、情報処理装置101及びサーバ102の機能部を示す機能構成図について、図3を用いて説明する。尚、図3の各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、ファイル識別情報と参照先を含む参照ファイル情報を有するファイルを記憶する装置であり、CADアプリケーションを記憶している。ファイル識別情報と参照先を含む参照ファイル情報を有するファイルはアセンブリファイルである。
情報処理装置101の3次元CADアプリケーション300は、3次元モデル表示部301とファイル検索部302を備える。3次元モデル表示部301は、ユーザに指定されたアセンブリファイルを実行して、アセンブリファイルに記憶されている参照先に従って、部品ファイルを取得して、設計物を構成して表示する機能部である。
また、ファイル検索部302は、ファイル探索プログラム310の要求に従って、指定された領域のファイルを検索して、ファイル情報(ファイル名等)を取得する機能部ある。この取得したファイル情報をファイル探索プログラム310に応答する。その他、アセンブリファイルに記憶さている参照ファイル情報(構成部品情報ともいう)を取得する機能部である。この取得した参照ファイル情報をファイル探索プログラム310に応答する。
情報処理装置101の参照切れファイル探索プログラム310は、参照情報取得部311、第1の特定部312、ファイル識別情報取得部313、表示部314、第2の特定部315、実行指示部316、判定部317を備える。
参照情報取得部311は、ユーザにより指定されたファイル(本実施形態では、アセンブリファイル)の参照ファイル情報を取得する機能部である。CADアプリケーションからの応答により取得する。
第1の特定部312は、参照情報取得部311で取得した参照ファイル情報に基づき、参照切れのファイルを特定する機能部である。
ファイル識別情報取得部313は、所定の格納領域に格納されているファイルのファイル識別情報を取得する機能部である。CADアプリケーションからの応答により取得する。
表示部314は、ファイル識別情報取得部313で取得したファイル識別情報と、第1の特定部312で特定した参照切れのファイルのファイル識別情報が一致する場合、第1の特定部312で特定した参照切れのファイルの参照先と、ファイル識別情報が一致したファイル識別情報取得部313で取得したファイル識別情報に対応するファイルの格納先とを比較可能に表示する機能部である。
また、表示部314は、第2の特定部315で特定されたファイルを識別表示する機能部である。
また、表示部314は、アセンブリファイルの参照先のファイルが、アセンブリファイルである場合に、参照先のアセンブリファイルが有する参照ファイル情報に従って、参照先のアセンブリファイルに参照切れファイルがあるかを判定し、参照切れファイルがあると判定された場合に、参照先のアセンブリファイルに参照切れがあることを識別表示する機能部である。
また、表示部314は、判定部317によりファイル識別情報が一致すると判定された場合に、第1の特定部312により特定した参照切れのファイルの参照先と、ファイル識別情報が一致したファイル識別情報取得部313により取得したファイル識別情報に対応するファイルの格納先とを比較可能に表示する機能部である。
また、表示部314は、ファイル識別情報が一致したファイル識別情報取得部313で取得したファイル識別情報に対応するファイルの格納先を選択表示する機能部である。
また、表示部314は、第1の特定部312で参照切れファイルと特定されなかったファイルの参照先を表示し、ユーザの操作に応じて、参照切れファイルを表示する設定がなされた場合に、第1の特定部312で参照切れファイルと特定されたファイルを一覧表示する機能部である。
さらに、表示部314は、第2の特定部315により特定したファイルの格納先を表示するとともに、当該ファイルが優先的に読み込まれるファイルであることを識別可能に表示する機能部である。
第2の特定部315は、CADアプリケーションによって参照ファイル情報に基づくファイルより優先的に読み込まれるファイルを特定する機能部である。
実行指示部316は、第1の特定部312により特定した参照切れファイルの探査を実行指示する機能部である。
判定部317は、実行指示により、ファイル識別情報取得部313で取得したファイル識別情報と、第1の特定部312で特定した参照切れのファイルのファイル識別情報が一致するか否かを判定する機能部である。
サーバ102のファイル管理アプリケーション340は、CADデータ記憶部341を備える。CADデータ記憶部341は、サーバ102に3次元モデルを記憶管理させる場合にはサーバ102のファイル管理アプリケーション340を利用する。
次に、図4、図5を用いて、本実施形態における詳細な処理について説明する。
図4は、参照切れファイル探査における全体の処理を示すフローチャートである。
なお、各ステップの処理は、各装置のCPU201が実行する。
ステップS401では、情報処理装置101で、CADアプリケーションを起動し、CADアプリケーションにアドオンされている参照切れファイル探索プログラムを実行する。参照切れファイル探索プログラムが実行されると、アセンブリファイルの選択ダイアログが表示される。
ステップS402では対象のアセンブリファイルを選択する。このとき、処理の対象はアセンブリとし、アセンブリファイル以外の他のファイルが選択された場合にはエラーとし、選択対象に含めないものとする。選択対象ファイルは拡張子で限定するものとし、選択対象ファイルの拡張子は自由に追加・変更が可能とする。
ステップS403では、選択したアセンブリファイルで参照している子部品が参照切れをしているか否かを判定する。アセンブリファイルには、参照している子部品の参照情報が記憶されている。参照情報としては、参照している子部品のファイル名(ファイル識別情報)、参照している子部品が格納されている格納先パス(参照先)を含んでいる。
CADアプリケーションのAPIを用いて、選択されたアセンブリの参照情報を取得する。参照切れファイル探索プログラムは、取得した参照情報をもとに、参照情報に含まれる参照先に、参照先情報に含まれるファイル名が一致するファイルがあるかを判定する。一致するファイルがある場合には、参照切れがないと判定され、一致するファイルがない場合には、参照切れがあると判定される。
取得したファイル名と参照先と参照切れ情報(参照切れフラグ)を参照切れ有無テーブル610に記憶する。すなわち、ユーザにより指定されたファイルの参照ファイル情報を取得する処理の一例を示すものである。
ステップS404ではステップS403で取得し参照切れを確認した結果(図6の参照切れ有無テーブル610)により参照切れファイルがあるかを特定する。すなわち、取得した参照ファイル情報に基づき、参照切れのファイルを特定する処理の一例を示すものである。
なお、図6のテーブルはRAM203で記憶するようにしてもよい。
参照切れのファイルが存在する場合には、ステップS405に処理を進め、参照先編集ダイアログ(図7の700)を表示する。参照切れのファイルが存在しない場合には処理をS406に進め、参照切れは生じていないが、参照先の編集を実行するかどうか確認のダイアログ(不図示)を表示する。ダイアログでOKが押下された場合には、参照切れがあった場合と同様に、処理をステップS405に進め、参照先編集ダイアログを表示する。ダイアログでNOが押下された場合には、ステップS407に処理を進める。そしてステップS407では、CADアプリケーションの通常の「開く」と同様に、選択したアセンブリファイルをCADアプリケーションで展開し、表示する。
次にステップS405の処理を、図5のフローチャート、図6の各種テーブルと参照先編集ダイアログの一例である図7から図10を用いて説明する。
参照先編集ダイアログ(図7の700)の表示処理が実行されると、ステップS501では、選択されたアセンブリファイルの参照部品であるファイルを、ファイル名を基にCADアプリケーションが独自に優先して探査する範囲と、CADアプリケーションのオプションとして設定できる予め登録してある指定探査フォルダを探査する。すなわち、CADアプリケーションによって参照ファイル情報に基づくファイルより優先的に読み込まれるファイルを特定する処理である。
この指定フォルダの詳細は後述するが、自由に探査先パスを設定できるものとする。すなわち、所定の格納領域に格納されているファイルのファイル識別情報を取得するものである。
具体的には、CADアプリケーションは、すでに同名のファイルを開いている場合には、そのファイルを読み込んで3次元モデルを表示するため、CADアプリケーションのAPIを用いて、CADアプリケーションで現在(既に)開かれているファイルの情報を取得する。参照切れファイル探索プログラムは、現在(既に)開かれているファイルの情報と、参照情報に含まれるファイル名に基づき、ファイル名が一致するファイルがあるかを判定する。一致するファイルがある場合には、ファイル名と参照先(メモリ展開先のパス)と注意種別を参照切れ有無テーブル610に記憶(追加)する。この時、参照切れ情報として、メモリに展開されているファイルを参照しているため、参照切れ情報は「無」となる。参照切れがないがファイルが現在開かれているため注意が必要であり、メモリ上で展開されているファイルを参照していることを示すフラグ(M(メモリ))を記憶する。つまり、ステップS403の結果、参照切れのあったファイルの情報である620と、ステップS501の結果、参照切れはないがCADアプリケーションが優先して探査(取得)するファイルの情報である621が記憶される。
後述する通り、ステップS403で記憶した情報は902に表示され、ステップS501で記憶した情報は903に表示される。
なお、ステップS403及びステップS501の結果をまとめて参照切れ有無テーブル610に記憶する構成としたが、ステップS403及びステップS501の情報は分けて記憶する構成であってもよい。
具体的には、図16の1610〜1613のように、CADアプリケーションが独自に優先して探査することになるファイルが見つかった場合には、探査結果ファイルパステーブル(CAD独自優先)にファイル名1601、参照ファイルパス1602、状態1603を記憶する。状態1603は、注意種別に相当するものであり、メモリに展開されているファイルが探査された場合には「M」が記憶される。
また、CADアプリケーションのオプションで設定できる優先探査設定パスでファイルが見つかった場合には、探査結果ファイルパステーブル(優先探査設定パス)にファイル名1601、参照ファイルパス1602、状態1603を記憶する。状態1603は、注意種別に相当するものであり、メモリに展開されているファイルが探査された場合には「S」が記憶される。
CADアプリケーションが独自に優先して探査することになる探査先については、参照切れファイル探索プログラムのソースコードに埋め込まれているものとするが、設定ファイル内に予めCAD独自優先の探査先を記憶させる構成であってもよい。
また、CADアプリケーションのオプションで設定できる優先探査設定パスについては、CADアプリケーションのAPIを用いて取得するものとするが、参照切れファイル探索プログラムの設定ファイル内に予めCADのオプションの探査先を記憶させる構成であってもよい。
また、CADアプリケーションは、選択されたアセンブリファイルの保存フォルダ内に、同一ファイル名のファイルがある場合に、このファイルを優先して読み込んで3次元モデルを表示するため、CADアプリケーションのAPIを用いて、選択されたアセンブリファイルの格納先のファイル情報を取得する。参照切れファイル探索プログラムは、取得したファイル情報と、参照情報に含まれるファイル名に基づき、ファイル名が一致するファイルがあるかを判定する。一致するファイルがある場合には、ファイル名と参照先(アセンブリファイルの格納先)と注意種別を参照切れ有無テーブル610に記憶する。この時、参照切れ情報として、参照はされているため、参照切れ情報は「無」となる。参照切れがないが優先的に参照されるファイルがあるため注意が必要であり、アセンブリファイルの格納先内に同一ファイル名のファイルがあることを示すフラグ(C(同一階層一致))を記憶する。
なお、CADアプリケーションがアセンブリファイルと同一の格納先にあるファイルを優先的に参照するのは、製品設計をする際に、様々なパスの部品を参照して設計することで参照が維持できないようになることから、通常はアセンブリファイルと同一の格納先に参照ファイルを保存するという設計思想があるためである。この設計思想は強制されるものではないため、実際に参照するファイルはアセンブリファイルと同一の格納先でない場合もある。
また、CADアプリケーションは、オプションの設定で優先的に探査する指定パスを設定できる。この設定で、指定された指定パス内に同一のファイル名がある場合に、このファイルを優先して読み込んで3次元モデルを表示するため、CADアプリケーションのAPIを用いて、指定された指定パスのファイル情報を取得する。参照切れファイル探索プログラムは、取得したファイル情報と、参照情報に含まれるファイル名に基づき、ファイル名が一致するファイルがあるかを判定する。一致するファイルがある場合には、ファイル名と参照先(指定パス)と注意種別を参照切れ有無テーブル610に記憶(追加)する。この時、参照切れ情報として、指定パスにおいてファイルが参照されるため、参照切れ情報は「無」となる。参照切れがないが優先的に参照されるファイルがあるため注意が必要であり、指定パス内に同一ファイル名のファイルがあることを示すフラグ(S(設定))を記憶する。
また、サブアセンブリファイルである場合には、サブアセンブリファイルの参照情報をCADアプリケーションのAPIを用いて取得する。サブアセンブリが参照する部品のファイルに参照切れがあるか否かを判定し、注意種別を参照切れ有無テーブル610に記憶する。この時、サブアセンブリファイル自体は参照切れを起こしていないため、参照切れ情報は「無」となる。参照切れがないがサブアセンブリの配下で参照切れを起こしている可能性があるため注意が必要であり、サブアセンブリ配下で参照切れがあることを示すフラグ(L)を記憶する。この場合、ステップS403で記憶した情報があるため、621のように注意種別を「L」を記憶している。
上述のようにアセンブリファイルが参照するファイルの参照関係に注意が必要であることを示す注意種別を記憶する。
なお、ステップS501の処理は、ステップS403での参照切れの有無に限らず、CADアプリケーションが優先的に探査処理し、見つけることができるファイルを特定するものである。
次にステップS502では、参照切れ有無テーブル610を参照し、参照切れのあるファイルと参照切れのないファイルを判定する。この判定はファイルごとに判別し、参照切れがなかったファイルについては、ステップS503へ処理を移し、参照切れがあったファイルについては、ステップS504へ処理を移す。参照切れ有無テーブル610の全てのレコードに対してステップS503とステップS504の処理を実行する。なお、各レコードの参照切れ有無に応じてステップS503とステップS504の処理を実行するものとする。
ステップS503では、参照切れがなかったファイルであるため、参照切れ有無テーブル610の現参照先612のパスを、表示グリッドビュー701の「現参照先フォルダ/探査結果」の表示パスに表示し、表示パスを通常色(例えば、黒)で表示する。
ステップS504では、参照切れがあったファイルであるため、参照切れ有無テーブル610の現参照先612のパスを、表示グリッドビュー701の「現参照先フォルダ/探査結果」の表示パスに表示し、表示パスの表示色を通常色と異ならせた色(例えば、赤)で表示する。これにより、参照切れが発生しているファイルが参照している参照先フォルダのパスが強調表示される。
ステップS503とステップS504の表示の一例を図7に示す。図7の700は、参照切れがない場合(例えば、ステップS503だけが実行された場合)の表示例である。アセンブリファイルが参照するファイルごとに、参照先パスが表示されており、この参照先が選択状態で表示される。
また、図7の710は、参照切れがある場合(例えば、ステップS504も実行された場合)の表示例である。アセンブリファイルが参照するファイルごとに、参照先パスが表示されており、参照切れのあるファイルについては、711のように強調表示される。図7ではアンダーラインを付し強調表示している。また、参照切れがあるため、参照先が非選択状態で表示される。
また複数の該当ファイルが存在している場合の表示の一例を図8に示す。該当のファイル名の下に行が挿入され(例えば、801)、参照先パスが表示される。またCADアプリケーションでアセンブリファイルを開いたときに参照先となるファイルに「選択」列のチェックボックスをTrue(オン)の状態とする。尚、この「選択」列のチェックボックスはユーザが任意に付け替えられるものとし、ファイルを開く際にはチェックボックスがオンの状態のファイルが参照される。
なお、図7と図8には説明の都合上、注意欄に注意種別が表示されていないが、以降の処理により注意種別が入力され、表示される(図9)。
次に、ステップS505では参照関係の注意情報を図7の表示グリッドビュー701の「注意」列に表示する。すなわち、注意が必要であると特定されたファイルを識別表示する処理の一例を示すものである。
CADアプリケーションにはアセンブリの参照部品を独自の探査範囲のものを優先的に参照先とする機能が一般的に備わっており、ユーザの指定よりも優先して参照されてしまうため、ユーザの指定とは異なる参照先となる可能性がある場合に、参照関係のファイルの状態を表示する。その一例を図9に示す。
具体的には、参照切れ有無テーブル610の注意種別614を基に、注意種別を注意901に表示する。
上述したように、例えば、CADアプリケーションでは、3次元モデルを表示する際に優先探査されるものとして、「メモリに展開されている同名のファイル(現在開かれているファイル)」、「アセンブリファイルの保存先にある同名のファイル」がある。そのため、ユーザが指定した指定パスよりも強制力がある。その参照先に紐付けたくない場合は、現在開かれているファイルを閉じる、または、アセンブリファイルの保存先のファイルを移動、削除する必要がある。よって、それぞれ該当するパスとして探査された場合は、画面にそれぞれ例えば「M」、「C」等の記号を対象ファイルのレコードに表示する。
これにより、ユーザにファイルの状態を認識させて、アセンブリファイルの参照先として問題がないかどうかの判断を促し、参照状態を適切に把握させることが可能となる。
また、サブアセンブリファイル(アセンブリの参照部品となるアセンブリファイル)の場合は、そのサブアセンブリの参照部品の参照関係が切れていないかどうかについても確認し、サブアセンブリファイルに参照切れがある場合には例えば「L」を表示して、ユーザに警告する。すなわち、参照先のアセンブリファイルが有する参照ファイル情報に従って、参照先のアセンブリファイルに参照切れファイルがあるかを判定し、参照切れファイルがあると判定された場合に、参照先のアセンブリファイルに参照切れがあることを識別表示する処理の一例を示すものである。
次にステップS506からステップS512までの処理を、図6の探査フォルダパス保存テーブル600と図10を用いて説明する。
ステップS506では、参照切れファイル探索プログラムで、CADアプリケーションで探査する探査先をユーザにより追加する。具体的には、図10の参照ボタン1001の押下を受け付けると一般的なパス選択の参照ダイアログが表示され、指定パスを選択する。選択されたパスは探査先テキストボックス1002に表示される。このパスは手入力でも編集可能である。
次に、探査先テキストボックス1002に入力がある状態で、追加ボタン1003の押下を受け付けると、探査先テキストボックス1002に表示されているパスを図6の探査フォルダパス保存テーブル600の、有効フラグ601、探査フォルダパス602、サブフォルダ対象フラグ603を更新する。このとき有効フラグ601とサブフォルダ対象フラグ603はデフォルトでTrueとし、表示グリッドビュー1005の「有効」列と「サブフォルダ」列のチェックボックスから随時変更が可能であるものとする。合わせて表示グリッドビュー1005の表示を、探査パス保存テーブルの状態に合わせて更新する。
すなわち、1005は、参照切れファイルの探査をする先を示す探査先情報を設定可能に表示する設定画面を示すものである。
また、表示グリッドビュー1005の該当行を選択した状態で削除ボタン1004を押下することで、探査フォルダパス保存テーブル600の該当行を削除し、結果を表示グリッドビュー1005に反映する。
次に、ステップS507では、図10の探査実行ボタン1006の押下を受け付け、探査実行をするか否かを判定する。探査実行する場合には、ステップS508へ処理を移す。すなわち、特定した参照切れファイルの探査を実行指示する処理の一例を示すものである。
ステップS508では、図7の探査フォルダパス保存テーブル600から有効フラグ601がTrueとなっているレコードを対象に、図6の参照切れ有無テーブル610の参照切れ情報613が「有」となっているファイルがあるが探査する。探査には、ファイル名をキーに探査する。この時、サブフォルダ対象フラグがTrueになっているレコードのパスについてはサブフォルダ以下(所定のサブフォルダ)までを探査の対象とする。CADアプリケーションに指定された探査パスのファイルのファイル名を要求し、CADアプリケーションから参照切れファイル探査プログラムがファイル名を取得し、参照切れファイルと同一のファイル名を有するファイルがあるかを判断する。すなわち、所定の格納領域に格納されているファイルのファイル識別情報を取得する処理の一例を示すものである。
ステップS509では、探査の結果、対象のファイルがあるか否かを判定する。すなわち、実行指示により、参照切れのファイルのファイル識別情報が一致するファイルがあるか否かを判定する処理の一例を示すものである。
対象のファイルがあれば、図6の参照切れ有無テーブル610に探査した結果の情報(探査結果情報)を記憶する。具体的には、ファイル名と、探査した先を参照先として記憶し、参照切れ情報を「無」として記憶する。対象のファイルがある場合には、処理をステップS510に進め、参照切れファイル探査ダイアログ表示を更新する。ステップS510の処理を以下で説明する。
更新後の一例は図10の1010に示す。1011に示す通り、該当ファイル名の下に行が挿入され、探査結果のパス(指定したパスのうち検索されたパス)が比較可能に対比表示される。すなわち、取得したファイル識別情報と、特定した参照切れのファイルのファイル識別情報が一致する場合、特定した参照切れのファイルの参照先と、ファイル識別情報が一致したファイルの格納先とを比較可能に表示する処理の一例を示すものである。
また、参照切れを起こしているファイルについては、探査結果で得られたパスを、付け替え候補として選択状態(チェックボックスON)として表示する。すなわち、参照切れファイルで探査して得られたファイルの格納先を選択表示する処理の一例を示すものである。
なお、本実施形態では、参照が切れているファイルと参照が切れていないファイルを表示する構成としたが、他の実施形態として図12の1201ように参照切れファイルを表示するモードを設け、「参照切れファイル表示」をONにすると、参照切れファイルをリストに表示する構成をとる。「参照切れファイル表示」をONの表示状態が、1210である。すなわち、図12の1201では、参照切れファイルと特定されなかったファイルの参照先についても表示されており、「参照切れファイル表示」をONにして参照切れファイルを表示する設定がなされた場合に、参照切れファイルと特定されたファイルを一覧表示する処理の一例を示すものである。
これにより、全体の参照状態を認識できるとともに、参照切れしているファイルを優先的に認識できるようになり、参照切れの確認が容易になる。
探査実行、参照先の確認、編集が完了された後の処理をステップS408以降で、図7をもとに説明する。
まず、ステップS408では、詳細表示ボタン702(図10の詳細表示ボタンでもよい)の押下を受け付けると、処理をステップS409に進める。表示グリッドビュー701の選択行がアセンブリファイル(サブアセンブリとなるアセンブリファイル)である場合には、サブアセンブリの状態表示として図11に示すダイアログを表示する。ここに示す状態表示は、ステップS405の処理説明で前述した表示グリッドビュー701の表示状態、処理と同様のものとする。尚、表示するアセンブリの階層は、スピンボックス703で設定した階層までとする。
参照切れのあるファイル(パスにアンダーラインを付したファイル)については、強調表示を行う。
次に、ステップS408で保存して開くボタン704の押下を受け付けると、処理をステップS410に進め、現状の参照パスの選択状態を確認する。このとき、CADドキュメントファイルは、アセンブリファイルとアセンブリファイルの参照部品を同じフォルダに保存して管理するのが一般的であるため、設定しているパスが統一されているかどうかを判定する。
統一されていない場合は処理をステップS411に進め、参照の選択を変更するか否かを確認する。修正する場合には、処理をステップS408まで戻し、ボタン押下受付前の状態とする。修正する場合には、ユーザが参照パスを確認して、格納先をアセンブリファイルの階層に変更する。あるいは、参照切れファイル探索プログラムで選択されたファイルの移動処理(例えば、コピーアンドペースト)を行い、再度、探査実行をし、保存して開くボタン704の押下を受け付ける。
一方で、パスの統一はないまま実行する、または、ステップS410でパスが統一されていた場合は、処理をステップS414に進める。
ステップS414では、アセンブリファイルのバックアップのため、アセンブリファイルの保存パスにフォルダを作成し、作成したフォルダ内にアセンブリファイルのコピーを作成し、処理をステップS415に進める。バックアップ処理についても、参照切れファイル探索プログラムからCADアプリケーションに要求を出力し、実行する。
ステップS415では、参照先編集ダイアログで設定した参照パスに対象アセンブリファイルの参照パスを変更して、処理をステップS407に進める。なおアセンブリファイルの参照パスの変更は、CADアプリケーションのAPIを用いて、対象のファイルのファイル名と変更するパスを参照切れファイル探索プログラムからCADアプリケーションに伝えて、変更する。
変更後、再度、アセンブリファイルのオープンを実行する。このアセンブリファイルのオープンの実行はCADアプリケーションのAPIを用いて、対象のアセンブリファイルを開くように参照切れファイル探索プログラムからCADアプリケーションに要求を出力する。
図13を用いて、本実施形態における情報処理装置101で管理する3次元モデル(CADドキュメントファイル)のフォルダ構成の例を示す。
図13は、「C:¥AAA¥BBB」フォルダ内に「Joint_Assy.SLDASM」というアセンブリファイルがある例である。また、「Joint_Assy.SLDASM」は、「C:¥AAA¥BBB¥CCC」内の部品ファイルを参照する構成となっている。また、図13の形態は、アセンブリファイルでは、「Yoke_female.sldprt」「pin.sldprt」の参照先は「C:¥AAA¥BBB」となっているが、参照切れとなっている状態のフォルダ構成を示している。具体的には、「Yoke_female.sldprt」「pin.sldprt」は「C:¥ABC¥DEF¥GHI」に移動されている状態である。
「Joint_Assy.SLDASM」は部品の参照関係が記憶されており、それぞれの部品と特定するための参照パスとファイル名を有している。
このアセンブリファイルを指定することで、CADアプリケーションによりアセンブリファイルが参照するファイルを取得し、3次元モデルを構成してCADアプリケーション上で表示する。
その他の実施形態について、図14のフローチャートを用いて説明する。図14は他の実施形態のフローチャートであり、参照切れファイル探索プログラムで実行される処理である。なお、各ステップの処理は、CPU201が実行する。
まず、ステップS503とステップS504の処理の後、注意種別が「M」のレコードの場合に、図17の1701のようにチェックボックスを入れないようにする処理について説明する。
図17は、参照が望ましくない参照先についてチェックボックスを外した場合の参照先編集ダイアログの一例を示すイメージ図である。
ステップS1401では、チェックボックスの入っているレコード(探査結果情報ともいう)の注意種別が、参照先としない参照情報かを判定する。参照先としない参照情報であれば(参照NG)、ステップS1402へ処理を移す。
ステップS1402では、参照NGとする探査結果情報のチェックボックスをOFFにする。
すなわち、注意種別を判定して、注意種別が「M」のように、参照はされているが、参照に適さない探査結果情報については、チェックボックスをOFFにする。また、「M」のレコード(探査結果)のチェックボックスをONにする指示があった場合には、参照先として適さない旨の表示を実行する。この時ユーザに探査を実行させるようメッセージ表示することが望ましい。これにより、探査実行を促すことができ、適切な参照先に付け替えさせることができる。
なお、上述の実施形態及び他の実施形態において、チェックボックスのONOFF表示や、注意種別表示、参照先フォルダ情報の通常・強調表示の処理順は上記に限定されるものではない。具体的には、ステップS505の後に通常・強調表示の表示制御を実行してもよいことは言うまでもない。
次に、探査設定による結果を、探査設定ごとの探査結果を識別表示する処理について説明する。
ステップS1403では、図15に示す通り、探査設定結果識別表示1500のチェックボックスにチェックが入っている(ON)か否かを判定する。チェックが入っている、すなわちユーザによりチェックボックスへのチェック入力があった場合には、ステップS1404へ処理を移す。1510と1520は、参照切れファイルの探査をする先を示す探査先情報が設定されていることを示しているものでもある。また、1511や1521は、この探査先情報に基づいて探査された探査結果情報を示しているものでもある。
ステップS1404では、チェック入力があった場合には、探査先設定ごとに、設定で見つかった探査結果情報を識別表示する。図15の探査設定結果識別表示画面を用いて詳細に説明する。
図15の1510に設定された探査先設定で見つかった探査結果は、1511であり、1510と1511は同じ色付けを行う。また、図15の1520に設定された探査先設定で見つかった探査結果は、1521であり、1520と1521は同じ色付け(1510とは異なる色)を行う。すなわち、探査先情報と探査結果情報とを対応可能に識別表示している。
これにより、どの探査先設定でどの結果が見つかったのかを識別表示することができ、ファイルの参照先を決定する(付け替える)ことが容易になる。
なお、どの探査先設定で見つかった探査結果情報かは、メモリで管理するものとするが、参照切れ有無テーブル610に探査設定情報の項目を持たせ、探査先設定で見つかった探査結果情報を参照切れ有無テーブル610に記憶させる場合に、探査先設定フラグ(探査先設定1,探査先設定2,探査先設定3・・・)を記憶させる構成であってもよい。これにより、探査先設定と、探査結果情報が対応付いて記憶され、図15のように複数の探査先を設定した場合にも、識別可能に出力することができる。
上述した実施形態の特徴的な処理の一例を示すと、参照先ファイル(例えば、アセンブリファイルの子ファイル)のファイル識別情報(例えば、ファイル名)と当該参照先ファイルを特定するための参照先情報を含む参照元ファイル(例えば、アセンブリファイル)を記憶する情報処理装置であって、ユーザにより指定された参照元ファイルに含まれるファイル識別情報と参照先を取得する参照情報取得処理(例えば、ステップS403)と、前記参照情報取得処理で取得した参照先に基づき、参照切れの参照先ファイルを特定する第1の特定処理(例えば、ステップS404)と、前記第1の特定処理により特定された参照切れのファイルのファイル識別情報と一致するファイルであって、設定された所定の格納領域に格納されているファイルの格納先を取得する格納先取得処理(例えば、ステップS508〜ステップS509)と、前記参照元ファイルの参照切れのファイルの参照先を変更すべく、前記第1の特定処理により特定した参照切れのファイルの参照先と前記格納先取得処理により取得したファイルの格納先とを比較可能に表示する表示処理(例えば、ステップS510、図10)である。なお、この処理は本実施形態における一例を示す処理であり、これに限定されるものではないことは言うまでもない。
以上説明したように、本実施形態によれば、ファイルの参照切れの状態を容易に把握可能となる。またその他の効果として、ファイルの付け替えが容易となる。
さらに、付け替えるファイルの特徴を認識することができ適切なファイルの付け替えを行うことが可能となる。
より具体的には、指定のアセンブリファイルをCADアプリケーションで開く前に、参照状態を一覧で確認でき、かつ参照切れが発生している場合、または参照を付け替えたい場合に、参照先の変更を容易に行うことができる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。