(57)【特許請求の範囲】
【請求項１】
設計物を構成するためのＣＡＤデータを管理する情報処理装置であって、
前記ＣＡＤデータ自体と、前記ＣＡＤデータと当該ＣＡＤデータが構成する設計物を構成する他のＣＡＤデータとが関連することを示す参照情報を記憶するＣＡＤデータ記憶手段と、
前記ＣＡＤデータ記憶手段に記憶された、任意の設計物を構成するＣＡＤデータのうち、前記設計物を構成するすべてのＣＡＤデータを特定するための基準となるＣＡＤデータの指定をユーザから受け付ける基準データ指定受付手段と、
前記基準データ指定受付手段によってユーザから指定されたＣＡＤデータが構成する前記設計物を構成するすべてのＣＡＤデータを、前記参照情報に基づいて特定する関連データ特定手段と、
前記基準データ指定受付手段でユーザからの指定を受け付けるＣＡＤデータが含まれる前記ＣＡＤデータ記憶手段のフォルダに記憶されたＣＡＤデータのうち、前記関連データ特定手段によって特定されなかったすべてのＣＡＤデータを一覧表示する一覧表示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、
前記一覧表示手段によって表示された前記関連データ特定手段によって特定されなかったすべてのＣＡＤデータに対して、ユーザからの選択を受け付ける不要データ選択受付手段と、
前記不要データ選択受付手段によってユーザから選択されたＣＡＤデータを、当該ＣＡＤデータが記憶されている前記ＣＡＤデータ記憶手段のフォルダとは異なるパスのフォルダに移動する前記不要データ移動手段とを更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記不要データ移動手段は、前記不要データ選択受付手段によってユーザから選択されたＣＡＤデータの参照情報を前記ＣＡＤデータ記憶手段から取得し、当該参照情報に基づいて特定されるＣＡＤデータが記憶されているフォルダと、前記不要データ選択受付手段によってユーザから選択されたＣＡＤデータが記憶されているフォルダとの相対パスを保持したまま、当該それぞれのＣＡＤデータを、当該それぞれのＣＡＤデータが記憶されている前記ＣＡＤデータ記憶手段のフォルダとは異なるパスのフォルダに移動することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記不要データ移動手段は、前記不要データ選択受付手段によってユーザから選択されたＣＡＤデータの参照情報を前記ＣＡＤデータ記憶手段から取得し、当該参照情報に基づいて特定されるＣＡＤデータが前記関連データ特定手段によって特定されたＣＡＤデータを示す場合には、前記不要データ選択受付手段によってユーザから選択されたＣＡＤデータを、当該ＣＡＤデータが記憶されている前記ＣＡＤデータ記憶手段のフォルダとは異なるパスのフォルダに移動させ、当該参照情報に基づいて特定されたＣＡＤデータを、当該ＣＡＤデータが記憶されている前記ＣＡＤデータ記憶手段のフォルダとは異なるパスのフォルダに複製することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記情報処理装置は、
前記不要データ移動手段によって、前記不要データ選択受付手段によってユーザから選択されたＣＡＤデータの参照情報に基づいて特定されるＣＡＤデータを、当該ＣＡＤデータが記憶されている前記ＣＡＤデータ記憶手段のフォルダとは異なるパスのフォルダに複製された場合に、当該ＣＡＤデータのファイル名を変更するファイル名変更手段を更に備えることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記不要データ選択受付手段は、ユーザからの選択を受け付けたＣＡＤデータの参照情報を前記ＣＡＤデータ記憶手段から取得し、当該参照情報に基づいて特定されるＣＡＤデータも合わせて選択することを特徴とする請求項２に記載の情報処理装置。
【請求項７】
前記関連データ特定手段は、前記基準データ指定受付手段によってユーザから指定されたＣＡＤデータが構成する前記設計物を構成するすべてのＣＡＤデータを、前記参照情報に基づいて特定し、更に特定されたＣＡＤデータの参照情報を前記ＣＡＤデータ記憶手段から取得し、当該参照情報に基づいて特定されるＣＡＤデータも特定することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
ＣＡＤデータ自体と、前記ＣＡＤデータと当該ＣＡＤデータが構成する設計物を構成する他のＣＡＤデータとが関連することを示す参照情報を記憶するＣＡＤデータ記憶手段を備えたサーバと、設計物を構成するためのＣＡＤデータを管理する情報処理装置とが通信可能に接続されたＣＡＤデータ管理システムであって、
前記情報処理装置は、
前記ＣＡＤデータ記憶手段に記憶された、任意の設計物を構成するＣＡＤデータのうち、前記設計物を構成するすべてのＣＡＤデータを特定するための基準となるＣＡＤデータの指定をユーザから受け付ける基準データ指定受付手段と、
前記基準データ指定受付手段によってユーザから指定されたＣＡＤデータが構成する前記設計物を構成するすべてのＣＡＤデータを、前記参照情報に基づいて特定する関連データ特定手段と、
前記基準データ指定受付手段でユーザからの指定を受け付けるＣＡＤデータが含まれる前記ＣＡＤデータ記憶手段のフォルダに記憶されたＣＡＤデータのうち、前記関連データ特定手段によって特定されなかったすべてのＣＡＤデータを一覧表示する一覧表示手段と
を備えることを特徴とするＣＡＤデータ管理システム。
【請求項９】
ＣＡＤデータ自体と、前記ＣＡＤデータと当該ＣＡＤデータが構成する設計物を構成する他のＣＡＤデータとが関連することを示す参照情報を記憶するＣＡＤデータ記憶手段を備え、設計物を構成するためのＣＡＤデータを管理する情報処理装置の制御方法であって、
前記情報処理装置の基準データ指定受付手段が、前記ＣＡＤデータ記憶手段に記憶された、任意の設計物を構成するＣＡＤデータのうち、前記設計物を構成するすべてのＣＡＤデータを特定するための基準となるＣＡＤデータの指定をユーザから受け付ける基準データ指定受付ステップと、
前記情報処理装置の関連データ特定手段が、前記基準データ指定受付ステップによってユーザから指定されたＣＡＤデータが構成する前記設計物を構成するすべてのＣＡＤデータを、前記参照情報に基づいて特定する関連データ特定ステップと、
前記情報処理装置の一覧表示手段が、前記基準データ指定受付ステップでユーザからの指定を受け付けるＣＡＤデータが含まれる前記ＣＡＤデータ記憶手段のフォルダに記憶されたＣＡＤデータのうち、前記関連データ特定ステップによって特定されなかったすべてのＣＡＤデータを一覧表示する一覧表示ステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
ＣＡＤデータ自体と、前記ＣＡＤデータと当該ＣＡＤデータが構成する設計物を構成する他のＣＡＤデータとが関連することを示す参照情報を記憶するＣＡＤデータ記憶手段を備え、設計物を構成するためのＣＡＤデータを管理する情報処理装置の制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記情報処理装置を、
前記ＣＡＤデータ記憶手段に記憶された、任意の設計物を構成するＣＡＤデータのうち、前記設計物を構成するすべてのＣＡＤデータを特定するための基準となるＣＡＤデータの指定をユーザから受け付ける基準データ指定受付手段と、
前記基準データ指定受付手段によってユーザから指定されたＣＡＤデータが構成する前記設計物を構成するすべてのＣＡＤデータを、前記参照情報に基づいて特定する関連データ特定手段と、
前記基準データ指定受付手段でユーザからの指定を受け付けるＣＡＤデータが含まれる前記ＣＡＤデータ記憶手段のフォルダに記憶されたＣＡＤデータのうち、前記関連データ特定手段によって特定されなかったすべてのＣＡＤデータを一覧表示する一覧表示手段
として機能させることを特徴とするコンピュータに読み取り実行可能なプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納することを特徴とするコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元ＣＡＤデータを管理する技術に関し、特に設計物を構成する３次元ＣＡＤデータのうち、不要な３次元ＣＡＤデータを抽出する情報処理装置、ＣＡＤデータ管理システム、情報処理装置の制御方法、プログラム、プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
３次元ＣＡＤアプリケーションにおいては、３次元モデル（または３次元ＣＡＤモデル、設計物）を構築するデータとして、部品データ、アセンブリデータ、図面データ（以下、３次元ＣＡＤデータ）がある。これら３つの３次元ＣＡＤデータが相互に組み合わさることで、１つの３次元モデルを構築する。３次元モデルを構築する場合には、３次元ＣＡＤデータ間で相互にリンクを構築する場合があり、一般的にこの３次元ＣＡＤデータのリンク関係を親子関係（参照関係）と呼ぶ。親子関係における親データとは、参照される側の３次元ＣＡＤデータを指し、子データとは参照する側の３次元ＣＡＤデータを指す。具体的には、図面データの参照先として部品データが設定されていた場合には、図面データが子、部品データが親となる。
【０００３】
ひとつの３次元ＣＡＤデータは複数の子データに対する親データとなる場合があり、またひとつの３次元ＣＡＤデータは複数の親データに対する子データとなる場合がある。さらに複数の親データを持つ子データは、全く別の３次元ＣＡＤデータに対する親データともなりえる。親子関係に関する情報は個々の３次元ＣＡＤデータに属性情報として記憶されているが、その記憶形式は子データが親データの保存フォルダパスや３次元ＣＡＤデータ名を記憶するというものである。
【０００４】
３次元ＣＡＤアプリケーションを用いて設計作業を行う過程では、形状の形成と同時に３次元モデルを構成する３次元ＣＡＤデータの親子関係の構築を繰り返し行うが、親子関係の変更に伴って、不要となった３次元ＣＡＤデータを削除することは後の設計変更に手戻りをきたす場合がある。そのため、親子関係を持たなくなった不要な３次元ＣＡＤデータも引き続きその他の３次元ＣＡＤデータと同様に管理される。
【０００５】
設計作業がある段階に到達した際、その設計に必要な３次元ＣＡＤデータによって構築されたフォルダ構造をそのまま維持するのが一般的であり、設計過程で不要となった３次元ＣＡＤデータがフォルダ内へ残留したままになる場合は少なくない。しかし、本来不要である３次元ＣＡＤデータの存在は不要な製造作業を発生されるばかりではなく、誤った製造行為を誘発させる可能性を秘めているため、こうした不要な３次元ＣＡＤデータは取り除かれる。
【０００６】
不要な３次元ＣＡＤデータが取り除かれるにあたって、無数の３次元ＣＡＤデータから正確に不要な３次元ＣＡＤデータ、つまりは必要な３次元ＣＡＤデータと一切の親子関係を持たない３次元ＣＡＤデータのみ取得する作業を目視で行うためには、個々の３次元ＣＡＤデータをひとつひとつ３次元ＣＡＤアプリケーションで展開しなければならず、これにかかるコストは時に膨大であると同時に正確な結果を期待するためには３次元ＣＡＤアプリケーションに対する深い理解が求められる。
【０００７】
例えば、下記の特許文献１には、３次元ＣＡＤデータが持つ親子関係と、それぞれの３次元での位置関係を併せて管理する部品表ディレクトリを提供する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−３１６６９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、３次元ＣＡＤアプリケーションには個々の３次元ＣＡＤデータが有する親子関係を特定する機能が備わっているものもあるが、それらは指定したひとつの３次元ＣＡＤデータに対してのみ有効であり、相互に複雑な関係性を有する３次元ＣＡＤデータ間の親子関係全てを一元的に特定し、特定された必要な３次元ＣＡＤデータ以外を抽出することは期待できない。また、それらの機能は特定した３次元ＣＡＤデータを指定フォルダへ移動する機能を併せ持つ場合もあるが、３次元ＣＡＤデータの親子関係を網羅的に特定している訳ではないため、移動した際に他の３次元ＣＡＤデータへ与える影響は保証されていない。
【００１０】
例えば、ある子データに関係する複数の親データを移動した結果、他の子データから移動した親データを参照することができなくなるといった問題が発生する可能性があり、この場合に後者の子データはその形状を３次元ＣＡＤアプリケーション上で維持することができなくなってしまう。
【００１１】
特許文献１に開示されている技術では確かに、ドキュメントが持つ親子関係とそれぞれの位置関係を併せて管理しているが、あくまで３次元空間上での位置関係の管理であり、前述の問題に対する解決に至っていない。
【００１２】
フォルダに存在する無数の３次元ＣＡＤデータから不要な３次元ＣＡＤデータを自動的に取得し、正確に取り除くことができれば、誤った製造行為を未然に回避することもでき、そのために必要な設計者の作業時間を短縮することが期待される。
【００１３】
本発明は上記の課題を解決するためになされたもので、任意の３次元ＣＡＤデータと共に設計物を構成する３次元ＣＡＤデータを抽出し、それらとは関係性をもたない３次元ＣＡＤデータを特定し、特定された３次元ＣＡＤデータを一覧表示させることにより、作業の効率化を図る仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために、本発明の情報処理装置は、設計物を構成するためのＣＡＤデータを管理する情報処理装置であって、前記ＣＡＤデータ自体と、前記ＣＡＤデータと当該ＣＡＤデータが構成する設計物を構成する他のＣＡＤデータとが関連することを示す参照情報を記憶するＣＡＤデータ記憶手段と、前記ＣＡＤデータ記憶手段に記憶された、任意の設計物を構成するＣＡＤデータのうち、前記設計物を構成するすべてのＣＡＤデータを特定するための基準となるＣＡＤデータの指定をユーザから受け付ける基準データ指定受付手段と、前記基準データ指定受付手段によってユーザから指定されたＣＡＤデータが構成する前記設計物を構成するすべてのＣＡＤデータを、前記参照情報に基づいて特定する関連データ特定手段と、前記基準データ指定受付手段でユーザからの指定を受け付けるＣＡＤデータが含まれる前記ＣＡＤデータ記憶手段のフォルダに記憶されたＣＡＤデータのうち、前記関連データ特定手段によって特定されなかったすべてのＣＡＤデータを一覧表示する一覧表示手段とを備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、任意の３次元ＣＡＤデータと共に設計物を構成する３次元ＣＡＤデータを抽出し、それらとは関係性をもたない３次元ＣＡＤデータを特定し、特定された３次元ＣＡＤデータを一覧表示させることができるので、３次元ＣＡＤアプリケーションに対する深い理解がなくとも、精度の高い作業を行うことが可能となる効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態における文書作成システムの一例を示す構成図である。
【図２】情報処理装置及びサーバのハードウェア構成の一例を示す構成図である。
【図３】情報処理装置及びサーバのモジュール構成の一例を示す構成図である。
【図４】本発明の実施形態における基本的な処理フローの流れを示すフローチャートである。
【図５】情報処理装置における基準データ選択処理の流れを示すフローチャートである。
【図６】情報処理装置における参照関係チェック処理の流れを示すフローチャートである。
【図７】情報処理装置における不要データ移動処理の流れを示すフローチャートである。
【図８】据置対象選択画面の一例を示す構成図である。
【図９】フォルダ選択画面の一例を示す構成図である。
【図１０】据置対象選択画面において基準データが選択された場合の一例を示す構成図である。
【図１１】移動対象選択画面の一例を示す構成図である。
【図１２】移動対象選択画面において移動対象の３次元ＣＡＤデータが選択された場合の一例を示す構成図である。
【図１３】移動対象確定画面の一例を示す構成図である。
【図１４】情報処理装置に記憶された参照関係テーブルのテーブル構成の一例を示す構成図である。
【図１５】本実施例におけるフォルダ及び３次元ＣＡＤデータの構成例を示す模式図である。
【図１６】参照関係テーブルに基準データが格納され、基準データとして選択された場合の模式図である。
【図１７】参照関係テーブルに指定されたフォルダ以下の３次元ＣＡＤデータと、その参照先が格納された模式図である。
【図１８】参照関係テーブルに参照関係のある３次元ＣＡＤデータと参照関係のない３次元ＣＡＤデータを格納する模式図である。
【図１９】情報処理装置または３次元ＣＡＤデータに記憶されたＣＡＤデータテーブルのテーブル構成の一例を示す構成図である。
【図２０】第二の実施例における基準データ選択処理の流れを示すフローチャートである。
【図２１】第二の実施例における参照関係チェック処理の流れを示すフローチャートである。
【図２２】第二の実施例における不要データ移動処理の流れを示すフローチャートである。
【図２３】第二の実施例における参照関係テーブルに基準データが格納され、基準データとして選択された場合の模式図である。
【図２４】第二の実施例における参照関係テーブルに指定されたフォルダ以下の３次元ＣＡＤデータと、その参照先が格納された模式図である。
【図２５】第二の実施例における参照関係テーブルに参照関係のある３次元ＣＡＤデータと参照関係のない３次元ＣＡＤデータを格納する模式図である。
【図２６】第二の実施例における３次元ＣＡＤデータの構成例を示す模式図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１８】
図１は、本発明のＣＡＤデータ管理システムのシステム構成の一例を示す図である。本発明のＣＡＤデータ管理システムは、情報処理装置１０１、サーバ１０２が設置されており、それら装置はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して相互にデータ通信可能に接続されている。図１のネットワーク上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００１９】
情報処理装置１０１は、３次元ＣＡＤアプリケーションを実行する情報処理装置である。この情報処理装置１０１の３次元ＣＡＤアプリケーションで作成された３次元ＣＡＤデータ（ＣＡＤデータ）はサーバ１０２で記憶管理される。本実施例における３次元ＣＡＤデータとは、３次元ＣＡＤモデルを構成する設計部品であり、更に当該３次元ＣＡＤデータを構成する３次元ＣＡＤデータに対する親子関係（以下、参照関係）が記憶されているデータである。尚、本実施例では３次元ＣＡＤデータを元に説明するが、参照関係を持つデータ構造であれば、３次元ＣＡＤデータでなくともよい。
【００２０】
サーバ１０２は、情報処理装置１０１で作成された各種データを記憶管理するサーバ装置である。
【００２１】
尚、情報処理装置１０１が、サーバ１０２の構成を含んでもよいし、サーバ１０２が情報処理装置１０１の構成を含んでもよい。また、本実施例においては、情報処理装置１０１に各種データが記憶され、ユーザからの操作によって動作させることとする。
【００２２】
図２は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
【００２３】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２４】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ(Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ)やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２５】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２６】
また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。
【００２７】
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。
【００２８】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピーディスク（登録商標  ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ２１１へのアクセスを制御する。
【００２９】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００３０】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
本発明の情報処理装置１０１が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００３２】
次に、情報処理装置１０１及びサーバ１０２のモジュール構成を示す機能構成図について、図３を用いて説明する。尚、図３の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００３３】
情報処理装置１０１は、基準データ指定受付モジュール３０１、関連データ特定モジュール３０２、不要データ取り除きモジュール３０３、画面表示モジュール３０４、３次元ＣＡＤデータ取得モジュール３０５を備える。
【００３４】
基準データ指定受付モジュール３０１は、不要な３次元ＣＡＤデータを抽出するために基準となる３次元ＣＡＤデータの指定を受け付けるモジュールである。
【００３５】
関連データ特定モジュール３０２は、基準データ指定受付モジュール３０１によって指定を受け付けた基準データに関連する３次元ＣＡＤデータを特定するモジュールである。
【００３６】
不要データ取り除きモジュール３０３は、基準データ指定受付モジュール３０１と関連データ特定モジュール３０２によって特定された３次元ＣＡＤデータ以外の３次元ＣＡＤデータを別フォルダに移動させるモジュールである。
【００３７】
画面表示モジュール３０４は、ユーザからの指示に従って、各種画面を表示させるためのモジュールである。
【００３８】
３次元ＣＡＤデータ取得モジュール３０５は、外部メモリ２１１等に記憶された３次元ＣＡＤデータを取得するためのモジュールである。
【００３９】
サーバ１０２は、３次元ＣＡＤデータ記憶モジュール３０６を備える。
【００４０】
３次元ＣＡＤデータ記憶モジュール３０６は、３次元ＣＡＤデータと、当該３次元ＣＡＤデータと関連する３次元ＣＡＤデータへの参照先を記憶する（ＣＡＤデータ記憶手段）。３次元ＣＡＤデータ記憶モジュール３０６は、情報処理装置１０１に備えられてもよい。この場合、サーバ１０２は不要となる。尚、本実施例では、３次元ＣＡＤデータ記憶モジュール３０６は、情報処理装置１０１に備えられているものとする。また、３次元ＣＡＤデータの参照先は３次元ＣＡＤデータ内に記憶されているものであるが、これに限らない。例えば、参照先に関する情報がテーブルとして記憶されていてもよい。
【００４１】
次に、本発明の実施例における情報処理装置１０１によって行われる処理について、図４に示すフローチャートを用いて説明する。尚、Ｓ１０１乃至Ｓ１０６の各ステップは、情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【００４２】
尚、この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００４３】
図４に示す処理を行う際には、情報処理装置１０１のＣＰＵ２０１は、情報処理装置１０１で作成された３次元ＣＡＤデータを３次元ＣＡＤアプリケーションで閲覧可能な状態にある。本発明では、これらの３次元ＣＡＤデータから不要な３次元ＣＡＤデータを抽出し、任意のフォルダへ既存フォルダ構成を維持しながら移動させる。
【００４４】
まず、ステップＳ１０１では、情報処理装置１０１は、不要な３次元ＣＡＤデータを抽出するべく、参照関係を確認する基準となる３次元ＣＡＤデータを選択する処理を行う。基準データ選択処理の詳細は後述する図５に示す。
【００４５】
ステップＳ１０２では、情報処理装置１０１は、据置対象選択画面８００（図８参照）に備えられた検索ボタン８０２が押下されたか否かを判定する。押下されたと判定された場合には、ステップＳ１０３へ処理を進め、押下されたと判定できなかった場合には、検索ボタンが押下されるまで待機する。据置対象選択画面８００は、ユーザからの指示に従って、不要な３次元ＣＡＤデータを検索するための基準となる３次元ＣＡＤデータ（以下、基準データ）の指定を受け付ける画面である。基準データからの参照関係をたどることで、必要な３次元ＣＡＤデータを確認し、参照関係を持たない３次元ＣＡＤデータを抽出することができる。また、基準データと参照関係のある３次元ＣＡＤデータと参照関係のあるデータを更にたどることで、より正確な要不要判断を行うことができる。
【００４６】
ステップＳ１０３では、情報処理装置１０１は、ステップＳ２０２において選択されたフォルダ以下、全てのデータ領域に対して該当する３次元ＣＡＤデータを取得し、参照関係テーブル１４００（図１４参照）の状態フラグ１４０１に「４」を格納し、３次元ＣＡＤデータ名１４０２に取得した３次元ＣＡＤデータのファイル名を格納し、３次元ＣＡＤデータファイルパス１４０３に取得した３次元ＣＡＤデータのファイルパスを格納する。格納結果としては、図１７の参照関係テーブル１７０１に示す通りとなる。
【００４７】
参照関係テーブル１４００（図１４参照）は、３次元ＣＡＤデータの状態を示す状態フラグ１４０１、３次元ＣＡＤデータのファイル名を示す３次元ＣＡＤデータ名１４０２、３次元ＣＡＤデータのファイルパスを示す３次元ＣＡＤデータファイルパス１４０３、３次元ＣＡＤデータと参照関係にある３次元ＣＡＤデータのファイル名を示す参照先データ名１４０４、参照先データ名１４０４が示す３次元ＣＡＤデータのファイルパスを示す参照先データファイルパス１４０５から構成される（３次元ＣＡＤデータ記憶手段）。尚、テーブルの構成はこれに限らない。状態フラグ１４０１には「１」「２」「３」「４」の４つのフラグが格納され、「１」は、ユーザから基準データとして選択されたことを示し、「２」は、基準データと参照関係があると判定されたこと（以下、参照関係あり）を示し、「３」は、基準データと参照関係がない３次元ＣＡＤデータだが、当該３次元ＣＡＤデータには参照関係のある３次元ＣＡＤデータが存在すること（以下、不要参照関係あり）を示し、「４」は、基準データと参照関係がない、または未処理のデータであることを示す。状態フラグ１４０１に格納する情報はこれに限らない。
【００４８】
ステップＳ１０４では、情報処理装置１０１は、参照関係テーブル１４００に記憶された３次元ＣＡＤデータの参照先に関する情報を取得する。具体的には、参照関係テーブル１４００に格納された３次元ＣＡＤデータの情報から、３次元ＣＡＤデータのＣＡＤデータテーブル１９００（図１９参照）を読み込み、ＣＡＤデータテーブル１９００に記憶された参照先を取得し、参照関係テーブル１４００に格納する。ＣＡＤデータテーブル１９００から取得した参照先の３次元ＣＡＤデータのファイル名である参照先データ名１９０３を参照先データ名１４０４に格納し、当該３次元ＣＡＤデータのファイルパスである参照先データファイルパス１９０４を参照先データファイルパス１４０５に格納する。
【００４９】
ＣＡＤデータテーブル１９００（参照情報、図１９参照）は、３次元ＣＡＤデータのファイル名を示す３次元ＣＡＤデータ名１９０１、３次元ＣＡＤデータのファイルパスを示す３次元ＣＡＤデータファイルパス１９０２、３次元ＣＡＤデータと参照関係にある３次元ＣＡＤデータのファイル名を示す参照先データ名１９０３、参照先データ名１９０３が示す３次元ＣＡＤデータのファイルパスを示す参照先データファイルパス１９０４から構成される。ＣＡＤデータテーブル１９００は、３次元ＣＡＤデータごとに、当該３次元ＣＡＤデータ内に記憶されている情報だが、情報処理装置１０１またはサーバ１０２等のＲＡＭ２０３やＲＯＭ２０２、外部メモリ２１１に記憶されていてもよい。また、図１９に示す参照先データファイルパス１９０４は相対パスが格納されているが、絶対パスでもよい。
【００５０】
尚、３次元ＣＡＤデータには、複数の参照先が存在する場合がある。これは１つの３次元ＣＡＤデータが複数の部品（３次元ＣＡＤデータ）から構成されているためである。例えば、本実施例における３次元ＣＡＤデータ親子関係１５１０（図１５参照）では、「Ｔｏｐ．ＳＬＤＡＳＭ」という３次元モジュールは「ｐａｒｔ１．ＳＬＤＰＲＴ」と「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」の２つの３次元モジュールから構成されている。この場合には、参照関係テーブル１４００に格納された参照元の３次元ＣＡＤデータのレコードを構成数分だけ増やし、参照先の３次元ＣＡＤデータごとに格納する。格納結果としては、図１７の参照関係テーブル１７０２に示す通りとなる。
【００５１】
ステップＳ１０５では、情報処理装置１０１は、後述するステップＳ２０６において選択された基準データと参照関係のある３次元ＣＡＤデータを検索する処理を行う。参照関係チェック処理の詳細は図６に示す。
【００５２】
ステップＳ１０６では、情報処理装置１０１は、後述するステップＳ２０６において選択された基準データと参照関係のない３次元ＣＡＤデータを表示し、ユーザからの指示により移動させる３次元ＣＡＤデータの選択を受け付け、移動させる処理を行う。不要データ移動処理の詳細は図７に示す。
【００５３】
次に、不要な３次元ＣＡＤデータを抽出するべく、参照関係を確認する基準となる３次元ＣＡＤデータを選択する処理について図５を用いて説明する。尚、Ｓ２０１乃至Ｓ２０７の各ステップは、情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【００５４】
まず、ステップＳ２０１では、情報処理装置１０１は、ＣＲＴ２１０上に据置対象選択画面８００（図８参照）を表示させ、ユーザからの操作を受け付ける。
【００５５】
ステップＳ２０２では、情報処理装置１０１は、ステップＳ２０１において表示された据置対象選択画面８００に備えられた検索元ボタン８０１の押下を検知すると、基準データとする３次元ＣＡＤデータが含まれるフォルダを選択するためのフォルダ選択画面９００（図９参照）をＣＲＴ２１０上に表示させる。フォルダ選択画面９００においてフォルダが選択されると、選択されたフォルダを参照する。
【００５６】
ステップＳ２０３では、情報処理装置１０１は、ステップＳ２０２において選択されたフォルダに３次元ＣＡＤデータが存在するか否かを判定する。３次元ＣＡＤデータが存在すると判定された場合には、ステップＳ２０４へ処理を進め、３次元ＣＡＤデータが存在すると判定できなかった場合には、フォルダの再選択を促す旨のエラーメッセージを表示させ、ステップＳ２０２に処理を戻す。
【００５７】
ステップＳ２０４では、情報処理装置１０１は、ステップＳ２０２において選択されたフォルダに存在する３次元ＣＡＤデータを取得し、参照関係テーブル１４００の状態フラグ１４０１に「４」を格納し、３次元ＣＡＤデータ名１４０２に取得した３次元ＣＡＤデータのファイル名を格納し、３次元ＣＡＤデータファイルパス１４０３に取得した３次元ＣＡＤデータのファイルパスを格納する。
【００５８】
例えば、本実施例では、フォルダ構成１５００（図１５参照）に示すようなフォルダ構成となっている。ここで、ステップＳ２０２において、「Ｃ：￥Ｕｓｅｒ１￥」内に存在する「Ｔｅｍｐ１」フォルダが選択された場合、「Ｔｅｍｐ１」フォルダ内の「Ｔｏｐ．ＳＬＤＡＳＭ」と「Ｔｏｐ．ＳＬＤＤＲＷ」の２つの３次元ＣＡＤデータが取得される。この「Ｔｏｐ．ＳＬＤＡＳＭ」と「Ｔｏｐ．ＳＬＤＤＲＷ」のファイル名を参照関係テーブル１４００の３次元ＣＡＤデータ名１４０２に格納し、それぞれのファイルパスを３次元ＣＡＤデータファイルパス１４０３に格納する。また、状態フラグ１４０１には未処理を示す「４」を格納する。格納後は図１６の参照関係テーブル１６０１に示す通りとなる。
【００５９】
ステップＳ２０５では、情報処理装置１０１は、ステップＳ２０４において参照関係テーブル１４００に格納された３次元ＣＡＤデータに関する各種情報を図１０に示すように据置対象選択画面８００に表示する。
【００６０】
ステップＳ２０６では、情報処理装置１０１は、ステップＳ２０５において表示された据置対象選択画面８００において基準データの選択を受け付ける（基準データ指定受付手段）。具体的には、据置対象選択画面８００に備えられた基準データ選択チェックボックス１００１（図１０参照）へのチェックを受け付ける。本実施例では基準データは１つだけ選択されるが、複数選択できてもよい。
【００６１】
ステップＳ２０７では、情報処理装置１０１は、ステップＳ２０６において選択を受け付けた３次元ＣＡＤデータの状態フラグ１４０１を「１」に更新する。これにより、基準データとして選択されたことを記憶する。
【００６２】
例えば、図１０においてはユーザからの操作に従って、基準データとする３次元ＣＡＤデータの「Ｔｏｐ．ＳＬＤＡＳＭ」にチェックがなされる。これにより、参照関係テーブル１４００の当該レコードの状態フラグ１４０１に「１」が格納され、基準データとして選定される。更新後は図１６の参照関係テーブル１６０２に示す通りとなる。３次元ＣＡＤデータ親子関係１５１０で示すと、「Ｔｏｐ．ＳＬＤＡＳＭ」が基準データとして選択されたことになる。
【００６３】
次に、ステップＳ２０６において選択された基準データと参照関係のある３次元ＣＡＤデータを検索する処理について図６を用いて説明する。尚、Ｓ３０１乃至Ｓ３１２の各ステップは、情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【００６４】
まず、ステップＳ３０１及びステップＳ３０２において、基準データの参照先と参照元の３次元ＣＡＤデータを特定し、参照関係ありとする処理を行う。
【００６５】
ステップＳ３０１では、情報処理装置１０１は、基準データの参照先または参照元である３次元ＣＡＤデータを参照関係テーブル１４００から検索し、特定する。具体的には、状態フラグ１４０１が「１」となっているレコードを参照関係テーブル１４００から検索し、当該レコードの参照先データ名１４０４と参照先データファイルパス１４０５を取得する。この組み合わせと３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、基準データとして選択された３次元ＣＡＤデータの参照先（つまり、基準データの参照先）を特定することができる。また、基準データの３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせと、参照先データ名１４０４と参照先データファイルパス１４０５の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、基準データを参照先としている３次元ＣＡＤデータ（つまり、基準データの参照元）を特定することができる。
【００６６】
ステップＳ３０２では、情報処理装置１０１は、ステップＳ３０１において特定されたレコードの状態フラグ１４０１を「２」に更新する（関連データ特定手段）。つまり、ステップＳ３０１において特定されたレコードの３次元ＣＡＤデータは、基準データの参照先または参照元であるので、参照関係がある。よって、参照関係ありを示す「２」を状態フラグ１４０１に格納する。
【００６７】
例えば、３次元ＣＡＤデータ親子関係１５１０で示すと、基準データとして選択された「Ｔｏｐ．ＳＬＤＡＳＭ」の参照先は、「ｐａｒｔ１．ＳＬＤＰＲＴ」と「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」である。また、「Ｔｏｐ．ＳＬＤＡＳＭ」の参照元は「Ｔｏｐ．ＳＬＤＤＲＷ」である。つまり、「ｐａｒｔ１．ＳＬＤＰＲＴ」と「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」と「Ｔｏｐ．ＳＬＤＤＲＷ」は、参照関係があるので、不要なデータではない。つまり、これらを関係ありとして参照関係テーブル１４００に格納しておく。
【００６８】
次に、ステップＳ３０３乃至ステップＳ３０７において、ステップＳ３０２で参照関係ありとされた３次元ＣＡＤデータの参照先または参照元の３次元ＣＡＤデータを特定し、参照関係ありとする処理を行う。
【００６９】
ステップＳ３０３では、情報処理装置１０１は、ステップＳ３０２において参照関係ありとなっている３次元ＣＡＤデータの参照先と参照元を検索し、特定する。具体的には、状態フラグ１４０１が「２」となっているレコードを参照関係テーブル１４００から検索し、当該レコードの参照先データ名１４０４と参照先データファイルパス１４０５を取得する。この組み合わせと３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、参照関係ありとされた３次元ＣＡＤデータの参照先を特定することができる。また、状態フラグが「２」となっているレコードの３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせと、参照先データ名１４０４と参照先データファイルパス１４０５の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、参照関係ありとされた３次元ＣＡＤデータの参照元を特定することができる。つまり、参照関係ありとなっている３次元ＣＡＤデータの更に先の参照先と参照元を検索して、特定する。
【００７０】
ステップＳ３０４では、情報処理装置１０１は、ステップＳ３０３において参照先または参照元の３次元ＣＡＤデータが特定できたか否かを判定する。参照先または参照元の３次元ＣＡＤデータが特定できた場合には、ステップＳ３０５へ処理を進め、参照先または参照元の３次元ＣＡＤデータが特定できなかった場合には、ステップＳ３０７へ処理を進める。
【００７１】
ステップＳ３０５では、情報処理装置１０１は、ステップＳ３０３において特定された参照先または参照元の３次元ＣＡDデータのレコードの状態フラグ１４０１に「４」が格納されているか否かを判定する。「４」が格納されていると判定した場合には、ステップＳ３０６へ処理を進め、「４」が格納されていると判定できなかった場合には、ステップＳ３０３へ処理を戻す。
【００７２】
ステップＳ３０６では、情報処理装置１０１は、ステップＳ３０３において特定された参照先または参照元の３次元ＣＡＤデータのレコードの状態フラグ１４０１に「２」を格納する（関連データ特定手段）。つまり、参照関係ありとする。これにより、参照関係ありとされた３次元ＣＡＤデータから紐づく３次元ＣＡＤデータはすべて参照関係ありとする。ステップＳ３０６の処理終了後、ステップＳ３０３へ処理を戻し、参照関係テーブル１４００にある未処理のレコードに対して、参照先または参照元がなくなるまでステップＳ３０３乃至ステップＳ３０６の処理を繰り返す。１つの３次元ＣＡＤデータに複数の参照先または参照元がある場合でも同様である。
【００７３】
ステップＳ３０７では、情報処理装置１０１は、参照関係テーブル１４００のレコードのうち、状態フラグに「２」が格納されたレコードすべてに対して、ステップＳ３０３乃至ステップＳ３０６の処理が行われたか否かを判定する。ステップＳ３０３乃至ステップＳ３０６の処理が行われたと判定した場合には、ステップＳ３０８へ処理を進め、ステップＳ３０３乃至ステップＳ３０６の処理が行われたと判定できなかった場合には、ステップＳ３０３へ処理を戻す。
【００７４】
例えば、３次元ＣＡＤデータ親子関係１５１０で示すと、基準データとして選択された「Ｔｏｐ．ＳＬＤＡＳＭ」の参照先または参照元は、「ｐａｒｔ１．ＳＬＤＰＲＴ」と「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」と「Ｔｏｐ．ＳＬＤＤＲＷ」である。この３つの参照先または参照元を見ると、まず「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」の参照先は、「ｓｕｂ−ｐａｒｔ１．ＳＬＤＰＲＴ」である。また、「ｐａｒｔ１．ＳＬＤＰＲＴ」は、「ｐａｒｔ１．ＳＬＤＤＲＷ」の参照元である。つまり、「ｓｕｂ−ｐａｒｔ１．ＳＬＤＰＲＴ」と「ｐａｒｔ１．ＳＬＤＤＲＷ」は、参照関係があるので、不要なデータではない。つまり、これらを関係ありとして参照関係テーブル１４００に格納しておく。格納後は図１８の参照関係テーブル１８０１に示す通りとなる。特に、本発明では、「ｐａｒｔ１．ＳＬＤＰＲＴ」のように、３次元ＣＡＤデータの使いまわしをしていたとしても、使いまわしていた先の参照関係まで見て参照関係ありとするので、確実に不要な３次元ＣＡＤデータを抽出することができる。
【００７５】
次に、ステップＳ３０８乃至ステップＳ３１２において、ステップＳ３０２及びステップＳ３０６で参照関係ありとされた３次元ＣＡＤデータ以外の３次元ＣＡＤデータの参照先または参照元の３次元ＣＡＤデータを特定し、基準データからは参照関係がないので不要だが参照関係ありとする処理を行う。これにより、基準データから参照関係がないと判断された３次元ＣＡＤデータ同士で参照関係を保持していた場合でも、参照関係を維持して移動させることができる。
【００７６】
ステップＳ３０８では、情報処理装置１０１は、参照関係テーブル１４００で参照関係なしとなっている３次元ＣＡＤデータの参照先と参照元を検索し、特定する。具体的には、状態フラグ１４０１が「４」となっているレコードを参照関係テーブル１４００から検索し、当該レコードの参照先データ名１４０４と参照先データファイルパス１４０５を取得する。この組み合わせと３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、参照関係なしとされた３次元ＣＡＤデータの参照先を特定することができる。また、状態フラグが「４」となっているレコードの３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせと、参照先データ名１４０４と参照先データファイルパス１４０５の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、参照関係なしとされた３次元ＣＡＤデータの参照元を特定することができる。つまり、参照関係なしとなっている３次元ＣＡＤデータの参照先と参照元を検索して、特定する。
【００７７】
ステップＳ３０９では、情報処理装置１０１は、ステップＳ３０８において参照先または参照元の３次元ＣＡＤデータが特定できたか否かを判定する。参照先または参照元の３次元ＣＡＤデータが特定できた場合には、ステップＳ３１０へ処理を進め、参照先または参照元の３次元ＣＡＤデータが特定できなかった場合には、ステップＳ３１２へ処理を進める。
【００７８】
ステップＳ３１０では、情報処理装置１０１は、ステップＳ３０８において特定された参照先または参照元の３次元ＣＡDデータのレコードの状態フラグ１４０１に「４」が格納されているか否かを判定する。「４」が格納されていると判定した場合には、ステップＳ３１１へ処理を進め、「４」が格納されていると判定できなかった場合には、ステップＳ３０８へ処理を戻す。
【００７９】
ステップＳ３１１では、情報処理装置１０１は、ステップＳ３０８において特定された参照先または参照元の３次元ＣＡＤデータのレコードの状態フラグ１４０１に「３」を格納する。つまり、基準データからは参照関係がないので不要だが参照関係あり（不要参照関係あり）とする。これにより、参照関係なしとされた３次元ＣＡＤデータから紐づく３次元ＣＡＤデータはすべて不要参照関係ありとする。ステップＳ３１１の処理終了後、ステップＳ３０８へ処理を戻し、参照先または参照元がなくなるまでステップＳ３０８乃至ステップＳ３１１の処理を繰り返す。
【００８０】
ステップＳ３１２では、情報処理装置１０１は、参照関係テーブル１４００のレコードのうち、状態フラグに「４」が格納されたレコードすべてに対して、ステップＳ３０８乃至ステップＳ３１１の処理が行われたか否かを判定する。ステップＳ３０８乃至ステップＳ３１１の処理が行われたと判定した場合には、参照関係チェック処理を終了し、ステップＳ３０８乃至ステップＳ３１１の処理が行われたと判定できなかった場合には、ステップＳ３０８へ処理を戻す。
【００８１】
例えば、３次元ＣＡＤデータ親子関係１５１０で示すと、基準データとして選択された「Ｔｏｐ．ＳＬＤＡＳＭ」、参照関係ありとされた「Ｔｏｐ．ＳＬＤＤＲＷ」、「ｐａｒｔ１．ＳＬＤＰＲＴ」、「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」、「ｓｕｂ−ｐａｒｔ１．ＳＬＤＰＲＴ」、「ｐａｒｔ１．ＳＬＤＤＲＷ」、これら６つの３次元ＣＡＤデータ以外の３次元ＣＡＤデータが基準データとは参照関係がない。つまり、基準データから見ると移動させてもよい３次元ＣＡＤデータである。しかし、参照関係がない３次元ＣＡＤデータ同士が参照関係を保持している場合があり、単純に移動させてしまうと、その組み合わせの構造が崩れてしまう。これを防ぐためにも、参照関係がない３次元ＣＡＤデータ同士の参照関係を検索する。３次元ＣＡＤデータ親子関係１５１０では、「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」と「ｓｕｂ−ｐａｒｔ２．ＳＬＤＰＲＴ」に参照関係がある。つまり、このどちらか片方だけを移動させると構造が崩れてしまうので、参照関係テーブル１４００の「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」と「ｓｕｂ−ｐａｒｔ２．ＳＬＤＰＲＴ」のレコードに不要参照関係ありを格納する。格納後は図１８の参照関係テーブル１８０２に示す通りとなる。
【００８２】
次に、ステップＳ２０６において選択された基準データと参照関係のない３次元ＣＡＤデータを表示し、ユーザからの指示により移動させる３次元ＣＡＤデータの選択を受け付け、移動させる処理について図７を用いて説明する。尚、Ｓ４０１乃至Ｓ４０８の各ステップは、情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【００８３】
ステップＳ４０１では、情報処理装置１０１は、参照関係テーブル１４００の状態フラグ１４０１が「３」または「４」のレコードを取得し、３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３を移動対象選択画面１１００（図１１参照）の表示欄１１０３に格納して、ＣＲＴ２１０上に表示させる（不要データ選択受付手段）。また、ユーザからの各種操作を受け付ける。移動先ボタン１１０１の押下を検知した場合には、不要データの移動先の指定を受け付け、また、不要データチェックボックス１１０４へのチェックを受け付ける。
【００８４】
ステップＳ４０２では、情報処理装置１０１は、不要データチェックボックス１１０４へのチェックを受け付けた３次元ＣＡＤデータに不要参照関係があるかどうかを判定する。具体的には、チェックが行われた３次元ＣＡＤデータの状態フラグ１４０１に「３」が格納されているか否かを判定する。「３」が格納されていると判定した場合には、ステップＳ４０３へ処理を進め、「３」が格納されていると判定できなかった場合には、ステップＳ４０４へ処理を進める。
【００８５】
ステップＳ４０３では、情報処理装置１０１は、ステップＳ４０１において移動対象として指定された３次元ＣＡＤデータと参照関係のある３次元ＣＡＤデータに関してもチェックを入れる。具体的には、不要データチェックボックス１１０４にチェックがなされた３次元ＣＡＤデータの参照先データ名１４０４と参照先データファイルパス１４０５に値が格納されているのであれば、その参照先を特定し、当該特定された３次元ＣＡＤデータの不要データチェックボックス１１０４にチェックを入れる。不要データチェックボックス１１０４にチェックがなされた３次元ＣＡＤデータの参照先データ名１４０４と参照先データファイルパス１４０５に値が格納されていなかった場合には、チェックがなされた３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせと、参照先データ名１４０４と参照先データファイルパス１４０５の組み合わせが一致するレコードを検索し、チェックがなされた３次元ＣＡＤデータの参照元を特定する。特定された参照元の３次元ＣＡＤデータの不要データチェックボックス１１０４にチェックを入れる。また、どちらの場合も更にそのレコードの参照先または参照元がある場合には、参照先または参照元がなくなるまで当該レコードを特定し、不要データチェックボックス１１０４にチェックを入れる。
【００８６】
図１２に示す移動対象選択画面１１００では、例えば「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」にチェックが入れられた場合、「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」の参照先である「ｓｕｂ−ｐａｒｔ２．ＳＬＤＰＲＴ」にもチェックが入る。これにより、不要だが参照関係のあるものは、その構造を崩さずに移動させることができる。また、チェックが外された場合には、「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」と「ｓｕｂ−ｐａｒｔ２．ＳＬＤＰＲＴ」の両方のチェックが外れる。
【００８７】
ステップＳ４０４では、情報処理装置１０１は、移動対象選択画面１１００に備えられた移動ボタン１１０５が押下されたか否かを判定する。移動ボタン１１０５が押下されたと判定された場合には、ステップＳ４０５へ処理を進め、移動ボタン１１０５が押下されたと判定できなかった場合には、移動ボタン１１０５が押下されるまで待機する。
【００８８】
ステップＳ４０５では、情報処理装置１０１は、ＣＲＴ２１０上に移動対象確定画面１３００（図１３参照）を表示する。移動対象確定画面１３００は、チェックがなされた３次元ＣＡＤデータを本当に移動させてよいのか最終確認する画面である。
【００８９】
ステップＳ４０６では、情報処理装置１０１は、移動対象確定画面１３００に備えられたＯＫボタン１３０１が押下されたのか否かを判定する。ＯＫボタン１３０１が押下されたと判定した場合には、ステップＳ４０７へ処理を進め、ＯＫボタン１３０１が押下されたと判定できなかった場合には、ＯＫボタン１３０１が押下されるまで待機する。
【００９０】
ステップＳ４０７では、情報処理装置１０１は、移動対象選択画面１１００においてチェックがなされた３次元ＣＡＤデータを取得する。具体的には、チェックがなされた３次元ＣＡＤデータの３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３から、３次元ＣＡＤデータを取得し、ＲＡＭ２０３に記憶する。
【００９１】
ステップＳ４０８では、情報処理装置１０１は、ステップＳ４０７において取得した３次元ＣＡＤデータをユーザによって指定されたフォルダに移動させる（不要データ移動手段）。尚、移動は同一の記憶媒体内に限らない。移動の際には、フォルダの構造を崩さずに移動させる。具体的には、移動する３次元ＣＡＤデータの３次元ＣＡＤデータファイルパス１４０３の階層構造を崩さずに移動させる。例えば、「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」と不要参照関係にある「ｓｕｂ−ｐａｒｔ２．ＳＬＤＰＲＴ」を「Ｃ：￥Ｕｓｅｒ１￥Ｔｅｍｐ２￥」に移動させる場合、「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」と「ｓｕｂ−ｐａｒｔ２．ＳＬＤＰＲＴ」はどちらも３次元ＣＡＤデータファイルパス１４０３は「Ｃ：￥Ｕｓｅｒ１￥Ｔｅｍｐ１￥Ｓｕｂ２￥」に存在する。お互いの相対的な保存場所の関係（相対パス）が崩れてしまうと、子データが参照できなくなってしまうので、移動させる場合には、階層構造を維持させるため、どちらも「Ｃ：￥Ｕｓｅｒ１￥Ｔｅｍｐ２￥Ｓｕｂ２￥」というフォルダに移動させる。この場合、「Ｓｕｂ２」というフォルダが「Ｔｅｍｐ２」というフォルダ内に存在しないため、新規に作成する。これにより、不要であるが参照関係を保持する３次元ＣＡＤデータであっても、構造を崩さずに移動させることができる。移動が終了次第、不要データ移動処理を終了する。
【００９２】
次に、第二の実施例について説明する。前述の実施例では、図１５の通り基準データとして「Ｔｏｐ．ＳＬＤＡＳＭ」を選択すると、当該基準データとは関連のない「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」、「ｓｕｂ−ｐａｒｔ２．ＳＬＤＰＲＴ」、「ｔｅｍｐ−ｐａｒｔ１．ＳＬＤＰＲＴ」、「ｔｅｍｐ−ｓｕｂ−ｐａｒｔ１．ＳＬＤＰＲＴ」の４つの３次元ＣＡＤデータが抽出された。しかし、ユーザとしては「ｐａｒｔ１．ＳＬＤＤＲＷ」も不要なデータであり、移動すべきである。だが、「ｐａｒｔ１．ＳＬＤＤＲＷ」は、基準データと関連する「ｐａｒｔ１．ＳＬＤＰＲＴ」を参照しているので、安易に移動させることができない。移動させてしまうと、「ｐａｒｔ１．ＳＬＤＤＲＷ」と「ｐａｒｔ１．ＳＬＤＰＲＴ」から成る３次元モデルが崩れてしまうからである。
【００９３】
第二の実施例では、不要データが基準データを参照している場合であっても、不要データが構成する３次元モデルを崩すことなく、フォルダ移動させる仕組みについて説明する。具体的には、指定フォルダから不要データを移動させる場合に、不要データを通常の移動（指定フォルダから削除して移動）、基準データと関連するデータはコピーして移動（指定フォルダにも残して移動）させる。
【００９４】
まず、前述の実施例における図４のフローチャートは、第二の実施例においても同様であるので説明を省略する。
【００９５】
次に、不要な３次元ＣＡＤデータを抽出するべく、参照関係を確認する基準となる３次元ＣＡＤデータを選択する処理について図２０を用いて説明する。尚、Ｓ２０１乃至Ｓ２０７、Ｓ５０１及びＳ５０２の各ステップは、情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【００９６】
ステップＳ２０１及びステップＳ２０２は、前述した図５に示すステップＳ２０１及びステップＳ２０２と同様であるので説明を省略する。
【００９７】
ステップＳ５０１では、情報処理装置１０１は、ステップＳ２０２において選択されたフォルダに図面データが存在するか否かを判定する。図面データが存在すると判定された場合には、ステップＳ５０２へ処理を進め、図面データが存在すると判定できなかった場合には、フォルダの再選択を促す旨のエラーメッセージを表示させ、ステップＳ２０２に処理を戻す。第二の実施例では後述する関連する３次元ＣＡＤデータの検索を簡易化するため、設計物を構成する最上位の図面データを選択するようにしている。前述した実施例の通り、３次元ＣＡＤデータ（図面データ、アセンブリデータ、部品データ）であってもよい。尚、図面データは設計物全体をまとめるための３次元ＣＡＤデータであり、部品データを管理するアセンブリデータや、３次元モデルの各パーツを示す部品データなどの際上位を管理するためのデータである。
【００９８】
ステップＳ５０２では、情報処理装置１０１は、ステップＳ２０２において選択されたフォルダに存在する図面データを取得し、参照関係テーブル１４００の状態フラグ１４０１に「４」を格納し、３次元ＣＡＤデータ名１４０２に取得した３次元ＣＡＤデータのファイル名を格納し、３次元ＣＡＤデータファイルパス１４０３に取得した３次元ＣＡＤデータのファイルパスを格納する。
【００９９】
第二の実施例においても、フォルダ構成１５００（図１５参照）に示すようなフォルダ構成となっているものとして説明する。ステップＳ２０２において、「Ｃ：￥Ｕｓｅｒ１￥」内に存在する「Ｔｅｍｐ１」フォルダが選択された場合、「Ｔｅｍｐ１」フォルダ内の「Ｔｏｐ．ＳＬＤＡＳＭ」と「Ｔｏｐ．ＳＬＤＤＲＷ」の２つの３次元ＣＡＤデータがあるが、図面データである「Ｔｏｐ．ＳＬＤＤＲＷ」が取得される。この「Ｔｏｐ．ＳＬＤＤＲＷ」のファイル名を参照関係テーブル１４００の３次元ＣＡＤデータ名１４０２に格納し、それぞれのファイルパスを３次元ＣＡＤデータファイルパス１４０３に格納する。また、状態フラグ１４０１には未処理を示す「４」を格納する。格納後は図２３の参照関係テーブル２３０１に示す通りとなる。尚、前述した実施例とは異なり、第二の実施例では参照関係テーブルに間接関連フラグ２３０２が追加されている。これは、後述する間接参照関係ありとされた場合のフラグを格納する項目である。
【０１００】
ステップＳ２０５乃至ステップＳ２０７は、前述した図５のステップＳ２０５乃至ステップＳ２０７と同様であるので、説明を省略する。
【０１０１】
第二の実施例においては、据置対象選択画面８００でユーザからの操作に従って、基準データとする図面データの「Ｔｏｐ．ＳＬＤＤＲＷ」にチェックがなされる。これにより、参照関係テーブル１４００の当該レコードの状態フラグ１４０１に「１」が格納され、基準データとして選定される。更新後は図２３の参照関係テーブル２３０３に示す通りとなる。
【０１０２】
次に、ステップＳ２０６において選択された基準データと参照関係のある３次元ＣＡＤデータを検索する処理について図２１を用いて説明する。尚、Ｓ６０１乃至Ｓ６１３の各ステップは、情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【０１０３】
ステップＳ６０１の実行前では、ステップＳ１０３において指定されたフォルダに記憶された３次元ＣＡＤデータがすべて取得され、参照関係テーブル１４００に格納される。格納後は、図２４の参照関係テーブル２４０１に示す通りとなる。また、ステップＳ１０４において取得した３次元ＣＡＤデータの参照先を取得して参照関係テーブル１４００に格納する。よって、格納後は図２４の参照関係テーブル２４０３に示す通りとなる。ステップＳ１０３及びステップＳ１０４の処理の詳細については前述の通りである。
【０１０４】
まず、ステップＳ６０１及びステップＳ６０２において、基準データの参照先の３次元ＣＡＤデータを特定し、直接参照関係ありとする処理を行う。
【０１０５】
ステップＳ６０１では、情報処理装置１０１は、基準データの参照先である３次元ＣＡＤデータを参照関係テーブル１４００から検索し、特定する。具体的には、状態フラグ１４０１が「１」となっているレコードを参照関係テーブル１４００から検索し、当該レコードの参照先データ名１４０４と参照先データファイルパス１４０５を取得する。この組み合わせと３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、基準データとして選択された図面データの参照先（つまり、基準データの参照先）を特定することができる。
【０１０６】
ステップＳ６０２では、情報処理装置１０１は、ステップＳ６０１において特定されたレコードの状態フラグ１４０１を「２」に更新する（関連データ特定手段）。つまり、ステップＳ６０１において特定されたレコードの３次元ＣＡＤデータは、基準データの参照先であるので、参照関係がある。よって、参照関係あり（以下、直接参照関係あり）を示す「２」を状態フラグ１４０１に格納する。
【０１０７】
前述した実施例では、「２」は参照関係ありを示すフラグであったが、第二の実施例では基準データが構成する３次元モデルに含まれる３次元ＣＡＤデータであった場合には「２」（「直接参照関係あり」）とする。後述するが、基準データとは関連しないが、直接参照関係ありの３次元ＣＡＤデータを参照しているものについては、「間接参照関係あり」とする。つまり「直接参照関係あり」は、基準データが構成する３次元モデルに含まれる３次元ＣＡＤデータであって、「間接参照関係あり」は、基準データが構成する３次元モデルには含まれないが、参照先が当該３次元モデルに含まれる場合を指す。
【０１０８】
次に、ステップＳ６０３乃至ステップＳ６０７において、ステップＳ６０２で直接参照関係ありとされた３次元ＣＡＤデータの参照先の３次元ＣＡＤデータを特定し、直接参照関係ありとする処理を行う。
【０１０９】
ステップＳ６０３では、情報処理装置１０１は、ステップＳ６０２において直接参照関係ありとなっている３次元ＣＡＤデータの参照先を検索し、特定する。具体的には、状態フラグ１４０１が「２」となっているレコードを参照関係テーブル１４００から検索し、当該レコードの参照先データ名１４０４と参照先データファイルパス１４０５を取得する。この組み合わせと３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、直接参照関係ありとされた３次元ＣＡＤデータの参照先を特定することができる。
【０１１０】
ステップＳ６０４では、情報処理装置１０１は、ステップＳ６０３において参照先の３次元ＣＡＤデータが特定できたか否かを判定する。参照先の３次元ＣＡＤデータが特定できた場合には、ステップＳ６０５へ処理を進め、参照先の３次元ＣＡＤデータが特定できなかった場合には、ステップＳ６０７へ処理を進める。
【０１１１】
ステップＳ６０５では、情報処理装置１０１は、ステップＳ６０３において特定された参照先の３次元ＣＡDデータのレコードの状態フラグ１４０１に「４」が格納されているか否かを判定する。「４」が格納されていると判定した場合には、ステップＳ６０６へ処理を進め、「４」が格納されていると判定できなかった場合には、ステップＳ６０７へ処理を進める。
【０１１２】
ステップＳ６０６では、情報処理装置１０１は、ステップＳ６０３において特定された参照先の３次元ＣＡＤデータのレコードの状態フラグ１４０１に「２」を格納する（関連データ特定手段）。つまり、直接参照関係ありとする。これにより、直接参照関係ありとされた３次元ＣＡＤデータの参照先である３次元ＣＡＤデータはすべて直接参照関係ありとする。ステップＳ６０６の処理終了後、ステップＳ６０７へ処理を進める。
【０１１３】
ステップＳ６０７では、情報処理装置１０１は、参照関係テーブル１４００のレコードのうち、状態フラグに「２」が格納されたレコードすべてに対して、ステップＳ６０３乃至ステップＳ６０６の処理が行われたか否かを判定する。つまり、直接関係ありとされた３次元ＣＡＤデータの参照先がすべて処理されたか判定することになる。ステップＳ６０３乃至ステップＳ６０６の処理が行われたと判定した場合には、ステップＳ６０８へ処理を進め、ステップＳ６０３乃至ステップＳ６０６の処理が行われたと判定できなかった場合には、ステップＳ６０３へ処理を戻す。処理結果は、図２５の参照関係テーブル２５０１に示す通りとなる。
【０１１４】
次に、ステップＳ６０８乃至ステップＳ６１３において、ステップＳ６０２及びステップＳ６０６で直接参照関係ありとされた３次元ＣＡＤデータ以外の３次元ＣＡＤデータの参照先の３次元ＣＡＤデータを特定し、「間接参照関係あり」または「不要参照関係あり」とする処理を行う。
【０１１５】
ステップＳ６０８では、情報処理装置１０１は、参照関係テーブル１４００で参照関係なしとなっている３次元ＣＡＤデータの参照先を検索し、特定する。具体的には、状態フラグ１４０１が「４」となっているレコードを参照関係テーブル１４００から検索し、当該レコードの参照先データ名１４０４と参照先データファイルパス１４０５を取得する。この組み合わせと３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせが一致するレコードを検索し、一致するレコードを特定する。これにより、参照関係なしとされた３次元ＣＡＤデータの参照先を特定することができる。
【０１１６】
ステップＳ６０９では、情報処理装置１０１は、ステップＳ６０８において参照先の３次元ＣＡＤデータが特定できたか否かを判定する。参照先の３次元ＣＡＤデータが特定できた場合には、ステップＳ６１０へ処理を進め、参照先の３次元ＣＡＤデータが特定できなかった場合には、ステップＳ６１３へ処理を進める。
【０１１７】
ステップＳ６１０では、情報処理装置１０１は、ステップＳ６０８において特定された参照先の３次元ＣＡDデータのレコードの状態フラグ１４０１に「２」が格納されているか否かを判定する。「２」が格納されていると判定した場合には、ステップＳ６１１へ処理を進め、「２」が格納されていると判定できなかった場合には、ステップＳ６１２へ処理を進める。
【０１１８】
ステップＳ６１１では、情報処理装置１０１は、ステップＳ６０８において検索対象となった３次元ＣＡＤデータ（参照元）と、検索した結果特定された３次元ＣＡＤデータ（参照先）とを間接参照関係ありとする。具体的には、双方の３次元ＣＡＤデータのレコードの間接関連フラグ２３０２に「１」を格納する。例えば、「ｐａｒｔ１．ＳＬＤＤＲＷ」の参照先をステップＳ６０８で検索すると、「ｐａｒｔ１．ＳＬＤＰＲＴ」が特定される。この２つは参照関係にあるが、一方は不要データ、もう一方は直接関係ありのデータである。不要データをフォルダ移動させてしまうと、参照構造が崩れてしまうので、ここで双方に間接参照ありのフラグを立てておく。
【０１１９】
ステップＳ６１２では、情報処理装置１０１は、ステップＳ６０８において特定された参照先の３次元ＣＡＤデータのレコードの状態フラグ１４０１に「３」を格納する。つまり、基準データからは参照関係がないので不要だが参照関係あり（不要参照関係あり）とする。これにより、参照関係なしとされた３次元ＣＡＤデータから紐づく３次元ＣＡＤデータはすべて不要参照関係ありとする。
【０１２０】
ステップＳ６１３では、情報処理装置１０１は、参照関係テーブル１４００のレコードのうち、状態フラグに「４」が格納されたレコードすべてに対して、ステップＳ６０８乃至ステップＳ６１２の処理が行われたか否かを判定する。ステップＳ６０８乃至ステップＳ６１２の処理が行われたと判定した場合には、参照関係チェック処理を終了し、ステップＳ６０８乃至ステップＳ６１２の処理が行われたと判定できなかった場合には、ステップＳ６０８へ処理を戻す。
【０１２１】
間接参照関係や不要参照関係のフラグ処理を行うと、図２５に示す参照関係テーブル２５０２に示す通りとなる。第二の実施例においては、「ｐａｒｔ１．ＳＬＤＰＲＴ」と「ｐａｒｔ１．ＳＬＤＤＲＷ」が間接参照関係あり、「ＳｕｂＡｓｓｙ２．ＳＬＤＡＳＭ」と「ｓｕｂ−ｐａｒｔ２．ＳＬＤＰＲＴ」が不要参照関係ありである。
【０１２２】
第二の実施例の直接参照関係、間接参照関係、不要参照関係のフラグ管理や関係の求め方はあくまで一例であり、他の方法であってもよい。前述の実施例も含め、３次元ＣＡＤデータ同士の参照関係を求めるロジックはこれに限らない。
【０１２３】
次に、ステップＳ２０６において選択された基準データと参照関係のない３次元ＣＡＤデータを表示し、ユーザからの指示により移動させる３次元ＣＡＤデータの選択を受け付け、移動させる処理について図２２を用いて説明する。尚、Ｓ７０１乃至Ｓ７１６の各ステップは、情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【０１２４】
ステップＳ７０１では、情報処理装置１０１は、参照関係テーブル１４００の状態フラグ１４０１が「３」または「４」または間接関連フラグ２３０２が「１」のレコードを取得し、３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３を移動対象選択画面１１００（図１１参照）の表示欄１１０３に格納して、ＣＲＴ２１０上に表示させる（不要データ選択受付手段）。また、ユーザからの各種操作を受け付ける。移動先ボタン１１０１の押下を検知した場合には、不要データの移動先の指定を受け付け、また、不要データチェックボックス１１０４へのチェックを受け付ける。
【０１２５】
ステップＳ４０２では、情報処理装置１０１は、不要データチェックボックス１１０４へのチェックを受け付けた３次元ＣＡＤデータに不要参照関係があるかどうかを判定する。具体的には、チェックが行われた３次元ＣＡＤデータの状態フラグ１４０１に「３」が格納されているか否かを判定する。「３」が格納されていると判定した場合には、ステップＳ７０４へ処理を進め、「３」が格納されていると判定できなかった場合には、ステップＳ７０３へ処理を進める。
【０１２６】
ステップＳ７０３では、情報処理装置１０１は、不要データチェックボックス１１０４へのチェックを受け付けた３次元ＣＡＤデータに間接参照関係があるかどうかを判定する。具体的には、チェックが行われた３次元ＣＡＤデータの間接関連フラグ２３０２に「１」が格納されているか否かを判定する。「１」が格納されていると判定した場合には、ステップＳ７０４へ処理を進め、「１」が格納されていると判定できなかった場合には、ステップＳ７０５へ処理を進める。
【０１２７】
ステップＳ７０４では、情報処理装置１０１は、ステップＳ７０１において移動対象として指定された３次元ＣＡＤデータと不要参照関係または間接参照関係のある３次元ＣＡＤデータに関してもチェックを入れる。具体的には、不要データチェックボックス１１０４にチェックがなされた３次元ＣＡＤデータの参照先データ名１４０４と参照先データファイルパス１４０５に値が格納されているのであれば、その参照先を特定し、当該特定された３次元ＣＡＤデータの不要データチェックボックス１１０４にチェックを入れる。不要データチェックボックス１１０４にチェックがなされた３次元ＣＡＤデータの参照先データ名１４０４と参照先データファイルパス１４０５に値が格納されていなかった場合には、チェックがなされた３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３の組み合わせと、参照先データ名１４０４と参照先データファイルパス１４０５の組み合わせが一致するレコードを検索し、チェックがなされた３次元ＣＡＤデータの参照元を特定する。特定された参照元の３次元ＣＡＤデータの不要データチェックボックス１１０４にチェックを入れる。また、どちらの場合も更にそのレコードの参照先または参照元がある場合には、参照先または参照元がなくなるまで当該レコードを特定し、不要データチェックボックス１１０４にチェックを入れる。
【０１２８】
移動対象選択画面１１００では、例えば「ｐａｒｔ１．ＳＬＤＤＲＷ」にチェックが入れられた場合、「ｐａｒｔ１．ＳＬＤＤＲＷ」の参照先である「ｐａｒｔ１．ＳＬＤＰＲＴ」にもチェックが入る。これにより、不要だが参照関係のあるものは、その構造を崩さずに移動させることができる。また、チェックが外された場合には、「Ｓｐａｒｔ１．ＳＬＤＤＲＷ」と「ｐａｒｔ１．ＳＬＤＰＲＴ」の両方のチェックが外れる。
【０１２９】
ステップＳ７０５では、情報処理装置１０１は、移動対象選択画面１１００に備えられた移動ボタン１１０５が押下されたか否かを判定する。移動ボタン１１０５が押下されたと判定された場合には、ステップＳ７０６へ処理を進め、移動ボタン１１０５が押下されたと判定できなかった場合には、移動ボタン１１０５が押下されるまで待機する。
【０１３０】
ステップＳ７０６では、情報処理装置１０１は、ＣＲＴ２１０上に移動対象確定画面１３００（図１３参照）を表示する。移動対象確定画面１３００は、チェックがなされた３次元ＣＡＤデータを本当に移動させてよいのか最終確認する画面である。
【０１３１】
ステップＳ７０７では、情報処理装置１０１は、移動対象確定画面１３００に備えられたＯＫボタン１３０１が押下されたのか否かを判定する。ＯＫボタン１３０１が押下されたと判定した場合には、ステップＳ７０８へ処理を進め、ＯＫボタン１３０１が押下されたと判定できなかった場合には、ＯＫボタン１３０１が押下されるまで待機する。
【０１３２】
ステップＳ７０８では、情報処理装置１０１は、移動対象選択画面１１００においてチェックがなされた３次元ＣＡＤデータを取得する。具体的には、チェックがなされた３次元ＣＡＤデータの３次元ＣＡＤデータ名１４０２と３次元ＣＡＤデータファイルパス１４０３から、３次元ＣＡＤデータを取得し、ＲＡＭ２０３に記憶する。
【０１３３】
ステップＳ７０９では、情報処理装置１０１は、不要データチェックボックス１１０４へのチェックを受け付けた３次元ＣＡＤデータに不要参照関係があるかどうかを判定する。具体的には、チェックが行われた３次元ＣＡＤデータの状態フラグ１４０１に「３」が格納されているか否かを判定する。「３」が格納されていると判定した場合には、ステップＳ７１０へ処理を進め、「３」が格納されていると判定できなかった場合には、ステップＳ７１１へ処理を進める。
【０１３４】
ステップＳ７１０では、情報処理装置１０１は、ステップＳ７０８において取得した３次元ＣＡＤデータをユーザによって指定されたフォルダに移動させる（不要データ移動手段）。この際、フォルダの構造を崩さずに移動させる。ステップＳ７１０における移動は、元のフォルダにデータを残さず移動させる。つまり、指定されたフォルダに３次元ＣＡＤデータを移動させて、元のフォルダの当該データは削除する。カットアンドペーストと同様の動作を行う。移動が終了次第、不要データ移動処理を終了する。
【０１３５】
ステップＳ７１１では、情報処理装置１０１は、不要データチェックボックス１１０４へのチェックを受け付けた３次元ＣＡＤデータに間接参照関係があるかどうかを判定する。具体的には、チェックが行われた３次元ＣＡＤデータの間接関連フラグ２３０２に「１」が格納されているか否かを判定する。「１」が格納されていると判定した場合には、ステップＳ７１２へ処理を進め、「１」が格納されていると判定できなかった場合には、ステップＳ７１６へ処理を進める。
【０１３６】
ステップＳ７１２では、情報処理装置１０１は、不要データチェックボックス１１０４へのチェックを受け付け、間接参照関係がありとなっている３次元ＣＡＤデータのうち、さらに直接参照関係もありとなっている３次元ＣＡＤデータを特定する。具体的には、チェックが行われた３次元ＣＡＤデータの状態フラグ１４０１に「２」が格納されている３次元ＣＡＤデータを特定する。ここでは、ステップＳ７０１において「ｐａｒｔ１．ＳＬＤＰＲＴ」、「ｐａｒｔ１．ＳＬＤＤＲＷ」等が表示されており、「ｐａｒｔ１．ＳＬＤＤＲＷ」が選択された場合に基づいて説明する。ユーザによって「ｐａｒｔ１．ＳＬＤＤＲＷ」が選択されると、ステップＳ７０４において間接参照関係のある「ｐａｒｔ１．ＳＬＤＰＲＴ」にもチェックがなされる。この２つを移動しようとした場合に、ステップＳ７１２では、この２つの状態フラグ１４０１を見る。この場合、「ｐａｒｔ１．ＳＬＤＰＲＴ」の状態フラグ１４０１に「２」が格納されている（つまり、直接参照関係がある）ので、これが特定される。
【０１３７】
ステップＳ７１３では、情報処理装置１０１は、ステップＳ７１２において特定された３次元ＣＡＤデータを複製して、指定フォルダに移動させる。つまり、ステップＳ７１２において特定された３次元ＣＡＤデータは直接参照関係があるので、基準データと共に３次元モデルを構成するデータである。よって、他フォルダにカットアンドペーストによって移動させてしまうと、３次元モデルの一部を構成する３次元ＣＡＤデータがなくなってしまうので、構造を維持できなくなってしまう。これを防ぐために、直接参照関係のある３次元ＣＡＤデータを移動させる場合には、カットアンドペーストで移動させるのではなく、コピーアンドペーストで移動させる。これにより、元のフォルダにも３次元ＣＡＤデータを残すことができる。尚、移動させたあとのフォルダ構造については、移動前のフォルダ構造を崩さずに移動させる。これについては、前述の通りである。
【０１３８】
ステップＳ７１４では、情報処理装置１０１は、ステップＳ７１３において移動された３次元ＣＡＤデータを任意のファイル名に書き換える（ファイル名変更手段）。ファイル名についてはユーザが指定する形式でも、自動的に決まったファイル名に書き換えてもよい。リネームの方法については特に問わない。ファイル名を書き換えることによって、本来複数存在するべきではない３次元ＣＡＤデータを混同させないようにしている。３次元ＣＡＤデータは、最終的にＰＤＭ（Ｐｒｏｄｕｃｔ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ）システム等に取り込み、一元的に管理することになる。よって、同じファイル名の３次元ＣＡＤデータが複数存在することは管理上、好ましくない。よって、第二の実施例ではステップＳ７１３においてコピーアンドペーストで移動された３次元ＣＡＤデータのファイル名を書き換えることによって、誤認混同を防いでいる。
【０１３９】
ステップＳ７１５では、情報処理装置１０１は、ステップＳ７１２において特定されなかった３次元ＣＡＤデータを指定フォルダに移動させる。ステップＳ７１２において特定されなかったということは、直接参照関係のある３次元ＣＡＤデータではないので、通常のカットアンドペーストで移動させても問題はない。よって、ステップＳ７１３のコピーアンドペーストではなく、カットアンドペーストによって、ユーザから指定されたフォルダに移動させる。ステップＳ７１５の移動についても、ステップＳ７１３において移動した３次元ＣＡＤデータと同様に、フォルダ構造を崩さずに移動させる。
【０１４０】
図２６は、ステップＳ７１２乃至ステップＳ７１５の処理内容を示す模式図である。「ｐａｒｔ１．ＳＬＤＰＲＴ」と「ｐａｒｔ１．ＳＬＤＤＲＷ」を別フォルダに移動しようとした場合に、「ｐａｒｔ１．ＳＬＤＰＲＴ」は基準データと共に３次元モデルを構成するので、直接参照関係がある。よって、このまま現在のフォルダに残しておかないと、「ｐａｒｔ１．ＳＬＤＰＲＴ」が参照できなくなってしまい、３次元モデルの構造が崩れてしまう。しかし、「ｐａｒｔ１．ＳＬＤＤＲＷ」は当該３次元モデルを構成しない不要なデータであるので、この点を気にする必要はない。２つの３次元ＣＡＤデータにはこのような違いがあるため、不要なデータである「ｐａｒｔ１．ＳＬＤＤＲＷ」を移動する場合にはカットアンドペースト（ステップＳ７１０や後述するステップＳ７１６と同様に削除して移動）し、直接参照関係がある「ｐａｒｔ１．ＳＬＤＰＲＴ」を移動する場合にはコピーアンドペースト（複製して移動）を行う。
【０１４１】
この際に前述の通り、フォルダ構成を崩さずに移動させる。２つの３次元ＣＡＤデータは、「Ｃ：￥Ｕｓｅｒ１￥Ｔｅｍｐ１￥Ｓｕｂ１￥」という階層のフォルダに記憶されている。移動先としてユーザから「Ｃ：￥Ｕｓｅｒ１￥Ｔｅｍｐ２￥」というフォルダを指定された場合であっても、フォルダ構造を維持し、「Ｃ：￥Ｕｓｅｒ１￥Ｔｅｍｐ２￥Ｓｕｂ１￥」というフォルダに移動する。
【０１４２】
元々同じフォルダに格納されていている場合は以上の通りだが、参照関係がある３次元ＣＡＤデータ同士が別々のフォルダに格納されている場合もある。例えば、「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」と「ｔｅｍｐ−ｐａｒｔ１．ＳＬＤＰＲＴ」が参照関係を構築しており、不要参照関係であった場合を想定する。この場合、子データである「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」が参照している「ｔｅｍｐ−ｐａｒｔ１．ＳＬＤＰＲＴ」は、図１５のフォルダ構成１５００に示す通り、「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」が記憶された場所から上位フォルダの「Ｔｅｍｐ１」内の「Ｓｕｂ１」フォルダに格納されている。つまり、この相対的な階層の位置関係を崩さずに移動させる必要がある。よって移動後は、「ＳｕｂＡｓｓｙ１．ＳＬＤＡＳＭ」が「Ｃ：￥Ｕｓｅｒ１￥Ｔｅｍｐ２￥Ｓｕｂ２￥」、「ｔｅｍｐ−ｐａｒｔ１．ＳＬＤＰＲＴ」が「Ｃ：￥Ｕｓｅｒ１￥Ｔｅｍｐ２￥Ｓｕｂ１￥」に格納される。それぞれ「Ｔｅｍｐ２」内の「Ｓｕｂ１」と「Ｓｕｂ２」のフォルダ内に記憶されることになる。これらの移動処理はステップＳ７１５に限らない。他の移動処理においても同様である。
【０１４３】
ステップＳ７１６では、情報処理装置１０１は、不要参照関係もなく、直接参照関係もない３次元ＣＡＤデータをユーザから指定されたフォルダに移動させ、元のデータを削除する。つまり、カットアンドペーストを行う。
【０１４４】
第二の実施例では、以上の処理によって、不要データとして抽出された間接参照関係がある３次元ＣＡＤデータを移動する場合には、直接参照関係のある３次元ＣＡＤデータをコピーアンドペーストで移動させ、そうでない３次元ＣＡＤデータをカットアンドペーストで移動させることで、３次元モデルの構成を崩すことなく、移動させている。また、コピーアンドペーストで移動させた３次元ＣＡＤデータはリネームすることで、管理上の不都合も解消している。
【０１４５】
以上説明したように、本実施形態によれば、基準データとして選択された３次元ＣＡＤデータと参照関係のある３次元ＣＡＤデータだけでなく、更に参照関係のある３次元ＣＡＤデータの参照先または参照元を検索することで、確実に不要なデータを抽出することができる。また、不要なデータ同士の参照関係も確認するため、構造を崩さずに移動させることができる。
【０１４６】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１４７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１４８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１５０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１５１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１５２】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１５３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１５４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１５５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１５６】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１５７】
１０１  情報処理装置
１０２  サーバ
１０３  ネットワーク
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インターフェース）コントローラ
２０９  入力装置
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
0005257907.tif 000002
【図２】
0005257907.tif 000003
【図３】
0005257907.tif 000004
【図４】
0005257907.tif 000005
【図５】
0005257907.tif 000006
【図６】
0005257907.tif 000007
【図７】
0005257907.tif 000008
【図８】
0005257907.tif 000009
【図９】
0005257907.tif 000010
【図１０】
0005257907.tif 000011
【図１１】
0005257907.tif 000012
【図１２】
0005257907.tif 000013
【図１３】
0005257907.tif 000014
【図１４】
0005257907.tif 000015
【図１５】
0005257907.tif 000016
【図１６】
0005257907.tif 000017
【図１７】
0005257907.tif 000018
【図１８】
0005257907.tif 000019
【図１９】
0005257907.tif 000020
【図２０】
0005257907.tif 000021
【図２１】
0005257907.tif 000022
【図２２】
0005257907.tif 000023
【図２３】
0005257907.tif 000024
【図２４】
0005257907.tif 000025
【図２５】
0005257907.tif 000026
【図２６】
0005257907.tif 000027