以下、図面を参照しながら本発明の実施形態について説明を行う。
図1は本発明の実施形態における情報処理システムのシステム構成の一例を示す図である。情報処理システムは、情報処理装置100と管理サーバ200とを含む。情報処理装置100と管理サーバ200はネットワーク999を介して通信可能に接続されている。
情報処理装置100は、三次元モデル(アセンブリ)を指定してメモリ上に読み込み、表示画面上に三次元モデルの表示をさせることで操作者に三次元モデルの作成や編集を可能とする三次元CADアプリケーション(以下、三次元CAD APP)と、アドインツールとがインストールされているものとする。操作者は、三次元CADアプリケーションの機能と、アドインツールの機能とを駆使して三次元モデルの作成、編集を行う。
管理サーバ200(外部記憶手段に相当する)は、情報処理装置100を用いて三次元モデルの作成、編集を行うために操作者が用いるCADデータ(アセンブリファイル、部品データ)を管理するサーバ装置である。管理サーバ200に記憶されているCADデータには、共有部品として管理すべきCADデータ(規格部品に限定されない)が含まれている。操作者はこの規格部品としてのCADデータをアセンブリに追加可能であり、このCADデータを用いて三次元モデルの作成、編集を行うことにより、効率的な設計作業を行うことができる。管理サーバ200は、本発明においてはCADデータを管理できればよく、CADデータを管理するための記憶手段を備えていればサーバ装置に限定されない。
以上で本発明の実施形態におけるシステム構成の説明を終了する。なお、本システム構成は一例であって用途や目的に応じて様々な構成がある。
次に情報処理装置100、管理サーバ200のハードウェア構成について図2を用いて説明する。
情報処理装置100と管理サーバ200は、CPU201、RAM202、ROM203、システムバス204、入力コントローラ205、ビデオコントローラ206、メモリコントローラ207、通信I/Fコントローラ208、入力デバイス209、ディスプレイ210、外部メモリ211(記憶手段に相当する)等を備える。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。
ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムや、各種装置の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
入力コントローラ205は、キーボードやマウス等のポインティングデバイス(入力デバイス209)からの入力を制御する。
ビデオコントローラ206はディスプレイ210等の表示装置の表示を制御する。ディスプレイ210(表示部)は例えばCRTや液晶ディスプレイである。
メモリコントローラ207は、ブートプログラム、ブラウザソフトウェア、各種のアプリケーション、フォントデータ、ユーザファイル、各種データ等を記憶するハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
尚、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の情報処理装置100及び管理サーバ200が後述する各種処理を実行するために用いられる各種プログラム等はそれぞれ外部メモリ211に記憶されており、必要に応じてRAM202にロードされることにより、CPU201によって実行されるものである。さらに、本発明に係るプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
以上で、本発明の実施形態における情報処理装置100と管理サーバ200のハードウェア構成の説明を終了する。なお、図2に示すハードウェア構成は一例であって、目的や用途によって様々な構成例がある。
次に図3を用いて情報処理装置100、管理サーバ200の機能構成を説明する。
情報処理装置100の機能構成は、情報処理装置100にインストールされている三次元CAD APPとアドインツールのそれぞれの機能について分けて説明をする。
情報処理システムの三次元CAD APPは機能部として、記憶部101、CADデータ取得部102、コンポーネントファイル設定部103を備える。
記憶部101は三次元CAD APP上にドロップ動作を受け付けたCADデータの情報(フォルダパス、ファイル名)を記憶する機能部である。CADデータ取得部102は、CADデータを管理サーバ200や情報処理装置100の外部メモリ211から取得する機能部である。コンポーネントファイル設定部103は、CADデータを参照するコンポーネントファイルを生成し、アセンブリファイルに対応付けて設定する機能部である。表示制御手段104は操作者から表示指示を受け付けた三次元モデルをディスプレイ210に表示させるよう制御する機能部である。
情報処理装置100のアドインツールは機能部として、記憶部151、CADデータ取得部152、CADデータ複製部153、リンク先設定部154、特定部155、判定部156を備える。
記憶部151は、三次元CADアプリから送信されるイベント情報を記憶する機能部である。CADデータ取得部152はイベント情報に含まれるフォルダパスにあるCADデータを取得する機能部である。CADデータ複製部153はCADデータの取得元のフォルダとは異なるフォルダに複製する機能部である。リンク先設定部154は三次元CAD APPに対して参照先のフォルダパスの情報を送る機能部である。送信することにより、コンポーネントファイル設定部103で設定されるコンポーネントファイルの参照先のCADデータを、送信したフォルダパスのフォルダに格納されるCADデータに設定させる。特定部155は、アセンブリファイルに挿入するCADデータが参照する部品データを特定する機能部である。判定部156は、CADデータ複製部153で複製するCADデータの複製先のフォルダに既に当該CADデータが格納されているか否かを判定する機能部である。
管理サーバ200はCADデータ管理部251を備える。
CADデータ管理部251は、規格部品としてのCADデータを含むCADデータを管理する機能部である。
以上で、本発明の実施形態における機能構成の説明を終了する。
次に図4を用いて本発明の実施形態における詳細な処理を説明する。
ステップS401では、情報処理装置100のCPU201が、三次元CAD APPの起動指示を受け付けたか否かを判定する。例えば、三次元CAD APPのアイコンの選択を受け付けたか否かによって判定する。三次元CAD APPの起動指示を受け付けたと判定した場合は処理をステップS402に進め、そうでない場合は、起動指示を受け付けるまで待機する。
ステップS402では、情報処理装置100のCPU201が、三次元CAD APPを起動させる。三次元CAD APPが起動されると、三次元CAD APPのメイン画面が立ち上がる。
ステップS403では、情報処理装置100のCPU201が、三次元CAD APPに既にインストールされているアドインツールを起動する。アドインツールが起動されると、アドインツールの機能を利用するべくアドインツールが三次元CAD APPに対し、所定の指示を行う。例えば、三次元CAD APP上で特定のイベントが発生すると、イベントに関連する情報をアドインツールに対して送信するように指示をする。このように指示をしておくことで、三次元CAD APPとアドインツールとが協働して操作者に対して設計に際して有用な機能を提供することができる。
ステップS404では、情報処理装置100のCPU201が、ステップS402で起動した三次元CAD APPにおいてアセンブリファイルの表示指示を受け付けたか否かを判定する。例えば、操作者からアセンブリファイルの表示指示を受け付けたか否かによって判定する。アセンブリファイルの表示指示を受け付けたと判定した場合に処理をステップS405に進め、そうでない場合は待機する。
表示指示を受け付けたアセンブリファイルについて説明する。アセンブリファイルとは、一つまたは複数の部品データおよび/またはサブアセンブリファイルを参照する情報を持つファイルである。これらの部品データを組み付けする際の、部品データの情報、組み付け条件、位置情報などを更に持つ。アセンブリファイルは階層構造を持ち、アセンブリファイルがさらにアセンブリファイル(サブアセンブリ)を参照することがある。
表示指示を受け付けたアセンブリファイルは例えば図10のアセンブリ構成情報1000に示す情報を格納している。フォルダパス1001は、アセンブリファイルまたは部品データの格納されているフォルダパスを記憶する。ファイル名1002は参照するアセンブリファイル(サブアセンブリファイル)または部品データのファイル名を記憶する。構成パス1003はアセンブリファイルの階層構造上、最も上位のアセンブリファイルからの参照関係を示す情報を格納している。例えば構成パス1003がTopAssyであれば最も上位のアセンブリであるトップアセンブリを示している。種類1004は、CADデータがアセンブリファイルなのか部品データなのかを示す情報を記憶している。アセンブリ構成情報1000は一例であって、参照する部品データの位置情報に関する情報は省略する。
図9に示す図は、図10に示すアセンブリ構成情報1000が示すアセンブリのイメージ図である。トップアセンブリ.ASMは、部品1.PRT、部品2.PRT、部品3.PRTを参照するコンポーネントファイルを備えており、これらの部品データを参照先から読み込むことにより三次元モデル901として表示することができる。
コンポーネントファイルとは、CADデータ(部品データまたはアセンブリファイル)を参照する情報を持つファイルである。コンポーネントファイルは参照先のCADデータのファイル名で管理されている。コンポーネントファイルに参照する情報を持たせることで、アセンブリ上で同一の部品データを複数使用したとしても参照先の部品データを編集するだけで、見かけ上アセンブリに使用されている複数の部品を一括で編集することを可能にする。
ステップS405では、情報処理装置100のCPU201が、ステップS404で表示指示を受け付けたアセンブリファイルをRAM202上に読み込む。ステップS404で指示を受け付けたアセンブリファイルがトップアセンブリ.ASMであれば、参照する情報をもとに参照先の部品1.PRT、部品2.PRT、部品3.PRTを特定して読み込む。
ステップS406では、情報処理装置100のCPU201が、ステップS405で読み込んだアセンブリファイルを三次元CAD APPの表示画面上のアセンブリファイル表示領域702に表示する。
表示画面は例えば図7に示すアセンブリファイル表示画面700である。アセンブリファイル表示画面700にはアドインツールのメニュー701と表示しているアセンブリファイルの構成情報を示す領域704と、アセンブリファイルを三次元モデルとして表示するアセンブリファイル表示領域702とが設けられている。なお、図7に示すアセンブリファイル表示画面700は一例であってこれに限定されない。
ステップS407では、情報処理装置100のCPU201が、ファイル表示画面1501の表示指示を受け付けたか否かを判定する。図15に示す通りファイル表示画面1501とは、OS(Operating System)が提供する、操作者に指定されたフォルダ内のファイルを閲覧可能な画面である。ファイル表示画面の表示指示は、例えば操作者からファイル703を選択がされ該当するメニューを選択されたか否かによって判定する。ファイル表示画面1501の表示指示を受け付けたと判定した場合は処理をステップS414に進め、そうでない場合は処理をステップS408に進める。
ステップS414では、情報処理装置100のCPU201が、ステップS404で表示指示を受け付けたアセンブリファイルに対してCADデータを挿入する処理である、ファイル表示画面ドラッグ&ドロップ処理を行う。この場合は、後述するアドインツールが提供するCADデータライブラリ1100が起動(表示)された状態で行われるCADデータの複製処理は行われず、管理サーバ200上のCADデータを参照するような挿入処理を行う。詳細は図18を用いて説明する。
図18はファイル表示画面ドラッグ&ドロップ処理の後述するアドインツールが提供するCADデータライブラリ1100が起動(表示)された状態で行われるCADデータの挿入処理の詳細な処理を説明するフローチャートである。ステップS1801、1805はOSのモジュールを実行することによって動作する処理である。ステップS1806乃至1810、ステップS1814乃至1817は、三次元CAD APPの各モジュールが処理主体となって動作する処理であり、ステップS1811乃至1813はアドインツールの各モジュールが動作主体となって動作する処理である。
ステップS1801では、情報処理装置100のCPU201が、操作者から指定されたフォルダ内に存在するファイルの情報の取得要求を管理サーバ200に対して送信する。具体的にはフォルダを示すフォルダパスを送信する。
ステップS1802では、管理サーバ200のCPU201が、ステップS1801で送信されたフォルダ内に存在するファイルの情報の取得要求(フォルダパス)を受信する。
ステップS1803では、管理サーバ200のCPU201が、ステップS1802で受信したフォルダパスに格納されているファイルの情報を取得する。ファイルの情報とは例えばファイル名などである。
ステップS1804では、管理サーバ200のCPU201が、ステップS1803で取得したファイルの情報を情報処理装置100に対して送信する。
ステップS1805では、情報処理装置100のCPU201が、ステップS1804で送信されたファイルの情報に基づいてファイル表示画面1501をディスプレイ210に表示する。
ステップS1806では、情報処理装置100のCPU201が、ステップS1805で表示されたファイル表示画面1501からCADデータのアイコンのドロップを三次元CAD APP上に受け付けたか否かを判定する。三次元CAD APP上にドロップを受け付けたと判定した場合に処理をステップS1807に進め、そうでない場合は処理をステップS1801に戻す。
ステップS1807では、情報処理装置100のCPU201が、ドロップされたCADデータを特定する。
ステップS1808では、情報処理装置100のCPU201が、ステップS1807で特定したCADデータの格納されているフォルダ(管理サーバ200上のフォルダ)のフォルダパスを取得し、メモリ上に一時的に記憶する。
ステップS1809では、情報処理装置100のCPU201が、アドインツールから事前に指示をされていた通りに、ドロップ動作を受け付けた場合のイベント情報を生成する。イベント情報とは、例えば図17に示すイベント情報1700である。イベント情報1700は、ドロップイベントであることを示す情報と、ドロップされたファイル名、ドロップされたファイルのフォルダパスを含むものである。
ステップS1810では、情報処理装置100のCPU201が、ステップS1809で生成したイベント情報をアドインツールに対して送信する。
ステップS1811では、情報処理装置100のCPU201が、三次元CAD APPから送信されたイベント情報をアドインツール側で受信する。受信したイベント情報はメモリ上に一時的に保存する。
ステップS1812では、情報処理装置100のCPU201が、ステップS1811で受信したイベント情報に含まれる、フォルダパスとファイル名(CADデータ名)を取得する。
ステップS1813では、情報処理装置100のCPU201が、ステップS1812で取得したフォルダパスを三次元CAD APPに対して送信する。
ステップS1814では、情報処理装置100のCPU201が、ステップS1813で送信されたフォルダパスを受信する。
ステップS1815では、情報処理装置100のCPU201が、ステップS1814で受信したフォルダパスに格納されているCADデータを参照するコンポーネントファイルを生成する。
ステップS1816では、情報処理装置100のCPU201が、アセンブリファイルを更新する。
ステップS1817では、情報処理装置100のCPU201が、ステップS1816で更新されたアセンブリファイルを表示する。更新されたアセンブリファイルが示すアセンブリが表示されるイメージが図15に示す更新後画面1503である。更新後の画面内には、挿入された部品1502が表示される。更に、トップアセンブリのコンポーネントファイルとして「Bolt」が追加されている。
つまり、後述するアドインツールが提供するCADデータライブラリ1100が起動(表示)された状態ではない場合に、CADデータが挿入された場合には、管理サーバ200上のCADデータを直接参照するように設定される。そのため、表示された部品1502を編集すると、管理サーバ200上のCADデータそのものが上書きされてしまう。すなわち他の操作者が同じCADデータを参照していた場合に、上書きされた内容が他の操作者のアセンブリに反映されてしまうことになる。
以上で図18に示すフローチャートの説明を終了し図4の説明に戻る。
ステップS408では、情報処理装置100のCPU201が、CADデータライブラリの表示指示を受け付けたか否かを判定する。具体的には、図8に示す部品ライブラリ挿入メニューの、アドインツールのメニュー701の部品ライブラリの挿入ボタン706の選択を操作者から受け付けたか否かを判定する。CADデータライブラリの表示指示を受け付けたと判定した場合には処理をステップS409に進め、そうでない場合は、ステップS407に処理を戻す。
ステップS409では、情報処理装置100のCPU201が、操作者に指定されたフォルダの(管理サーバ200上の)フォルダパスに格納されているCADデータの情報の取得要求を管理サーバ200に送信する。CADデータの情報とは例えばファイル名である。具体的には、管理サーバ200に対してユーザから指定されたフォルダパスを送信する。
ステップS410では、管理サーバ200のCPU201が、ステップS49で送信されたフォルダパスが示すフォルダに含まれるCADデータの情報の取得要求を受信する。
ステップS411では、管理サーバ200のCPU201が、ステップS410で受信したフォルダパスに含まれるファイルのファイル情報を取得する。
ステップS412では、管理サーバ200のCPU201が、ステップS411で取得したファイル情報を情報処理装置100に対して送信する。
ステップS413では、情報処理装置100のCPU201が、ステップS412で送信されたファイル情報に基づいて、CADデータライブラリを表示する。CADデータライブラリは、例えば図11に示すCADデータライブラリ1100である。CADデータライブラリ1100には、ファイル一覧表示領域1101がある。ファイル一覧領域に操作者から指定されたフォルダ内のファイルを一覧で表示させる。
以上で図4のフローチャートの説明を終了し、引き続き図5のフローチャートの説明を行う。図5のステップS501乃至ステップS508は特に記載がない限り三次元CAD APPのモジュールが動作することにより実行される。
ステップS501では、情報処理装置100のCPU201が、三次元CAD APP上にCADデータのアイコンがドロップされたか否かを判定する。三次元CAD APP上にCADデータのアイコンがドロップされたと判定された場合は処理をステップS502に進め、そうでない場合はCADデータがドロップされるまで待機する。
ステップS502では、情報処理装置100のCPU201が、ステップS501でアイコンがドロップされたCADデータ(ファイル名)を特定する。
なお、選択の仕方はアイコンに限らずCADデータを示す情報であればよい。
ステップS503では、情報処理装置100のCPU201が、ステップS502で特定したCADデータの格納されている(管理サーバ上の)フォルダのフォルダパスを取得し、メモリ上に記憶する。
ステップS504では、情報処理装置100のCPU201が、イベント情報を生成する。イベント情報は前述したとおり図17に示すイベント情報1700である。
ステップS505では、情報処理装置100のCPU201が、ステップS503でメモリ上に記憶した管理サーバ200上のフォルダとは異なる情報処理装置100上のフォルダにCADデータを複製する処理を行う。規格部品複製処理の詳細な処理の流れは、図6を用いて詳細に説明する。
なお、複製先は情報処理装置100でなくともよく、管理サーバ200上や、他のサーバ装置の記憶手段211のフォルダとしてもよい。
図6は規格部品複製処理の詳細な処理の流れを説明するフローチャートである。ステップS601、618が三次元CAD APPの各モジュールが処理を実行する。ステップS602乃至617は、アドインツールの各モジュールが処理を実行する。
ステップS601では、情報処理装置100のCPU201が、アドインツールに対してステップS504で生成したイベント情報1700を送信する。
ステップS602では、情報処理装置100のCPU201が、ステップS601で送信されたイベント情報1700を受信する。
ステップS603では、情報処理装置100のCPU201が、ステップS602で受信したイベント情報1700から、CADデータのファイル名であるCADデータ名とCADデータの格納されているフォルダのフォルダパスを取得する。
ステップS604では、情報処理装置100のCPU201が、ステップS603で取得したフォルダパスが、規格部品のフォルダパスか否かを判定する。より具体的には、情報処理装置100の外部メモリ211に記憶される(図16)規格部品フォルダ1601に記載されるフォルダパスか否かによって判定する。ステップS603で取得したフォルダパスが、規格部品のフォルダパスであると判定された場合には処理をステップS605に進め、そうでない場合は処理をステップS617に進める。
ステップS604で規格部品のフォルダパスではないと判定された場合、ステップS617で、情報処理装置100のCPU201が、管理サーバ200上の部品データのフォルダパスを三次元CAD APPに対して送信して処理を終了する。
挿入指示がされたCADデータが規格部品の場合、操作者により編集されては不都合が生じてしまう。そのため、挿入指示がされたCADデータが規格部品である場合には、直接管理サーバ200のCADデータを参照するコンポーネントファイルを生成するのではなく、情報処理装置100のローカルにCADデータを複製する。そしてCADデータの複製先のフォルダのフォルダパスを参照するコンポーネントファイルを作成する。これにより、仮に操作者が挿入されたCADデータを編集したとしても、当該管理サーバ上にあるCADデータを参照している他のコンポーネントファイル(部品データ)に影響を与えない効果がある。なお、複製先は規格部品が格納されている場所以外であれば、情報処理装置100ではなく管理サーバ200内の場所であってもよい。
また、規格部品か否かの判断を、部品データが保存されているフォルダパスで判断しているが、それ以外でもよく、部品データ毎に規格部品か否かを示す情報を持たせ、その情報に基づいて部品データが規格部品か否かを判断してもよい。
これにより挿入しようとするCADデータが、規格部品でない場合に管理サーバ200上の部品データを直接参照することができる。CADデータが規格部品か否かを判断する手法はこれに限定されない。
ステップS605では、情報処理装置100のCPU201が、ステップS603で取得したフォルダパスに格納されているCADデータを取得する。(取得手段に相当する)
ステップS606では、情報処理装置100のCPU201が、ステップS605で取得したCADデータがアセンブリファイルか部品データかを判定する。アセンブリファイルか部品データかの判断方法は、CADデータの拡張子で判断する。拡張子が「ASM」であればアセンブリファイル、「PRT」であれば部品データとして判断する。CADデータがアセンブリファイルと判定された場合には処理をステップS611に進め、部品データと判定された場合には処理をステップS607に進める。
ステップS607では、情報処理装置100のCPU201が、部品データの複製先のフォルダ(記憶手段の場所の一例である)を特定する。本実施形態では、ステップS404で表示指示を受け付けたアセンブリファイルの直下のフォルダを特定するものとしてあらかじめ記憶しており、そのルール(複製先情報)に従って複製先のフォルダを特定する。
ステップS608では、情報処理装置100のCPU201が、ステップS607で特定したフォルダに、ステップS605で取得した部品データが既に格納されているか否かを判定する(判定手段の一例)。ステップS605で取得した部品データが既に格納されていると判定した場合には処理をステップS1901に処理を進め、そうでない場合は処理をステップS609に進める。
図6のフローチャートの説明を中断し、図19のフローチャートの説明を行う。図19の処理はいずれもアドインツールの各モジュールが実行する処理である。
ステップS1901では、情報処理装置100のCPU201が、図20に示すファイルの上書き確認画面2000を表示する(表示制御手段に相当する)。図20のファイルの上書き確認画面2000には、既存ファイルを使用ボタン2001、上書き保存ボタン2002、別名で保存ボタン2003が設けられている。この上書き確認画面2000を表示することにより、既に部品データが対象のフォルダに格納されていることを識別可能に表示することが可能になる。
操作者がCADデータライブラリ1100からドラッグ&ドロップを行ったときに、既に操作者に編集された部品データと同じものをアセンブリファイルに追加したい場合もあれば(既存ファイルを使用)、既に編集された部品データの元データである規格部品を追加したい場合もあれば(別名で保存)、既に編集された部品データを管理サーバ200の部品データ(規格部品)に上書きをしたい場合もある。このように単なる部品データの挿入指示(追加指示)であっても様々なケースがあるため、ユーザに対して通知を行う画面が、上書き確認画面2000である。上書き確認画面2000の選択ボタンは一例であってこれに限定されるものではない。
また、上書き確認画面2000を必ずしも表示する必要はなく、選択ボタンの機能のうち、あらかじめ操作者の設定を受け付けておくことにより、所定の機能を動作させるようにしても構わない。例えば複製しようとする場所に既に同じCADデータが記憶されている場合には、その場所にCADデータを複製することなく、既に記憶されている場所をリンクするコンポーネントファイルを生成してもよい。
これにより、部品データを挿入する都度、部品データが複製されることを防止することができる。さらに、既に使用されている部品データを編集することで、一括で部品データを編集することを可能にする効果がある。
ステップS1902では、情報処理装置100のCPU201が、上書き確認画面2000のいずれのボタンを押下されたかを判断する。既存ファイルを使用ボタン2001が押下されたと判断した場合には処理をステップS1903に進め、上書き保存ボタン2002が押下されたと判断した場合には処理をステップS1904に進め、別名で保存ボタン2003が押下されたと判断した場合には処理をステップS1906に進める。
ステップS1903では、情報処理装置100のCPU201が、ステップS607またはステップS611で特定したフォルダのフォルダパスを三次元CAD APPに対して送信する。このようにすることでCADデータを複製することなく既にフォルダ内に記憶されているCADデータを参照するコンポーネントファイルを三次元CAD APPが作成することができる。
ステップS1904では、情報処理装置100のCPU201が、ステップS605またはステップS613で取得した部品データのファイル名をファイル名_N(Nは任意の数)としてフォルダに部品データを複製する。
ステップS1905では、情報処理装置100のCPU201が、ステップS1904で部品データを複製したフォルダのフォルダパスを三次元CAD APPに対して送信する。
ステップS1906では、情報処理装置100のCPU201が、既に部品データが格納されているフォルダにステップS605またはステップS613で取得した部品データを複製(上書き保存)する。
ステップS1907では、情報処理装置100のCPU201が、ステップS1906で複製したフォルダパスを三次元CAD APPに対して送信する。
以上で図19に示すフローチャートの説明を終了する。図6のフローチャートの説明に戻る。
ステップS609では、情報処理装置100のCPU201が、ステップS605で取得した部品データ(CADデータ)をステップS607で特定したフォルダに複製する。(複製手段の一例)
ステップS610では、情報処理装置100のCPU201が、ステップS609で複製した部品データのフォルダパス(例えば、「・・・¥test¥Assy1.Bolt.PRT」)を三次元CAD APPに送信して処理を終了する。
以上の処理を経た結果、部品データが挿入されたアセンブリファイルの構成情報は図13に示すアセンブリ構成情報1300となる。
アセンブリ構成情報1300は図10のアセンブリ構成情報1000に部品データのBolt.PRT(ファイル名:Bolt)の部品データがアセンブリファイル内に追加されたものである。Bolt.PRTのフォルダパス1301は、管理サーバ200の「D:¥部品ライブラリ」ではなく、情報処理装置100のローカル上のフォルダパスとなっている。
図12には、アセンブリファイルに対して部品データを挿入する際のイメージ図であるドラッグ&ドロップイメージ1200を示している。アセンブリファイル表示領域702にCADデータライブラリの画面からCADデータをドラッグ&ドロップをすると、対象の部品データが管理サーバ200から情報処理装置100の外部メモリ211に複製される。部品データの複製されたフォルダのフォルダパスを参照する情報を持つコンポーネントファイルを三次元CAD APPが作成することによって、部品データの三次元モデル1201をアセンブリファイル表示領域702に表示することを可能とする。
ステップS611では、情報処理装置100のCPU201が、部品データの複製先のフォルダを特定する(特定手段に相当する)。本実施形態では、ステップS404で表示指示を受け付けたアセンブリファイルの直下のフォルダを特定する。
ステップS612では、情報処理装置100のCPU201が、ステップS605で取得したアセンブリファイル(CADデータ)の参照する部品データを特定する。具体的なアセンブリファイルの参照する部品データの特定方法を説明する。図21に示すアセンブリファイル階層情報2100はステップS605で取得したアセンブリファイルの持つ階層情報である。アセンブリファイル階層情報2100にはフォルダパス2101、ファイル名2102、構成パス2103、種類2104が対応付けて記憶されている。フォルダパス2101はアセンブリファイルまたは部品データの格納されているフォルダパスが記憶されている。ファイル名はアセンブリファイルまたは部品データのファイル名が記憶されている。構成パスはアセンブリファイルから参照する階層を示す情報である。種類2104はアセンブリファイルなのか部品データなのかを示す情報が記憶されている。ステップS612では、種類2104が部品となる部品データをすべて特定する。
ステップS613からステップS615は、ステップS612で特定したすべての部品データ(図21であれば、Boltとwasher)に対して処理が終わるまでループする。
ステップS613では、情報処理装置100のCPU201が、アセンブリファイルの参照する部品データを管理サーバ200から取得する。
ステップS614では、情報処理装置100のCPU201が、ステップS611で特定したフォルダにステップS613で取得した部品データが既に格納されているか否かを判定する。ステップS611で特定したフォルダにステップS613で取得した部品データが既に格納されていると判定した場合には処理をステップS615に進め、そうでない場合には処理をステップS1901に進める。
ステップS615では、情報処理装置100のCPU201が、ステップS613で取得した部品データをステップS611で特定したフォルダに対して複製する。ステップS612で特定したすべての部品データをステップS613から615の処理を終えた場合に処理をステップS616に進める。
ステップS616では、情報処理装置100のCPU201が、ステップS611で特定したフォルダのフォルダパスを三次元CAD APPに対して送信する。
以上の処理を経た結果、アセンブリファイルが挿入されたアセンブリファイルの構成情報は図14に示すアセンブリ構成情報1400となる。
アセンブリ構成情報1400は図10のアセンブリ構成情報1000にアセンブリファイルのBolt&washer.ASM(ファイル名:Bolt&washer)のアセンブリファイルが追加されたものである。Bolt&washer.ASMのフォルダパス1401は、管理サーバ200の「D:¥部品ライブラリ」ではなく、情報処理装置100のローカル上のフォルダパスとなっている。更にステップS605で取得したアセンブリファイル(図21)が参照する部品データ(Bolt、washer)がすべて図10のアセンブリ構成情報1000に追加されている。そしていずれの部品データも管理サーバ200の「D:¥部品ライブラリ」ではなく、情報処理装置100のローカル上のフォルダパスとなっている。
ステップS618では、情報処理装置100のCPU201が、アドインツールから送信されたフォルダを示すフォルダパスを受信する。
以上で図6に示すフローチャートの説明を終了する。図5のフローチャートの説明に戻る。
ステップS506では、情報処理装置100のCPU201が、ステップS618で受信したフォルダパス(例えば、「・・・¥test¥Assy1.Bolt.PRT」)を参照するコンポーネントファイルを作成する。(管理手段に相当する)
ステップS507では、情報処理装置100のCPU201が、ステップS404で表示指示を受け付けたアセンブリファイルの更新を行う。
ステップS508では、情報処理装置100のCPU201が、更新されたアセンブリファイルを読み込み、アセンブリを三次元モデルとして表示する。
本発明によれば、アセンブリにCADデータが追加される際に、CADデータを複製させ、当該複製した場所をアセンブリファイル内にコンポーネントファイルとして記憶している。これによりCADデータの複製作業と、複製したCADデータをCADアプリケーションに関連付ける作業とを、操作者が別々に行うという煩雑な処理を行わなくて済む。すなわち、複製手段で複製された記憶手段内の記憶先をCADデータのリンク先として管理することで、CADデータをアセンブリへ追加させる処理を、簡便な操作で実現することが可能な仕組みを提供することを可能とする。
本実施形態では、CADデータの挿入方法としてドラッグ&ドロップを一つの方法で記載したが、アセンブリにCADデータを挿入することができればこれに限定されず他の実施方法でも構わない。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。