以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1は、本発明の3次元CADシステム100のシステム構成の一例を示す図である。本発明の3次元CADシステム100は、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、オペレーティングシステム上で3次元CADアプリケーションとファイル名変更プログラムを実行する装置である。3次元CADアプリケーションとファイル名変更プログラムは後述する図2のROM202または外部メモリ211に記憶されており、ユーザからの指示に応じて、CPU201がRAM203に読み出して各種動作を行う。すなわち、設計物の立体形状を示す3次元モデルを表示するアプリケーションとオペレーティングシステムを有する情報処理装置の一例を示す。
オペレーティングシステムは、情報処理装置101を動作させるための基本的なアプリケーションである。オペレーティングシステム上で3次元CADアプリケーションやファイル名変更プログラム、その他各種プログラムを動作させることができる。
3次元CADアプリケーションは、ユーザからの操作に応じて、設計物の立体形状を示す3次元モデルの作成や構築、また3次元モデルに基づく2次元図面の作成を行う。
ファイル名変更プログラムは、3次元モデルに表示された3次元モデルの子部品である構成部品の構成部品情報を3次元CADアプリケーションから取得する。この取得には、ファイル名変更プログラムが3次元CADアプリケーションのAPIを実行して取得する。このAPIに基づき、3次元CADアプリケーションは、現在開いている3次元モデルのアセンブリファイル(親部品)から自身が参照している子部品のパスを取得し、要求のあったファイル名変更プログラムに情報を返す。より詳細には、3次元CADアプリケーションは子部品のオブジェクト名の配列をファイル名変更プログラムに返し、そのオブジェクト名に基づき、子部品の格納先である参照先のパスを取得するためのGET_APIをファイル名変更プログラムが実行する。3次元CADアプリケーションは、要求のあったオブジェクト名に対応する参照先のパスをファイル名変更プログラムに返すことで、後述する図10の画面に値を入力して構成部品情報の一覧情報を表示する。
そして、ファイル名変更プログラムは、図10の画面でファイル名(ファイル識別情報)を変更すると、3次元CADアプリケーションに対して入力された新ファイル名の変更要求(API)を3次元CADアプリケーションに行う。なお、ファイル名の変更は、参照先のパスからファイル名変更プログラムがファイルを特定して、ファイル名変更を独自に行ってもよい。
また、ファイル名を変更するとともに、親部品(開いているアセンブリファイル)の構成部品情報を書き換えるために、ファイル名変更プログラムは、変更する部品に対応するオブジェクト名を指定して、アセンブリファイルの構成部品情報のファイル名を新ファイル名で更新する要求(API)を3次元CADアプリケーションに行う。この時、アセンブリファイルの構成部品情報が書き換わるようにすべく、現在表示している3次元モデルを閉じるようにファイル名変更プログラムから3次元CADアプリケーションに指示をだす。3次元モデルが閉じられたら、書き換えのAPIを実行する。
このように、ファイル名変更プログラムは、3次元CADアプリケーションに備えられた各種APIを用いて指示を出力することが可能なプログラムである。ファイル名変更プログラムは、3次元CADアプリケーションのアドオン(アドイン)であることが望ましいが、3次元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の3次元CADアプリケーション300は、3次元モデル表示部301を備える。3次元モデル表示部301は、ユーザに指定されたアセンブリファイル(第2のファイル)を実行して、アセンブリファイルに記憶されている参照先に従って、部品ファイル(第1のファイル)を取得して、設計物を構成して表示する機能部である。
すなわち、情報処理装置101は、第1のファイルと、当該第1のファイルの格納先とファイル名を含む参照情報(参照ファイル情報)を有する第2のファイルを管理する情報処理装置の一例を示すものである。
情報処理装置101のファイル名変更プログラム310は、3次元CADアプリケーション300にアドオンするプログラムであり、第1のファイル情報取得部311、一覧表示部312、入力受付部313、重複判定部314、識別表示部315、第2のファイル情報取得部316、変更規則取得部317、ファイル名生成部318、変更要求実行部319、出力部320を備える。
第1のファイル情報取得部311は、ユーザの操作により指定された第2のファイルが参照する第1のファイルのファイル名(ファイル識別情報)を取得する機能部である。また、第2のファイルが参照する第1のファイルの参照先を取得する機能部である。
一覧表示部312は、取得したファイル名(ファイル識別情報)を一覧表示する機能部である。また、参照先(格納先)とファイル名(ファイル識別情報)を一覧表示する機能部である。また、一覧表示部312は、入力受付部313で新たなファイル名(ファイル識別情報)を受け付ける入力エリアを有し、ユーザの操作に応じて、入力エリアにフォーカスが当たるごとに、第1のファイルのファイル名(ファイル識別情報)と任意の文字列を用いた新たなファイル名(ファイル識別情報)を表示する機能部である。なお、新たなファイル名(ファイル識別情報)は、入力エリアにフォーカスが当たるごとに、フォーカスが当たった入力エリアに対応する第1のファイルのファイル名(ファイル識別情報)と任意の文字列を用いて生成する。
入力受付部313は、表示されたファイル名(ファイル識別情報)を変更すべく、ファイル名(ファイル識別情報)の入力を受ける機能部である。
重複判定部314は、ファイル情報取得部により取得したファイル名と、入力受付部で受け付けたファイル名が重複するか否かを判定する機能部である。また、第2のファイル情報取得部316により取得したファイル名と入力受付部313で受け付けたファイル名が重複するか否かを判定する機能部である。また、入力受付部313で受け付けたファイル名の第1のファイルと異なる階層にある第1のファイルのファイル名と重複するか否かを判定する機能部である。
識別表示部315は、重複があると判定された場合に、重複がある旨の識別表示をする機能部である。また、入力受付部313で受け付けたファイル名の第1のファイルと異なる階層にある第1のファイルのファイル名と重複すると判定された場合に、他の階層にある第1のファイルのファイル名を識別表示する機能部ある。
第2のファイル情報取得部316は、所定の範囲内の階層にある第1のファイル及び/又は第2のファイルのファイル名を取得する機能部である。
変更規則取得部317は、ファイルを管理する管理装置(サーバ)に第2のファイルを保存する場合に、ファイル名を変更する情報を含む変更規則を取得する機能部である。
ファイル名生成部318は、表示されたファイル名を変更すべく、変更規則取得部317により取得した変更規則の情報に従って、ファイル名を生成する機能部である。
変更要求実行部319は、ファイル名生成部318で生成されたファイル名を用いて、第1のファイル名と、第2のファイルの参照情報との変更要求処理を実行する機能部である。
出力部320は、変更された第1のファイルと第2のファイルを管理装置に出力する機能部である。
サーバ102のファイル管理アプリケーション340は、CADデータ記憶部341を備える。CADデータ記憶部341は、サーバ102に3次元モデルを記憶管理させる場合にはサーバ102のファイル管理アプリケーション340を利用する。
図9を用いて、本実施形態における情報処理装置101で管理する3次元モデルのフォルダ構成の例を示す。
図9は、「C:¥SSS2013Training Files¥SSS Essentials」フォルダ内に「UniversalJoint.SLDASM」というアセンブリファイルがある例である。また、「UniversalJoint.SLDASM」は、「C:¥SSS2013Training Files¥SSS Essentials¥Lesson12」と「C:¥SSS2013Training Files¥SSS Essentials¥Lesson13」内の部品ファイルを参照する構成となっている。
「UniversalJoint.SLDASM」は部品の参照関係が記憶されており、それぞれの部品が格納されている格納先の参照パスを有している。
このアセンブリファイルを指定することで、3次元CADアプリケーション300がアセンブリファイルが参照するファイルを取得し、3次元モデルを構成して3次元CADアプリケーション上で表示する。
なお、図9ではアセンブリファイルが1つとなっているが、複数のアセンブリファイルを有することが可能である。アセンブリファイルの子部品としてアセンブリファイルを有することも可能である。アセンブリファイルは、複数の部品を参照して、1つの3次元モデルを構成することが可能なファイルである。
次に、本発明の実施形態における情報処理装置101によって行われる一連の処理について、図4に示すフローチャートを用いて説明する。尚、各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
まず初めに、3次元CADアプリケーションで、ユーザ(操作者)により指定されたファイルを開く。3次元CADアプリケーションで開いたファイルに従って、3次元モデルを3次元CADアプリケーションで表示する。
ステップS101では、ユーザの操作により、3次元CADアプリケーションにアドオンされているファイル名変更プログラムを実行する。
ステップS102では、ファイル名変更プログラムが3次元CADアプリケーションに対して、3次元CADアプリケーション上に表示されている3次元モデルの情報取得要求を行い、表示されている3次元モデル(アセンブリファイル)のフルパスと、3次元モデルを構成する部品の構成部品情報を取得する。取得する構成部品情報は、表示されている3次元モデルのひとつ下の階層までとする。
構成部品情報の取得をより詳細に説明する。3次元CADアプリケーションが指定したファイル(たとえばアセンブリファイルである親部品)の子部品のオブジェクトの配列(構成部品情報の配列)をファイル名変更プログラムに返し、そのオブジェクト名に基づき、子部品の参照パスを取得するためのGET_APIをファイル名変更プログラムが実行する。これによりファイル名と参照パスを含む構成部品情報が取得できる。なおファイル名は取得したオブジェクトの配列に含まれているものを利用する。すなわち、ユーザの操作により指定されたアセンブリファイルとしての第2のファイルが参照する第1のファイル(部品)のファイル名を取得(ファイル名取得)する第1のファイル情報取得処理の一例を示すものである。また、第2のファイルが参照する第1のファイルの参照先を取得する処理の一例を示すものである。
取得した、構成部品情報は、図8の3次元CADデータのデータテーブルに記憶させる。図8は、外部メモリ211で記憶するデータの模式図である。なお、図8の3次元CADデータのデータテーブルは、RAM203上に記憶するものであってもよい。
現在開かれているアセンブリファイル名を3次元CADデータ名801に、また取得したアセンブリファイルのフルパスを3次元CADデータファイルパス802に記憶する。また、取得した構成部品情報を基に、参照している部品のファイル名を元参照先データ名803に、参照している部品が格納されているフォルダのパスを参照先データファイルパス805に記憶する。
ステップS103では、表示されている3次元モデルのフルパスを図10のメインダイアログの対象アセンブリ欄1001に表示する。また、ステップS102で取得した構成部品情報に含まれる参照先のフォルダのパスをフォルダ名1002に、また、構成部品情報に含まれるファイル名を現ファイル名1003にリスト表示する。すなわち、取得したファイル名を一覧表示する一覧表示処理の一例を示すものである。また、参照先とファイル名を一覧表示する処理の一例を示すものである。
さらに、図10で、新ファイル名の入力エリアにフォーカスが当たるごとに、第1のファイルのファイル名と任意の文字列を用いた新たなファイル名を表示する。
ステップS104では、現在表示されている3次元モデルの構成部品情報を取得し、ステップS103で取得した構成部品情報を比較する。これは、ファイル名変更プログラムを実行し構成部品情報を取得した後に、その後別の3次元モデルを開いていないかを判定するためである。本実施形態では、3次元CADアプリケーションとファイル名変更プログラムにアドオンされているファイル名変更プログラムで実現されているため、3次元CADアプリケーションで任意に3次元モデルを開くことが可能である。よって、構成部品情報が一致しない場合には、開いている3次元モデルを変更したと判定し、ステップS113へ処理を移す。構成部品情報が一致する場合には、開いている3次元モデルを変更していないと判定し、ステップS106へ処理を移す。
ステップS113では、ステップS104で、現在の3次元CADアプリケーション上に表示されている3次元モデルと、起動時に取得した構成部品情報に差異がある場合、初期化を行なうダイアログを表示し、現在の3次元CADアプリケーション上に表示されている3次元モデルの構成部品情報に置き換えることをユーザに促す。ダイアログでOKが押下された場合には、ステップS105へ処理を移し、キャンセルが押下された場合には、処理を終了する。
ステップS105では表示されている3次元モデルの構成情報を図10のメインダイアログに再表示する。
ステップS106では、ユーザの操作に応じて、新ファイル名の入力を受け付ける。新ファイル名テキストボックス1004へ値が入力されると、その入力された値が画面(図11)に表示される。新ファイル名の詳細な説明は、図5のフローチャートで説明する。入力された新ファイル名は、図8の新参照先データ名804へ記憶する。すなわち、表示されたファイル名を変更すべく、ファイル名の入力を受ける入力受付処理の一例を示すものである。
ステップS107では、実行ボタン1005が押下されたか否かを判定する。実行ボタン1005が押下された場合には、ステップS114へ処理を移す。実行ボタン1005が押下されていない場合には、ステップS108へ処理を移す。
ステップS114では、ステップS109の重複チェック処理が実行済みか否かを判定する。重複チェック処理が実行済みか否かは、重複チェック処理が実行した際に、履歴をRAM203に記憶させる、重複チェック済みフラグをRAM203に記憶させておき判定する。重複チェック済みである場合には、ステップS110へ処理を移す。重複チェック済みでない場合には、ステップS109へ処理を移す。なお、実行ボタン1005が押下された場合に、必ず重複チェックを行うように処理を進める構成であってもよい。
ステップS108では、重複チェックボタン1006が押下されたか否かを判定する。重複チェックボタン1006が押下されたと判定された場合には、ステップS109へ処理を移す。重複チェックボタンが押下されていない場合は、ステップS106へ処理を戻し、ユーザからの入力受付の待機状態となる。なお、閉じるボタンが押下された場合にはファイル名変更プログラムを終了するものとする。
ステップS109では、ステップS106で入力された新ファイル名が、現在開かれているアセンブリが参照している部品と同一ファイル名かどうか、また新ファイル名の保存先フォルダに同一名のファイルの有無をチェックする。重複チェック処理の詳細な説明は、図6で説明する。すなわち、取得したファイル名と、入力受付で受け付けたファイル名が重複するか否かを判定する重複判定処理の一例を示すものである。
ステップS110では、ステップS109で重複チェックをした結果、現在開かれているアセンブリが参照している部品もしくは保存先フォルダに同一ファイル名のものがあるかどうかを判定する。重複している場合、ステップS106に移行する。重複していない場合はステップS111に移行する。ステップS106へ移行するのは、新ファイル名の変更をユーザにさせるためである。
ステップS111では、ステップS110で新ファイル名が重複していない場合に実行される処理で、3次元CADアプリケーション上でアセンブリが開かれているかどうかを判定する。アセンブリが開かれている場合、ステップS116に移行する。開かれていない場合はステップS112に移行する。これは、アセンブリが開かれているとファイル名変更ができないためである。
ステップS115では、開かれているアセンブリを閉じる。この時、旧アセンブリファイルを残しておくため、アセンブリファイルと参照している部品ファイルをコピーして、他のフォルダへ保存する。フォルダは任意に設定されたフォルダとして、対応するフォルダがない場合には、ファイル名変更プログラムがフォルダを作成する。これにより、ファイル名変更した場合であっても、元のファイルを利用することが可能な状態となる。
ステップS112では、図8の3次元CADデータのデータテーブルを元にファイル名の変更処理を行なう。新ファイル名が入力された部品のファイル名を変更し、開かれていたアセンブリの構成部品情報を新ファイル名に書き換える。ファイル名変更処理の詳細については、図7のフローチャートで説明する。APIを用いて第1のファイル名と、第2のファイルの参照情報との変更要求処理を実行する変更要求実行処理の一例を示すものである。
次に、図5に示すフローチャートを用いて、新ファイル名入力処理について説明する。尚、各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
ステップS201では、ユーザの操作に応じて、図10のメインダイアログの、新ファイル名1004の入力エリアにフォーカスが当たったか否かを判定する。フォーカスが当たった場合には、ステップS202へ処理を移す。また、フォーカスが当たらない場合には、入力待ちの状態とする。なお、入力エリアにフォーカスが当たるたびに、ステップS202以降の処理を繰り返し実行するものとする。なお、すでに新ファイル名が入力されている入力エリアにフォーカスが当たった場合には、ステップS202以降の処理を実行せず、入力待ち状態となる。
ステップS202では、図10のメインダイアログの新ファイル名1004の入力エリアにフォーカスが当たった際に、ラジオボタンの選択によって処理が分岐される。プレフィックスのボタンがONの場合はステップS203を行なう。サフィックスのボタンがONの場合はステップS207を行なう。なしボタンがONの場合は、入力待ちの状態に戻る。なしがONの場合には、ユーザがキーボード等を用いて、任意の文字列を入力するものとする。なしがONの入力例が図11の1101の画面であり、マウスクリック等により入力エリアにフォーカスが当たった場合の例を示すものである。
ステップS203では、新ファイル名のベースの文字列とすべく、フォーカスされた行の現在のファイル名を取得する。図12のプレフィックスのボタンがONの場合の画面を参照して説明する。フォーカスされた入力例が1201である。
ステップS204では、テキストボックス1202に入力された文字列を取得する。テキストボックス1202には、ユーザにより任意の文字列が入力されるものとする。この場合、3次元CADアプリケーションが扱えない文字列はエラーとする。文字列が入力されると、ファイル名変更プログラムから3次元CADアプリケーションに要求して、エラーとなるかを判定する。エラーとなった場合には、テキストボックス1202でエラー表示する。エラー判定タイミングは、文字列の入力がすべて行われた場合であってもよい。入力が行われた場合とは、新ファイル名の入力エリアへフォーカスが当たった場合などである。
ステップS205では、ステップS203の文字列の前にステップS204で取得した文字列を結合する。
ステップS206では、ステップS205で作成された文字列を新ファイル名1201の入力エリアに入力する。新ファイル名が入力された例が1203である。「new_」が現ファイル名の前に結合されている。また、「new_」の後にフォーカスがされた状態とする。なお、テキストボックス1202に文字列の入力がない場合には、現ファイル名がそのまま入力エリアに入力される。また、この場合のフォーカスは、新ファイル名として入力された文字列の前にフォーカスが当たり、ユーザが任意の文字列を入力できるようにする。これにより、任意の文字列を統一的にファイル名とすることができる。
ステップS207では、フォーカスされた行の現在のファイル名を取得する。図13のサフィックスのボタンがONの場合の画面を参照して説明する。フォーカスされた入力例が1301である。
ステップS208では、テキストボックス1302に入力された文字列を取得する。文字列の入力については、プレフィックスの場合と同様である。テキストボックス1302には、ユーザにより任意の文字列が入力されるものとする。この場合、3次元CADアプリケーションが扱えない文字列はエラーとする。文字列が入力されると、ファイル名変更プログラムから3次元CADアプリケーションに要求して、エラーとなるかを判定する。エラーとなった場合には、テキストボックス1302でエラー表示する。エラー判定タイミングは、文字列の入力がすべて行われた場合であってもよい。入力が行われた場合とは、新ファイル名の入力エリアへフォーカスが当たった場合などである。
ステップS209では、ステップS207の文字列の後にステップS204の文字列を結合する。
結合された文字列は、上述のステップS206と同様に、ステップS209で作成された文字列を新ファイル名1301の入力エリアに入力する。新ファイル名が入力された例が1303である。「_org」が現ファイル名の前に結合されている。また、「_org」の後にフォーカスがされた状態とする。なお、テキストボックス1302に文字列の入力がない場合には、現ファイル名がそのまま入力エリアに入力される。また、この場合のフォーカスは、新ファイル名として入力された文字列の後(拡張子「.sldprt」の前)にフォーカスが当たり、ユーザが任意の文字列を入力できるようにする。これにより、任意の文字列を用いて、効率的に新たなファイル名を付けることができる。
すなわち、入力エリアに入力フォーカスを当てることにより、自動でファイル名が入力されるため、効率的な入力かつ、統一的なファイル名を付けることが可能となる。
次に、図6に示すフローチャートを用いて、重複チェック処理について説明する。尚、各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
ステップS301では、現在3次元CADアプリケーション上で開かれているアセンブリファイルの構成部品の情報を取得する。なお、構成部品の情報は、図8に記憶されているため、図8の3次元CADデータのデータテーブルから取得するものとするが、3次元CADアプリケーションとファイル名変更プログラムは非同期であり、3次元CADアプリケーションでファイルが変更されている場合があるため、ステップS102と同様の処理を行い構成部品(参照している部品)の情報を取得するようにしてもよい。
ステップS302では、ステップS301で取得した構成部品情報から構成部品のファイル名を取得する。
ステップS303では、入力エリア1004に入力された新ファイル名とステップS302で取得したファイル名が一致するかどうかを判定する。一致する場合、ステップS305に移行する。一致しない場合、ステップS304に移行する。一致する場合には、一致する新ファイル名のレコードをRAM203に記憶する。
なお、入力エリア1004に文字列が入力されていない(値がない)場合には、ファイル名の変更がないため、新ファイル名の取得は行わないものとする。
ステップS303では、変更するファイル名との一致だけでなく、他のファイルの現在のファイル名との一致も判定する。他のファイルの現在のファイル名と一致する場合にも、ステップS305へ処理を移す。また、RAM203に、新ファイル名と一致する他のファイルのレコードを記憶しておく。
ステップS304では、新ファイル名を入力したファイルが保存されているフォルダ内に、新ファイル名と一致するファイルがあるかどうかを判定する。一致していた場合、ステップS305に移行する。一致していない場合(重複がないと判定される場合)、重複チェック処理を終了する。一致する場合には、一致する新ファイル名のレコードをRAM203に記憶する。
すなわち、ステップS303とステップS304は、重複判定処理の詳細を示すステップである。
ステップS304は、所定の範囲内の階層にある第1のファイル及び/又は第2のファイルのファイル名を取得し、所定の範囲内の階層にある第1のファイル及び/又は第2のファイルのファイル名と入力受付で受け付けたファイル名が重複するか否かを判定する処理の一例を示すものである。
ステップS305では、新ファイル名が一致したレコードの新ファイル名のセルの背景色を黄色(一例)に変更する。具体的には、図14の1401の画面で、1402のように識別表示する。識別表示は、例えば、RAM203に記憶したレコードから新ファイル名の項目を特定して識別表示するが、重複するファイル名のセル情報を記憶しておき、識別表示するようにしてもよい。すなわち、重複があると判定された場合に、重複がある旨の識別表示をする識別表示処理の一例を示すものである。
また、階層が異なる他のファイルの現在のファイル名と一致する場合には、図14の1403の画面で、1404と1405のように、重複していることを識別できるように表示する。すなわち、新ファイル名の入力を受け付けた第1のファイルと異なる階層にある第1のファイルのファイル名と重複するか否かの判定により、他の階層にある第1のファイルのファイル名を識別表示する表示処理の一例を示すものである。
これは、ファイル名を修正しなくてもファイル変更は実行可能であるが、他の階層でのファイル名と重複することで、参照するファイルの管理が容易になり、部品ファイルを開いて編集する際のミスを減らすことが可能となる。
なお、同一レコードで現在のファイル名と新ファイル名が一致する場合も同様の識別表示を行ってもよい。これにより、ファイル名の重複が確実になくなると共に、新たなファイル名に変更したにも関わらず、現ファイル名で使用されていたファイル名とならないようにすることが可能となる。
なお、上述の重複チェック処理により、重複があった場合には、ユーザに新たなファイル名を指定させるように処理を継続する。具体的には、重複がある場合には、上述したステップS110の判定により、ステップS106へ処理を移行し、新ファイル名の修正を行う。そして、ファイル名の重複がなくなった場合に、ファイル名変更が実行される。
重複チェック処理の他の実施形態として、同一階層(同一フォルダ内)で新ファイル名が一致するファイルがあるか、他階層(所定の範囲内の階層)で新ファイル名が一致するファイルがあるかを判定して、それぞれの判定結果に従って、識別表示する。
具体的には、同一階層(同一フォルダ内)で新ファイル名が一致するファイルがあると判定された場合には、上述の通り、新ファイル名のセルの背景色を黄色に変更する。他階層(所定の範囲内の階層)で新ファイル名が一致するファイルがある場合には、新ファイル名のセルの背景色を青色に変更する。
これにより、同一フォルダ内で新ファイル名が一致しているかを識別することができ、変更処理を容易にすることができる。この他の実施形態で、他階層で新ファイル名が一致する場合には、ファイル名を修正しないでファイル名変更処理に移行することが可能で会える。
次に、図7に示すフローチャートを用いて、ファイル名変更処理について説明する。尚、各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
ステップS401では、図8の3次元CADデータのデータテーブルを基に、新参照先データ名804のファイル名で対象のファイルのファイル名を変更する。この時、3次元CADアプリケーションのAPIを用いて、ファイル名変更プログラムが新ファイル名に変更する要求を3次元CADアプリケーションに対して行う。
ステップS402では、アセンブリの構成部品情報を新ファイル名に変更する。この時、3次元CADアプリケーションのAPIを用いて、ファイル名変更プログラムが、現在表示されているアセンブリファイルの参照関係を更新すべく、アセンブリの構成部品情報を新ファイル名に変更する要求を3次元CADアプリケーションに対して行う。
次に、図15に示すフローチャートを用いて、ファイル名変更処理の他の実施形態について説明する。尚、各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。また、図7と同一の処理については、同一の符号を用いて、説明を省略する。
ステップS1501では、開いていたアセンブリファイル以外のアセンブリファイルで、新ファイル名に変更するファイル(子部品ファイル)を参照しているアセンブリファイルを検索するかを判定する。具体的には、変更処理を実行する場合に、ダイアログを表示し、他のアセンブリファイルを検索するかの通知を行う。ダイアログで他のアセンブリファイルを検索すべくOKボタンが押下された場合には、ステップS1502へ処理を移す。ダイアログで他のアセンブリファイルを検索すべくキャンセルボタンが押下された場合には、ステップS401へ処理を移す。
ステップS1502では、ファイル名を変更するファイル(部品ファイル)を参照しているアセンブリファイルを検索する。検索には、対象の部品ファイルの格納先のパスとファイル名を有するアセンブリファイルを検索することで実現可能である。より詳細には、所定の階層にあるアセンブリファイルを指定し、このアセンブリファイルが参照する部品ファイルの構成部品情報を取得することで、参照先であるパスとファイル名が取得できるため、これを比較する。なお、3次元CADアプリケーションがファイルごとに一意の識別情報(ファイルID)を付与している場合には、ファイルIDを比較して判定してもよい。アセンブリファイルを検索する対象範囲は、所定の階層(たとえば、ファイル名を変更するファイルの階層の上位2階層)までとする。
ステップS1503では、ステップS1502で検索されたアセンブリファイルの一覧を表示し、ユーザに変更するアセンブリファイルの指定を受け付ける。通常は、検索されたすべてのアセンブリファイルに変更をするため、すべてが選択されている状態で表示される。
ステップS1504では、ステップS401で参照部品であるファイルを新ファイル名に変更したのち、ステップS1503で指定されたアセンブリファイルがあるかを判定する。他のアセンブリファイルで変更するアセンブリファイルがある場合には、ステップS1505へ処理を移す。開いていたアセンブリファイル以外に変更するアセンブリファイルがない場合には、ステップS402へ処理を移す。
ステップS1505では、検索され、指定されたアセンブリファイルの構成部品情報を新ファイル名に変更する。
なお、ステップS1505とステップS402の処理順は本実施形態に限定されるものではない。
次に、図16に示すフローチャートを用いて、全体処理の他の実施形態について説明する。尚、各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。また、図4と同一の処理については、同一の符号を用いて、説明を省略する。
ステップS101で、ユーザの操作により、3次元CADアプリケーションにアドオンされているファイル名変更プログラムを実行する際に、メニューから「ファイル名を変更して、ファイル管理するサーバ102に保存」指示がされると、ステップS1601の処理が開始される。
ステップS1601では、サーバ102に保存するか否かを判定する。上述の通り、「ファイル名を変更して、ファイル管理するサーバ102に保存」指示がされ、サーバ102に保存すると判定された場合に、ステップS1602へ処理を移す。「ローカルに保存」指示がされた場合には、ステップS102へ処理を移す。
ステップS1602では、サーバ102からファイル名規則(ルール)を取得する。ファイル名規則は、サーバ102の保存先ごとにサーバ102のファイル管理アプリケーションが保持している。またファイル名規則には、「プレフィックス」「サフィックス」「なし」、ファイル名に付与する文字列を有している。すなわち、第2のファイルを保存する場合に、ファイル名を変更する情報を含む変更規則を取得する変更規則取得処理の一例を示すものである。
このファイル名規則を用いて、図10の「プレフィックス」「サフィックス」「なし」の設定が1007にされる。また、テキストボックス1008に文字列を入力し、ユーザが操作できないようにグレーアウトされる。これにより、サーバ102に3次元モデルを保存する際に、ルールに従ったファイル名変更を容易に行うことが可能となる。
なお、ファイル名の生成は、ステップS205とステップS206で説明した通りであるが、変更規則を取得した場合には、変更規則の情報に従って、結合されたファイル名を生成する。
その後、ステップS112のファイル名変更処理が行われたあと、サーバ102にアップロードされる。アップロードする際には、3次元モデルの構成に変更がないように、現在開いたアセンブリファイルが参照する部品のファイルをまとめてアップロードする。すなわち、変更された第1のファイルと第2のファイルを管理装置に出力する出力処理の一例を示すものである。
また、上述したフローチャートの処理順は一例を示すものであり、処理順を入れ替えて実現してもよい。
以上説明したように、本実施形態によれば、参照関係を有するファイルのファイル名を容易に変更することができる。またファイル名を適切に変更することができる。
また、ファイル名が変更されたファイルを参照するアセンブリファイルの参照関係を変更するため、3次元モデルの構成を崩すことなくファイル名の変更を行うことが可能となる。
さらに、ファイルを管理するサーバに、3次元モデルのファイルを保存する場合に、ファイル名を変更可能とするため、最終的なファイルを管理する際にファイル名変更を可能とするため、CADデータを作成する際の運用が容易になる。
通常CADデータはローカルで作成し、最終的なCADデータをファイル管理サーバにアップして管理する(承認も実行する)ため、3次元CADアプリケーションとファイル管理アプリケーションとの連携が容易になる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。