以下、図面を参照して、本発明の実施の形態の一例について説明する。
図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次元CADアプリケーションは、ユーザからの操作に応じて、設計物の3次元モデル(立体データ)の作成や構築、また3次元モデルに基づく2次元図面(平面データ)の作成を行う。尚、3次元モデルや2次元図面はサーバ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は、CADデータ記憶モジュール301、画面表示モジュール302、テーブル管理モジュール303、2次元図面作成モジュール304、加工平面管理モジュール305、高さ寸法作成モジュール306、座標値管理モジュール307を備える。
CADデータ記憶モジュール301は、3次元CADアプリケーションによって作成された設計物の立体形状を示す3次元モデルと、当該3次元モデルに基づいて作成され、複数の投影図によって構成された2次元図面を記憶するモジュールである。CADデータ記憶モジュール301によって記憶された3次元モデル及び2次元図面は、情報処理装置101の外部メモリ211等に記憶され、必要に応じて、CADデータ記憶モジュール301によって読みだされる。
画面表示モジュール302は、各種情報を情報処理装置101のCRT210に表示させるためのモジュールである。画面表示モジュール302は後述する加工平面の設定画面600等の画面を表示させ、必要に応じてユーザからの選択や入力を受け付ける。また、3次元モデルや2次元図面を表示させ、必要に応じて識別可能に表示させる。
テーブル管理モジュール303は、後述する図13の加工平面テーブル1300や属性情報テーブル1600の記憶や更新等を行うためのモジュールである。各種テーブルは、外部メモリ211に記憶され、必要に応じてRAM203に読み出す。
2次元図面作成モジュール304は、CADデータ記憶モジュール301で記憶された3次元モデルに対応するように、当該3次元モデルの2次元図面を作成する。2次元図面は、3次元モデルの投影図であり、ユーザから指示された任意の方向で投影された2次元図面を作成する。例えば、正面図、平面図、右側面図(側面図)といった投影図がある。これらの投影図は2次元図面作成モジュール304によって3次元モデルと対応づけて作成されるので、2次元図面で選択された線分や面といった要素が3次元モデル上のどの箇所に対応するのかがわかるようになっている。
加工平面管理モジュール305は、3次元モデルが示す部品の加工工程ごとに加工する平面を設定するモジュールである。加工工程ごとに基準となる基準面の設定と、加工する平面の設定を行う。ユーザからの指示に応じて、3次元モデル上の平面と加工平面とを紐づけて管理する。
高さ寸法作成モジュール306は、2次元図面の投影図に奥行き方向を示す高さ寸法を作成し、表記するためのモジュールである。高さ寸法作成モジュール306は、ユーザから指定された基準点または基準面と、同じく指定された対象点または対象面、対象線とに基づいて高さ寸法を算出する。2次元図面は前述した通り、3次元モデルと対応づいているので、3次元モデル上の対応する箇所同士の距離をとって高さ寸法として表示させる。
座標値管理モジュール307は、2次元図面で選択された箇所に対応する3次元モデル上の箇所を特定し、当該箇所の座標値を取得したり、座標値同士の算出を行ったりするモジュールである。各種座標値の取得、操作を行う。
サーバ102は、CADデータ記憶モジュール311を備える。CADデータ記憶モジュール311は、前述した情報処理装置101のCADデータ記憶モジュール301と同様である。情報処理装置101に3次元モデル及び2次元図面を記憶管理させる場合には情報処理装置101のCADデータ記憶モジュール301を利用し、サーバ102に3次元モデル及び2次元図面を記憶管理させる場合にはサーバ102のCADデータ記憶モジュール311を利用する。本実施例では、情報処理装置101のCADデータ記憶モジュール301を利用するものとして説明を行う。
次に、本発明の実施形態における情報処理装置101によって行われる一連の処理について、図4に示すフローチャートを用いて説明する。尚、ステップS401乃至ステップS410の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
また、図4に示す処理を行う際には、情報処理装置101のCPU201は3次元CADアプリケーションを動作可能な状態にあるものとして説明を始める。
まず、ステップS401では、情報処理装置101は、情報処理装置101を操作するユーザから入力される各種の指示に従って、例えば図5に示すような3次元モデルを作成する。その後、作成した3次元モデルを情報処理装置101のROM202または外部メモリ211に登録(記憶)する。
図5は、図4のステップS401において作成される3次元モデルの一例を示す図である。3次元モデル500は、3次元CADアプリケーションを利用して作成される。3次元モデル500では、複数の平面の組み合わせにより作成されており、各平面は3次元空間上の座標系での位置情報を持つ。平面501は高さ方向を表すZ座標値が「30mm」であり、平面502は高さ方向を表すZ座標値が「0mm」である。また、3次元CADアプリケーションでは任意の点を指定し、3次元空間上の座標系での位置情報を取得することが可能であり、点503を指定した場合に取得できる高さ方向を表すZ座標値は「0mm」である。3次元CADアプリケーションでは、3次元モデル上の平面間または平面と点との座標値の比較により、その距離を測定することが可能である。3次元モデル500の平面501と平面502との距離は、「30mm−0mm」の計算結果の絶対値である「30mm」となる。
図4の説明に戻る。ステップS402では、情報処理装置101は、図6に示すような加工平面の設定画面600を起動する。
図6は、図4のステップS402においてCRT210に表示される加工平面の設定画面の一例を示す図である。加工平面の設定画面600は、部品種類601、加工平面リスト602、OKボタン603、キャンセルボタン604が設定されている。加工平面リスト602は、加工工程列605、加工平面列606、設定平面列607が設定されている。
部品種類601は、3次元モデルの種類を入力するための入力欄である。部品種類601には、後述する図13の加工平面テーブル1300の部品種類1301に設定されている部品種類が選択候補リストを読み込み、ユーザから選択可能に表示することができる。加工平面リスト602は、部品種類601に入力された部品種類における加工工程、加工平面を表示する表示欄であり、当該行の加工平面に相当する3次元モデル上の平面を入力するための入力欄である設定平面列607を持つ。加工平面リスト602内の加工工程列605には、後述する図7のステップS703により特定される加工工程名を表示する。加工平面リスト602内の加工平面列606には、後述する図7のステップS703により特定される加工平面名を表示する。加工平面リスト602内の設定平面列607には、後述する図7のステップS707により入力される3次元モデル上の平面名を表示する。OKボタン603は、本画面に表示された情報で3次元モデルの属性情報を更新するためのボタンである。キャンセルボタン604は、本画面を終了するためのボタンである。以上が図6の加工平面の設定画面の説明である。
図4の説明に戻る。ステップS403では、情報処理装置101は、3次元モデルの属性情報を更新する処理を行う。加工平面の設定処理の詳細は、後述する図7に示す。
ステップS404では、情報処理装置101は、情報処理装置101を操作するユーザから入力される各種の指示に従って、ステップS401で作成された3次元モデルに基づいて図8に示すような2次元図面を作成する。その後、作成した2次元図面を情報処理装置101のROM202または外部メモリ211に登録(記憶)する。2次元図面は3次元CADアプリケーションの機能を用いて作成される。特に、ステップS401で作成された3次元モデルを構成する各要素と対応づいた2次元図面が作成される。
図8は、図4のステップS404において作成される2次元図面の一例を示す図である。図面800は、投影図A801、投影図B802が作成されている。投影図A801は、図5の3次元モデル500を三面図で形状を表した場合の上面図である。投影図B802は、図5の3次元モデル500を三面図で形状を表した場合の正面図である。ここでいう2次元図面は、前述の通り3次元モデルに対応づいているため、3次元モデルを参照しており、3次元モデルの形状が更新されると2次元図面上の投影図で表示された形状も更新される仕組みとなっている。
図4の説明に戻る。ステップS405では、情報処理装置101は、ステップS404で作成された図面800をCRT210に表示させ、ユーザからの指示に従って、高さ寸法を表記する対象となる図面800内の投影図の一つを選択する。
ステップS406では、情報処理装置101は、ステップS405で表示された図面が参照する3次元モデルに対し、ステップS403で属性情報が設定されているか否かを確認する。参照する3次元モデルに対し属性情報が設定されている場合には、ステップS407に処理を進め、参照する3次元モデルに対し属性情報が設定されていない場合には、ステップS408に処理を進める。
ステップS407では、情報処理装置101は、図9に示す加工工程の選択画面900を表示する。図9は、図4のステップS407においてCRT210に表示される加工工程の選択画面の一例を示す図である。加工工程の選択画面900は、部品種類901、加工工程902、高さ寸法作図ボタン903、キャンセルボタン904が設定されている。
部品種類901は、2次元図面が参照する3次元モデルの属性に設定された部品種類を表示するための表示欄である。加工工程902は、高さ寸法を表記する対象となる加工工程を入力するための入力欄である。高さ寸法作図ボタン903は、ステップS405で選択された投影図に高さ寸法を表記する処理を実行するためのボタンである。キャンセルボタン904は、本画面を終了するためのボタンである。以上が図9の加工工程の選択画面の説明である。
図4の説明に戻る。ステップS408では、情報処理装置101は、ステップS405で選択された投影図に高さ寸法を表記する処理を行う。高さ寸法の自動記入処理の詳細は、後述する図10に示す。高さ寸法の自動記入処理が終了したら、本一連の処理を終了する。
一方、ステップS409では、情報処理装置101は、図11に示す高さ寸法作成画面1100を表示する。図11は、図4のステップS409においてCRT210に表示される高さ寸法作成画面の一例を示す図である。高さ寸法作成画面1100は、基準点・基準面選択ラジオボタン1101、対象面選択ラジオボタン1102、他の投影図に寸法作成ボタン1103、他の投影図に寸法プレビューボタン1104、キャンセルボタン1105が設定されている。
基準点・基準面選択ラジオボタン1101は、ユーザが高さ寸法の基準となる基準点または基準面を2次元図面上で選択する際にチェックするボタンである。対象面選択ラジオボタン1102は、ユーザが高さ寸法を表記したい対象面を2元図面上で選択する際にチェックするボタンである。他の投影図に寸法作成ボタン1103は、高さ寸法作成画面起動前に指定した投影図以外に高さ寸法を作成する処理を実行するためのボタンである。他の投影図に寸法プレビューボタン1104は、高さ寸法作成画面起動前に指定した投影図以外に高さ寸法をプレビュー表示する処理を実行するためのボタンである。キャンセルボタン1105は、本画面を終了するためのボタンである。以上が図11の高さ寸法作成画面の説明である。
図4の説明に戻る。ステップS410では、情報処理装置101は、ステップS405で選択された投影図にユーザが選択した基準点・基準面と対象面の寸法を高さ寸法として表記する処理を行う。高さ寸法作成処理の詳細は、後述する図12に示す。高さ寸法作成処理が終了したら、本一連の処理を終了する。
次に、加工平面の設定処理について図7を用いて説明する。尚、ステップS701乃至ステップS710の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS701では、情報処理装置101は、ユーザからの指示に従って、加工平面の設定画面600の部品種類601に、CRT210に表示されている3次元モデルの部品種類を選択する。
ステップS702では、情報処理装置101は、図13に示す加工平面テーブル1300を検索し、ステップS701で選択入力された部品種類601に設定されている加工工程1302、加工平面1303、平面ID1304を取得する。
図13は、図4のステップS402、図7のステップ702で利用する3次元CADプログラムが内部情報または外部情報として持つ加工平面テーブルの一例を示す図である。加工平面テーブル1300は、部品種類1301、加工工程1302、加工平面1303、平面ID1304などが設定されている。
部品種類1301は、部品の種類を示す情報である。加工工程1302は、部品種類1301を製作する際に必要となる複数の加工工程を示す情報である。加工平面1303は、加工工程1302の加工や検査を行う際に基準となる平面(第1の要素)と、加工や検査の対象となる複数の平面(第2の要素)を示す情報である。平面ID1304は、3次元モデル上の平面に対し、属性として割り当てる値である。3次元モデル上の平面に割り当てられた属性から平面IDを取得し、取得した値で加工平面テーブル1300の平面ID1304を検索することで、3次元モデル上の当該平面の加工工程名と加工平面名を特定する。以上が、図13の加工平面テーブルの一例の説明である。
図7の説明に戻る。ステップS703では、情報処理装置101は、ステップS702で取得した加工工程1302を加工平面の設定画面600の加工工程列605に、加工平面1303を加工平面列606に表示する。
次にステップS704では、情報処理装置101は、変数iに「1」を代入し、その後、変数iの値が加工平面リスト602の行数を超えない間、ステップS705乃至ステップS707の処理を繰り返す。
ステップS705では、情報処理装置101は、加工平面リスト602のi行目の設定平面列607を選択状態にする。
ステップS706では、情報処理装置101は、ユーザからの指示に従って、加工平面リスト602で選択されているi行目の加工平面列606に表示された加工平面に該当する平面を、3次元モデル上で選択する。
ステップS707では、情報処理装置101は、ステップS706で選択された3次元モデル上の平面の名前を取得し、加工平面リスト602のi行目の設定平面列607に表示する。そして、変数iに「1」追加の後、変数iの値が加工平面リスト602の行数以下であるか否かを判断する。変数iの値が加工平面リスト602の行数以下であると判断した場合には、ステップS705からS707の処理を繰り返す。一方、変数iの値が加工平面リスト602の行数を超えたと判断した場合には、ステップS708に処理を進める。
ステップS708では、情報処理装置101は、加工平面の設定画面600の何れかのボタンの押下を受け付けたと判断した場合には、押下されたボタンを特定する。OKボタン603が押下されたと判断した場合には、ステップS709に処理を進め、キャンセルボタン604が押下されたと判断した場合には、加工平面の設定処理を終了し、呼び出し元に処理を戻す。
ステップS708で特定したボタンが、OKボタン603である場合は、ステップS709に処理を移行し、変数iに「1」を代入し、その後、変数iの値が加工平面リスト602の行数を超えない間、ステップS710の処理を繰り返す。
ステップS710では、情報処理装置101は、加工平面リスト602のi行目の設定平面列607に表示された平面名を持つ3次元モデルの平面に対し、ステップS702で取得したi行目の加工平面列606に対応する平面ID1304を属性として付加する。ここでは、3次元CADアプリケーションが管理する3次元モデルを構成する平面の属性として平面ID1304を付加する。こうしておくことで、設定平面列607の各平面が、3次元モデルを構成する平面のうち、どの平面に対応するのかを紐づけておくことができる。変数iに「1」を追加の後、変数iの値が加工平面リスト602の行数以下であるか否かを判断する。変数iの値が加工平面リスト602の行数以下であると判断した場合には、ステップS710の処理を繰り返す。一方、変数iの値が加工平面リスト602の行数を超えたと判断した場合には、部品種類601で選択入力された部品種類を3次元モデルの属性情報に付加し、加工平面の設定画面600を閉じ、加工平面の設定処理を終了する。
ここで、図14を参照して、加工平面の設定処理が行われる際の表示画面の一例について説明する。CRT210上には、3次元モデル1400が表示されている。加工平面の設定画面1401を起動し、ユーザからの指示に従って部品種類1402で「部品A」が選択されると(ステップS701)、加工平面テーブル1300を検索し部品種類1301が「部品A」である加工工程1302、加工平面1303が加工平面リスト1403に表示される(ステップS702、ステップS703)。加工平面リスト1403で選択されている行の加工平面として設定する3次元モデル上の平面1404をユーザが選択すると、平面1404の名前が設定平面1405に表示される(ステップS705、ステップS706)。
図15は、加工平面リスト1403のすべての行の設定平面を選択後、OKボタン1406をクリックし、選択したすべての平面に平面ID1304を属性として付加した状態の一例である。3次元モデル1500の部品の種類属性1501には「部品A」が付加される。また、ステップS710で設定した3次元モデルの平面1502の平面ID属性には「A1−0」、平面1503の平面ID属性には「A1−1」、平面1504の平面ID属性には「A1−2」が付加される(ステップS710)。
図16は、加工平面リスト1403のすべての行の設定平面を選択後、OKボタン1406をクリックし、選択したすべての平面に平面IDを属性として付加することにより作成される3次元モデルの属性情報テーブルの一例である。平面IDの属性情報テーブル1600は、3次元モデル上の平面が持つ平面名1601と、属性情報として付加した平面ID1602が設定されている。こうすることで、設定平面と平面IDとを紐づけておく。
次に、高さ寸法の自動記入処理について図10を用いて説明する。尚、ステップS1001乃至ステップS1009の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS1001では、情報処理装置101は、CRT210上に表示された2次元図面が参照する3次元モデルの種類属性を取得する。3次元モデルの種類属性は、前述したステップS710及び図15に示す通り、3次元モデルごとに付加されている。
ステップS1002では、情報処理装置101は、S1001で取得した部品の種類をステップS407で表示された図9に示すような加工工程の選択画面900の部品種類901に表示する。また、S1001で取得した部品の種類で加工平面テーブル1300の部品種類1301を検索し、一致するすべての行の加工工程1302を取得し、加工工程の選択画面900の加工工程902の選択候補として設定する。
ステップS1003では、情報処理装置101は、ユーザからの指示に従って、加工工程の選択画面900の加工工程902の選択候補の中から、2次元図面上で選択されている投影図に表記したい高さ寸法を持つ加工工程を選択する。
ステップS1004では、情報処理装置101は、加工工程の選択画面900の何れかのボタンの押下を受け付けたと判断した場合には、押下されたボタンを特定する。ステップS1004で特定したボタンが、高さ寸法作図ボタン903である場合は、ステップS1005に処理を移行する。ステップS1004で特定したボタンが、キャンセルボタン904である場合は、加工工程の選択画面900を閉じて、高さ寸法の自動記入処理を終了し、呼び出し元に処理を戻す。
ステップS1005では、情報処理装置101は、加工工程の選択画面900の部品種類901に表示された部品の種類と加工工程902に表示された加工工程で、加工平面テーブル1300の部品種類1301と加工工程1302をそれぞれ検索し、一致する行のうち加工平面1303が「基準面」で始まる値である行の平面ID1304の値を取得する。CRT210上に表示された2次元図面が参照する3次元モデルに存在する平面のうち、取得した平面IDと一致する平面ID属性を持つ平面を基準面として取得する。
ステップS1006では、情報処理装置101は、加工工程の選択画面900の部品種類901に表示された部品の種類と加工工程902に表示された加工工程で、加工平面テーブル1300の部品種類1301と加工工程1302をそれぞれ検索し、一致する行のうち加工平面1303が「加工平面」で始まる値である行の行数を加工平面数として取得する。変数iに「1」を追加の後、変数iの値が加工平面数以下であるかを判断する。変数iの値が加工平面数以下であると判断した場合には、ステップS1007からステップS1009の処理を繰り返す。一方、変数iの値が加工平面数を超えたと判断した場合には、加工工程の選択画面900を閉じる。
ステップS1007では、情報処理装置101は、加工工程の選択画面900の部品種類901に表示された部品の種類と加工工程902に表示された加工工程で、加工平面テーブル1300の部品種類1301と加工工程1302をそれぞれ検索し、一致する行のうち加工平面1303が「加工平面」で始まる値である行のi行目の平面ID1304の値を取得する。CRT210上に表示された2次元図面が参照する3次元モデルに存在する平面のうち、取得した平面IDと一致する平面ID属性を持つ平面を加工平面iとして取得する。
ステップS1008では、情報処理装置101は、CRT210上に表示された2次元図面が参照する3次元モデルに存在する平面のうち、ステップS1005で取得した基準面とステップS1007で取得した加工平面iの距離を測定し、高さ寸法iとして取得する。距離の測定は、3次元CADアプリケーションの機能よって計算される。3次元CADアプリケーションでは、3次元モデル上の平面間または平面と点との座標値の比較により、その距離を測定することが可能である。つまり、図15の3次元モデル1500を例にすると、ステップS1005で平面1502を取得し、ステップS1007で平面1503、平面1504を取得した場合、平面1502と平面1503が持つ3次元空間上におけるZ座標の絶対値の差を算出する。例えば、平面1502のZ座標が「0」、平面1503と平面1504のZ座標が「30」だった場合、これらの差の絶対値は、「30」であるので、平面1502と平面1503、または平面1502と平面1504の距離は「30mm」となる。この例では1座標を1mmとして算出したが、1座標が2mmと設定されていた場合には、「30×2mm」で、距離が「60mm」と算出される。本実施形態では、このような算出方法で2つの要素間の距離を算出したが、算出方法はこれに限らない。例えば、3次元CADアプリケーションが持つAPIの機能により、2つの要素間の最短距離を算出してもよい。この場合、2つの要素の3次元空間上の座標値をAPIに渡すと、当該APIが渡された座標値に基づいて最短距離を算出する。最短距離の算出方法は従来技術であるため、説明を省略する。
ステップS1009では、情報処理装置101は、CRT210上に表示された2次元図面で選択されている投影図上に表示されている加工平面iに注釈を作成する。基準面と加工平面iが平行な場合は、ステップS1008で取得した高さ寸法iの値を注釈に表記する。基準面と加工平面iが平行でない場合は、加工平面iが基準面に対し平行ではないことを表す「SLOPE」などの文字列を注釈に表記する。
ここで、図17を参照して、高さ寸法の自動記入処理が行われる際の表示画面の一例について説明する。CRT210上には、2次元図面1700が表示されている。ユーザにより、2次元図面1700内の投影図面1701が選択されている状態で、加工工程の選択画面1702が起動される(ステップS1002)。加工工程の選択画面1702の部品種類1703には、2次元図面1700が参照する3次元モデルの部品の種類属性「部品A」が表示され、加工工程1704の選択候補には、「部品A」に含まれる加工工程が表示される。ユーザにより加工工程1704が選択され、高さ寸法作図ボタン1705が押下されると(ステップS1004)、2次元図面1700は高さ寸法が注釈として表記された図18に示す状態になる(ステップS1009)。
図18は、高さ寸法の自動記入処理が実行された後の2次元図面の一例である。高さ寸法の自動記入処理前に選択されていた2次元図面1800上の投影図面1801に、高さ寸法1802と高さ寸法1803が注釈として作成される。このように、あらかじめ加工工程ごとに高さ寸法を表示したい平面を指定しておくだけで、高さ寸法を加工工程ごとに表示させることができるようになる。
次に、高さ寸法の選択記入処理について図12を用いて説明する。尚、ステップS1201乃至ステップS1218の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS1201では、情報処理装置101は、ユーザからの指示に従って、ステップS409で表示された図11に示すような高さ寸法作成画面1100の基準点・基準面選択ラジオボタン1101を選択状態にする。
ステップS1202では、情報処理装置101は、CRT210上に表示された2次元図面のうち、ステップS405で選択された投影図上で基準面となる平面が選択されたのか、ステップS405で選択された投影図とは異なる投影図上で基準点となる点が選択されたのかを判断する。ステップS405で選択された投影図上で基準面となる平面が選択されたと判断された場合には、ステップS1203に処理を進め、ステップS405で選択された投影図とは異なる投影図上で基準点となる点が選択されたと判断された場合には、ステップS1205に処理を進める。
ステップS1203では、情報処理装置101は、ユーザからの指示に従って、CRT210上に表示された2次元図面で選択されている投影図上の高さ寸法を算出するための基準となる平面(基準面)を選択(指定)する(第1の指定受付手段)。基準面は、後述するステップS1210において、当該基準面からの距離(高さ寸法)を測定するために使用する。また、平面が指定されると、当該2次元図面を生成した3次元モデルを構成する要素のうち、当該指定された平面に対応する要素がCRT210で識別表示される。2次元図面は3次元モデルから生成されているので、2次元図面の投影図を構成する各要素は、3次元モデルを構成する各要素と対応づいている。そのため、2次元図面で任意の要素が選択されると、その要素に対応する3次元モデルの要素が識別表示できる。ユーザは3次元モデルを作成した後、2次元図面を生成しているので、2次元図面の要素が3次元モデルのどの要素に対応するのか把握しにくい。そのため、ユーザから2次元図面の要素が選択されると、3次元モデルにおいて当該選択された要素に対応する要素を識別表示することで、ユーザに把握させやすくできる。
ステップS1204では、情報処理装置101は、ステップS1203で選択された平面を基準面として取得し、RAM203に記憶しておく。
一方、ステップS1205では、情報処理装置101は、ユーザからの指示に従って、CRT210上に表示された2次元図面で選択されている投影図とは異なる投影図上の、高さ寸法を算出するための基準となる点(基準点)を選択(指定)する(第1の指定受付手段)。基準面同様、基準点は、後述するステップS1210において、当該基準点からの距離(高さ寸法)を測定するために使用する。また点が指定されると、当該2次元図面を生成した3次元モデルを構成する要素のうち、当該指定された点に対応する要素がCRT210で識別表示される。詳細については、ステップS1203で前述した通りである。
ステップS1206では、情報処理装置101は、ステップS1205で選択された点を基準点として取得し、RAM203に記憶しておく。
ステップS1207では、情報処理装置101は、ユーザからの指示に従って、高さ寸法作成画面1100の対象面選択ラジオボタン1102を選択状態にする。
ステップS1208では、情報処理装置101は、CRT210上に表示された2次元図面で選択されている投影図上の高さ寸法の算出対象となる平面の要素(対象面)をユーザからの指示に従って選択(指定)する(第2の指定受付手段)。対象面は、前述した基準面や基準点との距離(高さ寸法)を算出するために使用する。また、平面が指定されると、当該2次元図面を生成した3次元モデルを構成する要素のうち、当該指定された平面に対応する要素がCRT210で識別表示される。詳細については、ステップS1203で前述した通りである。
ステップS1209では、情報処理装置101は、ステップS1208で選択された平面を対象面として取得し、RAM203に記憶しておく。
ステップS1210では、情報処理装置101は、CRT210上に表示された2次元図面の生成元である3次元モデルを構成する要素のうち、ステップS1204で取得した基準面またはステップS1206で取得した基準点と、ステップS1209で取得した対象面をRAM203から読み出し、これらの距離を3次元空間において測定し高さ寸法として取得する(高さ寸法算出手段)。基準面または基準点と対象面の距離については、3次元CADアプリケーションの機能を用いて算出できるので、これを利用するものとする。具体的には、基準面または基準点の3次元空間上における座標値と、対象面の3次元空間上における座標値とに基づいて高さ寸法を算出する。より具体的には、ステップS1204で取得した基準面またはステップS1206で取得した基準点、更にステップS1207で取得した対象面に対応する要素を、2次元図面を生成した3次元モデルを構成する要素の中から特定する。そして、特定された要素には3次元空間上における座標値が存在するので、この座標値の差の絶対値を算出することで、2つの要素間の距離を算出する。3次元空間上における座標値には、X座標とY座標とZ座標が存在するが、選択された対象面が含まれる2次元図面上の投影図が正面図なのか、平面図なのか、側面図なのかに応じて、算出で使用する座標値を変える。例えば、対象面が正面図の場合には、3次元モデルにおける基準面または基準点が持つZ座標と、同じく対象面が持つZ座標の差の絶対値を算出する。また、対象面が平面図の場合には、3次元モデルにおける基準面または基準点が持つY座標と、同じく対象面が持つY座標の差の絶対値を算出する。また、対象面が側面図の場合には、3次元モデルにおける基準面または基準点が持つX座標と、同じく対象面が持つX座標の差の絶対値を算出する。このように、選択された対象面が2次元図面上のどの投影図に含まれるのかに応じて、算出で使用する座標値を変えることで、奥行き方向を示す高さ寸法を算出することができる。尚、高さ寸法の算出方法は他の算出方法であってもよい。例えば、3次元CADアプリケーションが備えるAPIを用いて、選択された基準点または基準面と対象面との3次元空間上における最短距離を算出してもよい。基準点または基準面と対象面との3次元空間上における最短距離は、そのまま高さ寸法となる。よって、このAPIによって2つの要素間の最短距離を算出することで、高さ寸法を算出してもよい。最短距離の算出方法は、従来技術であるので、説明を省略する。
ステップS1211では、情報処理装置101は、ステップS1208で選択された対象面に注釈を作成する(表示手段)。ステップS1204で基準面を取得しており、基準面と対象面が平行な場合は、ステップS1210で取得した高さ寸法の値を注釈に表記する。ステップS1204で基準面を取得しており、基準面と対象面が平行でない場合は、対象面が基準面に対し平行ではないことを表す「SLOPE」などの文字列を注釈に表記する。ステップS1206で基準点を取得している場合は、ステップS1210で取得した高さ寸法の値を注釈に表記する。こうすることで、同一の投影図上または異なる投影図上で基準となる平面や点を選択し、対象面に対する距離を算出し、高さ寸法として表示させることができる。
ステップS1212では、高さ寸法作成画面1100の何れかのボタンの押下を受け付けたと判断した場合には、押下されたボタンを特定する。ステップS1212で特定したボタンが、他の投影図に寸法作成ボタン1103(表示位置変更受付手段)である場合は、ステップS1213に処理を移行する。ステップS1212で特定したボタンが、他の投影図に寸法プレビューボタン1104である場合は、ステップS1216に処理を移行する。ステップS1212で特定したボタンが、キャンセルボタン1105である場合は、高さ寸法作成画面1100を閉じ、高さ寸法の選択記入処理を終了し、呼び出し元に処理を戻す。ボタンの押下を受け付けていない場合には、ステップS1208に処理を戻す。
ステップS1213乃至ステップS1215は、ステップS1211で作成された高さ寸法を他の投影図で対応する箇所に表示させるための処理である。つまり、他の投影図で従来通りの表記方法として寸法線を作成し、そこに高さを表記させる。
ステップS1213では、情報処理装置101は、ユーザからの指示に従って寸法線を作成したい投影図を選択する。ここで選択される投影図は、ステップS1211で注釈を作成した投影図とは別の投影図である。
ステップS1214では、情報処理装置101は、ステップS1211で作成した高さ寸法の注釈を削除する。尚、削除でなくても、非表示となればよい。
ステップS1215では、情報処理装置101は、ステップS1213で選択された投影図内に、ステップS1204で取得した基準面またはステップS1206で取得した基準点と、ステップS1209で取得した対象面の距離を表す長さ寸法として、寸法線を作成する。寸法線は、ステップS1211で算出された高さ寸法に対応する、ステップS1213で選択された投影図上の箇所に作成する。表示された2次元図面は前述した通り3次元モデルと対応づいているので、ステップS1211で作成した高さ寸法が表示された位置から3次元モデルに対応する箇所を特定し、そして、特定された3次元モデルの箇所に対応する、ステップS1213で選択された投影図上の箇所を特定するようにすれば、ステップS1211で作成された高さ寸法に対応する寸法線をステップS1213で選択された投影図上に表示することができる。そして、作成した寸法線にステップS1210で測定された距離を表示する。
ステップS1216乃至ステップS1218は、一時的に他の投影図に対して、ステップS1211で作成した高さ寸法に対応する寸法線をプレビュー表示させる処理である。
ステップS1216では、情報処理装置101は、ユーザからの指示に従って、寸法線をプレビュー表示したい投影図を選択する。ここで選択される投影図は、ステップS1211で注釈を作成した投影図とは別の投影図である。
ステップS1217では、情報処理装置101は、ステップS1216で選択された投影図内に、ステップS1204で取得した基準面またはステップS1206で取得した基準点と、ステップS1209で取得した対象面の距離を表す長さ寸法として、寸法線を作成する。寸法線の作成方法は、前述したステップS1215と同様である。
ステップS1218では、情報処理装置101は、ステップS1217で作成した寸法線を所定時間表示した後、S1217で作成した寸法線を削除する。こうすることで、ステップS1211で作成した高さ寸法に対応する箇所に、寸法線を一時的にプレビュー表示させることができる。
図19は、高さ寸法の選択記入処理における基準面の選択が行われる際の表示画面の一例である。CRT210上には、2次元図面1900が表示されている。ユーザにより、2次元図面1900内の投影図面1901が選択されている状態で、高さ寸法作成画面1902が起動される。その後ユーザにより、高さ寸法作成画面1902の基準点・基準面選択オプションボタン1903が選択された状態で、投影図面1901上に表示されている高さ寸法の基準となる基準面1904が選択される(ステップS1203)。
一方、図20は、高さ寸法の選択記入処理における基準点の選択が行われる際の表示画面の一例である。CRT210上には、2次元図面2000が表示されている。ユーザにより、2次元図面2000内の投影図面2001が選択されている状態で、高さ寸法作成画面2002が起動される。その後ユーザにより、高さ寸法作成画面2002の基準点・基準面選択オプションボタン2003が選択された状態で、投影図面1901以外の投影図上から高さ寸法の基準となる基準点2004が選択される(ステップS1204)。
そして、図21は、高さ寸法の選択記入処理における対象面の選択が行われる際の表示画面の一例である。CRT210上には、2次元図面2100が表示されている。ユーザにより、2次元図面2100内の投影図面2101が選択されている状態で、高さ寸法作成画面2102が起動され、すでに図19に示す基準面の選択または図20で示す基準点の選択が完了している状態である。その後ユーザにより、高さ寸法作成画面2102の対象面選択オプションボタン2103が選択された状態で、投影図面2101上に表示されている高さ寸法の作成対象となる対象面2104が選択される(ステップS1207)。
図22は、基準面の選択を行い高さ寸法の選択記入処理が実行された後の2次元図面の一例である。高さ寸法の選択記入処理において、基準面として図19の基準面1904、対象面として図21の対象面2104が選択されると、2次元図面2200が参照する3次元モデル上で基準面と対象面の距離を測定し、測定結果が「5」として取得される。2次元図面2200上の対象面に注釈2201が作成され、測定結果「5」が表記される。
また、図23は、基準点の選択を行い高さ寸法の選択記入処理が実行された後の2次元図面の一例である。高さ寸法の選択記入処理において、基準点として図20の基準点2004、対象面として図21の対象面2104が選択されると、2次元図面2200が参照する3次元モデル上で基準点と対象面の距離を測定し、測定結果が「30」として取得される。2次元図面2300上の対象面に注釈2301が作成され、測定結果「30」が表記される。
図24は、高さ寸法作成画面1100の他の投影図に寸法作成ボタン1103が押下された後の2次元図面の一例である。高さ寸法の選択記入処理において、基準面として図19の基準面1904、対象面として図21の対象面2104が選択されると、2次元図面2200が参照する3次元モデル上で基準面と対象面の距離を測定し、測定結果が「5」として取得される。2次元図面2400上の対象面に注釈2401が作成され、測定結果「5」が表記される。その後、他の投影図に寸法作成ボタンを押下し、ユーザにより投影図面2402が選択されると、注釈2401は削除され、投影図面2402に、図19の基準面1904と図21の対象面2104の距離を表す長さ寸法2403が作成される。
このように、凹凸面が多い設計物で、複数の投影図を用いて指定された箇所に応じて高さ寸法を表示することができるので、複数の投影図をまたいだ選択であってもユーザの望む寸法を計測し表示させることのできる効果を奏する。
次に、本発明の第二の実施形態について説明する。第二の実施形態は、対象面または対象線が選択された投影図に応じて、高さ寸法を表記するのか、従来の寸法線を用いた寸法を表示するのかを決定する仕組みである。基本的に高さ寸法は奥行きのある寸法として、前述した仕組みを利用して投影図に表記するものが一般的である。しかしながら、2次元図面に表記すべき寸法は、高さ寸法だけでなく、従来から存在する寸法線を用いた寸法表記もある。前述した仕組みでは、高さ寸法を表記するための機能を3次元CADアプリケーションで動作させることによって、実現しているものだが、従来の寸法は先の機能とは別の機能を使用して表記しなければならない。そこで、より簡易な操作によって、高さ寸法と従来の寸法とを表記する必要がある。以下、これを実現するための仕組みについて説明を行う。
第二の実施形態における高さ寸法の選択記入処理について図25を用いて説明する。尚、ステップS2501乃至ステップS2515の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
第二の実施形態における高さ寸法選択記入処理は、前述した図4のステップS410における処理である。よって、図4のステップS401乃至ステップS410は第二の実施形態においても同様の処理を実行する。ステップS401乃至ステップS410は、同様の処理であるので詳細な説明は、省略する。
まず、ステップS2501では、情報処理装置101は、ユーザからの指示に従って、ステップS409で表示された寸法作成画面2602に表示されたラジオボタンのうち、基準点選択ラジオボタン2603を選択状態にする。前述した実施形態では高さ寸法作成画面を表示していたが、第二の実施形態ではステップS409で図26に示すような寸法作成画面2602を表示し、ユーザからの操作を受け付けておく。
ステップS2502では、情報処理装置101は、ユーザからの指示に従って、ステップS405で選択された投影図上から、寸法を計測するための基準となる点(基準点)の選択を行う。そして、ステップS2503では、情報処理装置101は、ステップS2502で選択された点を基準点として、その座標値をRAM203に記憶しておく。図26に示すように、2次元図面2600には2つの投影図が存在し、そのうちステップS405で選択された投影図が前面を示す投影図面2601だった場合、当該投影図面2601に対して基準点の選択を受け付け、ユーザから選択された点2604を基準点とする。
ステップS2504では、情報処理装置101は、ユーザからの指示に従って、ステップS409で表示された寸法作成画面2602に表示されたラジオボタンのうち、対象面・対象線選択ラジオボタン2703を選択状態にする。そして、CRT210に表示された2次元図面を構成する複数の投影図のうち、いずれかの投影図の面または線に対する選択を受け付ける状態にしておく。
ステップS2505では、情報処理装置101は、ユーザからの指示に従って、ステップS405で選択された投影図と同一の投影図上で線分が選択指示されたか否かを判定する。つまり、図27に示すように基準点と同じ投影図上で線分が選択指示されたか否かを判定することになる。同一の投影図上で線分が選択指示されたと判定した場合には、ステップS2506に処理を進め、そうでない場合には、ステップS2510に処理を進める。尚、第二の実施形態では、同一の投影図上では線分が選択指示された場合としているが、線分でなくてもよい。面でも点であってもよい。以下、同様である。
ステップS2506では、情報処理装置101は、ステップS2505で選択指示された線分を選択状態にする(第3の指定受付手段)。そして、ステップS2507では、情報処理装置101は、選択状態の線分を対象線として、その座標値をRAM203に記憶しておく。
ステップS2508では、情報処理装置101は、ステップS2503で取得した基準点と、ステップS2507で取得した対象線をRAM203から取得して、それらに基づいて距離(寸法)を測定する。同一の投影図上であるので、3次元モデル上で対応する箇所同士のZ軸方向(高さ方向)の差を絶対値として算出し、これを寸法とする。これ以外の算出方法であってもよい。
ステップS2509では、情報処理装置101は、対象線と基準点から平行となるような寸法線を作成し、ステップS2508で算出した距離を表記する。具体的には、図27に示すように、基準点を選択した後、対象線2705を選択すると、同一の投影図内であるので、高さ寸法ではなく通常の寸法を表記する必要がある。よって、対象線と基準点から平行となるような寸法線2704を作成し、ステップS2508で算出した距離を表記することで、寸法の表記を簡易に行う。
一方、ステップS2510では、情報処理装置101は、ユーザからの指示に従って、ステップS405で選択された投影図とは異なる投影図上で面が選択指示されたか否かを判定する。つまり、図28に示すように基準点とは異なる投影図上で面が選択指示されたか否かを判定することになる。異なる投影図上で面が選択指示されたと判定した場合には、ステップS2511に処理を進め、そうでない場合には、ステップS2515に処理を進める。尚、第二の実施形態では、異なる投影図上では面が選択指示された場合としているが、面でなくてもよい。線分でも点であってもよい。以下、同様である。
ステップS2511では、情報処理装置101は、ステップS2510で選択指示された面を選択状態にする。そして、ステップS2512では、情報処理装置101は、選択状態の面を対象面として、その座標値をRAM203に記憶しておく。
ステップS2513では、情報処理装置101は、ステップS2503で取得した基準点と、ステップS2512で取得した対象面をRAM203から取得して、それらに基づいて距離(高さ寸法)を測定する。ステップS2509とは異なり、基準点と対象面がそれぞれ異なる投影図上で選択されているので、寸法線を引いて寸法を表記することができないとわかる。よって、高さ寸法を表記する指示と判断する。よって、3次元モデル上で対応する箇所同士のZ軸方向(高さ方向)の差を絶対値として算出し、これを寸法とする。これ以外の算出方法であってもよい。
ステップS2514では、情報処理装置101は、ステップS2511で選択された対象面に高さ寸法を作成し、ステップS2513で算出した距離を表記する。具体的には、図28に示すように、基準点を選択した後、対象面2802を選択すると、基準点と対象面が異なる投影図上で選択されたとわかるので、高さ寸法を表記する必要がある。よって、対象面に高さ寸法2801を作成し、ステップS2513で算出した距離を表記することで、高さ寸法の表記を簡易に行う。
ステップS2515では、情報処理装置101は、寸法作成画面2602に備えられたキャンセルボタン2605が押下されたか否かを判定する。キャンセルボタン2605が押下されたと判定された場合には、第二の実施形態における高さ寸法の選択記入処理を終了して呼び出し元に処理を戻し、そうでない場合には、ステップS2505に処理を戻す。
このようにすることで、従来の寸法線を用いた寸法表記を行いつつも、高さ寸法を表記することが可能となる。
以上説明したように、本実施形態によれば、第1の投影図上で選択されたオブジェクトと第2の投影図上で選択されたオブジェクトとの距離を第1の投影図上または第2の投影図上に表記させることが可能となるので、複数の投影図をまたいだ選択であってもユーザの望む寸法を計測し表示させることのできる効果を奏する。
次に、第一の実施形態と第二の実施形態で2次元図面に高さ寸法が表示された後、3次元モデルにおいて2次元図面で選択された基準点または基準面と対象面、更に高さ寸法を識別表示する処理について、図29を用いて説明する。尚、ステップS2901乃至ステップS2908の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている3次元CADアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、3次元CADアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
前述した第一の実施形態と第二の実施形態では、奥行き方向を示す寸法である高さ寸法をユーザから指定された要素に基づいて3次元モデルで算出し、2次元図面に表示する仕組みを説明した。しかしながら、図面を閲覧するユーザにとっては、2次元図面に専門的な表記が多数あると、どこの要素の何を意味しているのかがわかりにくくなってしまう問題もある。特に、高さ寸法は補助的な表記であり、通常の寸法線とは異なるものであるので、慣れていないユーザが多い。この問題点を解決するために、以下の処理では、2次元図面で高さ寸法が選択されると、3次元モデル上で対応する要素や高さ寸法を識別表示する。これにより、ユーザの理解を助けることができるので、慣れていないユーザであっても、どこからどこの高さ寸法を示しているのかを把握することができる。以下、この詳細な説明を行う。
まず、ステップS2901では、情報処理装置101は、情報処理装置101を操作するユーザからの操作に基づき、第一の実施形態または第二の実施形態で作成された2次元図面を画面に表示し、更に図30に示すような対象面ハイライト画面3000を起動する。
図30は、図29のステップS2901においてCRT210に表示される対象面ハイライト画面3000の一例を示す図である。対象面ハイライト画面3000は、ハイライトボタン3001、キャンセルボタン3002を備えている。ハイライトボタン3001は、後述する図30のステップS2902で選択される高さ寸法や、当該高さ寸法の基準点または基準面と対象面をハイライトするためのボタンである。キャンセルボタン3002は、本画面を終了するためのボタンである。以上が図30の対象面ハイライト画面3000の説明である。
図29の説明に戻る。ステップ2901の処理が終了後、ステップS2902では、情報処理装置101は、ユーザからの指示に応じて、第一の実施形態または第二の実施形態で表示された高さ寸法に対する選択を受け付ける。選択された注釈が高さ寸法であるか否かは、通常の寸法の注釈なのか、高さ寸法の注釈なのかを示す属性を注釈ごとに紐づけて記憶管理しておけばよい。そうすれば、この属性に応じて選択された注釈が高さ寸法であるか否かを判定し、その結果、属性が高さ寸法である旨を示すのであれば、高さ寸法が選択されたと判断できる。
高さ寸法が選択された後、ステップS2903では、情報処理装置101は、対象面ハイライト画面3000のいずれかのボタンの押下を受け付け、いずれのボタンが押下されたか否かを判定する。ハイライトボタン3001が押下されたと判定された場合には、ステップS2904に処理を進める。キャンセルボタン3002が押下されたと判定された場合には、対象面ハイライト画面3000を閉じて、本一連の処理を終了する。
ハイライトボタン3001が押下されたと判定すると、ステップS2904では、情報処理装置101は、CRT210に表示されている2次元図面が参照する3次元モデルをCRT210に表示する。2次元図面は、前述の通り、3次元CADアプリケーションの機能によって3次元モデルから生成されたデータである。そのため、3次元CADアプリケーションで当該2次元図面と3次元モデルの紐付けが行われている。これに従って、ステップS2904では、開いている2次元図面に紐づく3次元モデルを特定し、これをCRT210に表示する。
ステップS2905では、情報処理装置101は、図31で後述する3次元CADアプリケーションが持つ高さ寸法属性情報3100を検索し、ステップS2902で選択された高さ寸法の対象要素1と対象要素2をRAM203に取得する。
図31は、3次元CADアプリケーションが持つ高さ寸法属性情報3100の一例を示す図である。3次元CADアプリケーションが持つ高さ寸法属性情報3100は、寸法ID3101、対象要素1名3102、対象要素2名3103から構成されている。寸法ID3101は、2次元図面上に作成された高さ寸法の固有の識別情報を示す。この識別情報は、2次元図面上に高さ寸法が作成される度に、当該高さ寸法に対して発行される。そのため、一意な情報である。対象要素1名3102は、寸法ID3101が示す高さ寸法を構成する1つめの2次元図面上の要素名を示す。対象2要素名3103は、寸法ID3101が示す高さ寸法を構成する2つめの2次元図面上の要素名を示す。2次元図面上に作成された高さ寸法は、対象要素1名3102の要素と対象要素2名3103の要素の3次元空間における距離を表すものである。つまり、第一の実施形態または第二の実施形態で指定された、基準点または基準面と、対象面を示す。
図29の説明に戻る。ステップS2905の処理が終了後、ステップS2906では、情報処理装置101は、ステップS2904で表示した3次元モデルを構成する要素のうち、ステップS2905で取得した対象要素1名3102に対応する要素をハイライト表示する。3次元モデルから2次元図面が生成されているので、3次元モデルを構成する要素と、2次元図面を構成する要素とが対応づいている。そのため、2次元図面の要素に対応する3次元モデルの要素が特定できる。これに基づいて、対象要素1名3102に対応する要素を3次元モデルから特定し、ハイライト表示させる。本実施形態では、ハイライト表示としているが、ユーザが識別可能に表示できればなんでもよい。点滅させてもよいし、要素の縁や面だけ色を変更してもよい。
ステップS2906の処理が終了後、ステップS2907では、情報処理装置101は、ステップS2904で表示した3次元モデルを構成する要素のうち、ステップS2905で取得した対象要素2名3103に対応する要素をハイライト表示する。処理の詳細は、ステップS2906で前述した通りである。
そして、ステップS2908では、情報処理装置101は、ステップS2906とステップS2907でハイライト表示された2つの要素間に、ステップS2902で選択された高さ寸法を表示する。より具体的には、ステップS2902で選択された高さ寸法の値を取得しておき、ステップS2906とステップS2907でハイライト表示された2つの要素間に高さ寸法を示す寸法線を表示させ、その近傍に取得した高さ寸法の値を表示する。このようにすることで、2次元図面を閲覧するユーザは、2次元図面に表示された高さ寸法に対応する箇所を3次元モデル上で確認することができる効果を奏する。
ここで、図32を参照して、対象面ハイライト処理による画面切り替えの一例について説明する。CRT210上には、2次元図面3200が表示されている。情報処理装置101は、ユーザからに指示に応じて、対象面ハイライト画面3202を起動する。そして、ユーザから高さ寸法3201の選択を受け付けて、ハイライトボタン3203が押下されると、図33に示すように対応する要素がハイライト表示される。
図33は、図32で示す対象面ハイライト処理の実行後にCRT210に表示される3次元モデルの一例を参照して、対象面ハイライト処理による画面切り替えの一例である。3次元モデル3300は、対象面ハイライト処理の実行により、図32に示す高さ寸法3201に対応する高さ寸法属性情報3100の寸法ID3101を特定する。そして、当該寸法ID3101のレコードにある対象要素1名3102と対象要素2名3103に対応する要素3301と要素3302がハイライトされた状態になる。更に、これらの要素間に寸法線を表示させ、選択された高さ寸法の値(距離)を高さ寸法3303に示すような形態で表示する。
以上説明したように、本実施形態によれば、2次元図面に表示された高さ寸法を選択するだけで、当該2次元図面に対応する3次元モデル上で対応箇所を識別表示することが可能となるので、2次元図面だけではわかりにくい情報の理解を助けることのできる効果を奏する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。