以下、図面を参照して、本発明の実施の形態の一例について説明する。
図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に読み出して各種動作を行う。
オペレーティングシステムは、情報処理装置101を動作させるための基本的なアプリケーションである。オペレーティングシステム上で3次元CADアプリケーションや画面キャプチャプログラム、その他各種プログラムを動作させることができる。また、オペレーティングシステムが備える機能を3次元CADアプリケーションや画面キャプチャプログラムから呼び出すことで、当該機能を実行することが可能である。例えば、画面キャプチャプログラムからオペレーティングシステムが備えるキャプチャに関する機能(例えば、API)を呼び出すと、情報処理装置101の画面全体をキャプチャしたり、任意の範囲だけキャプチャしたりすることができる。
3次元CADアプリケーションは、ユーザからの操作に応じて、設計物の立体形状を示す3次元モデルの作成や構築、また3次元モデルに基づく2次元図面の作成を行う。更に、3次元CADアプリケーションでは、3次元モデルを表示し、ユーザからの操作によって、任意の表示方向に変更することができる。
画面キャプチャプログラムは、3次元モデルに表示された3次元モデルを所定の条件でキャプチャすることの可能なプログラムである。3次元モデルをキャプチャする際には、画面キャプチャプログラムは、前述したオペレーティングシステムのキャプチャを行うAPIに対して、画面のキャプチャ指示を行う。また、3次元CADアプリケーションのAPIに対して表示方向の変更指示を送ることもできる。3次元CADアプリケーションは、この指示を受けると、表示方向を変更するAPIが指定された表示方向に変更する。更に、3次元CADアプリケーションのAPIに対して背景色の変更指示を出すと、当該APIが指定された背景色に変更する。このように、画面キャプチャプログラムは、オペレーティングシステムと3次元CADアプリケーションに備えられた各種APIに対して指示を送付することが可能なプログラムである。画面キャプチャプログラムは、3次元CADアプリケーションのアドオンであってもよいし、別個の独立したプログラムであってもよい。
サーバ102は、情報処理装置101で作成された各種データを記憶管理する装置である。3次元モデルは、複数のユーザによって作成される場合があり、その場合には1つのサーバ102に各ユーザの情報処理装置101で作成された3次元モデルを一元管理する。
尚、情報処理装置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は、CADデータ記憶モジュール301、CADデータ表示モジュール302、表示方向管理モジュール303、背景色管理モジュール304を備える。
CADデータ記憶モジュール301は、3次元CADアプリケーションによって作成された設計物の立体形状を示す3次元モデルを記憶するモジュールである。CADデータ記憶モジュール301によって記憶された3次元モデルは、情報処理装置101の外部メモリ211等に記憶され、必要に応じて、CADデータ記憶モジュール301によって読みだされる。
CADデータ表示モジュール302は、CADデータ記憶モジュール301によって記憶された3次元モデルを情報処理装置101のCRT210に表示させるためのモジュールである。3次元CADアプリケーションでユーザから3次元モデルを表示する指示があった場合には、ユーザに対して閲覧可能に3次元モデルを表示する。
表示方向管理モジュール303は、CADデータ表示モジュール302によって表示された3次元モデルの表示方向を変更するためのモジュール(API)である。ユーザからの指示に応じて3次元モデルを回転させる他、画面キャプチャプログラム310からの指示に応じて3次元モデルを回転させることができる。また、画面キャプチャプログラム310からの指示に応じて、現在の表示方向を取得し、画面キャプチャプログラム310に対して返すことができる。
背景色管理モジュール304は、3次元CADアプリケーションの背景色を変更するためのモジュール(API)である。ユーザからの指示に応じて3次元CADアプリケーションの背景色を変更する他、画面キャプチャプログラム310からの指示に応じて背景色を変更することができる。また、画面キャプチャプログラム310からの指示に応じて、現在の背景色を取得し、画面キャプチャプログラム310に対して返すことができる。尚、本実施形態における背景色とは、3次元モデルの背景となっている背景色を示す。
情報処理装置101の画面キャプチャプログラム310は、テーブル管理モジュール311、画面表示制御モジュール312、キャプチャ設定モジュール313、キャプチャ指示モジュール314、キャプチャ画像変換モジュール315、表示方向指示モジュール316、背景色指示モジュール317、キャプチャ範囲設定モジュール318、属性情報管理モジュール319、タイマーモジュール320、サムネイル画像管理モジュール321を備える。
テーブル管理モジュール311は、後述する図12の設定テーブル1200や属性情報テーブル1210の記憶や更新等を行うためのモジュールである。各種テーブルは、外部メモリ211に記憶され、必要に応じてRAM203に読み出す。
画面表示制御モジュール312は、各種ウィンドウやダイアログといったオブジェクトを情報処理装置101のCRT210に表示するためのモジュールである。表示だけでなく、必要に応じてウィンドウ等のオブジェクトを非表示とすることもできる。本実施形態においては、後述する図8のキャプチャ処理受付画面800、図9のキャプチャ情報設定画面900、図11のタイマー画面1100、図14のキャプチャ処理受付画面1400の表示制御を行う。尚、本実施形態において、ウィンドウといった場合にはダイアログ等の他の形態のGUI(Graphical User Interface)も含むものとする。
キャプチャ設定モジュール313は、キャプチャのための各種設定を行うためのモジュールである。キャプチャ設定モジュール313では、図9のキャプチャ情報設定画面900を通じてキャプチャの設定を受け付け、確定された設定情報を図12の設定テーブル1200に登録する。
キャプチャ指示モジュール314は、ユーザからキャプチャの指示を受け付けた場合に、オペレーティングシステム330のキャプチャ制御モジュール331に対して、画面のキャプチャ指示を出すモジュールである。キャプチャ指示を出す場合には、キャプチャ範囲設定モジュール318で設定された範囲の座標値を渡す。
キャプチャ画像変換モジュール315は、オペレーティングシステム330のキャプチャ制御モジュール331でキャプチャされた画像を取得して、キャプチャ設定モジュール313で設定された設定に応じて、キャプチャ画像を変換するモジュールである。また、キャプチャ画像変換モジュール315は、ファイル形式が「PNG」で透過色を設定されている場合には、指定された色を透過色にした「PNG」形式の画像に変換する。
表示方向指示モジュール316は、画面キャプチャプログラム310を通じてユーザから指示された表示方向に変更するべく、3次元CADアプリケーション300の表示方向管理モジュール303に対して表示方向の変更指示を出すモジュールである。表示方向の変更指示を行う際には、ユーザから指定された表示方向に対応する回転角度を表示方向管理モジュール303に渡す。
背景色指示モジュール317は、画面キャプチャプログラム310のキャプチャ設定モジュール313で設定された背景色に変更するべく、3次元CADアプリケーション300の背景色管理モジュール304に対して背景色の変更指示を出すモジュールである。背景色の変更指示を行う際には、ユーザから指示された背景色を背景色管理モジュール304に渡す。
キャプチャ範囲設定モジュール318は、3次元モデルのキャプチャ範囲を設定するためのモジュールである。図10のキャプチャウィンドウ枠1000に示すようなインターフェースを3次元CADアプリケーションの表示画面上に表示させ、キャプチャ範囲設定モジュール318は、ユーザからの指示に応じてこのキャプチャウィンドウ枠1000の大きさを変更することで、キャプチャ範囲を設定できる。
属性情報管理モジュール319は、オペレーティングシステム330のキャプチャ制御モジュール331でキャプチャされた3次元モデルの状態を図12の属性情報テーブル1210に登録するモジュールである。登録する情報は、キャプチャされた時の表示方向やキャプチャウィンドウ枠の大きさ等である。これらは、表示方向管理モジュール303やキャプチャ範囲設定モジュール318等から取得する。
タイマーモジュール320は、キャプチャ設定モジュール313で設定された所定時間だけキャプチャを待機するためのモジュールである。所定時間経過すると、キャプチャ指示モジュール314でキャプチャの指示がなされる。
サムネイル画像管理モジュール321は、キャプチャ画像変換モジュール315で生成されたキャプチャ画像からサムネイル画像を生成し、属性情報テーブル1210に登録するモジュールである。また、サムネイル画像管理モジュール321は、画面表示制御モジュール312で表示するキャプチャ処理受付画面800に生成したサムネイル画像を渡す。
オペレーティングシステム330は、キャプチャ制御モジュール331を備える。
キャプチャ制御モジュール331は、情報処理装置101のCRT210に表示された画面をキャプチャするためのモジュールである。また、画面キャプチャプログラム310のキャプチャ指示モジュール314からの指示を受け付けて、その指示に応じて画面をキャプチャし、キャプチャ画像を画面キャプチャプログラム310に渡す。画面キャプチャプログラムのキャプチャ指示モジュール314からキャプチャ範囲の指定があった場合には、指定された座標値に基づいて指定された範囲をキャプチャする。
サーバ102は、CADデータ記憶モジュール340を備える。CADデータ記憶モジュール340は、前述した情報処理装置101のCADデータ記憶モジュール301と同様である。情報処理装置101に3次元モデルを記憶管理させる場合には情報処理装置101のCADデータ記憶モジュール301を利用し、サーバ102に3次元モデルを記憶管理させる場合にはサーバ102のCADデータ記憶モジュール340を利用する。本実施例では、情報処理装置101のCADデータ記憶モジュール301を利用するものとして説明を行う。
次に、本発明の実施形態における情報処理装置101によって行われる一連の処理について、図4に示すフローチャートを用いて説明する。尚、ステップS401乃至ステップS422の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
まず、ステップS401では、情報処理装置101は、ユーザからの指示に応じて3次元CADアプリケーション300を起動させ、CADデータ表示モジュール302によって外部メモリ211に記憶された3次元モデルを開く。
ステップS402では、情報処理装置101の3次元CADアプリケーション300は、ユーザからの指示に応じて画面キャプチャプログラム310を起動し、画面キャプチャプログラム310は、画面表示制御モジュール312によって図8に示すキャプチャ処理受付画面800を表示する。キャプチャ処理受付画面800は、キャプチャの実行指示を受け付けるキャプチャボタン801、設定を受け付ける設定ボタン802、サムネイル画像一覧803、即キャプチャチェックボックス804から構成される。
ステップS403では、情報処理装置101の画面キャプチャプログラム310は、ステップS401で開いた3次元モデルの前回キャプチャ状態を、図12に示す属性情報テーブル1210を用いて再現する。具体的には、ステップS401で開いた3次元モデルのファイル名と一致するCADファイル名1211を特定し、当該レコードのモデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、拡大率1221を3次元CADアプリケーション300に渡して、表示方向管理モジュール303によってキャプチャ時の3次元モデルの表示状態を再現する。モデル表示方向のパラメータは、正面から見て、X、Y、Z軸に基づいて指定されたパラメータ分の角度だけ3次元モデルを回転させる。拡大率1221は、表示されている3次元モデルの大きさを指定されたパラメータだけ拡大する
また、キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220を用いて、画面キャプチャプログラム310のキャプチャ範囲設定モジュール318でキャプチャウィンドウ枠の大きさと位置を設定する。キャプチャウィンドウ枠の大きさで縦と横の大きさを設定し、キャプチャウィンドウ枠位置で画面の左上を原点とした位置を設定する。途中でキャプチャ作業が中断してしまうと、表示方向やキャプチャウィンドウ枠の設定をし直す必要があるのだが、こうすることによって、前回キャプチャ作業していた続きを再現することが可能となる。尚、3次元モデルの回転や拡大、キャプチャウィンドウ枠の大きさや位置の設定の詳細な仕組みは、従来技術を用いるため、説明を省略する。
属性情報テーブル1210(図12参照)は、CADファイル名1211、キャプチャファイル名1212、サムネイル画像名1213、モデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220、拡大率1221から構成される。CADファイル名1211は、3次元モデルのファイル名を示す。キャプチャファイル名1212は、当該3次元モデルをキャプチャしたキャプチャ画像のファイル名を示す。サムネイル画像名1213は、キャプチャ画像から生成したサムネイル画像のファイル名を示す。モデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216は、キャプチャ時の3次元モデルの表示方向を示すパラメータである。キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218は、キャプチャ時のキャプチャウィンドウ枠の大きさを示すパラメータである。キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220は、キャプチャ時のキャプチャウィンドウ枠の位置を示すパラメータである。拡大率1221は、キャプチャ時の拡大率を示すパラメータである。
ステップS404では、情報処理装置101の画面キャプチャプログラム310は、画面表示制御モジュール312によって図9に示すキャプチャ情報設定画面900を表示し、ユーザからの入力を受け付ける。キャプチャ情報設定画面900は、キャプチャ画像の保存場所やキャプチャ画像名を設定する保存設定欄901、変換するファイル形式やその品質を設定する形式設定欄902、背景色を設定する背景色設定欄903、タイマーを設定するタイマー設定欄904から構成されるダイアログである。キャプチャ情報設定画面900は自動的に表示されてもよいし、キャプチャ処理受付画面800に備えられた設定ボタン802の押下を受け付けた場合に表示するようにしてもよい。
ステップS405では、情報処理装置101の画面キャプチャプログラム310は、ステップS404で入力を受け付けた各種設定を、図12に示す設定テーブル1200に登録する。
設定テーブル1200(図12参照)は、フォルダパス1201、ファイル名1202、ファイル形式1203、品質1204、背景色1205、タイマー1206から構成される。フォルダパス1201は、キャプチャ画像の保存場所である。ファイル名1202は、キャプチャ画像の命名ルールである。ファイル形式1203は、キャプチャ画像を変換するファイル形式である。品質1204は、変換する際の品質を示す。背景色1205は、キャプチャする際の3次元CADアプリケーション300の背景色を示す。タイマー1206は、キャプチャ指示があってからキャプチャするまでの待機時間を示す。
ステップS406では、情報処理装置101の画面キャプチャプログラム310は、所定のフォルダにサムネイル画像が存在するか否かを判定する。所定のフォルダにサムネイル画像が存在する場合には、ステップS407に処理を進め、所定のフォルダにサムネイル画像が存在しない場合には、ステップS408に処理を進める
本実施形態では、後述するステップS408で表示されるキャプチャ処理受付画面800で、過去にキャプチャした3次元モデルのサムネイル画像をサムネイル画像一覧803に一覧表示する。ユーザは、このサムネイル画像をクリックすることで、サムネイル画像に対応する表示方向に、表示中の3次元モデルを変更できる。つまり、ステップS406では、そのサムネイル画像があるか否か、つまり過去にキャプチャした3次元モデルの状態を再現できるか否かを判定することになる。ステップS403では、表示中の3次元モデルが以前キャプチャした際の表示状態を再現するのに対し、こちらは表示中の3次元モデルも含めて、情報処理装置101でキャプチャされたすべての3次元モデルの表示状態を再現するものである
また、本実施形態では、以前の表示方向を再現するために、その時キャプチャしたキャプチャ画像のサムネイル画像を一覧表示し、選択されたサムネイル画像に対応する表示方向で3次元モデルを回転させるものである。しかしながら、右斜め45度や真上といった所定の角度でキャプチャしたい場合には、図14に示すようなGUIを表示し、格子の各アイコンに対して選択を受け付けるような形態でもよい。図14に示すキャプチャ処理受付画面1400には、キャプチャ方向選択アイコン1401が表示されている。この格子上の中点や四隅に付されたアイコンをクリックすると、そのアイコンの位置に応じて3次元モデルを回転させることができる。具体的には、各アイコンに対応するように3次元モデルの回転角度が記憶されており、アイコンが選択されるとそのアイコンに対応する回転角度が取得できる。そして、3次元CADアプリケーション300にそのパラメータを渡すと、表示方向管理モジュール303が表示方向を変更する。このようなGUIで変更したい表示方向を選択させ、キャプチャさせる仕組みでもよい。
ステップS407では、情報処理装置101の画面キャプチャプログラム310は、所定のフォルダからサムネイル画像を取得し、RAM203に記憶しておく。
ステップS408では、情報処理装置101の画面キャプチャプログラム310は、画面表示制御モジュール312によってキャプチャ処理受付画面800のサムネイル画像一覧803を更新する。具体的には、ステップS407で取得したサムネイル画像をユーザから選択可能に表示する。
ステップS409では、情報処理装置101の画面キャプチャプログラム310は、ステップS408で表示されたサムネイル画像が選択されたか否かを判定する(表示方向指定受付手段)。サムネイル画像が選択されたと判定された場合には、ステップS410に処理を進め、そうでない場合には、ステップS415に処理を進める。
ステップS410では、情報処理装置101の画面キャプチャプログラム310は、キャプチャ処理受付画面800の即キャプチャチェックボックス804にチェックが入っているか否かを判定する。即キャプチャチェックボックス804にチェックを入れて、サムネイル画像を選択した場合には、選択したサムネイル画像に対応する表示方向に3次元モデルを変更させた後、すぐにキャプチャが実行される。チェックが入っていない場合には、表示方向は変更されるが、キャプチャはなされないので、別途キャプチャボタン801を押下する必要がある。表示方向の再調整をしないのであれば、サムネイル画像をクリックするだけでその表示方向でキャプチャができるため、表示方向を調整する手間が大幅に軽減される。キャプチャしたい3次元モデルを開いて、サムネイルをクリックするという2つのステップを繰り返すだけでキャプチャ画像が生成できるということである。即キャプチャチェックボックス804にチェックが入っていると判定された場合には、ステップS411に処理を進め、即キャプチャチェックボックス804にチェックが入っていないと判定された場合には、ステップS413に処理を進める。
ステップS411は、情報処理装置101の画面キャプチャプログラム310は、選択されたサムネイル画像に対応する表示方向になるように3次元モデルを回転させ、すぐにキャプチャする処理を実行する。サムネイルキャプチャ処理の詳細は、後述する図7に示す。
ステップS413では、情報処理装置101の画面キャプチャプログラム310は、ステップS409で選択されたサムネイル画像に対応する属性情報を属性情報テーブル1210から取得する。具体的には、サムネイル画像のファイル名と一致するサムネイル画像名1213を特定し、当該レコードのモデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220、拡大率1221を取得する。
ステップS414では、情報処理装置101の画面キャプチャプログラム310は、ステップS413で取得した属性情報に基づいて、3次元モデルの表示方向とキャプチャウィンドウ枠の設定を行う(表示方向変更手段)。画面キャプチャプログラム310の表示方向指示モジュール316から3次元CADアプリケーション300の表示方向管理モジュール303に対して表示方向や大きさの制御を指示する。表示方向管理モジュール303は、その指示に応じて表示されている3次元モデルの表示方向と大きさを調整する。表示方向指示モジュール316から表示方向管理モジュール303に対する指示には、取得したモデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、拡大率1221が含まれているため、これらに基づいて設定を行う。また、画面キャプチャプログラム310のキャプチャ範囲設定モジュール318は、取得したキャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220に基づいて、キャプチャウィンドウ枠の大きさと位置を設定する。
ステップS415では、情報処理装置101の3次元CADアプリケーション300は、3次元CADアプリケーションによって表示された3次元モデルの表示方向を変更する指示が、ユーザから3次元CADアプリケーションに対してあったか否かを判定する。つまり、マウス等を用いて直接3次元モデルの表示方向を変える操作の検知がなされたか否かを判定することになる。3次元モデルの表示方向を変更する指示が、ユーザから3次元CADアプリケーションに対してあったと判定された場合には、ステップS416に処理を進め、そうでない場合には、ステップS417に処理を進める。
ステップS416では、情報処理装置101の3次元CADアプリケーションは、ユーザからの指示に応じて、表示されている3次元モデルの表示方向を変更する。ここでの表示方向の変更は自由回転による変更である。よって、ユーザが3次元モデルに対してドラッグ操作することで3次元モデルが回転する。こうすることで、キャプチャする表示方向を微調整することができる。
ステップS417では、情報処理装置101の画面キャプチャプログラム310は、キャプチャ範囲の変更が指示されたか否かを判定する。具体的には、図10のキャプチャウィンドウ枠1000に示すようなキャプチャウィンドウ枠が図10に示すような形態で3次元モデル上に表示されているので、このキャプチャウィンドウ枠1000の4辺、4隅に対してドラッグ操作が行われたか、または移動受付領域1001をクリックしてドラッグ操作が行われることで、キャプチャウィンドウ枠1000の移動指示がなされたか否かを判定することになる。キャプチャ範囲の変更が指示されたと判定された場合には、ステップS418に処理を進め、そうでない場合には、ステップS419に処理を進める。
ステップS418では、情報処理装置101の画面キャプチャプログラム310は、ユーザからの操作に応じて、キャプチャウィンドウ枠1000の大きさを変更、またはキャプチャウィンドウ枠1000の移動を実行する(キャプチャ範囲設定手段)。これらのキャプチャウィンドウ枠1000の変更処理は、キャプチャ範囲設定モジュール318によって行われる。
ステップS419では、情報処理装置101の画面キャプチャプログラム310は、キャプチャ処理受付画面800に備えられたキャプチャボタン801が押下されたか否かを判定する。つまり、3次元モデルのキャプチャ指示があったか否かを判定することになる(キャプチャ指示受付手段)。キャプチャボタン801が押下されたと判定された場合には、ステップS420に処理を進め、そうでない場合には、ステップS422に処理を進める。
ステップS420では、情報処理装置101の画面キャプチャプログラム310は、3次元CADアプリケーションによって表示されている3次元モデルのキャプチャを実行する処理を行う。キャプチャ処理は、後述する図5に示す。
ステップS421では、情報処理装置101の画面キャプチャプログラム310は、キャプチャした3次元モデルの表示状態を保存する処理を実行する。属性情報保存処理の詳細は、後述する図6に示す。
ステップS422では、情報処理装置101の画面キャプチャプログラム310は、ユーザから画面キャプチャプログラム310の終了指示があったか否かを判定する。具体的には、キャプチャ処理受付画面800に備えられた閉じるボタンが押下されたか否かで判定してもよいし、3次元CADアプリケーション300の終了が指示されたか否かを判定してもよい。画面キャプチャプログラム310の終了指示があったと判定された場合には、画面キャプチャプログラム310を終了させ、本一連の処理を終了し、そうでない場合にはステップS409に処理を戻し、処理を繰り返す。3次元CADアプリケーション300は起動したままでもよいし、画面キャプチャプログラム310の終了と共に終了させてもよい。
次に、キャプチャ処理について図5を用いて説明する。尚、ステップS501乃至ステップS514の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
まず、ステップS501では、情報処理装置101の画面キャプチャプログラム310は、3次元CADアプリケーション300の背景色を取得する(背景色取得手段)。ここでいう背景色は、前述した通り、3次元モデルの背景に設定された色のことである。具体的には、画面キャプチャプログラム310の背景色指示モジュール317から3次元CADアプリケーション300の背景色管理モジュール304に対して、3次元CADアプリケーション300で表示されている背景色の取得を指示する。そして、指示を受けた背景色管理モジュール304は、現在設定されている背景色を取得し、背景色指示モジュール317に返す。こうすることで背景色が取得できる。取得した背景色は、背景色指示モジュール317によってRAM203に記憶される。
ステップS502では、情報処理装置101の画面キャプチャプログラム310は、3次元CADアプリケーション300の背景色を前述したステップS405で設定された色に変更する(背景色変更手段)。具体的には、画面キャプチャプログラム310の背景色指示モジュール317から3次元CADアプリケーション300の背景色管理モジュール304に対して、3次元CADアプリケーション300で表示されている背景色の変更を指示する。変更する背景色は、前述したステップS405で設定された色、つまり、図9に示すキャプチャ情報設定画面900の背景色設定欄903に入力された色である。指示を受けた背景色管理モジュール304は、現在設定されている背景色を指示された色に変更する。このように、キャプチャを行う前に背景色を変更しておくように指示を出せれば、ユーザがキャプチャの都度、背景色を変更する必要はない。
また、本実施形態では、3次元CADアプリケーション300に表示された3次元モデルの背景色を全体的に変更する仕組みとして説明したが、キャプチャウィンドウ枠1000内のみ変更するようにしてもよい。具体的には、ステップS502で画面キャプチャプログラム310の背景色指示モジュール317から3次元CADアプリケーション300の背景色管理モジュール304に対して、背景色の変更を指示する際に、前述したステップS418で設定されたキャプチャ範囲も背景色管理モジュール304に渡す。背景色管理モジュール304に渡すパラメータは、キャプチャウィンドウ枠1000を調整することで設定され、キャプチャ範囲設定モジュール318で取得したキャプチャウィンドウ枠の左上X,Y座標と、縦横の大きさである。キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220と同様のパラメータを渡すことになる。背景色管理モジュール304は、これらのパラメータを受け取ると、そのキャプチャ範囲に対してのみ、指定された色で背景色を変更する。必要な範囲だけ変更することができるので、どの範囲をキャプチャするのかがわかりやすくなる。
ステップS503では、情報処理装置101の画面キャプチャプログラム310は、前述したステップS405でタイマーが設定されているか否かを判定する。具体的には、図9に示すキャプチャ情報設定画面900のタイマー設定欄904に待機時間が設定されているか否かで判定することになる。タイマーを設定することで、キャプチャ指示を行ってからキャプチャが行われるまで設定された時間だけ待機し、待機が終了したらキャプチャするようになる。キャプチャまでの待機時間を設けることで、キャプチャウィンドウ枠の調整など、最終調整を行うことができる。タイマーが設定されていると判定された場合には、ステップS504に処理を進め、タイマーが設定されていないと判定された場合には、すぐにキャプチャするべく、ステップS508に処理を進める。
ステップS504では、情報処理装置101の画面キャプチャプログラム310は、図11に示すようなタイマー画面1100をCRT210に表示させる。画面キャプチャプログラム310のタイマーモジュール320がタイマー設定欄904に設定された時間をセットしたタイマー画面1100を生成し、画面表示制御モジュール312が画面に表示させる。
ステップS505では、情報処理装置101の画面キャプチャプログラム310は、タイマーモジュール320により、ステップS504でセットされたタイマーを開始する。つまり、撮影までのカウントダウンを開始することになる。本実施形態では、カウントダウンを行い、「0」になったらキャプチャが行われるものとするが、カウントアップでも構わない。
ステップS506では、情報処理装置101の画面キャプチャプログラム310は、タイマーモジュール320によりステップS505で開始されたタイマーが「0」になったか否かを判定する(待機手段)。つまり、所定時間待機し、待機時間が終了したかどうかを判定することになる。タイマーが「0」になったと判定された場合には、ステップS507に処理を進め、そうでない場合には、タイマーが「0」になるまでステップS506の処理を繰り返す。
ステップS507では、情報処理装置101の画面キャプチャプログラム310は、ステップS504で表示されたタイマー画面1100を、画面表示制御モジュール312によって非表示にする。こうすることで不要なタイマー画面1100がキャプチャされないように制御する。
ステップS508では、情報処理装置101の画面キャプチャプログラム310は、画面表示制御モジュール312によって表示された各種ウィンドウが、前述したステップS418でキャプチャ範囲設定モジュール318によって設定されたキャプチャ範囲に含まれているか否かを判定する。画面のキャプチャは、3次元CADアプリケーション300ではなく、オペレーティングシステム330のキャプチャ制御モジュール331が行うため、情報処理装置101のCRT210に表示されている情報すべてがキャプチャ対象となる。つまり、3次元CADアプリケーション300が生成したウィンドウでなくとも、キャプチャ対象となってしまう。よって、被写体である3次元モデルに他のウィンドウが重なると3次元モデルが隠れてしまい、うまくキャプチャできない問題が発生する。特に、キャプチャ範囲外にウィンドウが表示されているのは問題ないが、キャプチャ範囲内にウィンドウが重なってくる場合には、これを非表示としなければいけない。よって、ステップS508では、キャプチャ範囲にウィンドウが含まれているかどうか判定している。
ウィンドウが枠内にあるかとうか判定する方法は、キャプチャウィンドウ枠1000の画面位置座標の左下隅の座標を(X1,Y1)、右上隅の座標を(X2,Y2)とし、キャプチャウィンドウの画面位置座標の左下隅の座標を(X’1,Y’1)、右上隅の座標を(X’2,Y’2)とする。このとき、次の条件式、(X1<=X’1<=X2 または X1<=X’2<=X2) かつ (Y1<=Y’1<=Y2 または Y1<=Y’2<=Y2)を満たすとき、枠内にウィンドウがあると判断する。
キャプチャ範囲内にウィンドウが存在すると判定された場合には、ステップS509に処理を進め、そうでない場合には、ステップS510に処理を進める。
ステップS509では、情報処理装置101の画面キャプチャプログラム310は、ステップS508でキャプチャ範囲に含まれると判定されたウィンドウを、画面表示制御モジュール312によって非表示にする(表示制御手段)。こうすることで、キャプチャ範囲にある不要なウィンドウを非表示とすることができるので、オペレーティングシステム330による画面のキャプチャであっても不要物の写り込みを防止できる。尚、本実施形態ではキャプチャ範囲内にあるウィンドウのみを非表示としたが、キャプチャ時には3次元モデルを表示する画面以外をすべて非表示としてもよい。つまり、画面キャプチャプログラム310の画面表示制御モジュール312によって表示されたウィンドウをすべて非表示としてもよい。更に、非表示でなくても、ウィンドウの最小化であってもよいし、キャプチャ範囲外にウィンドウを移動させてもよい。一時的に削除してしまってもよい。また、3次元CADアプリケーション300と画面キャプチャプログラム310以外のアプリケーションまたはプログラムが表示したウィンドウについても非表示とする仕組みも考えられる。具体的には、オペレーティングシステム330が備える画面表示制御モジュール(不図示)を用いて、キャプチャ対象となるウィンドウを表示しているアプリケーション以外を非表示にする、最小化する、削除する等を実行することで、不要物の写り込みを防止する。また、画面についてのみ非表示にしているが、カーソルのようなオブジェクトも含む。
ステップS510では、情報処理装置101の画面キャプチャプログラム310は、CRT210に表示された画面をキャプチャする(キャプチャ実行手段)。具体的には、画面キャプチャプログラム310のキャプチャ範囲設定モジュール318で取得したキャプチャウィンドウ枠1000の座標値や大きさを含めて、キャプチャ指示モジュール314からオペレーティングシステム330のキャプチャ制御モジュール331に対して指示を出す。キャプチャ制御モジュール331は、受け取った座標値や大きさに基づいてキャプチャ範囲を設定し、当該キャプチャ範囲に対して画面キャプチャを実行する。キャプチャが完了したら、キャプチャ制御モジュール331は、キャプチャしたキャプチャ画像をRAM203に記憶する。
ステップS511では、情報処理装置101の画面キャプチャプログラム310は、ステップS510でRAM203に記憶されたキャプチャ画像を、キャプチャ画像変換モジュール315によって取得する。
ステップS512では、情報処理装置101の画面キャプチャプログラム310は、ステップS511で取得したキャプチャ画像をユーザから指定された形式に変換する(キャプチャ画像変換手段)。具体的には、画面キャプチャプログラム310のキャプチャ画像変換モジュール315によって、設定テーブル1200で設定されたファイル形式1203と品質1204でキャプチャ画像を変換する。背景色設定欄903で透過色が設定されていれば、その色を透過色として変換する。画像の変換については従来技術を用いるものとするので、詳細な説明は省略する。変換が終わったら、設定テーブル1200のファイル名1202に格納されたファイル名の命名ルールに基づいて、変換したキャプチャ画像のファイル名を変更し、フォルダパス1201が示すフォルダにキャプチャ画像を格納する。
ステップS513では、情報処理装置101の画面キャプチャプログラム310は、ステップS501で記憶した背景色をRAM203から取得し、取得した色で3次元CADアプリケーション300の背景色を変更する。つまり、元の背景色に戻すということである。具体的には、画面キャプチャプログラム310の背景色指示モジュール317が取得した色に変更するよう、3次元CADアプリケーション300の背景色管理モジュール304に対して指示を出す。背景色管理モジュール304は、受け取った色で3次元CADアプリケーション300の背景色を変更する。背景色の指定はカラーパレットやRGB値によって指定することが多く、元の色を覚えておくことはユーザにとって大きな負担となるし、元の色を再現することも非常に手間である。このようにキャプチャ前に背景色を保存しておき、キャプチャ後に復元することで、キャプチャを行うときだけ背景色を変更することができるので、ユーザが手作業で元の背景色に戻す手間が軽減される。
ステップS514では、情報処理装置101の画面キャプチャプログラム310は、ステップS509で非表示としたウィンドウを画面表示制御モジュール312によって再表示する。つまり、ウィンドウについてもキャプチャ前の状態に戻す。非表示のままではその後の作業に影響が出るため、キャプチャ前の状態を復元することでスムーズな作業が可能となる。尚、ウィンドウが最小化されている場合には元のサイズに戻す処理を行い、キャプチャ範囲外に移動されている場合には、それらを元の位置に戻す。移動の場合には、ステップS509で移動前の座標値をウィンドウごとに保持しておき、その座標値に基づいて元の位置に戻すような仕組みにすれば実現可能である。
図5のキャプチャ処理について図13を用いて説明する。図13はキャプチャ処理の遷移を示す図である。まず、キャプチャ前に3次元モデルの背景として設定されている背景色を取得しておく(ステップS501)。その後、キャプチャを実行するのだが、画面例1301ではキャプチャウィンドウ枠内に不要なウィンドウが存在していることがわかる(ステップS508)。よって、この不要なウィンドウを非表示とし(ステップS509)、背景色を変更して(ステップS502)、画面例1302のような状態にする。こうすることで邪魔なオブジェクトは存在しなくなり、ユーザの望む背景色に変更されたので、指定されたキャプチャウィンドウ枠に基づいてキャプチャを実行する(ステップS510)。キャプチャが終了したら、保存した背景色に自動的に戻し(ステップS513)、非表示にしたウィンドウを再表示する(ステップS514)。つまり、画面例1301の状態に戻る。以上のようにすることで、不要なウィンドウの非表示、背景色の変更、キャプチャ後の復元が可能となる。
次に、属性情報保存処理について図6を用いて説明する。尚、ステップS601乃至ステップS605の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
まず、ステップS601では、情報処理装置101の画面キャプチャプログラム310は、キャプチャした3次元モデルに設定された表示方向を取得する。具体的には、画面キャプチャプログラム310の表示方向指示モジュール316から3次元CADアプリケーション300の表示方向管理モジュール303に対して、キャプチャした3次元モデルの表示方向の取得指示を出す。指示を受けた表示方向管理モジュール303は、3次元モデルに設定された表示方向を取得し、表示方向指示モジュール316に返す。取得するパラメータは、モデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、拡大率1221に相当するパラメータである。取得した表示方向は、前述したステップS403で前回のキャプチャ状態を再現する時や、ステップS411のサムネイルキャプチャ処理、ステップS413、ステップS414でサムネイル画像が選択されたときに表示方向を再現するために使用される。
ステップS602では、情報処理装置101の画面キャプチャプログラム310は、キャプチャした際のキャプチャウィンドウ枠1000の位置や大きさを取得する。具体的には、画面キャプチャプログラム310のキャプチャ範囲設定モジュール318がキャプチャした際に設定されていたキャプチャウィンドウ枠1000の位置や大きさを取得する。取得するパラメータとしては、キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220に相当するパラメータである。こちらも、前述したステップS403で前回のキャプチャ状態を再現する時や、ステップS411のサムネイルキャプチャ処理、ステップS413、ステップS414でサムネイル画像が選択されたときにキャプチャウィンドウ枠1000を再現するために使用される。
ステップS603では、情報処理装置101の画面キャプチャプログラム310は、ステップS601とステップS602で取得した各種パラメータを、属性情報管理モジュール319によって属性情報テーブル1210に登録する(履歴登録手段)。キャプチャされた3次元モデルのファイル名をCADファイル名1211に格納し、ステップS512で保存されたキャプチャ画像のファイル名をキャプチャファイル名1212に格納する。そして、モデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220、拡大率1221に、ステップS601、ステップS602で取得したパラメータをそれぞれ格納する。
ステップS604では、情報処理装置101の画面キャプチャプログラム310は、前述したステップS512で保存されたキャプチャ画像に基づいて、サムネイル画像管理モジュール321によりサムネイル画像を生成する。サムネイル画像は前述したステップS407、ステップS408で使用される。図8に示すキャプチャ処理受付画面800のサムネイル画像一覧803のように表示し、ユーザからの選択を受け付けるために使用される画像である。
ステップS605では、情報処理装置101の画面キャプチャプログラム310は、ステップS604で生成されたサムネイル画像を、サムネイル画像管理モジュール321により所定のフォルダに保存する。保存場所は、ステップS406、ステップS407で参照するフォルダが望ましい。保存が完了したら、当該サムネイル画像のファイル名を属性情報テーブル1210のサムネイル画像名1213に格納する。このようにすることで、キャプチャ時の表示状態を保存することができ、これらを用いて、前述したステップS411やステップS414でその表示状態を再現することができる。
次に、サムネイルキャプチャ処理について図7を用いて説明する。尚、ステップS701乃至ステップS705の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
まず、ステップS701では、情報処理装置101の画面キャプチャプログラム310は、ステップS409で選択されたサムネイル画像に対応する属性情報を属性情報テーブル1210から取得する(表示方向取得手段)。具体的には、サムネイル画像のファイル名と一致するサムネイル画像名1213を特定し、当該レコードのモデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220、拡大率1221を取得する。
ステップS702では、情報処理装置101の画面キャプチャプログラム310は、キャプチャ前の表示状態を保存する。具体的には、画面キャプチャプログラム310の表示方向指示モジュール316から3次元CADアプリケーション300の表示方向管理モジュール303に対して、キャプチャした3次元モデルの表示方向の取得指示を出す。指示を受けた表示方向管理モジュール303は、3次元モデルに設定された表示方向を取得し、表示方向指示モジュール316に返す。取得するパラメータは、モデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、拡大率1221に相当するパラメータである。また、画面キャプチャプログラム310のキャプチャ範囲設定モジュール318がキャプチャした際に設定されていたキャプチャウィンドウ枠1000の位置や大きさを取得する。取得するパラメータとしては、キャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220に相当するパラメータである。取得した各種パラメータはRAM203に記憶しておく。
ステップS703では、情報処理装置101の画面キャプチャプログラム310は、ステップS701で取得した属性情報に基づいて、表示されている3次元モデルの表示方向やキャプチャ範囲を設定する(表示方向変更手段)。画面キャプチャプログラム310の表示方向指示モジュール316から3次元CADアプリケーション300の表示方向管理モジュール303に対して、ステップS701で取得したモデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、拡大率1221に基づく、3次元モデルの表示方向の変更指示を出す。指示を受けた表示方向管理モジュール303は、3次元モデルに設定された表示方向を指定されたパラメータに基づいて変更する。また、画面キャプチャプログラム310のキャプチャ範囲設定モジュール318が、ステップS701で取得したキャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220に基づいて、キャプチャウィンドウ枠1000の設定を行う。表示方向やキャプチャウィンドウの設定方法は前述の通りである。
ステップS704では、情報処理装置101の画面キャプチャプログラム310は、3次元CADアプリケーションによって表示されている3次元モデルのキャプチャを実行する処理を行う。キャプチャ処理は、前述した通りである。
ステップS705では、情報処理装置101の画面キャプチャプログラム310は、キャプチャが終了したので、ステップS702で保存した表示方向とキャプチャウィンドウ枠に戻す。具体的には、画面キャプチャプログラム310の表示方向指示モジュール316から3次元CADアプリケーション300の表示方向管理モジュール303に対して、ステップS702で保存したモデル表示方向(X軸回転角度)1214、モデル表示方向(Y軸回転角度)1215、モデル表示方向(Z軸回転角度)1216、拡大率1221に基づく、3次元モデルの表示方向の変更指示を出す。指示を受けた表示方向管理モジュール303は、3次元モデルに設定された表示方向を指定されたパラメータに基づいて変更する。また、画面キャプチャプログラム310のキャプチャ範囲設定モジュール318が、ステップS702で保存したキャプチャウィンドウ枠の大きさ(横)1217、キャプチャウィンドウ枠の大きさ(縦)1218、キャプチャウィンドウ枠位置(X位置)1219、キャプチャウィンドウ枠位置(Y位置)1220に基づいて、キャプチャウィンドウ枠1000の設定を行う。表示方向やキャプチャウィンドウの設定方法は前述の通りである。
以上説明したように、本実施形態によれば、不要なオブジェクトを非表示にした後にキャプチャに関する処理を実行することが可能となるので、キャプチャしたい被写体が隠れることなく、キャプチャすることのできる効果を奏する。また、本実施形態によれば、背景色を変更した後にキャプチャに関する処理を実行することが可能となるので、ユーザの望む背景色でキャプチャすることのできる効果を奏する。
次に、本発明の第2の実施形態について説明を行う。第2の実施形態では、第1の実施形態に加えて、更にユーザがよく使用する表示方向をお気に入りとして登録しておき、その登録された表示方向で3次元モデルを表示した後、キャプチャを実行する仕組みと、図8のキャプチャ処理受付画面800のサムネイル画像一覧803に、現在開いている3次元モデルに関連する3次元モデルをキャプチャした際のサムネイル画像のみを表示するように制御する仕組みを追加している。以下、これらの仕組みについて説明を行う。
第2の実施形態におけるシステム構成、ハードウェア構成、モジュール構成は、前述した実施形態の図1、図2、図3と同様であるので、説明を省略する。
まず、本発明の第2の実施形態における情報処理装置101によって行われる一連の処理について、図15に示すフローチャートを用いて説明する。尚、ステップS401乃至ステップS422、ステップS1501乃至ステップS1506の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
図15に示すフローチャートにおいて、ステップS401乃至ステップS406は、前述した図4のステップS401乃至ステップS406と同様であるので、説明を省略する。
ステップS1501では、情報処理装置101の画面キャプチャプログラム310は、現在開いている3次元モデルと関連する3次元モデルをキャプチャした際のサムネイル画像を、所定のフォルダから取得する処理を実行する。サムネイル画像取得処理の詳細は、後述する図18に示す。
ステップS1502では、情報処理装置101の画面キャプチャプログラム310は、後述するステップS1506で登録された表示方向を、お気に入り表示方向テーブル1600(図16参照)から取得する。お気に入り表示方向テーブル1600には、ユーザから登録された表示方向が格納されている。これを取得し、RAM203に記憶しておく。
お気に入り表示方向テーブル1600(図16参照)は、登録名1601、X軸回転角度1602、Y軸回転角度1603、Z軸回転角度1604から構成される。登録名1601は、ユーザから入力された表示方向の名称である。X軸回転角度1602、Y軸回転角度1603、Z軸回転角度1604は、ユーザからの指示に応じて登録された表示方向のパラメータである。各軸に基づいて3次元モデルを回転するための回転角度が格納されている。お気に入り表示方向テーブル1600は、情報処理装置101の外部メモリ211に記憶されており、情報処理装置101が必要に応じてRAM203に読み出して、使用する。本実施形態においては、お気に入り表示方向テーブル1600に格納される各データは、後述するステップS1506でユーザから登録されるものとするが、最初から用意されていてもよい。つまり、画面キャプチャプログラム310のデフォルト設定として保持するパラメータであってもよい。お気に入り表示方向テーブル1600の構成はこれに限らない。
ステップS1503では、情報処理装置101の画面キャプチャプログラム310は、画面表示制御モジュール312によってキャプチャ処理受付画面800のサムネイル画像一覧803を更新する。具体的には、ステップS407で取得したサムネイル画像をユーザから選択可能に表示する。そして、更にステップS1502で取得したお気に入り表示方向テーブル1600の各データを、お気に入り表示方向一覧1700に表示する。
図17は、第2の実施形態におけるキャプチャ処理受付画面800の一例である。前述した実施形態とは異なり、お気に入り表示方向一覧1700と、お気に入り登録欄1706が備えられている。お気に入り表示方向一覧1700には、チェックボックス欄1701、登録名欄1702、X軸回転角度1703、Y軸回転角度1704、Z軸回転角度1705を備える。チェックボックス欄1701では、ユーザからの操作によりチェックボックスのON/OFFを動作させる。このチェックボックスをONにし、キャプチャボタン801が押下されると、当該チェックボックスでチェックされたレコードの表示方向に3次元モデルを回転させると共に、キャプチャを実行する。複数のチェックボックスにチェックがなされていれば、そのチェックの数だけ回転とキャプチャを実行する。つまり、1回のキャプチャ指示を受け付けるだけで、チェックされているレコードの分だけ一括でキャプチャを実行可能である。登録名欄1702、X軸回転角度1703、Y軸回転角度1704、Z軸回転角度1705には、ステップS1502で取得した登録名1601、X軸回転角度1602、Y軸回転角度1603、Z軸回転角度1604をそれぞれ表示する。更に、お気に入り表示方向一覧1700の空きレコードにおいてユーザからの入力を受け付けることが可能である。このレコードに対して入力を受け付けて、お気に入り登録ボタン1708が押下されると、新たなお気に入りの表示方向として登録できる。
また、お気に入り登録欄1706は、お気に入り表示方向を登録するためのフォームである。登録名入力欄1707に表示方向の名称の入力を受け付け、お気に入り登録ボタン1708が押下されると、現在表示された3次元モデルの表示方向のパラメータを取得し、お気に入り表示方向テーブル1600に新たなお気に入りとして登録することができる。このような画面を表示し、ユーザからの入力を受け付ける。
次に、ステップS409乃至ステップS421は、前述した図4のステップS409乃至ステップS421と同様であるので、説明を省略する。
ステップS1504では、情報処理装置101の画面キャプチャプログラム310は、ユーザからの操作によりお気に入り登録ボタン1708が押下されたか否かを判定する。お気に入り登録ボタン1708が押下されたと判定された場合には、ステップS1505に処理を進める。お気に入り登録ボタン1708が押下されたと判定されなかった場合には、ステップS422に処理を進める。
ステップS1505では、情報処理装置101の画面キャプチャプログラム310は、情報処理装置101の3次元CADアプリケーション300に対して、現在表示されている3次元モデルの表示方向のパラメータを取得するよう、指示を出す。3次元CADアプリケーション300は、その指示を受け付けると表示方向管理モジュール303が現在表示されている3次元モデルの表示方向のパラメータを取得する。そして、取得した表示方向のパラメータを画面キャプチャプログラム310に対して返す。こうすることで、現在表示されている(開かれている)3次元モデルの表示方向のパラメータを取得する。
ステップS1506では、情報処理装置101の画面キャプチャプログラム310は、ステップS1505で取得した表示方向のパラメータと、登録名入力欄1707に入力された登録名を、お気に入り表示方向テーブル1600にレコードを追加して格納する。登録名1601には、登録名入力欄1707で入力された登録名を格納し、X軸回転角度1602、Y軸回転角度1603、Z軸回転角度1604には、取得した表示方向のパラメータをそれぞれ格納する。こうすることにより、ユーザがよく使う表示方向をお気に入りの表示方向として登録しておくことができる。
また、前述したように、お気に入り表示方向一覧1700の空きレコードにユーザから入力を受け付けて、お気に入り登録ボタン1708が押下された場合には、現在表示されている3次元モデルの表示方向のパラメータよりも、お気に入り表示方向一覧1700の空きレコードに入力されたパラメータを優先的に登録する。つまり、当該空きレコードに入力がなされていた場合には、ステップS1505で表示方向のパラメータの取得は行わず、当該空きレコードに対して入力されたパラメータをお気に入り表示方向テーブル1600に登録する。このように処理を切り替えることで、ユーザの利便性を向上させると共に、正確な回転角度を入力したい場合にはユーザが手入力で空きレコードにパラメータの入力を行い、直感的に表示方向を登録しておきたい場合には、3次元モデルを任意の表示方向に回転させて、空きレコードには何も入力しないようにすることで、柔軟なお気に入り登録を実現できる。
ステップS422は、前述した図4のステップS422と同様であるので、説明を省略する。
次に、サムネイル画像取得処理について図18を用いて説明する。尚、ステップS1801乃至ステップS1807の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
まず、ステップS1801では、情報処理装置101の画面キャプチャプログラム310は、現在開いている(表示されている)3次元モデルのファイル名を取得するよう、3次元CADアプリケーション300に対して指示を行う。3次元CADアプリケーション300は、CADデータ記憶モジュール301を用いて、現在開いている3次元モデルのファイル名を取得する。そして、取得したファイル名を画面キャプチャプログラム310に対して返す。このようにすることで、現在開いている3次元モデルのファイル名を取得する。
そして、ステップS1802では、情報処理装置101の画面キャプチャプログラム310は、ステップS1801で取得したファイル名と図19に示す参照先テーブル1900に基づいて、現在開いている3次元モデルと関連する(参照関係にある)3次元モデルを特定し、その特定された3次元モデルのファイル名とそのファイル数を取得する。そして、特定された3次元モデルのファイル名を特定した分だけ配列「参照ファイル名」に代入し、ファイル数を変数「cnt1」に代入する。
例えば、図19の1910の設計物B1912を構成する「TopAssy02.SLDASM」というアセンブリファイルが開かれていた場合、参照先テーブル1900に基づいて「TopAssy02.SLDASM」の参照先を検索すると、そのアセンブリファイルの参照先として「Type04.SLDPRT」と「Type05.SLDPRT」が存在することがわかる。また、ファイル数は「2」である。一方、図19の1910の設計物A1911を構成する「SubAssy01.SLDASM」が開かれていた場合、参照先テーブル1900に基づいて「SubAssy01.SLDASM」の参照先を検索すると、そのアセンブリファイルの参照先として「Type02.SLDPRT」と「Type03.SLDPRT」が存在することがわかる。こちらは更に、参照元として「TopAssy01.SLDASM」が存在し、これが更に参照する先に「Type01.SLDPRT」が存在する。つまり、ファイル数は「4」である。このように、開いている3次元モデルの参照先や参照元を検索することで、関連する3次元モデルを特定し、そのファイル名と数を取得する。
参照先テーブル1900(図19参照)は、CADファイル名1901と参照先CADファイル名1902から構成される。CADファイル名1901は、3次元モデル(CADファイル)のファイル名を示す。参照先CADファイル名1902は、当該3次元モデルが参照している先の3次元モデルのファイル名を示す。尚、本願発明におけるCADファイルにはアセンブリファイルと部品ファイルの2種類が存在する(本願発明では、これらを3次元モデルと称している)。部品ファイルは、設計物を構成する部品を示すファイルである。アセンブリファイルは、部品ファイルを参照して3次元空間のどの位置に部品を配置するのかを定義したファイルである。つまり、本実施形態では参照先テーブル1900をあらかじめ用意しておき、この情報に基づいて現在開いている3次元モデルと関連のある3次元モデルを特定しているが、特定のフォルダに保存されたアセンブリファイルから参照先を取得し、取得した参照先に基づいて、参照先テーブル1900を生成してもよい。この場合、アセンブリファイルのファイル名をCADファイル名1901に格納し、そのレコードの参照先CADファイル名1902に取得した参照先のアセンブリファイルまたは部品ファイルのファイル名を格納する。そして、参照先CADファイル名1902に格納されたファイル名をそれぞれ、更に新しいレコードのCADファイル名1901に格納し、そのCADファイル名1901が示す3次元モデルの参照先も検索する。これを繰り返し、当該特定のフォルダに保存された3次元モデルのチェックがすべて完了したら、処理を終了する。こうすることで、参照先テーブル1900を生成すればよい。
次に、ステップS1803では、情報処理装置101の画面キャプチャプログラム310は、前述した図12の属性情報テーブル1210の行数を取得する。そして、取得した行数を変数「cnt2」に代入する。また、属性情報テーブル1210のCADファイル名1211を行数分だけ配列「属性情報」に代入する。
ステップS1804では、情報処理装置101の画面キャプチャプログラム310は、カウンタ変数「i」に「1」を代入する。そして、後述するステップS1805からステップS1807を実行する。実行が完了したら、変数「i」と変数「cnt1」を比較し、「i<cnt1」となったら、ループを抜ける。そうでなければ、変数「i」をインクリメントし、もう一度ステップS1805からステップS1807を実行する。つまり、ステップS1802で関連があるとされた3次元モデルの数だけループすることになる。
ステップS1805では、情報処理装置101の画面キャプチャプログラム310は、カウンタ変数「j」に「1」を代入する。そして、後述するステップS1806とステップS1807を実行する。実行が完了したら、変数「j」と変数「cnt2」を比較し、「j<cnt2」となったら、ループを抜ける。そうでなければ、変数「j」をインクリメントし、もう一度ステップS1806とステップS1807を実行する。つまり、ステップS1803で取得された属性情報テーブル1210の行数だけループすることになる。
ステップS1806では、情報処理装置101の画面キャプチャプログラム310は、ステップS1802で代入された配列「参照ファイル名」のi番目と、ステップS1803で代入された配列「属性情報」のj番目のCADファイル名とを比較する。その結果、一致すると判定されたら、ステップS1807に処理を進め、一致しないと判定された場合には、ステップS1805に処理を進める。より具体的には、現在開いている3次元モデルと関連があるとされた3次元モデルをキャプチャした際のサムネイル画像が記憶されているか否かを判定している。属性情報テーブル1210には、前述の通り、キャプチャされた際の3次元モデルのサムネイル画像に関する情報が記憶されている。つまり、現在開いている3次元モデルと関連のある3次元モデルのファイル名と同じファイル名が属性情報テーブル1210に存在すれば、以前キャプチャしたことがあるので、サムネイル画像も存在する。逆に、存在しない場合には、以前キャプチャしたことはないので、サムネイル画像は存在しない。サムネイル画像が存在するのであれば、サムネイル画像一覧803に当該サムネイル画像を表示させ、ユーザからの選択操作を受け付けることにより、サムネイル画像が示す表示方向と同じ表示方向で3次元モデルを回転させ、キャプチャをすることができる。
ステップS1807では、情報処理装置101の画面キャプチャプログラム310は、配列「属性情報」のj番目が示す3次元モデルのサムネイル画像を、属性情報テーブル1210のサムネイル画像名1213に示す情報に基づいて、所定のフォルダから当該サムネイル画像を取得する。そして、取得したサムネイル画像をキャプチャ処理受付画面800のサムネイル画像一覧803に表示させる。
例えば、図19の1910に示す模式図のうち、設計物A1911の「Type01.SLDPRT」という部品ファイルが現在開いているとする。この状態で図18のサムネイル画像取得処理を実行すると、参照先テーブル1900に基づいて、関連のある3次元モデルとして、「TopAssy01.SLDASM」、「SubAssy01.SLDASM」、「Type02.SLDPRT」、「Type03.SLDPRT」の4つが特定される。そして、これらの3次元モデルをキャプチャした際のサムネイル画像が属性情報テーブル1210に存在するか否かを判定する。ここでは、4つともすべてのサムネイル画像が存在したとする。すると、当該4つの3次元モデルをキャプチャした際のサムネイル画像を所定のフォルダから取得し、当該サムネイル画像を、図20に示すようにサムネイル画像一覧803に表示させる。つまり、現在開いている「Type01.SLDPRT」と関連のある3次元モデルをキャプチャした際のサムネイル画像のみが表示される。これにより、「Type01.SLDPRT」とは関連のない「TopAssy02.SLDASM」、「Type05.SLDPRT」、「Type06.SLDPRT」に関するサムネイル画像は表示されないことになる。
このようにすることで、関連のある3次元モデルをキャプチャした際のサムネイル画像だけを表示することにより、関連のある3次元モデル同士で同じ表示方向でキャプチャすることができるようになるので、統一感のあるキャプチャ画像を得られる効果を奏する。
次に、キャプチャ処理について図21を用いて説明する。尚、ステップS2101乃至ステップS2106の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
まず、ステップS501乃至ステップS509は、前述した図5のステップS501乃至ステップS509と同様であるので説明を省略する。
ステップS2101では、情報処理装置101の画面キャプチャプログラム310は、チェックボックス欄1701にチェックがなされているレコードがあるか否かを判定する。つまり、お気に入りの表示方向を使用するようユーザから指示がなされているか否かを判定することになる。ひとつでもチェックがなされていれば、チェックがなされているレコードがあると判定する。チェックボックス欄1701にチェックがなされていると判定された場合には、ステップS2102に処理を進める。チェックボックス欄1701にチェックがなされていないと判定された場合には、ステップS510に処理を進める。
ステップS2102では、情報処理装置101の画面キャプチャプログラム310は、変数「cnt」にチェックボックス欄1701においてチェックがなされている数を代入し、更に変数「i」に「1」を代入する。そして、ステップS2103からステップS2106までの処理を行い、「i<cnt」であるか否かを判定する。「i<cnt」となっていれば、ループを抜けるが、そうでない場合には、変数「i」に代入された値をインクリメントし、再びステップS2103からステップS2106の処理を実行する。つまり、チェックボックス欄1701にチェックがなされた数だけ処理を繰り返すことになる。
ステップS2103では、情報処理装置101の画面キャプチャプログラム310は、チェックボックス欄1701にチェックがなされているレコードを特定し、そのレコードが示す表示方向を変更するための各種パラメータをお気に入り表示方向テーブル1600から取得する。より具体的には、特定されたレコードの登録名と同じ登録名1601を持つレコードをお気に入り表示方向テーブル1600から特定し、当該レコードのX軸回転角度1602、Y軸回転角度1603、Z軸回転角度1604から取得する。
ステップS2104では、情報処理装置101の画面キャプチャプログラム310は、ステップS2103で取得した各種パラメータを3次元CADアプリケーション300に渡し、当該各種パラメータを用いて現在表示されている3次元モデルを回転させるよう指示を出す。3次元CADアプリケーション300は、この指示を受け取ると、表示方向管理モジュール303を用いて、現在表示されている3次元モデルを回転させる(表示方向を変更させる)。
ステップS2105では、情報処理装置101の画面キャプチャプログラム310は、CRT210に表示された画面をキャプチャする(キャプチャ実行手段)。具体的には、画面キャプチャプログラム310のキャプチャ範囲設定モジュール318で取得したキャプチャウィンドウ枠1000の座標値や大きさを含めて、キャプチャ指示モジュール314からオペレーティングシステム330のキャプチャ制御モジュール331に対して指示を出す。キャプチャ制御モジュール331は、受け取った座標値や大きさに基づいてキャプチャ範囲を設定し、当該キャプチャ範囲に対して画面キャプチャを実行する。キャプチャが完了したら、キャプチャ制御モジュール331は、キャプチャしたキャプチャ画像をRAM203に記憶する。そして、前述した実施形態と同様に、RAM203からキャプチャ画像を取得し、キャプチャ画像変換モジュール315を用いてユーザから指定された画像形式に変換する。
このようにして、あらかじめ設定されたパラメータを用いて3次元モデルの表示方向を変更させると共に、キャプチャすることができる。また、表示方向を変更する対象の3次元モデルと関連のある3次元モデルをキャプチャした際のサムネイル画像だけを表示するようにすることができる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。