以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1は、本発明の3次元モデル管理システム100のシステム構成の一例を示す図である。本発明の3次元モデル管理システム100は、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、3次元CADアプリケーションを実行する装置である。3次元CADアプリケーションは後述する図2のROM202または外部メモリ211に記憶されており、設計者(以下、ユーザ)からの指示に応じて、CPU201がRAM203に読みだして各種動作を行う。
3次元CADアプリケーションは、3次元モデルの形状確認のため、後述する図2のCRT210へのフィーチャの出力制御を行う機能や、3次元モデルの表示方向を変更する機能等を有している。尚、フィーチャとは、特定の形状に対してあらかじめ決めておいた操作手順またはその手順によって作成したモデルをいい、基本的なフィーチャとしては,フィレット(丸み付け)、シェル(薄肉化)、面取り、穴、ボス、リブ等がある。情報処理装置101の3次元CADアプリケーションで作成された3次元モデルはサーバ102で記憶管理される。3次元モデルはサーバ102の外部メモリ211に記憶されても、情報処理装置101の外部メモリ211に記憶されてもよい。本実施例では、情報処理装置101の外部メモリ211に記憶されているものとして、説明を行う。
サーバ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次元モデル記憶モジュール301、画面表示モジュール302、表示方向アイコン管理モジュール303、及び回転管理モジュール304を備える。
3次元モデル記憶モジュール301は、3次元CADアプリケーションによって作成された3次元モデルを記憶するモジュールである(記憶手段)。3次元モデル記憶モジュール301によって記憶された3次元モデルは、情報処理装置101の外部メモリ211等に記憶され、必要に応じて、3次元モデル記憶モジュール301によって読みだされる。また、後述するよく使う表示方向テーブル1100や回転角度テーブル1400を記憶する。
画面表示モジュール302は、各種情報を情報処理装置101のCRT210に表示させるためのモジュールである(表示手段)。画面表示モジュール302は後述するサブウィンドウ800(図8参照)やメインウィンドウといった画面に3次元モデルや、後述する表示方向アイコン802、縮小版バウンディングボックス803といった画面を構成する情報を表示させ、必要に応じてユーザからの選択を受け付ける。
表示方向アイコン管理モジュール303は、サブウィンドウ800に表示する表示方向アイコン802の座標値や、後述するアイコン番号、表示方向アイコンに関する情報を管理するモジュールである。
回転管理モジュール304は、画面表示モジュール302によって表示された3次元モデルを回転させるためのモジュールである。また、後述する回転角度テーブル1400を管理しており、3次元モデルを回転させる場合に、必要に応じて回転角度テーブル1400から情報を取得する。
サーバ102は、3次元モデル記憶モジュール306を備える。3次元モデル記憶モジュール306は、前述した情報処理装置101の3次元モデル記憶モジュール301と同様である。情報処理装置101に3次元モデルを記憶管理させる場合には情報処理装置101の3次元モデル記憶モジュール301を利用し、サーバ102に3次元モデルを記憶管理させる場合にはサーバ102の3次元モデル記憶モジュール306を利用する。本実施例では、情報処理装置101の3次元モデル記憶モジュール301を利用するものとして説明を行う。
次に、本発明の実施例における情報処理装置101によって行われる一連の処理について、図4に示すフローチャートを用いて説明する。尚、S101乃至S109の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
まず、ステップS101では、情報処理装置101は、ユーザからの指示に従って、外部メモリ211に記憶された3次元CADアプリケーションを起動する。そして、処理対象の3次元モデルを一覧表示し、選択を受け付ける。3次元モデルは、情報処理装置101またはサーバ102から取得して一覧表示する。
ステップS102では、情報処理装置101は、ユーザからの指示に従って、ステップS101において表示された3次元モデルのうち、処理を行いたい3次元モデルが選択されたか否かを判定する。選択された場合には、ステップS103に処理を進め、選択されていない場合には、選択されるまで待機する。
ステップS103では、情報処理装置101は、ステップS102において選択された3次元モデルを開き、3次元アプリケーション内のメインウィンドウに当該3次元モデルを表示する。3次元モデルは、情報処理装置101またはサーバ102から取得して開く。メインウィンドウは、3次元モデルを構築するための画面であり、この画面でユーザが求める設計物を構築していく。本発明では、このメインウィンドウに表示された3次元モデルの表示方向を変更するものである。
ステップS104では、情報処理装置101は、ユーザからの指示に従って、表示方向変更プログラムの起動を指示されたか否かを判定する。表示方向変更プログラムは3次元CADアプリケーションのメニューの1つとして動作してもよいし、3次元CADアプリケーションとは別のプログラムとして動作してもよい。起動が指示されたと判定された場合には、ステップS105に処理を進め、起動が指示されていないと判定した場合には、表示方向変更プログラムの起動が指示されるまで待機する。
ステップS105では、情報処理装置101は、ステップS104において指示された表示方向変更プログラムを外部メモリ211から読み出して起動する。
ステップS106では、情報処理装置101は、ユーザに表示方向を選択させるためのサブウィンドウ800(図8参照)を作成する処理を行う。サブウィンドウ作成処理の詳細は、後述する図5に示す。
ステップS107では、情報処理装置101は、サブウィンドウ800でのユーザ操作を受け付け、それに応じてメインウィンドウに表示された3次元モデルの表示方向を変更する処理を行う。表示方向変更処理の詳細は、後述する図6に示す。
ステップS109では、情報処理装置101は、ユーザ操作により選択された表示方向を保存する処理や、保存された表示方向を使用する処理を行う。よく使う表示方向保存・使用処理の詳細は、後述する図7に示す。ステップS109が完了すると、本一連の処理を終了する。または、表示方向変更処理とよく使う表示方向保存・使用処理のどちらかに対する実行指示を受け付けて、ユーザからの指示に従って、実行するよう、待機してもよい。
次に、サブウィンドウ作成処理について図5を用いて説明する。尚、S201乃至S214の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
サブウィンドウ作成処理は、ユーザ操作により表示方向を入力させるためのサブウィンドウ800(図8参照)を作成する処理である。
このサブウィンドウ800には、メインウィンドウに表示されている3次元モデルの縮小版のモデルである縮小版3次元モデル801、モデルの周囲に配置されている表示方向アイコン802、縮小版バウンディングボックス803、座標系804、保存ボタン805、よく使う表示方向ボタン806、及び背景領域807から構成されている。情報処理装置101が背景領域807でユーザによるドラッグ操作を受け付けた場合、図9のサブウィンドウ回転例900に示すように、縮小版3次元モデル801、表示方向アイコン802、縮小版バウンディングボックス803、座標系804が回転する仕組みとなっている。尚、縮小版3次元モデル801は3次元モデルをどの方向から表示するかの選択を容易にするために表示しているが、表示しなくてもよい。
本実施例におけるバウンディングボックスとは、対象となる3次元モデルを包含する直線で構成された立方体を指す。バウンディングボックスは、3次元空間上で表現され、対象となる3次元モデルの大きさに応じて、バウンディングボックスの大きさも変更される。バウンディングボックスの大きさは、対象となる3次元モデルを包み込む最小の立方体とする。本実施例では、前述のような立方体とするが、これに限らない。直方体や球体であってもよいし、3次元モデルを包み込めるのであれば、どのような形でもよい。
まず、ステップS201乃至ステップS205は、縮小版3次元モデル801、および縮小版バウンディングボックス803を作成するための処理である。
ステップS201では、情報処理装置101は、ステップS103においてメインウィンドウに表示された3次元モデルの縦寸法、横寸法、高さ寸法データを取得する。各寸法データは、3次元モデル内に保持されている情報を用いてもよいし、3次元CADアプリケーションの機能を用いて表示されている3次元モデルの寸法を採寸してもよい。
ステップS202では、情報処理装置101は、ステップS201において取得した縦寸法、横寸法、高さ寸法に基づいてバウンディングボックスを作成する。バウンディングボックスは3次元モデルとして作成してもよいし、それ以外でもよい。
ステップS203では、情報処理装置101は、サブウィンドウ800として表示するウィンドウのサイズデータを取得する。サブウィンドウ800のサイズについては、あらかじめ表示方向変更プログラムに記憶させておく。
ステップS204では、情報処理装置101は、ステップS203で取得したサブウィンドウ800のサイズデータに基づいて、サブウィンドウ800内に収まるように、メインウィンドウの3次元モデルを縮小し、縮小版3次元モデル801を作成する。
ステップS205では、情報処理装置101は、ステップS204において作成した縮小版3次元モデル801のサイズに基づいて、ステップS202において作成したバウンディングボックスを縮小し、縮小版バウンディングボックス803を作成する。
ステップS206では、情報処理装置101は、ステップS204において作成された縮小版3次元モデル801をサブウィンドウ800に描画し、表示する。
ステップS207では、情報処理装置101は、ステップS205において作成された縮小版バウンディングボックス803をサブウィンドウ800に描画し、表示する。
ステップS208では、情報処理装置101は、表示方向アイコン802を表示する座標を決定するため、縮小版バウンディングボックス803の各頂点、各辺の中心点、面の中心点の3次元空間上における座標値(x座標、y座標、z座標)を取得し記録する。
ステップS209では、情報処理装置101は、ステップS208において取得された座標値の位置に表示方向アイコン802を描画する(表示手段)。
ステップS210では、情報処理装置101は、ステップS210では、複数表示される表示方向アイコン802を一意に判別するため、描画した表示方向アイコン802のすべてに一意の番号を割り当てる。図10の表示方向アイコン番号の割り振り例1000では、番号の割り振り例を示している。本実施例では図10のような番号の割り振りを行うものとする。尚、一意に割り振れるのであれば、どのような割り振りでも構わない。
ステップS211では、情報処理装置101は、保存ボタン805や、よく使う表示方向ボタン806、座標系804等、サブウィンドウ800を構成するための要素を配置して、描画する。
ステップS212では、情報処理装置101は、メインウィンドウに表示されている3次元モデルに対して、よく使う表示方向が保存されているかどうかを判定する。具体的には、メインウィンドウに表示されている3次元モデルのファイルパスを取得し、よく使う表示方向テーブル1100(図11参照)のファイルパス1101に同一のファイルパスが存在するかどうかを判定する。よく使う表示方向が保存されていると判定された場合には、ステップS214に処理を進め、よく使う表示方向が保存されていないと判定された場合には、ステップS213に処理を進める。
よく使う表示方向テーブル1100は、ユーザが頻繁に使用する表示方向アイコン802を3次元モデルごとに記録するためのものであり、3次元モデルが記憶されているファイルパスを格納するファイルパス1101と、よく使う表示方向として記憶された表示方向アイコン802のアイコン番号を格納するアイコンNo1102から構成される。例えば、よく使う表示方向テーブル1100のNo1に格納されたアセンブリAは、アイコンNo1102が「3」であるので、表示方向アイコン802が「3」であるところがよく使う表示方向として保存されていることを示す。図10でいうと、縮小版バウンディングボックス803の手前左下にある表示方向アイコン802が、アセンブリAに設定されたよく使う表示方向である。よく使う表示方向の保存や使用については、後述する図7に示す。よく使う表示方向テーブル1100は、情報処理装置101またはサーバ102の外部メモリ211等に記憶されているものとして説明するが、3次元モデル内の情報として保持してもよい。
ステップS213では、情報処理装置101は、メインウィンドウに表示されている3次元モデルに対して、よく使う表示方向が保存されていないので、ステップS211において描画されたよく使う表示方向ボタン806を選択不可にする処理を行う。選択不可にする処理としては、よく使う表示方向ボタン806をグレーアウトにし、ユーザからのボタン押下を受け付けないようにしてもよいし、よく使う表示方向ボタン806を非表示にしてもよい。
ステップS214では、情報処理装置101は、メインウィンドウに表示されている3次元モデルに対して、よく使う表示方向が保存されているので、該当行のアイコンNo1102に格納されているアイコン番号が割り振られている表示方向アイコン802の色を変更する。これは、どの表示方向アイコン802が、よく使う表示方向アイコンとして保存されているかを明確にするためである。表示方向アイコン802の色変更例を、図13の表示方向変更処理結果例1300のサブウィンドウに示す。
ステップS213またはステップS214の処理が終了したら、サブウィンドウ作成処理を終了し、呼び出し元に処理を戻す。
次に、図6の表示方向変更処理について説明する。尚、S301乃至S313の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
表示方向変更処理は、前述した図5のサブウィンドウ作成処理で作成されたサブウィンドウ800上の表示方向アイコン802をユーザから選択された場合に、その表示方向アイコン802の位置によって、メインウィンドウの3次元モデルの表示方向を変更する処理である。表示方向の変更イメージを図13の表示方向変更処理結果例1300に示す。
まず、ステップS301では、情報処理装置101は、サブウィンドウ800をアクティブにし、ユーザからの操作を受け付ける状態にする。
ステップS302では、情報処理装置101は、ユーザからの操作によってサブウィンドウ800上でどのような操作が行われたかを判定する。背景領域807でユーザによるドラッグ操作を受け付けたと判定された場合には、ステップS303に処理を進め、カーソル移動の操作を受け付けたと判定された場合には、ステップS304に処理を進める。
ステップS303では、情報処理装置101は、ユーザからのドラッグ操作に基づいて、サブウィンドウ800に表示された縮小版3次元モデル801、表示方向アイコン802、縮小版バウンディングボックス803、及び座標系804を回転する。こうすることで、表示方向アイコン802が縮小版3次元モデル801の裏側に配置されている場合であっても選択可能となる。
ステップS304では、情報処理装置101は、ユーザからのカーソル移動の結果、どの位置にカーソルが存在するのかを取得する。
ステップS305では、情報処理装置101は、ステップS304において取得された位置に表示方向アイコン802が存在するか否かを判定する。つまり、表示方向アイコン802がマウスオーバー(マウスホバー)されているか否かを判定する。表示方向アイコン802が存在すると判定された場合には、ステップS306に処理を進め、そうでない場合には、ステップS304に処理を戻す。
ステップS306では、情報処理装置101は、マウスオーバーされている表示方向アイコン802の色を変更し、マウスオーバー状態となっていることを識別表示させる。具体的には、図12の表示方向アイコン色の変更例1200における、マウスオーバー例1201に示す。識別表示できれば何でもよい。
ステップS307では、情報処理装置101は、ユーザからの操作によって表示方向アイコン802が選択されたか(クリックされたか)否かを判定する(アイコン選択受付手段)。表示方向アイコン802が選択されたと判定された場合には、ステップS308に処理を進め、表示方向アイコン802が選択されていないと判定された場合には、ステップS302に処理を戻す。
ステップS308では、情報処理装置101は、選択された表示方向アイコン802の色を変更し、クリックされたことを識別表示させる。具体的には、図12の表示方向アイコン色の変更例1200における、クリック例1202に示す。識別表示できれば何でもよい。
ステップS309では、情報処理装置101は、選択された表示方向アイコン802のアイコン番号を取得する。表示方向アイコン802ごとに割り振られているので、選択された位置から選択された表示方向アイコン802を特定し、特定された表示方向アイコン802に対応するアイコン番号を取得してもよいし、他の方法でもよい。
ステップS310では、情報処理装置101は、回転角度テーブル1400(図14参照、回転情報)を情報処理装置101またはサーバ102の外部メモリ211等の記憶手段から取得し、ステップS309において取得したアイコン番号に対応する回転角度に関する値を回転角度テーブル1400から取得する(回転情報取得手段)。この回転角度は、表示方向変更に必要な回転角度、およびその回転軸等の値である。
回転角度テーブル1400(図14)は、表示方向アイコン802に割り振られた番号を格納するアイコンNo1401と、その表示方向アイコン802が選択された場合に、3次元モデルを回転させる角度を格納する角度1402、およびどの回転軸で回転させるかを格納する回転中心(X)1403、回転中心(Y)1404、回転中心(Z)1405、回転軸(X)1406、回転軸(Y)1407、回転軸(Z)1408からなる。例えば、角度列に「45度」、回転軸(Y)1307に「1」が格納されている場合、メインウィンドウの3次元モデルを、Y軸を回転軸として45度回転させることになる。これらの回転角度は、表示方向アイコン802を視点として3次元モデルを見たときの角度が格納されている。これにより、複数の表示方向アイコン802から1つを選択するだけで、様々な角度から3次元モデルを表示させることができる。
従って、ステップS310では、回転角度テーブル1400のアイコンNo1401から、ステップS309において取得した表示方向アイコン802の番号と同一の番号を検索し、該当レコードの角度1402、回転中心(X)1403等の値を取得する。
ステップS311では、情報処理装置101は、メインウィンドウの3次元モデルの表示方向を正面に変更する。これは、回転角度テーブル1400に格納されている角度やその回転軸が、メインウィンドウの3次元モデルの表示方向が正面である状態を前提とした値としているためである。つまり、一旦メインウィンドウの表示方向をリセットし、正面に向けておく。
ステップS312では、情報処理装置101は、ステップS310において取得した角度、回転軸に基づいて、メインウィンドウの3次元モデルを回転させる(回転手段)。
図13に示す表示方向変更処理結果例1300に基づいて説明すると、サブウィンドウ800で表示方向アイコン802が選択されると、その表示方向アイコン802のアイコン番号を取得する。図10のアイコン番号に基づいて判断すると、選択されたアイコン番号は「24」である。アイコン番号が「24」であるので、一致するアイコンNo1401を検索し、アイコンNo1401が「24」である回転角度を取得する。回転角度テーブル1400では、アイコン番号が「24」の回転角度は、回転軸(Y)1307が「−135度」、回転軸(X)1306が「−45度」、回転軸(Z)1308が「−45度」となっている。これらに基づいて正面を向いている3次元モデルを回転させる。尚、角度がマイナスとなっているものは逆回転を示す。
ステップS313では、情報処理装置101は、表示方向の変更を終了するか否かを判定する。具体的には、ユーザから表示方向の変更を終了する指示があったか否かを判定してもよいし、他プログラムの起動を検知した場合に終了すると判定してもよい。表示方向の変更を終了すると判定した場合には、表示方向変更処理を終了し、呼び出し元に処理を戻し、表示方向の変更を終了すると判定できない場合には、ステップS302に処理を戻し、表示方向を再度変更するべく、ユーザからの操作を受け付ける。
次に、図7のよく使う表示方向保存・使用処理について説明する。尚、S401乃至S411の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
よく使う表示方向保存・使用処理では、ユーザが直前にクリックした表示方向アイコン802を、よく使う表示方向アイコンとして保存する。また、保存したよく使う表示方向をよく使う表示方向ボタン806の押下に応じて、使用する処理である。
ステップS401では、情報処理装置101は、よく使う表示方向の保存処理を実行するかどうかを決定するため、保存ボタン805の押下を検知したか否かを判定する。保存ボタン805の押下を検知した場合には、ステップS402に処理を進め、保存ボタン805の押下を検知できなかった場合には、ステップS407に処理を進める。
ステップS402では、情報処理装置101は、よく使う表示方向テーブル1100に対して、更新処理を行うのか、追加処理を行うのかを決定するため、よく使う表示方向テーブル1100のファイルパス1101に、メインウィンドウに表示されている3次元モデルのファイルパスが存在するかどうかを判定する。3次元モデルのファイルパスが存在すると判定された場合には、更新処理を行うべくステップS403に処理を進め、3次元モデルのファイルパスが存在しないと判定された場合には、追加処理を行うべくステップS404に処理を進める。
ステップS403では、情報処理装置101は、既によく使う表示方向テーブル1100に表示されている3次元モデルのよく使う表示方向が保存されているので、現在選択されている表示方向アイコン802のアイコン番号をよく使う表示方向テーブル1100に上書き保存する(お気に入り登録手段)。具体的には、よく使う表示方向テーブル1100の該当行のアイコンNo1102の値を、図6の表示方向変更処理のステップS309で記録したアイコン番号に更新する。こうすることで、既に保存されたよく使う表示方向を更新することができる。
ステップS404では、情報処理装置101は、よく使う表示方向テーブル1100には未登録の3次元モデルなので、よく使う表示方向テーブル1100に新しくレコードを追加し、当該3次元モデルのファイルパスをファイルパス1101に格納し、ステップS309で記録したアイコン番号をアイコンNo1102に格納する(お気に入り登録手段)。こうすることで、新規追加を行う。
ステップS405では、情報処理装置101は、ステップS404においてよく使う表示方向が保存されたので、ステップS213において選択不可とされたよく使う表示方向ボタン806を選択可能にする。具体的には、ステップS213においてグレーアウトされていた場合には、それを解除し、よく使う表示方向ボタン806が非表示となっていた場合には、表示することで選択可能とする。
ステップS406では、情報処理装置101は、ステップS309において記録したアイコン番号が割り振られた表示方向アイコン802の色を変更する。つまり、よく使う表示方向として設定された表示方向アイコン802を識別表示させる。
よく使う表示方向の保存処理について、図15のよく使う表示方向保存例1500を基に説明する。ステップS307において表示方向アイコン802がユーザからの操作によってクリックされた後に、保存ボタン805の押下を受け付けると、表示方向保存後のサブウィンドウ800に示すように、選択された表示方向アイコン802の色を変更する。こうしておくことで、その3次元モデルのよく使う表示方向がどの表示方向アイコン802なのかを識別表示することができる。
ステップS407では、情報処理装置101は、よく使う表示方向の使用処理を実行するかどうかを決定するため、よく使う表示方向ボタン806の押下を検知したか否かを判定する。よく使う表示方向ボタン806の押下を検知した場合には、ステップS408に処理を進め、よく使う表示方向ボタン806の押下を検知できなかった場合には、よく使う表示方向保存・使用処理を終了し、処理を呼び出し元に戻す。
ステップS408では、情報処理装置101は、よく使う表示方向テーブル1100のファイルパス1101から、メインウィンドウに表示されている3次元モデルのファイルパスが格納されているレコードのアイコンNo1102の値を取得する。
ステップS409では、情報処理装置101は、回転角度テーブル1400のアイコンNo1401から、ステップS408において取得したアイコンNo1102の値を検索し、そのレコードの角度1402や回転中心(X)1303等の回転角度に関する値を取得する。
ステップS410では、情報処理装置101は、前述したステップS311と同様にメインウィンドウの3次元モデルの表示方向を正面にする。
ステップS411では、情報処理装置101は、ステップS312と同様に、ステップS409において取得した角度、回転軸等でメインウィンドウの3次元モデルを回転させる。回転処理が終了したら、よく使う表示方向保存・使用処理を終了し、処理を呼び出し元に戻す。
次に、本発明の第2の実施例について説明する。前述した実施例ではサブウィンドウのアイコンをクリックすることで視点の変更を行うことが可能だったが、第2の実施例では3次元モデルの構成部品を選択しているのか、そうでないのかによって、変更する視点の中心位置を変更する仕組みについて説明する。尚、システム構成やハードウェア構成については、前述した実施例と同様であるので説明を省略する。
まず、情報処理装置101及びサーバ102のモジュール構成を示す機能構成図について、図28を用いて説明する。尚、図28の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、3次元モデル記憶モジュール2801、画面表示モジュール2802、表示方向アイコン管理モジュール2803、回転管理モジュール2804、構成部品管理モジュール2805、及びよく使う表示方向登録モジュール2806を備える。
3次元モデル記憶モジュール2801は、3次元CADアプリケーションによって作成された3次元モデルを記憶するモジュールである(記憶手段)。3次元モデル記憶モジュール2801によって記憶された3次元モデルは、情報処理装置101の外部メモリ211等に記憶され、必要に応じて、3次元モデル記憶モジュール2801によって読みだされる。また、前述したよく使う表示方向テーブル1100や回転角度テーブル1400、図22に示す構成部品テーブル2210等を記憶する。
画面表示モジュール2802は、各種情報を情報処理装置101のCRT210に表示させるためのモジュールである(表示手段)。画面表示モジュール2802は後述するサブウィンドウ800(図8参照)やメインウィンドウといった画面に3次元モデルや、後述する表示方向アイコン802、縮小版バウンディングボックス803といった画面を構成する情報を表示させ、必要に応じてユーザからの選択を受け付ける。
表示方向アイコン管理モジュール2803は、サブウィンドウ800に表示する表示方向アイコン802の座標値や、後述するアイコン番号、表示方向アイコンに関する情報を管理するモジュールである。
回転管理モジュール2804は、画面表示モジュール2802によって表示された3次元モデルを回転させるためのモジュールである。また、後述する回転角度テーブル1400を管理しており、3次元モデルを回転させる場合に、必要に応じて回転角度テーブル1400から情報を取得する。
構成部品管理モジュール2805は、3次元モデル記憶モジュール2801が記憶した3次元モデルを構成する構成部品を管理するためのモジュールである。3次元モデルを構成する部品同士の親子関係を解析し、構成部品テーブル2210に管理しておく。また、3次元CADアプリケーションからの要求に応じて、表示中の3次元モデルを構成する構成部品に関する情報を収集し、表示させることができる。
よく使う表示方向登録モジュール2806は、画面表示モジュール2802によって表示された表示方向アイコンをよく使うアイコンとして登録しておくためのモジュールである。登録は3次元モデルに対しても登録できるし、構成部品に対しても登録しておくことができる。登録は、よく使う表示方向テーブル1100に対して新たにレコードを追加して登録するか、既にあるレコードを更新することにより行う。
また、サーバ102は、3次元モデル記憶モジュール2810を備える。3次元モデル記憶モジュール2810は、前述した情報処理装置101の3次元モデル記憶モジュール2801と同様である。情報処理装置101に3次元モデルを記憶管理させる場合には情報処理装置101の3次元モデル記憶モジュール2801を利用し、サーバ102に3次元モデルを記憶管理させる場合にはサーバ102の3次元モデル記憶モジュール2810を利用する。本実施例では、情報処理装置101の3次元モデル記憶モジュール2801を利用するものとして説明を行う。
次に、本発明の第2の実施例における情報処理装置101によって行われる一連の処理について、図16に示すフローチャートを用いて説明する。尚、S101乃至S109、S501、S502の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
図16に示すステップS101乃至ステップS109は、前述した図4のステップS101乃至ステップS109と同様であるので、説明を省略する。尚、ステップS106のサブウィンドウ作成処理の詳細は、後述する図17で説明する。また、ステップS107の表示方向変更処理の詳細は、後述する図18で説明する。また、ステップS109のよく使う表示方向保存・使用処理の詳細は、後述する図19及び図20で説明する。
ステップS109の処理が終わると、ステップS501では、情報処理装置101は、サブウィンドウ800に備えられたお気に入り構成部品リスト2305を表示するための処理を実行する。よく使う表示方向抽出処理の詳細は、後述する図22に示す。
ステップS502では、情報処理装置101は、ステップS101で起動された3次元CADアプリケーションの終了が指示されたか否かを判定する。3次元CADアプリケーションの終了が指示されたと判定された場合には、本一連の処理を終了し、そうでない場合には、ステップS107に処理を戻す。
次に、本発明の第2の実施例における情報処理装置101によって行われるサブウィンドウ作成処理について、図17に示すフローチャートを用いて説明する。尚、S201乃至S214、S601乃至S603の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
図17のステップS201乃至ステップS214は、前述した図5のステップS201乃至ステップS214と同様であるので、説明を省略する。
ステップS213またはステップS214の処理が終了すると、ステップS601では、情報処理装置101は、図23に示すサブウィンドウ800に基準角度表示切換プルダウン2301を配置する。基準角度表示切換プルダウン2301は、表示方向アイコンを用いてメインウィンドウに表示された3次元モデルの表示方向を変更する際に、30度を基準とした角度で回転させるのか、45度を基準とした角度で回転させるのかを選択させるためのプルダウンである。
ステップS602では、情報処理装置101は、構成部品テーブル2210(図22参照)を参照して、表示中の3次元モデルを構成する構成部品の一覧を取得する。構成部品テーブル2210(図22参照)は、親構成2211と子構成2212から構成されており、3次元モデルを構成する部品同士の参照関係を示している。本実施例ではこのような構成部品テーブル2210が用意されており、このテーブルを用いて処理を行うが、表示されている3次元モデルを解析し、その解析結果を用いてもよい。表示中の3次元モデルを構成する構成部品が取得できれば、どのような方法でもよい。
ステップS603では、情報処理装置101は、ステップS602で取得した構成部品に基づいて、図23に示すサブウィンドウ800に構成部品選択フォーム2304を配置する。構成部品選択フォーム2304は、後述する表示方向変更処理において、表示中の3次元モデルを構成する構成部品のうち、ユーザが望む構成部品を特定するための選択フォームである。ここで選択された構成部品を中心とした表示方向の変更を行うことができる。
次に、本発明の第2の実施例における情報処理装置101によって行われる表示方向変更処理について、図18に示すフローチャートを用いて説明する。尚、S701乃至S717の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
まず、ステップS701では、情報処理装置101は、図23に示すサブウィンドウ800をアクティブにし、ユーザからの操作を受け付ける状態にする。
ステップS702では、情報処理装置101は、ユーザからの操作によって図23に示すサブウィンドウ800上でどのような操作が行われたかを判定する。背景領域807でユーザによるドラッグ操作を受け付けたと判定された場合には、ステップS703に処理を進め、構成部品選択フォーム2304に対する選択操作を受け付けたと判定された場合には、ステップS704に処理を進める。
ステップS703では、情報処理装置101は、ユーザからのドラッグ操作に基づいて、サブウィンドウ800に表示された縮小版3次元モデル801、表示方向アイコン802、縮小版バウンディングボックス803、及び座標系804を回転する。こうすることで、表示方向アイコン802が縮小版3次元モデル801の裏側に配置されている場合であっても選択可能となる。
ステップS704では、情報処理装置101は、構成部品選択フォーム2304においてユーザから選択された構成部品を設定する(構成部品選択受付手段)。本実施形態では、構成部品選択フォーム2304から選択するような形態とするが、メインウィンドウまたはサブウィンドウに表示されている3次元モデルから構成部品を直接選択してもよいし、その他の方法でもよい。後述するが、ここで選択された構成部品に基づいて、表示方向を変更することができる。
ステップS705では、情報処理装置101は、ユーザからの操作によって表示方向アイコン802が選択されたか(クリックされたか)否かを判定する(アイコン選択受付手段)。表示方向アイコン802が選択されたと判定された場合には、ステップS706に処理を進め、表示方向アイコン802が選択されていないと判定された場合には、表示方向変更処理を終了する。
ステップS706では、情報処理装置101は、選択された表示方向アイコン802の色を変更し、クリックされたことを識別表示させる。具体的には、図12の表示方向アイコン色の変更例1200における、クリック例1202に示す。識別表示できれば何でもよい。
ステップS707では、情報処理装置101は、選択された表示方向アイコン802のアイコン番号を取得する。表示方向アイコン802ごとに割り振られているので、選択された位置から選択された表示方向アイコン802を特定し、特定された表示方向アイコン802に対応するアイコン番号を取得してもよいし、他の方法でもよい。
ステップS708では、情報処理装置101は、サブウィンドウ800に表示された基準角度表示切換プルダウン2301で選択中の基準角度に対応する回転角度テーブルを取得する。例えば、45度であれば図14に示す回転角度テーブル1400を取得し、30度であれば、図24に示す回転角度テーブル2400を取得する。図24に示す回転角度テーブル2400についても図14に示す回転角度テーブル1400と構成は同様である。図25に示す通り、基準角度が異なると3次元モデルの回転角度も変わるため、同じ表示方向アイコンでも見え方が変わる。図25では、表示方向アイコン番号が「7」のアイコンを選択しているが、基準角度表示切換プルダウン2301の値に応じて、表示方向が変わっているところがわかる。このような仕組みにすることで、細かなユーザのニーズにより応えられるようになる。
ステップS709では、情報処理装置101は、ステップS708で取得した回転角度テーブル(回転情報)から、ステップS707で取得したアイコン番号に対応する回転角度に関する値を取得する(回転情報取得手段)。この回転角度は、表示方向変更に必要な回転角度、およびその回転軸等の値である。
ステップS710では、情報処理装置101は、構成部品フォーカスチェックボックス2303にチェックがなされているか否かを判定する。構成部品フォーカスチェックボックス2303は、ユーザからの選択によりチェックを入れることができる。ここにチェックが入れられると、表示中の3次元モデル全体の表示方向を変更するのか、構成部品選択フォーム2304で選択された構成部品を中心として表示方向を変更するのかを切り替えることができる。構成部品フォーカスチェックボックス2303にチェックが入っていると判定された場合には、ステップS712に処理を進め、チェックが入っていない場合には、ステップS711に処理を進める。
ステップS711では、情報処理装置101は、表示中の3次元モデル全体の原点位置、つまり中心点を取得する。原点位置が中心点になっていない場合には、3次元モデルの中心点となるような点を取得するようにする。本実施例では中心点とするが、重心であってもいいしその他の座標であってもよい。
一方、ステップS712では、情報処理装置101は、構成部品選択フォーム2304で選択された構成部品の原点位置、つまり構成部品の中心点を取得する。ステップS711と同様に、原点位置が中心点になっていない場合には、3次元モデルの中心点となるような点を取得するようにする。また、本実施例では中心点とするが、重心であってもいいしその他の座標であってもよい。
ステップS713では、情報処理装置101は、メインウィンドウの3次元モデルの表示方向を正面に変更する。これは、回転角度テーブルに格納されている角度やその回転軸が、メインウィンドウの3次元モデルの表示方向が正面である状態を前提とした値としているためである。つまり、一旦メインウィンドウの表示方向をリセットし、正面に向けておく。
ステップS714では、情報処理装置101は、前述したステップS710と同様に構成部品フォーカスチェックボックス2303にチェックがなされているか否かを判定する。構成部品フォーカスチェックボックス2303にチェックが入っていると判定された場合には、ステップS715に処理を進め、チェックが入っていない場合には、ステップS716に処理を進める。
ステップS715では、情報処理装置101は、構成部品選択フォーム2304で選択されている構成部品をメインウィンドウの3次元モデル上で識別表示する。つまり、識別表示された構成部品を中心に表示方向を変更していることをわかりやすくさせる。
ステップS716では、情報処理装置101は、ステップS709において取得した角度、回転軸と、ステップS711またはステップS712で取得した原点位置に基づいて、メインウィンドウの3次元モデルを回転させる(回転手段)。つまり、ステップS711で取得した原点位置に基づいて回転させると、3次元モデル全体の中心に基づいて回転させることができる。一方、ステップS712で取得した原点位置に基づいて回転させると、選択された構成部品の中心に基づいて回転させることができる。
そして、ステップS717では、情報処理装置101は、回転対象となっている表示中の3次元モデルをウィンドウの大きさに応じて拡大表示する。こうすることで、小さな構成部品であっても拡大して表示させることができる。
このように第2の実施形態では、図26に示すように、構成部品フォーカスチェックボックス2303にチェックを入れて、構成部品選択フォーム2304から構成部品を選び、表示方向アイコンを選択すると、3次元モデル全体の中心を基準に回転させるのではなく、選択された構成部品の中心を基準に回転させることができる。回転させる中心点を3次元モデル全体の中心点なのか、構成部品の中心点なのかで選択できるようにさせることで、ユーザが自由に3次元モデルを閲覧することができるようになる。
次に、本発明の第2の実施例における情報処理装置101によって行われるよく使う表示方向保存・使用処理について、図19と図20に示すフローチャートを用いて説明する。尚、S801乃至S818、S709乃至S717の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS801では、情報処理装置101は、よく使う表示方向の保存処理を実行するかどうかを決定するため、保存ボタン805の押下を検知したか否かを判定する。保存ボタン805の押下を検知した場合には、ステップS802に処理を進め、保存ボタン805の押下を検知できなかった場合には、よく使う表示方向保存・使用処理を終了する。
ステップS802では、情報処理装置101は、構成部品フォーカスチェックボックス2303にチェックがなされているか否かを判定する。構成部品フォーカスチェックボックス2303にチェックが入っていると判定された場合には、ステップS803に処理を進め、チェックが入っていない場合には、ステップS809に処理を進める。
ステップS803では、情報処理装置101は、構成部品選択フォーム2304で選択されている構成部品を特定する。また、ステップS804では、情報処理装置101は、基準角度表示切換プルダウン2301で選択されている基準角度を取得する。
ステップS805では、情報処理装置101は、表示中の3次元モデルとステップS803で特定した構成部品との組み合わせがよく使う表示方向テーブル1100に登録済みか否かを判定する。具体的には、図22に示す通り、よく使う表示方向テーブル1100は更に構成部品2201と基準角度2202を備える。つまり、3次元モデル全体だけではなく、その3次元モデルを構成する部品ごとによく使う表示方向を登録することができる。よって、表示中の3次元モデルとステップS803で特定した構成部品との組み合わせが、ファイルパス1101が示す3次元モデルと構成部品2201が示す部品との組み合わせに存在するか否か判定する。存在すると判定された場合には、ステップS806に処理を進め、存在しない場合には、ステップS807に処理を進める。
ステップS806では、情報処理装置101は、既によく使う表示方向テーブル1100に表示されている3次元モデルと選択された構成部品の組み合わせが登録されているので、現在選択されている表示方向アイコン802のアイコン番号と、ステップS804で取得した基準角度に上書き更新する(お気に入り登録手段)。
一方、ステップS807では、情報処理装置101は、よく使う表示方向テーブル1100には未登録の組み合わせなので、よく使う表示方向テーブル1100に新しくレコードを追加し、当該3次元モデルのファイルパスをファイルパス1101に格納し、構成部品を構成部品2201に格納し、ステップS707で取得したアイコン番号をアイコンNo1102に格納する(お気に入り登録手段)。また、ステップS804で取得した基準角度を基準角度2202に格納する。こうすることで、新規追加を行う。
ステップS808では、情報処理装置101は、ステップS807においてよく使う表示方向が保存されたので、ステップS213において選択不可とされたよく使う表示方向ボタン806を選択可能にする。具体的には、ステップS213においてグレーアウトされていた場合には、それを解除し、よく使う表示方向ボタン806が非表示となっていた場合には、表示することで選択可能とする。
一方、ステップS802でチェックがないと判定された場合には、ステップS809では、情報処理装置101は、ステップS804と同様に基準角度表示切換プルダウン2301で選択されている基準角度を取得する。
ステップS810では、情報処理装置101は、表示中の3次元モデルがよく使う表示方向テーブル1100に登録済みか否かを判定する。こちらはファイルパス1101を参照して、表示中の3次元モデルと同じファイルパスを持ち、かつ構成部品2201に何も格納されていないレコードが存在するか否かを判定する。存在すると判定された場合には、ステップS811に処理を進め、存在しない場合には、ステップS812に処理を進める。
ステップS811では、情報処理装置101は、既によく使う表示方向テーブル1100に表示されている3次元モデルが登録されているので、現在選択されている表示方向アイコン802のアイコン番号と、ステップS809で取得した基準角度に上書き更新する(お気に入り登録手段)。
一方、ステップS812では、情報処理装置101は、表示中の3次元モデルだけのレコードは、よく使う表示方向テーブル1100には未登録なので、よく使う表示方向テーブル1100に新しくレコードを追加し、当該3次元モデルのファイルパスをファイルパス1101に格納し、構成部品2201は空のままにしておき、ステップS707で取得したアイコン番号をアイコンNo1102に格納する(お気に入り登録手段)。また、ステップS809で取得した基準角度を基準角度2202に格納する。こうすることで、新規追加を行う。
ステップS813では、情報処理装置101は、ステップS812においてよく使う表示方向が保存されたので、ステップS213において選択不可とされたよく使う表示方向ボタン806を選択可能にする。具体的には、ステップS213においてグレーアウトされていた場合には、それを解除し、よく使う表示方向ボタン806が非表示となっていた場合には、表示することで選択可能とする。
ステップS814では、情報処理装置101は、ステップS707において記録したアイコン番号が割り振られた表示方向アイコン802の色を変更する。つまり、よく使う表示方向として設定された表示方向アイコン802を識別表示させる。
次に図20の説明に移る。ステップS815では、情報処理装置101は、よく使う表示方向の使用処理を実行するかどうかを決定するため、よく使う表示方向ボタン806の押下を検知したか否かを判定する。よく使う表示方向ボタン806の押下を検知した場合には、ステップS816に処理を進め、よく使う表示方向ボタン806の押下を検知できなかった場合には、よく使う表示方向保存・使用処理を終了し、処理を呼び出し元に戻す。
ステップS816では、情報処理装置101は、構成部品フォーカスチェックボックス2303にチェックがなされているか否かを判定する。構成部品フォーカスチェックボックス2303にチェックが入っていると判定された場合には、ステップS817に処理を進め、チェックが入っていない場合には、ステップS408に処理を進める。
ステップS817では、情報処理装置101は、選択中の構成部品に関してよく使う表示方向アイコンとして登録されているアイコンNoをよく使う表示方向テーブル1100アイコンNo1102から取得する。また、基準角度についても同じく登録してある当該構成部品に対応する基準角度2202から取得しておく。
一方、ステップS818では、情報処理装置101は、表示中の3次元モデルに関してよく使う表示方向アイコンとして登録されているアイコンNoをよく使う表示方向テーブル1100アイコンNo1102から取得する。また、基準角度についても同じく登録してある当該構成部品に対応する基準角度2202から取得しておく。
図20に示すステップS709乃至ステップS717は、前述した図18のステップS709乃至ステップS717と同様であるので、説明を省略する。ステップS817またはステップS818で取得した情報に基づいて、表示方向を変更することができる。
次に、本発明の第2の実施例における情報処理装置101によって行われるよく使う表示方向抽出処理について、図21に示すフローチャートを用いて説明する。尚、S901乃至S907の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
よく使う表示方向抽出処理では、図27に示す通り、現在選択されている表示方向アイコンと同じアイコンをよく使う表示方向として登録している構成部品をよく使う表示方向リスト2701に一覧表示する処理である。
ステップS901では、情報処理装置101は、ステップS707で選択されている表示方向アイコンを特定する。ステップS902では、情報処理装置101は、よく使う表示方向テーブル1100から、ステップS901で特定された表示方向アイコンを登録している構成部品を特定する。具体的には、ステップS901で特定された表示方向アイコンのアイコンNoに基づいて、よく使う表示方向テーブル1100のアイコンNo1102から同じアイコンNoを持つレコードを特定する。その中で構成部品2201にデータが格納されていれば、当該データを抽出する。アイコンNoが「24」であれば、図22に示すよく使う表示方向テーブル1100から「部品2」と「サブアセンブリ1」が特定されることになる。
ステップS903では、情報処理装置101は、サブウィンドウ800に備えられたよく使う表示方向リスト2701に特定した構成部品を設定する。
ステップS904では、情報処理装置101は、ユーザからの指示により、よく使う表示方向リスト2701の表示が要求されたか否かを判定する。表示が要求されたと判定した場合には、ステップS905に処理を進め、そうでない場合には、よく使う表示方向抽出処理を終了し、呼び出し元に処理を戻す。
ステップS905では、情報処理装置101は、ステップS903で設定されたよく使う表示方向リスト2701をプルダウン形式で一覧表示する(一覧表示手段)。ステップS906では、情報処理装置101は、ステップS905で表示されたよく使う表示方向リスト2701の中から、ユーザからの操作によって構成部品が選択されたか否かを判定する。構成部品が選択されたと判定された場合には、ステップS907に処理を進め、そうでない場合には、よく使う表示方向抽出処理を終了し、呼び出し元に処理を戻す。
ステップS907では、情報処理装置101は、ステップS906で選択された構成部品と同一の構成部品をサブウィンドウ800に備えられた構成部品選択フォーム2403に含まれる構成部品の項目を選択状態にする。この状態で再度よく使う表示方向ボタン806が押下されると、前述したよく使う表示方向保存・使用処理が開始されるので、更にユーザにとって柔軟な操作を提供することができるようになる。
以上説明したように、本実施形態によれば、3次元空間上に配置された表示方向変更のためのアイコンがユーザによって選択されることで、当該アイコンが配置された位置を視点として3次元モデルの表示方向を変更することが可能なので、設計者が複雑な操作を行うことなく、柔軟に3次元モデルの表示方向を変更することが可能となる効果を奏する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
上記の目的を達成するために、本発明の情報処理装置は、3次元モデルを表示する情報処理装置であって、前記3次元モデルの表示方向を変更するためのパラメータを、前記3次元モデルの表示方向の変更指示を受け付けるアイコンごとに記憶する記憶手段と、前記3次元モデルを第1のウィンドウに表示し、前記アイコンを第2のウィンドウに表示する表示手段と、前記表示手段で第1のウィンドウに表示された3次元モデルの表示方向を変更するべく、前記表示手段で第2のウィンドウに表示されたアイコンに対する選択を受け付けるアイコン選択受付手段と、前記アイコン選択受付手段で選択を受け付けたアイコンに対応するパラメータを前記記憶手段から取得するパラメータ取得手段と、前記パラメータ取得手段で取得したパラメータを用いて、前記第1のウィンドウにおいて、前記3次元モデルの表示方向を変更するための処理を行う表示方向変更処理手段と、前記3次元モデルを構成する構成部品の選択を受け付ける構成部品選択受付手段とを備え、前記表示方向変更処理手段は、前記構成部品選択受付手段で前記構成部品の選択を受け付けた場合には、前記パラメータ取得手段で取得したパラメータを用いて、前記構成部品を中心として表示方向を変更するための処理を行うことを特徴とする。また、上記の目的を達成するために、本発明の情報処理装置は、3次元モデルを表示する情報処理装置であって、3次元モデルを表示する情報処理装置であって、前記3次元モデルの表示方向を変更するためのパラメータを、前記3次元モデルの表示方向の変更指示を受け付けるアイコンごとに記憶する記憶手段と、前記3次元モデルを包含するように配置された前記アイコンを表示する表示手段と、前記表示手段で表示されたアイコンに対する選択を受け付けるアイコン選択受付手段と、前記アイコン選択受付手段で選択を受け付けたアイコンに対応するパラメータを前記記憶手段から取得するパラメータ取得手段と、前記アイコン選択受付手段で選択を受け付けたアイコンが配置された位置に応じた表示方向で表示するべく、前記パラメータ取得手段で取得したパラメータを用いて、3次元モデルの表示方向を変更するための処理を行う表示方向変更処理手段と、前記3次元モデルを構成する構成部品の選択を受け付ける構成部品選択受付手段とを備え、前記表示方向変更処理手段は、前記構成部品選択受付手段で前記構成部品の選択を受け付けた場合には、前記アイコン選択受付手段で選択を受け付けたアイコンが配置された位置に応じた表示方向で前記選択された構成部品を表示するべく、前記パラメータ取得手段で取得したパラメータを用いて、前記構成部品を中心として表示方向を変更するための処理を行うことを特徴とする。