(57)【特許請求の範囲】
【請求項１】
複数の要素を記憶する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
線分を選択する選択手段と、
前記選択手段により選択された線分と交差する複数の要素を特定する特定手段と、
前記特定手段により特定された、隣り合う要素間の寸法を挿入する位置の指定を受け付ける指定受付手段と、
前記特定手段により特定された要素それぞれの端点のうち、前記指定受付手段により指定を受け付けた側の端点を引き出し位置として決定する決定手段と、
前記決定手段により決定された引き出し位置から引き出された引き出し線と、前記特定手段により特定された、隣り合う要素間の寸法を挿入すべく制御する制御手段として機能させるためのプログラム。
【請求項２】
前記情報処理装置を、
前記特定手段により特定された隣り合う要素間の寸法を算出する算出手段として機能させ、
前記制御手段を、前記算出手段により算出された寸法を図面に挿入するよう制御する手段として機能させるための請求項１に記載のプログラム。
【請求項３】
前記特定手段を、前記選択手段により選択された線分と直交する複数の直線要素を特定する手段として機能させるための請求項１または２に記載のプログラム。
【請求項４】
前記情報処理装置を、
前記特定手段により特定された要素にかかる、前記寸法の引き出し位置を選択する操作を受け付ける受付手段として機能させ、
前記制御手段を、前記受付手段により受け付けた選択操作に基づいて、特定手段により特定された隣り合う要素間の寸法を挿入すべく制御する手段として機能させるための請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
前記制御手段を、前記特定手段により特定された要素が直線要素でなかった場合に、前記受付手段により受け付けた選択操作に基づいて、特定手段により特定された隣り合う要素間の寸法を挿入すべく制御する手段として機能させるための請求項４に記載のプログラム。
【請求項６】
前記特定手段を、前記選択手段により選択された線分と交差する複数の投影線を特定する手段として機能させるための請求項１乃至５のいずれか１項に記載のプログラム。
【請求項７】
複数の要素を記憶する情報処理装置であって、
線分を選択する選択手段と、
前記選択手段により選択された線分と交差する複数の要素を特定する特定手段と、
前記特定手段により特定された、隣り合う要素間の寸法を挿入する位置の指定を受け付ける指定受付手段と、
前記特定手段により特定された要素それぞれの端点のうち、前記指定受付手段により指定を受け付けた側の端点を引き出し位置として決定する決定手段と、
前記決定手段により決定された引き出し位置から引き出された引き出し線と、前記特定手段により特定された、隣り合う要素間の寸法を挿入すべく制御する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項８】
複数の要素を記憶する情報処理装置の制御方法であって、
選択手段手段が、線分を選択する選択工程と、
特定手段が、前記選択工程により選択された線分と交差する複数の要素を特定する特定工程と、
指定受付手段が、前記特定工程により特定された、隣り合う要素間の寸法を挿入する位置の指定を受け付ける指定受付工程と、
決定手段が、前記特定工程により特定された要素それぞれの端点のうち、前記指定受付工程により指定を受け付けた側の端点を引き出し位置として決定する決定工程と、
制御手段が、前記決定工程により決定された引き出し位置から引き出された引き出し線と、前記特定工程により特定された、隣り合う要素間の寸法を挿入すべく制御する制御工程と、
を含む制御方法。
【請求項９】
複数の要素を含むファイルを記憶するサーバと、情報処理装置と、を含む情報処理システムであって、
線分を選択する選択手段と、
前記選択手段により選択された線分と交差する複数の要素を特定する特定手段と、
前記特定手段により特定された、隣り合う要素間の寸法を挿入する位置の指定を受け付ける指定受付手段と、
前記特定手段により特定された要素それぞれの端点のうち、前記指定受付手段により指定を受け付けた側の端点を引き出し位置として決定する決定手段と、
前記決定手段により決定された引き出し位置から引き出された引き出し線と、前記特定手段により特定された、隣り合う要素間の寸法を挿入すべく制御する制御手段と、
を備えることを特徴とする情報処理システム。
【請求項１０】
複数の要素を記憶する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
立体要素を選択する選択手段と、
前記選択手段により選択された立体要素と交差する複数の要素を特定する特定手段と、
前記特定手段により特定された、隣り合う要素間の寸法を挿入する位置の指定を受け付ける指定受付手段と、
前記特定手段により特定された要素それぞれの端点のうち、前記指定受付手段により指定を受け付けた側の端点を引き出し位置として決定する決定手段と、
前記決定手段により決定された引き出し位置から引き出された引き出し線と、前記特定手段により特定された複数の要素のうち、隣り合う要素間の寸法を示す寸法オブジェクトを表示すべく制御する表示制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
図面に対して寸法を挿入することが一般的に行われている。ユーザは、所望の要素を指定して寸法の入力を行なう。
【０００３】
例えば特許文献１には、２次元図面において、対象の要素を複数選択することで、基準点から各要素までの累進寸法を算出する技術が記載されている。また、特許文献２には、要素指定の手間を軽減しつつ、累進寸法を挿入する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−１６５９０２号公報
【特許文献２】特開２０１９−１２４３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１および特許文献２の技術においては、累進寸法の一括挿入はできるものの、隣接する要素間の寸法を一括挿入できない。要素間の寸法を挿入するには、ユーザが手動で対象の要素を１つ１つ指定しなければならない。対象となる要素が多ければ多いほど、要素を指定する作業が多く発生し、手間である。
【０００６】
本発明は、隣接する要素間の距離を示すオブジェクトを、容易に挿入することができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、複数の要素を記憶する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
線分を選択する選択手段と、
前記選択手段により選択された線分と交差する複数の要素を特定する特定手段と、
前記特定手段により特定された、隣り合う要素間の寸法を挿入すべく制御する制御手段と、
して機能させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、隣接する要素間の距離を示すオブジェクトを、容易に挿入することができる仕組みを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における、情報処理システムの構成の一例を示す図である。
【図２】本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の実施形態における、寸法挿入処理の流れを示すフローチャートである。
【図５】本発明の実施形態における、各種データ構成の一例を示す図である。
【図６】本発明の実施形態における、各種データ構成の一例を示す図である。
【図７】本発明の第１の実施形態における、表示画面の構成の一例を示す図である。
【図８】本発明の第２の実施形態における、表示画面の構成の一例を示す図である。
【図９】本発明の第３の実施形態における、表示画面の構成の一例を示す図である。
【図１０】本発明の第４の実施形態における、３次元における寸法挿入処理の流れを示すフローチャートである。
【図１１】本発明の第４の実施形態における、３次元における寸法挿入の様子を示す図である。
【図１２】本発明の５の実施形態における、３次元における寸法挿入の様子を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の第１の実施の形態について説明する。
【００１１】
まず図１を参照して、本発明の実施形態における、情報処理システムの構成の一例について説明する。
【００１２】
ＰＣ１００とサーバ２００は、ネットワーク１０１を介して通信可能に接続されている。
【００１３】
ＰＣ１００には、ＣＡＤ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）アプリケーションがインストールされている。また、ＣＡＤファイルにおいて隣接している要素間の寸法を算出し、挿入するための寸法挿入プログラムが記憶されている。
【００１４】
本実施形態において、寸法挿入プログラムは、ＣＡＤアプリのアドオンプログラムとして記憶され、動作する。
【００１５】
サーバ２００には、ＣＡＤファイルが記憶されている。ＣＡＤファイルには、設計物を構成する部品の３次元形状、サイズ、３次元空間上の位置姿勢を記憶されている。また、各部品のエッジや端点の座標が記憶されている。
【００１６】
３次元形状で表現される設計物のことを３次元モデルという。ＣＡＤアプリは当該３次元モデルを所定の方向から投影した投影図（２次元図面）を作成し、図面形式のＣＡＤファイルとして記憶する機能を備える。投影図におけるどのエッジ、どの端点が、当該投影図のもとになった３次元モデルのどのエッジ、どの端点かの情報は、ＣＡＤアプリがインストールされている装置のメモリに記憶されたエッジのＩＤや端点のＩＤ等により特定可能である。以上が図１の説明である。
【００１７】
以下、図２を用いて、本発明の実施形態における情報処理装置のハードウェア構成の一例について説明する。
【００１８】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００１９】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２０】
また、２０５は入力コントローラで、入力装置２０９（キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス）からの入力を制御する。２０６はビデオコントローラで、ディスプレイ２１０（例えばＣＲＴディスプレイ）等の表示器への表示を制御する。なお、表示器はＣＲＴディスプレイだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じてユーザが使用するものである。
【００２１】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２２】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示した１０１）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２３】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２４】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。以上が図２の説明である。
【００２５】
次に図３を参照して、本発明の実施形態における、機能構成図の一例について説明する。各装置のＣＰＵは、図３の記載の各機能部の機能を用いて、各処理を実行可能である。
【００２６】
ＣＡＤファイル記憶部３１１は、サーバ２００のＣＡＤファイル記憶部３２１から取得したＣＡＤファイルを保持・記憶する機能部である。
【００２７】
表示制御部３１２は、寸法算出部３１５で算出された寸法を挿入・表示するよう、アプリケーションを制御する機能部である。
【００２８】
寸法参照線選択部３１３は、寸法参照線を選択する機能部である。例えば、クリック操作がされた直線要素を、寸法参照線として選択する。
【００２９】
寸法参照線とは、寸法を算出するにあたり、参照すべき要素を特定するために用いる線である。本発明では、例えば、寸法参照線と直交する直線要素を、寸法算出の対象要素として特定する。
【００３０】
要素特定部３１４は、当該寸法算出の対象要素を特定する機能部である。例えば、寸法参照線と交わっている線分の端点を対象要要素として特定する。
【００３１】
寸法算出部３１５は、対象要素間の寸法を算出する機能部である。以上が図３の説明である。
【００３２】
次に図４を参照して、本発明の実施形態における処理の流れを説明する。図４の処理は、ＰＣ１００のＣＰＵ２０１が、ＣＡＤアプリケーションや寸法挿入プログラムの機能を利用して実行する。
【００３３】
ステップＳ４０１の開始時点において、ＣＡＤアプリケーションは、ＣＡＤの図面ファイルを開いているものとする。図５の図面情報５００に示す通り、図面には複数のビュー（ビューＩＤ５０２）が対応付けて記憶されており、ビューの座標５０３を記憶している。なお、５０１は図面の名称である。
【００３４】
ビューとは、投影図を表示するにあたり、投影方向と、投影対象の３次元モデルが規定された情報である。ビューは、ＣＡＤアプリケーションに対するユーザ操作に基づいて、指定された投影方向ごとに作成される。ビューの一例を図７の７００に示す。図７の７００では、二次元図面上に４つのビュー（Ｖｉｅｗ００１〜００４）が表示されている。
【００３５】
また、ビューの保持する情報の一例を図５のビュー情報５１０に示す。各ビューは、ビューを識別可能なビューＩＤ５１１と、ビューに投影する３次元モデルを示すＣＡＤファイル名５１２、投影方向５１３を保持している。
【００３６】
また、各ビューに対して、線分等の線分スケッチを作成することが可能である。図面上の線分スケッチの情報は、線分情報６００（図６）に示す通り、線分スケッチのＩＤ（スケッチＩＤ６０２）と、その端点座標６０３、当該スケッチが属するビューのビューＩＤ６０１を保持している。
【００３７】
図４のステップＳ４０１で、寸法挿入プログラムは、寸法参照線の選択を受け付ける。具体的には、線分の選択操作を受け付けたことに応じて、当該線分のＩＤを線分情報６００から特定し、ＲＡＭ２０３上の寸法参照線情報６１０（具体的にはスケッチＩＤ６１１／図６）に、当該ＩＤを記憶することで、選択された線分を寸法参照線として特定し、記憶する。
【００３８】
選択された寸法参照線の表示例を図７の７１０に示す。７１０は、Ｖｉｅｗ００１を拡大して表示した様子を示す。
【００３９】
また、寸法参照線情報６１０におけるスケッチＩＤ６１１と端点座標６１２は、それぞれ図６の６０２、６０３と同じであるため説明は割愛する。
【００４０】
ステップＳ４０２で、寸法挿入プログラムは、線分情報６００のビューＩＤ６０１を参照し、当該寸法参照線の所属するビューＩＤを特定する。
【００４１】
ステップＳ４０２における具体的な処理を説明する。寸法挿入プログラムは、ＣＡＤアプリケーションで展開中の図面上の、現在アクティブなシート（図面）を対象として、当該シート上の全てのビュー上に存在する線分スケッチのＩＤを特定する。そして、取得した線分のＩＤと、ステップＳ４０１で特定された寸法参照線情報６１０のＩＤとを比較し、一致した線分の属するビューＩＤ６０１が示すビューを、寸法参照線の属するビューとする。
【００４２】
ステップＳ４０３で、寸法挿入プログラムは、ステップＳ４０２で特定された、寸法参照線の所属するビューから、エッジを取得する。
【００４３】
例えば、対象のビューに対応する３次元モデルのエッジのＩＤと、３次元座標をＣＡＤアプリに要求して取得する（図５のエッジ情報５２０の５２２、５２３）。そして、寸法挿入プログラムが、当該３次元座標を投影方向から投影した場合における、投影面上の二次元座標を算出する（図５の５２４）。
【００４４】
エッジ情報５２０は、エッジの座標の一例である。ＣＡＤファイル名５２１に示すＣＡＤファイルにおける、各エッジ５２２の、３次元空間上の両端座標５２３を保持している。エッジ情報はＣＡＤファイルごとに、サーバ２００及びＰＣ１００の外部メモリ２１１に記憶されている。
【００４５】
本実施形態においては、寸法挿入プログラムは、ステップＳ４０２において、ＣＡＤアプリに対し、寸法参照線が所属しているビュー（投影図）において投影されているエッジのＩＤと３次元座標を要求し、取得する。どのエッジが投影されているか／されていないかの判断（投影されているエッジの特定処理）は、当該要求を受け付けたＣＡＤアプリが実行するものとする。ＣＡＤアプリは、例えば、隠れ線等で表現される、投影方向において他の部品や面によって隠れているエッジは座標取得の対象外と判断する。
【００４６】
ステップＳ４０４で、寸法挿入プログラムは、エッジ情報５２０を参照し、寸法参照線の所属するビューにおける全てのエッジのうち、当該エッジの属するビューにおいて、当該ビューに属する寸法参照線と直交するエッジを特定する。すなわち、各投影図の投影面上において、寸法参照線と直交するエッジの投影線を特定する。
【００４７】
ステップＳ４０５で、寸法挿入プログラムは、ステップＳ４０４で特定されたエッジと寸法参照線とエッジとの交点座標を記憶する。ここで記憶される交点座標は、シート（図面）の左下の端点座標をＸ，Ｙ＝０，０とした場合の、図面上の二次元座標である。座標の一例を図６の６２０と、図７の７１０に示す。
【００４８】
ステップＳ４０６で、寸法挿入プログラムは、ステップＳ４０５で特定された交点間の距離を算出し、距離の近い順にソートする。
【００４９】
ステップＳ４０７で、寸法挿入プログラムは、ソート後の順番が、直前と直後の関係にある交点を隣接する交点として特定する。また、当該隣接する交点を形成する、寸法参照線と交差する各エッジを、隣接するエッジとして特定する。
【００５０】
ステップＳ４０８で、寸法挿入プログラムは、ステップＳ４０７で特定した全てのエッジに対して、寸法参照線よりも、寸法の挿入位置側に位置する端点を特定する。寸法参照線を境として、どちら側を寸法の挿入位置とするかは、ユーザ操作により決定する。
【００５１】
具体的には、寸法挿入プログラムは、ステップＳ４０８において、図面に対するマウスクリック操作を受け付けるまで待機する。マウスクリック操作を受け付けた場合、クリック操作がされた図面上の二次元座標（図７の７２０に示す７２１の位置）を特定する。すなわち、寸法を挿入する位置の指定を受け付ける指定受付処理である。
【００５２】
そして、ステップＳ４０７において特定されたエッジの端点のうち、寸法参照線を境として、当該マウスクリックがされた二次元座標側の端点を特定する。
【００５３】
例えば、寸法参照線から当該マウスクリックがされた座標までの垂直距離を特定し、当該寸法参照線からマウスクリックされた座標に向かう方向を特定する。
【００５４】
寸法挿入プログラムは、ステップＳ４０７において特定された各エッジの両端点のうち、寸法参照線から各端点に対する垂直方向を特定する。そして、両端点のうち、当該寸法参照線からマウスクリックされた座標に向けた方向と類似する方向にある端点を、寸法の算出基準とする端点として決定する。つまり、寸法補助線の引き出し位置として決定する。
【００５５】
寸法参照線から各端点に対する垂直方向を図７の７２２に示す。
【００５６】
特定した端点とその座標の一例を、図７の７２０に示す。ここでは、寸法挿入プログラムは、Ｘ，Ｙ＝１０，４５、Ｘ，Ｙ＝３０，４５、Ｙ＝５０，３８、Ｙ＝６０，３８、の４つの端点を特定したものとする。
【００５７】
また、寸法挿入プログラムは、寸法値の挿入位置を決定して寸法値表示座標６３３に記憶する。
【００５８】
寸法値の挿入位置の決定について、一例を説明する。寸法挿入プログラムは、まず、ステップＳ６２０に記憶され近い順にソートされた、隣り合う２つの交点座標ごとに、寸法参照線上の中間位置の座標を特定する。
【００５９】
そして、ステップＳ４０８でマウスクリックを受け付けた座標と法参照線との、垂直方向の距離をメモリから取得し、各中間位置を起点として、寸法参照線から垂直方向に、当該距離分だけ離れた位置を、寸法値の挿入位置として決定する。決定した値は、各交点のペアに基づいて特定された端点のペア（寸法値表示座標６３３）ごとに、対応付けて記憶する。一例を図６の寸法値表示座標６３３に示す。
【００６０】
寸法挿入プログラムは、特定した隣り合う端点を、寸法の挿入対象の要素として、外部メモリ２１１に記憶する。
【００６１】
例えば、図６の寸法挿入対象６３０に示すように、寸法の算出、挿入対象とする隣り合う２つの端点のＸＹ座標を、寸法補助線座標６３２に記憶する。また、寸法補助線座標６３２をＩＤ６３１と対応付けて記憶する。ＩＤ６３１は、寸法補助線座標６３２を一意に識別するための情報である。
【００６２】
ステップＳ４０９で、寸法挿入プログラムは、ステップＳ４０８で特定された、隣接するエッジの端点間の寸法を示す寸法オブジェクト（例えば、寸法補助線、寸法線、寸法を示すテキスト）を図面に挿入するよう、ＣＡＤアプリに要求する。
【００６３】
具体的には、寸法挿入プログラムは、各寸法補助線座標６３２間の、寸法参照線の方向における寸法を算出し、算出したそれぞれの寸法値を示すテキストを、寸法値表示座標６３３の位置に挿入するよう、ＣＡＤアプリに指示する。
【００６４】
当該指示を受けたＣＡＤアプリは、各端点間の、寸法参照線の方向における寸法を算出し、寸法値と寸法線、寸法補助線を挿入する。
【００６５】
寸法線と寸法の情報の一例は図６の６３０に示す。また、寸法挿入された表示の一例を図７の７２０に示す。
【００６６】
寸法挿入プログラムは、外部メモリに記憶された不図示の設定値を参照し、当該設定値が、「寸法挿入後に寸法参照線を削除する」設定となっている場合には、ステップＳ４０１で選択を受け付けた寸法参照線を図面から削除するようＣＡＤアプリに指示する。当該指示を受け付けたＣＡＤアプリは、当該寸法参照線を図面上から削除する。当該設定値が、「寸法挿入後に寸法参照線を削除しない」設定となっている場合には、当該寸法参照線を削除する指示はしない。以上が第１の実施形態の説明である。
【００６７】
以上説明したように、本発明によれば、隣接する要素間の距離を示すオブジェクトを、容易に挿入することができる仕組みを提供することができる。
【００６８】
次に、図８を参照して、本発明の第２の形態を説明する。上述した実施形態の説明と重複する処理については、説明を割愛する。
【００６９】
第２の実施形態においては、寸法の算出対象の要素が特定できなかった場合に、特定できなかった事実やその理由をユーザに通知する。
【００７０】
具体的な処理を説明する。寸法挿入プログラムは、ステップＳ４０１で選択された線分が直線であるか判定する。直線である場合は処理をステップＳ４０２に移行する。直線でなかった場合は、図８の８００に示すように、選択された要素が直線要素でなかったために寸法参照線を特定できなかった旨を土する。つまり、寸法参照線として直線要素を選択するよう通知画面を表示する。
【００７１】
また、寸法挿入プログラムは、ステップＳ４０８で寸法参照線と直交するエッジがあるか判定し、直交するエッジが存在しない場合には、図８の８１０に示すように、直交するエッジが存在しないことを通知する。すなわち、直交するエッジがないために、寸法の算出対象が特定できないことを通知する。
【００７２】
また、寸法挿入プログラムは、ステップＳ４０８で寸法参照線と交差するエッジが２つ以上あるか判定する。交差するエッジが２つ以上存在しない場合には、図８の８２０に示すように、交差するエッジが２つ以上ないことを通知する。すなわち、交差するエッジが２つ以上ないために、寸法の算出対象が特定できないことを通知する。以上が第２の実施形態の説明である。
【００７３】
以上説明したように、第２の実施形態によれば、寸法の算出対象の要素が特定できなかった場合に、特定できなかった事実やその理由を容易に確認することができる。
【００７４】
次に、図９を参照して、本発明の第３の形態を説明する。上述した実施形態の説明と重複する処理については、説明を割愛する。
【００７５】
第３の実施形態においては、寸法の算出対象の要素を、事前にユーザに確認させることができる。
【００７６】
具体的な処理を説明する。寸法挿入プログラムは、ステップＳ４０４において、同ステップで特定された寸法参照線と交差するエッジを識別表示するよう、ＣＡＤアプリに指示する。当該指示を受け付けたＣＡＤアプリは、当該エッジの両端の座標を特定し、それらの座標をつなぐ、当該エッジと同じ長さ・形状のスケッチを生成し、図面上の当該エッジと同じ位置に、当該エッジに重なるように表示する。ＣＡＤアプリは、当該スケッチを投影線と区別できるように、当該スケッチの色を所定の色（例：赤色）に変更する。一例を図９の９００に、破線で示す。
【００７７】
すなわち、当該エッジが寸法の算出基準となる旨をユーザに通知する。
【００７８】
寸法挿入プログラムは、ステップＳ４０８の後、ステップＳ４０８で特定された端点を、寸法の算出基準であることが認識可能となるように識別表示する。
【００７９】
具体的には、寸法挿入プログラムが、寸法補助線座標６３２の各座標に、所定の形状（本実施形態においては、「×」の形状）のオブジェクトを配置するようＣＡＤアプリに指示する。指示を受け付けたＣＡＤアプリは、当該所定の形状のオブジェクトを生成し、図面上の各座標に配置・挿入する。一例を図９の９１０に示す。
【００８０】
寸法挿入プログラムは、ステップＳ４０８の後、図９の９２０に示すような確認ダイアログを表示する。当該確認ダイアログは、ステップＳ４０１〜Ｓ４０８までの処理により特定された要素、座標を基準として、寸法を算出・挿入してよいか、ユーザに確認させるための画面である。
【００８１】
「はい」ボタンの押下を受け付けた場合は、処理をステップＳ４０９に移行し、Ｓ４０９の処理実行後、図９の９００、９１０に示す、各オブジェクト（破線で示す、寸法算出の対象の要素を識別表示するためのスケッチと、端点を示す「×」のオブジェクト）を削除するようＣＡＤアプリに指示する。当該指示に従い、ＣＡＤアプリは対象のオブジェクトを削除する。
【００８２】
「いいえ」ボタンの押下を受け付けた場合には、ステップＳ４０９の処理を実行することなく、処理をステップＳ４０１の前に戻し、寸法参照線の選択を解除する。また、図９の９００、９１０に示す、各オブジェクト（破線で示す、寸法算出の対象の要素を識別表示するためのスケッチと、端点を示す「×」のオブジェクト）を削除する。当該指示に従い、ＣＡＤアプリは対象のオブジェクトを削除する。
【００８３】
以上説明したように、第３の実施形態によれば、寸法の算出対象の要素を、事前にユーザに確認させることができる。
【００８４】
次に、図１０、図１１を参照して、本発明の第４の形態を説明する。上述した実施形態の説明と重複する処理については、説明を割愛する。
【００８５】
第４の実施形態では、ＣＡＤアプリが３次元表示している立体を使って、３次元空間上に寸法を挿入する。
【００８６】
ステップＳ１００１の時点においては、既に、ＣＡＤアプリがＣＡＤファイルを読み込んでメモリ上に展開し、図１１の１１００に示すように、３次元空間（ＸＹＺの３軸で構成される空間）に、立体形状であるＣＡＤファイル（ＣＡＤファイルによって位置姿勢、形状が記憶された３次元モデル）を表示しているものとする。
【００８７】
ステップＳ１００１で、寸法挿入プログラムは、表示中の３次元モデルにおける部品のエッジを選択する。すなわち、立体として記憶されているファイルの要素（立体要素）の選択を受け付ける。
【００８８】
具体的には、ＣＡＤアプリにおいて選択された部品１１１１（図１０の１１１０参照）のＩＤをＣＡＤアプリから取得し、さらに、ＣＡＤアプリにおいて選択された当該部品のエッジ（図１１の１１２０におけるエッジ１１２１）のＩＤおよび座標（例えば、エッジの両端の３次元座標）をＣＡＤアプリから取得してメモリに記憶する。ここで選択されたエッジが、第５の実施形態における寸法参照線である。
【００８９】
ステップＳ１００２で、寸法挿入プログラムは、当該エッジを交差する部品の面を特定する。ここでは、ステップＳ１００１で選択したエッジを保持する部品以外の部品で、当該エッジと交差する面のＩＤ（例：図１１の１１４０における面１１４１、１１４２、１１４３、１１４４の各面のＩＤ）、形状、当該面の頂点座標（３次元座標）をＣＡＤアプリに要求する。ＣＡＤアプリが当該要求に応じて返答した、当該面のＩＤと形状、頂点座標を取得してメモリに記憶する。
【００９０】
ステップＳ１００３で、寸法挿入プログラムは、ステップＳ１００１で選択したエッジと、当該エッジと交差する面の交点座標（例：図１１の１１３０における交点１１３１、１１３２、１１３３、１１３４）をＣＡＤアプリに要求して取得し、メモリに記憶する。
【００９１】
ステップＳ１００４で、寸法挿入プログラムは、ユーザ操作により新たに選択された面（例：図１１の１１５０における面１１５５）を特定する。具体的には、ユーザ操作によりＣＡＤアプリが選択された面のＩＤを、ＣＡＤアプリから取得する。
【００９２】
ステップＳ１００５で、寸法挿入プログラムは、ステップＳ１００２で特定された面（１１４１〜１１４４）と、ステップＳ１００４で特定された面１１５５とから構成されるエッジ（例：図１１のエッジ１１５１、１１５２、１１５３、１１５４）の情報をＣＡＤアプリに問い合わせて取得し、メモリに記憶する。ここで取得するエッジの情報は、当該エッジのＩＤと形状、端点の座標（３次元座標）である。
【００９３】
ステップＳ１００６で、寸法挿入プログラムは、ステップＳ１００５で取得した各エッジの端点座標をメモリから取得して、一覧として記憶する。
【００９４】
ステップＳ１００７で、寸法挿入プログラムは、３次元座標の指定を受け付ける。具体的には、ＣＡＤアプリにおいてクリック操作を受け付けた３次元座標を取得する。当該座標が、ステップＳ１００４で選択された面上の座標出ない場合に、当該座標をメモリに記憶する。ここでは、例えば図１１の１１６０におけるマウスカーソルの位置でクリック操作がされたものとする。
【００９５】
ステップＳ１００８で、寸法挿入プログラムは、ステップＳ１００１で選択したエッジ１１２１を、ステップＳ１００４で選択された面１１５５に対して垂直な方向に投影した場合の投影線の３次元座標を特定する。そして、ステップＳ１００６の端点の一覧から、当該投影線を境として、ステップＳ１００７で指定された座標側にある端点を特定する。
【００９６】
具体的には、エッジ１１２１を面１１５５に対して垂直な方向に引き延ばした平面１１６５（図１１）を生成するようＣＡＤアプリに要求して、ＣＡＤアプリが当該平面１１６５を生成する。そして、ステップＳ１００６の端点の一覧から、当該面を境として、ステップＳ１００７で指定された座標側にある端点を特定する。
【００９７】
ステップＳ１００９で、寸法挿入プログラムは、ステップＳ１００８で特定した端点の、ステップＳ１００１で選択されたエッジの方向における距離を算出し、距離の近い順にソートする。つまり、隣り合う端点要素（隣り合う端点を保持する面）を特定する。
【００９８】
ステップＳ１０１０で、寸法挿入プログラムは、ソートされた複数の端点を、距離の近い順に、２ずつ記憶する。そして、それら２つの端点の間の寸法を示すオブジェクトを、３次元空間に挿入（配置）するようＣＡＤアプリに指示する。
【００９９】
具体的には、平面１１６５と、１１５１〜１１５４の各エッジとの交点座標を特定する。そして、当該交点座標から、当該交点を保持するエッジ上の、ステップＳ１００８で特定された端点１１６１〜１１６４に向かう方向Ｖを特定する。その後、１１６１〜１１６４のそれぞれの端点から、方向Ｖに向けて伸びる線分（寸法補助線）を作成するようＣＡＤアプリに指示し、ＣＡＤアプリが当該指示に従って線分を作成する。
【０１００】
端点１１６１〜１１６４の各端点から伸ばす寸法補助線の長さは、平面１１６５との距離が最も遠い端点１１６１から、方向Ｖに向けて所定距離離れた座標（例えば、１０ｃｍ離れた座標）までの長さとするようＣＡＤアプリに指示する。平面１１６５との距離が最も遠い端点との距離と、当該寸法補助線の長さは、寸法挿入プログラムが算出し、ＣＡＤアプリに伝達する。
【０１０１】
また、隣り合う寸法補助線同士の間の寸法（隣り合う２つの寸法補助線に直交する方向における寸法）を算出するようＣＡＤアプリに指示し、ＣＡＤアプリが当該指示に従って各寸法補助線の間の寸法を算出する。
【０１０２】
また、寸法挿入プログラムは、隣り合う寸法補助線の両方に垂直な線分（寸法線）を作成するようＣＡＤアプリに指示し、ＣＡＤアプリが当該指示に従って各寸法線を作成する。
【０１０３】
また、寸法挿入プログラムは、ＣＡＤアプリにより算出された寸法値を、各寸法線の中間点に重ねて配置するよう指示する。具体的には、平面１１６５と平行な、所定のサイズの面を、各寸法線上に作成し、寸法値を示すテキストを当該平面に転記するようＣＡＤアプリに指示し、ＣＡＤアプリが当該指示に従って、平面の作成およびテキストの転記を行なう。寸法挿入の結果の図を、図１１の１１７０に示す。
【０１０４】
なお、寸法挿入後、寸法挿入プログラムは、ＰＣ１００のメモリに記憶されている不図示の設定情報を参照する。当該設定情報が、「寸法挿入後不要な要素を削除する」設定となっている場合は、例えば、図１１の部品１１１１と、平面１１６５を削除するようＣＡＤアプリに指示する。ＣＡＤアプリは当該指示に従って、部品１１１１と平面１１６５を削除する。以上が第４の実施形態の説明である。
【０１０５】
以上説明したように、第４の実施形態によれば、立体を表示するの表示領域において、隣接する要素間の距離を示すオブジェクトを、容易に挿入することができる仕組みを提供することが可能となる。
【０１０６】
次に図１２を参照して、第５の実施形態を説明する。上述した実施形態の説明と重複する処理については、説明を割愛する。
【０１０７】
第５の実施形態においては、モードに応じて、どの要素間の寸法を算出するかを切り替えて、隣接する要素間の距離を示すオブジェクトを、容易に挿入することができる仕組みを提供する。
【０１０８】
また、寸法参照線と直交するエッジだけでなく、交差するエッジ全てを対象にして寸法の算出、挿入を行なう仕組みを提供する。
【０１０９】
ステップＳ４０６の直後、寸法挿入プログラムは、外部メモリに記憶されている不図示のモード情報を参照する。モード情報は、交点間の寸法を挿入するモードか、エッジ間の寸法を挿入するモードかを示す値を保持してる。
【０１１０】
寸法挿入プログラムは、モード情報が、エッジ間の寸法を挿入するモードを示す場合には、処理をステップＳ４０６に移行し、寸法の算出、挿入の処理を行なう。挿入結果の様子を図１２の１２１０に示す。
【０１１１】
一方、モード情報が、交点間の寸法を挿入するモードを示す場合には、隣り合う交点間の直線距離を算出し、その距離の値を、交点間の寸法として挿入するようＣＡＤアプリに指示する。例えば、図１２の１２００に示す、交点１２０１、１２０２、１２０３、１２０４それぞれの間の寸法である。ＣＡＤアプリは当該指示に従って、寸法の算出と挿入を実行する。挿入結果の様子を図１２の１２００に示す。以上が第５の実施形態の説明である。
【０１１２】
第５の実施形態によれば、モードに応じて、どの要素間の寸法を算出するかを切り替えて、隣接する要素間の距離を示すオブジェクトを、容易に挿入することができる。
【０１１３】
また、寸法参照線と直交するエッジだけでなく、交差するエッジ全てを対象にして寸法の算出、挿入を行なうことができる。
【０１１４】
以上説明したように、本発明によれば、隣接する要素間の距離を示すオブジェクトを、容易に挿入することができる仕組みを提供することができる。
【０１１５】
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１１６】
具体的には、ＰＣ１００とサーバ２００が一体であり、上述した実施形態の各処理（例えば図３で説明した各機能部の処理や、第１〜第５の実施形態で、ＣＡＤアプリ及び寸法参照プログラムが実行するものとして説明した各処理）を実行するようにしてもよい。
【０１１７】
また、ＣＡＤアプリおよび寸法挿入プログラムがＰＣ１００で起動し、処理を実行するものとして説明したが、それぞれのアプリケーションプログラムが、異なる筐体に記憶され、起動し、処理を実行するようにしてもよい。例えば、ＣＡＤアプリはサーバ２００にインストールされており、ＰＣ１００に対する操作情報をサーバ２００が取得することでＣＡＤアプリに対するユーザ操作を受け付ける。また、ＰＣ１００とサーバ２００が適宜通信を行なうことで、ＰＣ１００にインストールされた寸法挿入プログラムが、当該ＣＡＤアプリからエッジや各要素の座標等情報を取得し、座標のソートや寸法挿入の位置の決定等を行なう。
【０１１８】
また、本実施形態の説明においては、一例として、寸法挿入プログラムがＣＡＤアプリのアドオンプログラムであるものとして説明したが、それぞれが独立して動作する実行形式のプログラムとしてＰＣ１００のメモリにプログラムを記憶し、機能を実行するようにしてもよい。
【０１１９】
また、本実施形態の説明においては、一例として、ＣＡＤアプリが３次元モデルのファイルを記憶したり、図面を表示したり、寸法を算出・挿入したりするものとしたが、別のアプリが当該処理を実行してもよい。
【０１２０】
例えば、３次元空間として、仮想空間の座標やその空間に表示する３次元物体の形状、サイズ、位置姿勢を記憶、管理する、仮想現実あるいは拡張現実、複合現実感の表示機能を提供する情報処理装置が、寸法挿入プログラムと通信し、情報を交換して、寸法の算出や挿入、表示を行なうように構成してもよい。
【０１２１】
また、表示装置は、仮想現実あるいは拡張現実、複合現実感の体験者が装着するヘッドマウントディスプレイ等の装着型の装置でもよい。
【０１２２】
ヘッドマウントディスプレイと、仮想現実あるいは拡張現実、複合現実感の表示機能を提供する情報処理装置は一体であってもよい。
【０１２３】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１２４】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２５】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１２６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１２７】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１２８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３０】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１３１】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１３２】
１００  ＰＣ
１０１  ネットワーク
２００  サーバ
【要約】
【課題】隣接する要素間の寸法を、容易に挿入することができる仕組みを提供すること
【解決するための手段】複数の要素を記憶しておき、線分を選択し、選択された当該線分と交差する複数の要素を特定し、特定された当該複数の要素のうち、隣り合う要素間の寸法を挿入すべく制御する
【選択図】図４【図１】
0006826297.tif 000002
【図２】
0006826297.tif 000003
【図３】
0006826297.tif 000004
【図４】
0006826297.tif 000005
【図５】
0006826297.tif 000006
【図６】
0006826297.tif 000007
【図７】
0006826297.tif 000008
【図８】
0006826297.tif 000009
【図９】
0006826297.tif 000010
【図１０】
0006826297.tif 000011
【図１１】
0006826297.tif 000012
【図１２】
0006826297.tif 000013