(57)【特許請求の範囲】
【請求項１】
３次元で表現された複数の部品データのうち所定の部品データを代表する面データ群から、いずれかの面データを指定し、
前記いずれかの面データで示される面と、前記面データ群の中の前記いずれかの面データ以外の面データで示される前記面から最短距離で前記面に対向する対向面と、の間の位置に、前記面に対向する第１の設定面を設定し、
前記第１の設定面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定し、
前記３次元で表現された複数の部品データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を得る、
処理をコンピュータに実行させることを特徴とするデータ処理プログラム。
【請求項２】
前記第１の設定面を設定する処理は、
前記面と前記対向面との中間の位置に、前記第１の設定面を設定することを特徴とする請求項１に記載のデータ処理プログラム。
【請求項３】
前記第１の設定面を設定する処理は、
前記面と、前記面データ群の中の前記いずれかの面データ以外の第１の面データで示され前記面から最短距離で前記面に対向する第１の対向面と、の間の位置に、前記面および前記第１の対向面に対向する第１の設定面を設定し、
前記第２の設定面を設定する処理は、
前記面データ群の中の第２の面データで示され、前記面に対して前記第１の対向面とは反対側に位置する第２の対向面を設定し、
前記面と前記第２の対向面との間の位置に、前記面に対向する第２の設定面を設定することを特徴とする請求項１に記載のデータ処理プログラム。
【請求項４】
前記第２の設定面を設定する処理は、
前記面と、前記第１の対向面とは反対側において前記面から最短距離となる第２の対向面と、の間の位置に、前記面および前記第２の対向面に対向する第２の設定面を設定することを特徴とする請求項３に記載のデータ処理プログラム。
【請求項５】
３次元の物体データ内の複数の部品データに関する面データ群から、いずれかの面データを指定し、
前記いずれかの面データで示される面と、前記面データ群の中の前記いずれかの面データ以外の面データで示され前記面から最短距離で前記面に対向する対向面と、の間の位置に、前記面および前記対向面に対向する第１の設定面を設定し、
前記面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定し、
前記３次元の物体データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を、射影処理を実行する射影手段に出力する、
処理をコンピュータが実行することを特徴とするデータ処理方法。
【請求項６】
３次元で表現された複数の部品データのうち所定の部品データを代表する面データ群から、いずれかの面データを指定する指定手段と、
前記いずれかの面データで示される面と、前記面データ群の中の前記いずれかの面データ以外の面データで示され前記面から最短距離で前記面に対向する対向面と、の間の位置に、前記面に対向する第１の設定面を設定する第１の設定手段と、
前記第１の設定面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定する第２の設定手段と、
前記３次元で表現された複数の部品データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を、射影処理を実行する射影手段に出力する出力手段と、
を備えることを特徴とするデータ処理装置。
【請求項７】
３次元で表現された複数の部品データと、前記部品データのうち所定の部品データを代表する面データ群とを含むデータを記憶する記憶手段と、
プロセッサとを有し、
前記プロセッサに、
前記記憶手段に記憶されたデータに含まれる面データ群から、いずれかの面データを指定し、
指定した面データで示される面と、前記面データ群の中の前記指定した面データ以外の面データで示され前記面から最短距離で前記面に対向する対向面と、の間の位置に、前記面に対向する第１の設定面を設定し、
前記第１の設定面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定し、
前記３次元で表現された複数の部品データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を得る、
処理を実行させることを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを処理するデータ処理プログラム、データ処理方法、およびデータ処理装置に関する。
【背景技術】
【０００２】
従来、機械製品の開発では、３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データを用いて設計が行われている。また、射影処理の機能を有する３次元ＣＡＤツールは、３次元ＣＡＤデータを２次元データに変換することができる。また、従来、機械製品の開発では、機械製品が有する部品の穴の検出が行われている。
【０００３】
関連する先行技術としては、たとえば、物体に形成された穴をカメラにより撮像し、撮影された画像とパターンマッチングさせるための基準画像を作成する技術がある。また、たとえば、物体の３次元ＣＡＤデータを２次元データに変換し、変換後の２次元データから閉曲線を穴形状として認識する技術がある。また、たとえば、複数の部品を組み合わせた物体に関する３次元ＣＡＤデータの中で、物体の表面を抽出し、その表面に含まれる部品データの稜線と他表面との接触関係を調べ、他の部品データとの有効な接触のない稜線で所定の条件を満たすものを隙間や穴として検出する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２１３４２０号公報
【特許文献２】特開２００２−６３２２２号公報
【特許文献３】国際公開第２００８／１２６３１７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、３次元ＣＡＤデータのような複数の部品データを含む物体の３次元の物体データ内の部品データ群Ｇを射影する場合、部品データ群Ｇ内の部品データａの穴が部品データａに対向する部品データ群Ｇ外の部品データｂで隠れてしまう場合がある。この場合、部品データ群Ｇだけを射影できるように射影範囲を設定しようとすると、部品データ群Ｇと部品データ群Ｇ外の部品データとの接続関係や部品データ群Ｇ外の部品データｂの位置情報などを検出する必要があり、処理負荷が増大することになる。したがって、部品データ群Ｇ内のある部品データａの射影の妨げになる部品データｂを射影範囲に含めないように射影範囲を自動で設定することが困難である。
【０００６】
１つの側面では、本発明は、射影対象とする部品群を含む射影範囲を容易に設定することができるデータ処理プログラム、データ処理方法、およびデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、３次元で表現された複数の部品データのうち所定の部品データを代表する面データ群から、いずれかの面データを指定し、前記いずれかの面データで示される面と、前記面データ群の中の前記いずれかの面データ以外の面データで示される前記面に対向する対向面と、の間の位置に、前記面に対向する第１の設定面を設定し、前記第１の設定面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定し、前記３次元で表現された複数の部品データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を得るデータ処理プログラム、データ処理方法、およびデータ処理装置が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、射影対象とする部品群を含む射影範囲を容易に設定することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明による射影範囲の一設定例を示す説明図である。
【図２】図２は、図１で設定された射影範囲１６０の詳細例を示す説明図である。
【図３】図３は、射影範囲が適切でない例を示す説明図である。
【図４】図４は、実施の形態にかかるデータ処理装置のハードウェア構成例を示すブロック図である。
【図５】図５は、物体データの一例を示す説明図である。
【図６】図６は、頂点データの具体例を示す説明図である。
【図７】図７は、面データ群の具体例を示す説明図である。
【図８】図８は、データ処理装置４００の機能例を示すブロック図である。
【図９】図９は、バウンディングボックスの一例を示す説明図である。
【図１０】図１０は、法線ベクトルｎ１の具体例を示す説明図である。
【図１１】図１１は、隣接面データの具体例を示す説明図である。
【図１２】図１２は、第１の距離と第２の距離の特定例を示す説明図である。
【図１３】図１３は、実施例１にかかる第１の設定面と第２の設定面の設定例を示す説明図である。
【図１４】図１４は、部品群に関する射影画像の一例を示す説明図である。
【図１５】図１５は、実施例２にかかる第１の設定面と第２の設定面の設定例を示す説明図である。
【図１６】図１６は、面が矩形でない例を示す説明図である。
【図１７】図１７は、実施例３にかかる第１の設定面と第２の設定面の設定例を示す説明図である。
【図１８】図１８は、生成された２つの射影画像例を示す説明図である。
【図１９】図１９は、データ処理装置４００が行うデータ処理手順の一例を示すフローチャートである。
【図２０】図２０は、図１９で示した特定処理（ステップＳ１９０６）の詳細な説明を示すフローチャート（その１）である。
【図２１】図２１は、図１９で示した特定処理（ステップＳ１９０６）の詳細な説明を示すフローチャート（その２）である。
【図２２】図２２は、図１９で示した設定処理（ステップＳ１９０７）の詳細な説明を示すフローチャートである。
【図２３】図２３は、図１９で示した変換処理（ステップＳ１９０８）の詳細な説明を示すフローチャートである。
【図２４】図２４は、図１９で示した生成処理（ステップＳ１９０９）の詳細な説明を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかるデータ処理プログラム、データ処理方法、およびデータ処理装置の実施の形態を詳細に説明する。本実施の形態において、「面」とは、たとえば、３次元グラフィックスにおいてモデリングによって表されるオブジェクトである。「面データ」とは、たとえば、面の頂点座標などの面を特定するデータである。したがって、面データを用いることで面が描画される。同様に、「部品」とは、たとえば、３次元グラフィックスにおいてモデリングによって表されるオブジェクトである。また、「部品データ」とは、部品の頂点座標や部品を構成する面の法線など部品を特定するデータである。したがって、部品データを用いることで部品が描画される。
【００１１】
図１は、本発明による射影範囲の一設定例を示す説明図である。まず、データ処理装置による設定の前に、３次元の物体データ１００と面データ群１０１について説明する。物体データ１００は、具体的には、物体を構成する複数の部品のそれぞれを示す部品データを有する３次元ＣＡＤデータである。部品データとは、部品の形状データ、位置データ、色データなどである。物体は、たとえば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、サーバ、携帯情報端末、自動車、家電製品などの機械製品やビルなどの建物などの３次元グラフィックスにおけるオブジェクトである。物体データ１００には、Ｘ軸とＹ軸とＺ軸とからなる３次元の直交座標系が定義されている。たとえば、物体データ１００は、データ処理装置がアクセス可能な記憶装置に記憶されている。
【００１２】
面データ群１０１は、複数の面データの集合である。面データ群１０１の各面データは、たとえば、物体データ１００に含まれる複数の部品データのうち、物体データ１００を構成する代表的な部品データ（主要部品データ）のそれぞれが近似、または抽象化されたデータである。たとえば、物体データ１００がＰＣの場合、物体データ１００に含まれる主要部品データは、側面の板を示す部品データや天板を示す部品データや、底板を示す部品データや、ＰＣの中を仕切る主な仕切り板を示す部品データなどが挙げられる。
【００１３】
たとえば、物体に含まれる小さな部品は、射影の妨げになる可能性が低いため、所定サイズ以上の部品データを代表的な部品データとするようにしてもよい。たとえば、物体データ１００がＰＣの場合、物体データ１００に含まれる小さな部品は、部品と部品を接続するためのねじやボードを差し込むためのスロットなどが挙げられる。これらの部品に関する部品データを代表的な部品データには含めないようにすることにより、面データ群１０１には、物体データ１００に含まれる小さな部品データに関する面データが含まれなくなる。または、たとえば、代表的な部品データは、利用者が物体データ１００から選択してもよい。
【００１４】
また、ここで、ＳＥＡ法（Ｓｔａｔｉｓｔｉｃａｌ  Ｅｎｅｒｇｙ  Ａｎａｌｙｓｉｓ：統計的エネルギー解析法）を用いた音響振動解析で穴情報を用いる場合における面データを例に挙げる。音響振動解析では、物体内の壁に衝突した音の減衰や壁の穴から漏れ出てくる音を解析するため、壁が存在する場所で物体データ１００を分割することが望ましい。そして、物体データ１００内の部品データが存在する場所は壁がある可能性が高い。そこで、コンピュータが、壁がある場所で物体データ１００を分割した部品データごとの面データを生成することで、面データ群１０１を作成してもよい。また、ユーザが物体データ１００に基づいて手作業で面データ群１０１を作成してもよい。
【００１５】
より具体的には、たとえば、各面データは、面を構成する複数の頂点の情報を有している。頂点の情報とは、たとえば、座標データである。複数の頂点とは、頂点ｃ１〜ｃ１２のいずれか４頂点以上である。各面データで示される面は、面データに対応するそれぞれの部品データに重なってもよいし、接触してもよいし、または部品データと僅かに離間する位置にあってもよい。
【００１６】
たとえば、面１２１を示す面データｓ１は、構成頂点として頂点ｃ３、ｃ４、ｃ１０、ｃ１９の情報を有している。すなわち、面１２１は、構成頂点であるｃ３、ｃ４、ｃ１０、ｃ１９で囲われた領域である。たとえば、面１２２を示す面データｓ２は、構成頂点である頂点ｃ２、ｃ８、ｃ１１、ｃ５の情報を有している。すなわち、面１２１は、構成頂点ｃ３、ｃ４、ｃ１０、ｃ１９で囲われた領域である。たとえば、面１２３を示す面データｓ３は、頂点ｃ１、ｃ７、ｃ１２、ｃ６の情報を有している。すなわち、面１２３は、ｃ１、ｃ７、ｃ１２、ｃ６で囲われた領域である。
【００１７】
さらに、面データ群１０１の作成時にあらかじめ、対向しあう２つの面間の距離が、特定の距離未満とならないようにしてもよい。たとえば、特定の距離は、物体データ１００を構成する部品データで示される部品の厚さの中で、最も薄い厚さであってもよい。これにより、射影範囲が狭すぎて射影できなくなることを防止することができる。たとえば、物体データ１００の中で、面データで示す２つの面が対向する場合、２つの面間には、射影の妨げとなるような部品データが独立して存在しないこととする。
【００１８】
さらに、たとえば、面データ群１０１には、物体データ１００で定義された３次元の直交座標系と同一の直交座標系が定義されている。ここでは、３次元の直交座標系において、ある面データで示される面と他の面データで示される面が隣接している場合、２つの面は直交または平行していることとする。たとえば、面データ群１０１は、データ処理装置がアクセス可能な記憶装置に記憶されている。
【００１９】
図１の断面図１０３では、物体データ１００の一部の断面にある部品データと、面データ群１０１のうち、一部の断面にある部品データに関する面データで示される面と、を表している。物体データ１００の一部の断面にある部品データは、部品データ１１１と、部品データ１１３〜１１５と、部品データ１１２と、である。一部の断面にある部品データに関する面データで示される面は、部品データ１１１に関する面データｓ１で示される面１２１と、部品データ１１２に関する面データｓ２で示される対向面１２２とである。面データ群１０１には、部品データ１１３〜１１５のような小さな部品データに関する面データが含まれていないため、断面図１０３には、部品データ１１３〜１１５のそれぞれに関する面データで示される面がない。
【００２０】
断面図１０３では、たとえば、部品データ１１１で示される部品の穴１１６を覆うように部品データ１１３が配置されているため、穴１１６が塞がれている。たとえば、部品データ１１３は、穴１１６よりも大きい。断面図１０３では、たとえば、部品データ１１１の穴１１７の位置に部品データ１１４が配置されているため、穴１１７が塞がれている。断面図１０３では、たとえば、部品データ１１１の穴１１９の位置に部品データ１１５が配置されているため、穴１１９が塞がれている。断面図１０３では、たとえば、穴１１８は、塞がれていない。断面図１０３では、たとえば、部品データ１１２は、部品データ１１１に対向しているが、部品データ１１１のいずれの穴も塞いでいない。
【００２１】
射影範囲の設定に際しては、まず、データ処理装置が、物体データ１００と面データ群１０１とを記憶する記憶装置から、物体データ１００と面データ群１０１を取得する。つぎに、データ処理装置が、面データ群１０１から、いずれかの面データを指定する。たとえば、ユーザが、面データ群１０１から、物体データ１００の中で射影対象とする部品データを決定し、面データ群１０１から射影対象とする部品データに関する面データの指定をデータ処理装置に入力する。そして、データ処理装置が、ユーザにより入力された指定により、面データ群１０１から、面データを指定してもよい。または、データ処理装置が、面データ群１０１から、任意に面データを指定してもよいし、面データ群１０１から、順に面データを指定してもよい。ここでは、たとえば、データ処理装置が、面データ群１０１から、面データｓ１を指定する。
【００２２】
そして、データ処理装置が、指定された面データｓ１で示される面１２１と、面データ群１０１の中の面データｓ１以外の面データｓ２で示され、面（１２１）に対向する対向面１２２と、の間の位置に、面１２１および対向面１２２に対向する第１の設定面１４１を設定する。対向面１２２は部品データ１１１と異なる部品データ１１２に関する面データｓ２で示された面である。これに限らず、部品データ１１１がコの字型であれば、部品データ１１１に関する面データが複数ある可能性があるため、対向面１２２は部品データ１１１に関する面データで示される面であってもよい。
【００２３】
たとえば、データ処理装置が、面１２１と、面１２１に対向する対向面１２２との距離ｄ１を取得し、取得した距離ｄ１に基づいて第１の設定面１４１を設定してもよい。たとえば、データ処理装置が、距離ｄ１１が距離ｄ１よりも短くなるように第１の設定面１４１を設定することで、対向面１２２と面１２１との間に第１の設定面１４１を設定する。または、たとえば、データ処理装置が、距離ｄ１１が距離ｄ１の略半分の位置に第１の設定面１４１を設定してもよい。すなわち、データ処理装置が、面１２１と、面１２１に対向する対向面１２２と、の中間の位置に、第１の設定面１４１を設定する。
【００２４】
たとえば、データ処理装置が、面１２１を示す面データｓ１が有する位置データと対向面１２２を示す面データｓ２が有する位置データとの差分を算出することで、面１２１と対向面１２２との距離ｄ１を取得してもよい。または、たとえば、面データ群１０１の中で、面データで示される２つの対向しあう面間の距離をあらかじめ記憶装置に記憶させておき、データ処理装置が、記憶装置から、面１２１から対向面１２２までの距離ｄ１を取得してもよい。
【００２５】
つぎに、データ処理装置が、対向面１２２に対向する第２の設定面１４２を、面１２１に対し対向面１２２とは反対側の位置に設定する。たとえば、データ処理装置が、面１２１と設定した第１の設定面１４１との距離ｄ１に基づいて第２の設定面１４１を設定してもよい。たとえば、距離ｄ１１と距離ｄ１２とが同一となるようにデータ処理装置が、第２の設定面１４１を設定してもよい。または、たとえば、データ処理装置が、記憶装置に記憶された所定距離に基づいて第２の設定面１４２を設定してもよい。面１２１に対し対向面１２２とは反対側の位置には部品がないが、第２の設定面１４２が設定されることで、たとえば、部品データ１１１で示される部品の穴１１９の位置に配置されている部品データ１１５で示される部品が射影対象に含まれる可能性が高くなる。
【００２６】
射影方向ｄｒｐは、第１の設定面１４１と第２の設定面１４２のうちいずれか一方から他方に向かう方向である。第１の設定面１４１から第２の設定面１４２に向かう方向が、方向ｄｒ２である。第２の設定面１４１から第１の設定面１４２に向かう方向が、方向ｄｒ１である。射影方向ｄｒｐ（方向ｄｒ１または方向ｄｒ２）は面１２１を貫通する方向（たとえば、面１２１の直交方向）である。
【００２７】
そして、データ処理装置が、物体データ１００のうち第１の設定面１４１および第２の設定面１４２の間に存在する部品データ群で示される部品群について射影方向ｄｒｐに射影する射影制御情報を、射影処理を実行する射影手段に出力する。第１の設定面１４１から第２の設定面１４２までの立方体が射影範囲１６０となる視体積である。第１の設定面１４１および第２の設定面１４２の間に存在する部品データ群は、部品データ１１１と部品データ１１３〜１１５である。
【００２８】
射影手段としては、たとえば、射影処理に関するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）が挙げられる。射影処理については、特に限定しないが、第１の設定面１４１や第２の設定面１４２に対して垂直に射影する正射影であれば、他の射影と比較して穴の形状がより正確に射影される。
【００２９】
また、図示していないが、データ処理装置が、面１２１と、面データ群１０１のうち面１２１を示す面データｓ１以外の面データｓ２で示された面１２１に対向する対向面１２３と、の間に第１の設定面１４１を設定してもよい。
【００３０】
面１２１から対向面１２２までの距離が、面１２１から対向面１２３までの距離よりも短い。そこで、データ処理装置が、面１２１と、面データ群１０１のうち面１２１から最短距離で面１２１に対向する対向面１２２と、の間の位置に第１の設定面１４１を設定する。すなわち、データ処理装置が、面１２１からの距離が最短の対向面１２２に対応する部品データ１１２が最短距離に位置していても、該部品データ１２２を含まないような射影範囲１６０を設定することができる。
【００３１】
図２は、図１で設定された射影範囲１６０の詳細例を示す説明図である。図２では、物体データ１００の中で、図１で設定された射影範囲１６０と、射影範囲１６０に含まれる部品群と、が示されている。
【００３２】
データ処理装置が、物体データ１００の中で、射影範囲１６０に含まれる部品群を、射影方向ｄｒｐに向かって射影することで、射影画像２００を生成する。射影方向ｄｒｐが、方向ｄｒ２と方向ｄｒ１のいずれであっても、射影処理によって生成される射影画像２００に大きな差が生じないため、特に限定していない。射影については、特に限定しないが、第１の設定面１４１や第２の設定面１４２に対して垂直に射影する正射影であれば、他の射影と比較して穴の形状がより正確に射影される。
【００３３】
ここでは、たとえば、物体データ１００の中で、第１の設定面１４１から第２の設定面１４２の間の部品データ群の色データは、同一色データであってもよい。色データとは、たとえば、ＲＧＢ（Ｒｅｄ  Ｇｒｅｅｎ  Ｂｌｕｅ）で示される情報である。そのため、射影画像２００では、塞がれていない穴１１８が投影され、穴１１８以外の箇所がすべて同一色データである。ここで、理解の容易化のために、適切でない射影範囲が設定された場合の例を図３に示す。
【００３４】
図３は、射影範囲が適切でない例を示す説明図である。まず、断面図３０１は、射影範囲３１１が部品データ１１１に重なる僅かの範囲しかない場合を示している。断面図３０１の例の射影範囲３１１で射影変換が行われた射影画像３２１には、穴１１８が射影される。さらに、射影画像３２１には、部品データ１１１に部品データ１１５が接続されることで塞がっている穴１１９が射影され、部品データ１１１に部品データ１１３が接続されることで塞がっている穴１１６が射影される。
【００３５】
つぎに、断面図３０２では、任意の位置に設定された第１の設定面３３１から第２の設定面３３２までの間が射影範囲３１２を示している。面１２１から第１の設定面３３１までの距離が、面１２１から部品データ１１２の表面までの距離よりも長い。射影範囲３１２には、部品データ群（部品データ１１１と部品データ１１３〜１１５と部品データ１１２）が含まれている。物体データ１００の中で、射影範囲３１２に含まれる部品データ群で示される部品群が、第１の設定面３３１から第２の設定面３３２に向かって正射影される。部品データ１１１と部品データ１１３〜１１５のそれぞれで示される部品が部品データ１１２で示される部品によって隠れてしまい穴１１８が射影されない。
【００３６】
また、物体データ１００の中で、射影範囲３１２に含まれる部品データ群（１１１〜１１５）で示される部品群が、第２の設定面３３２から第１の設定面３３１に向かって正射影されると、部品データ１１２で示される部品によって、穴１１８が射影されなくなる。すなわち、部品データ１１２で示される部品は、部品データ１１１で示される部品のいずれの穴も塞いでいないにも関わらず、射影範囲３１２に含まれてしまうと、射影時に部品データ１１１や部品データ１１１の穴を隠してしまう。したがって、部品データ１１２で示される部品は、部品データ１１１で示される部品を射影するのに妨げとなる。
【００３７】
たとえば、各部品データの色データがすべて同一色データとなっている場合には、射影画像３２２が、部品データの色データだけの画像となる。したがって、穴１１８が射影画像３２２に現れないため、データ処理装置は、射影画像３２２から穴１１８の穴情報を検出することができない。
【００３８】
図３で示すように、射影範囲が任意に設定されてしまうと、射影範囲が狭すぎたり、広すぎたりする可能性がある。したがって、部品データ群（１１１，１１３〜１１５）で召される部品群の射影の妨げになる部品データ１１２で示される部品を射影範囲に含めてしまう可能性がある。たとえば、ユーザが射影画像３２２を見たときに、射影範囲３１２に含まれる部品データ群で形成される穴がないのか、部品データ１１２で示される部品によって部品データ群で示される部品が隠れて穴が射影できていないのかを判断することができない。そこで、ユーザが手作業で射影範囲の設定を行うことで、妨げになる部品を正確に射影範囲に含めないようにすることができるが、ユーザの手間がかかる。
【００３９】
たとえば、上述した第１の設定面１２２が、面１２１と、面１２１から最短距離にない対向面１２２と、の間に設定された場合、第１の設定面１１２と同一位置に設定される可能性がある。よって、上述したように、第１の設定面１２２が、面１２１と、面１２１から最短距離にある対向面１２２と、の間に設定される。これにより、ユーザが、最短の対向面を示す対向面データに対応する部品データが最短距離に位置していても含まないような射影制御情報を得ることができる。
【００４０】
たとえば、第１の設定面１２２が、面１２１と対向面１２２と、の間であっても、部品データ１１１よりも部品データ１１２に近い位置に設定されると、射影範囲１６０が射影範囲３１２のように部品データ１１２を含めてしまう可能性がある。そこで、上述したように第１の設定面１２２が、面１２１と対向面１２２と、の中間に設定されることで、部品データ１１２を射影範囲１６０にできる限り含めないようにすることができる。
【００４１】
たとえば、第１の設定面１２２が、面１２１と対向面１２２と、の間であっても、部品データ１１２よりも部品データ１１１に近い位置に設定されると、射影範囲３１１のように、射影範囲１６０が部品データ１１３を含まない可能性がある。そこで、上述したように第１の設定面１２２が、面１２１と対向面１２２と、の中間に設定されることで、部品データ１１３を射影範囲１６０にできる限り含めるようにすることができる。
【００４２】
図１および図２の例では、対向面１２２に対応する部品データ１１２を含まないような射影範囲１６０を自動で設定している。すなわち、図１および図２の例によれば、データ処理装置が射影範囲の設定精度を向上させることができる。これにより、射影範囲内の部品データ群で示される部品群のいずれかの部品に射影方向に貫通する貫通孔や該部品群の複数の部品で隙間が形成されている場合、射影画像により貫通孔や隙間に関する情報が検出される。
【００４３】
貫通孔や隙間に関する情報は、たとえば、音響振動解析や流体解析を行う際にパラメータとして使用される。貫通孔や隙間に関する情報は、たとえば、面積、形状、周囲長、円形度、重心などが挙げられる。さらに、あらかじめ用意された面データ群によって射影範囲を設定することで、設定処理にかかる計算量を減少させることができる。
【００４４】
つぎに、本実施の形態の詳細な実施例について説明する。まず、図４を用いて、データ処理装置のハードウェア構成例を説明する。
【００４５】
（データ処理装置のハードウェア構成例）
図４は、実施の形態にかかるデータ処理装置のハードウェア構成例を示すブロック図である。図４において、データ処理装置４００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３と、を有している。データ処理装置４００は、磁気ディスクドライブ４０４と、磁気ディスク４０５と、光ディスクドライブ４０６と、光ディスク４０７と、ディスプレイ４０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０９と、キーボード４１０と、を有している。データ処理装置４００は、マウス４１１と、グラフィックボード４１２と、を有している。また、各部はバス４１５によってそれぞれ接続されている。
【００４６】
ここで、ＣＰＵ４０１は、データ処理装置４００の全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。磁気ディスクドライブ４０４は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０５に対するデータのリード／ライトを制御する。磁気ディスク４０５は、磁気ディスクドライブ４０４の制御で書き込まれたデータを記憶する。
【００４７】
光ディスクドライブ４０６は、ＣＰＵ４０１の制御にしたがって光ディスク４０７に対するデータのリード／ライトを制御する。光ディスク４０７は、光ディスクドライブ４０６の制御で書き込まれたデータを記憶したり、光ディスク４０７に記憶されたデータをコンピュータに読み取らせたりする。
【００４８】
ディスプレイ４０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ４０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４９】
Ｉ／Ｆ４０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク４１６に接続され、このネットワーク４１６を介して他の装置に接続される。そして、Ｉ／Ｆ４０９は、ネットワーク４１６と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ４０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００５０】
キーボード４１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００５１】
グラフィックボード４１２は、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１３とＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）４１４を有している。ＧＰＵ４１３は、画像データ処理に特化した演算機を有する集積回路である。ＶＲＡＭ４１４は、ディスプレイに対するビデオ表示部分のメモリとして使われるＲＡＭである。ＧＰＵ４１３は、ＶＲＡＭ４１４と接続されており、演算結果をＶＲＡＭ４１４に記憶させる。
【００５２】
（物体データ）
図５は、物体データの一例を示す説明図である。物体データ５００は、たとえば、上述したように物体を構成する複数の部品のそれぞれを示す部品データを含む３次元ＣＡＤデータである。部品データとは、部品の形状データ、位置データ、色データなどである。形状データには、たとえば、部品の形状を特定する情報が含まれている。位置データには、たとえば、３次元の直交座標系における部品の配置位置を特定する情報が含まれている。色データは、たとえば、ＲＧＢで表される色に関する情報である。物体データ５００には、Ｘ軸とＹ軸とＺ軸とからなる３次元の直交座標系が定義されている。図５では、物体の一例としてＰＣが挙げられている。
【００５３】
さらに、物体データ５００には、１個の部品では穴でないものであっても、部品と部品とが接続されて隙間が形成されている例が示されている。さらに、物体データ５００には、部品に空いていた穴が、他の部品が接続されることで、塞がれる例が示されている。
【００５４】
物体データ５００は、たとえば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されていてもよい。または、物体データ５００は、ネットワーク４１６を介してＣＰＵ４０１がアクセス可能な外部の装置が有する記憶装置に記憶されていてもよい。
【００５５】
（面データ群）
つぎに、面データ群について説明する。面データは、物体データ５００内の部品データに関する面を表す情報である。本実施の形態では、面データは、面を構成する複数の頂点データを有している。そこで、まず、頂点データについて説明する。
【００５６】
図６は、頂点データの具体例を示す説明図である。図６において、頂点データ６００は、物体データ５００内の代表的な頂点ｐ１〜ｐ１６の位置データである。頂点データ６００には、物体データ５００で定義された３次元の直交座標系と同一の３次元の直交座標系が定義されている。位置データとは、３次元の直交座標系における座標位置を示す情報である。頂点ｐ１を例に挙げると、頂点ｐ１の座標ｖ１＝（Ｘ，Ｙ，Ｚ）＝（０，０，０）が示されている。つぎに、面データの具体例を図７に示す。
【００５７】
図７は、面データ群の具体例を示す説明図である。図７において、面データ群７００は、物体データ５００内の複数の部品データで示される複数の部品のうちの代表的な一部の部品のそれぞれに関する面Ｆ１〜Ｆ１６を示す面データｆ１〜ｆ１６である。代表的な一部の部品のそれぞれを示す部品データが、上述したように物体データ５００内の所定サイズ以上の部品データやユーザの判断によって選択された部品データでもよい。上述したように、物体データ５００では、物体としてＰＣを挙げている。そのため、代表的な一部の部品データに対応する部品は、上述したようにＰＣを構成する主要部品である側面の板や天板、底板、ＰＣの中を仕切る主な仕切り板などが挙げられる。そして、面データ群７００は、ＰＣ等に含まれる細かい部品データに関する面データは含まれていない。
【００５８】
各面データで示される面は、各平面上にある複数の頂点で囲まれた領域である。一例として面データｆ１で示される面Ｆ１を挙げると、面Ｆ１を構成する頂点は、頂点ｐ１，ｐ２，ｐ５，ｐ４である。すなわち、面Ｆ１は、頂点ｐ１と頂点ｐ２を結ぶ直線の辺と、頂点ｐ２と頂点ｐ５を結ぶ直線の辺と、頂点ｐ５と頂点ｐ４を結ぶ直線の辺と、頂点ｐ４と頂点ｐ１を結ぶ直線の辺と、で囲まれた領域である。たとえば、面データの構成頂点は、辺を形成する順で並んでいる。
【００５９】
面データ群７００では、３次元の直交座標系において、ある面データで示される面と他の面データで示される面が隣接している場合、２つの面は直交または平行していることとする。面データ群７００は、コンピュータが各部品の形状データに基づいて頂点を抽出して作成してもよいし、ユーザが手作業で作成してもよい。対向する２つの面間には、物体データ５００中で、２つの面の各面を示す面データに対応する部品と該部品に接続されている部品以外の部品はないこととする。また、面データ群７００と頂点データ６００とは、たとえば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されていてもよい。または、面データ群７００と頂点データ６００とは、ネットワーク４１６を介してＣＰＵ４０１がアクセス可能な外部の装置が有する記憶装置に記憶されていてもよい。また、面データ群７００と頂点データ６００は関連付けられていることとする。
【００６０】
（データ処理装置４００の機能例）
図８は、データ処理装置４００の機能例を示すブロック図である。データ処理装置４００は、指定部８０１と、算出部８０２と、作成部８０３と、を有している。さらにデータ処理装置４００は、取得部８０４と、第１の設定部８０５と、第２の設定部８０６と、出力部８０７と、変換部８０８と、生成部８０９と、検出部８１０と、を有している。
【００６１】
たとえば、指定部８０１から検出部８１０の処理がコーディングされたデータ処理プログラムが、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。そして、たとえば、ＣＰＵ４０１が、記憶装置に記憶されたデータ処理プログラムを読み出し、コーディングされている処理を実行することで、指定部８０１から検出部８１０の機能が実現する。
【００６２】
また、ＣＰＵ４０１とグラフィックボード４１２が連動して指定部８０１から検出部８１０の処理を行ってもよい。ここで、指定部８０１から検出部８１０の詳細な処理については、実施例１〜３に分けて説明する。
【００６３】
（実施例１）
部品群のある部品の穴がある部品に対向する部品群以外の他部品で隠れる場合がある。そこで、実施例１では、他部品を含めないようある部品の面から他部品の面までの間で視体積の面を設定し、部品群を含む視体積を射影手段に出力する。したがって、部品群を含む視体積と射影方向とに基づいてユーザが射影をおこなう部品群のいずれかの部品に射影方向に貫通する貫通孔や複数の部品データで隙間が形成されている場合、利用者が射影手段によって視体積と射影方向に基づいて射影画像を生成する。これにより、貫通孔や隙間を検出することができる。
【００６４】
まず、指定部８０１は、物体データ５００内の複数の部品データに関する面データ群７００から、いずれかの面データを指定する。たとえば、ユーザが入力手段を操作することで、指定部８０１が、物体データ５００の中で射影対象とする部品を示す部品データを決定する。そして、指定部８０１は、面データ群７０１から射影対象とする部品データに関する面データの指定をデータ処理装置４００に入力する。ユーザ操作による入力手段としては、キーボード４１０やマウス４１１が挙げられる。
【００６５】
そして、指定部８０１は、データ処理装置４００が、入力手段により入力された指定により、面データ群７００から、面データを指定してもよい。または、たとえば、指定部８０１は、面データ群８００から、任意に面データを指定してもよいし、面データ群７００から、順に面データを指定してもよい。実施例１では、指定部８０１が、面データ群７００から、面データｆ８を指定する。ここでは、指定部８０１によって指定された面データｆ８を指定面データ（以下、実施例１では「指定面データｆ８」と記載する。）と称する。そして、実施例１では、指定面データｆ８で示される面Ｆ８を指定面Ｆ８と称する。
【００６６】
つぎに、作成部８０３は、指定面データｆ８に関する指定面データｆ８の３次元ＣＡＤデータを作成する。そして、作成部８０３は、作成した３次元ＣＡＤデータの中で、指定面データｆ８を囲う最小のバウンディングボックスＢ０を作成する。作成されるバウンディングボックスＢ０は、３次元の直交座標系における指定面データｆ８に関する３次元ＣＡＤデータを囲む最小の直方体である。さらに、作成部８０３は、作成したバウンディングボックスＢ０と同一のバウンディングボックスＢ１を物体データ５００に作成する。ここで、作成されたバウンディングボックスＢ１は、後述するがサイズが設定されて視体積になる。バウンディングボックスＢ０の使用例については、実施例３でより詳細に説明する。図９に作成されたバウンディングボックスＢ０，Ｂ１の一例を示す。
【００６７】
図９は、バウンディングボックスの一例を示す説明図である。より具体的には、たとえば、作成部８０３は、指定面データｆ８に３角形ポリゴンを与えることで、物体データ５００のＸ軸とＹ軸とＺ軸とからなる直交座標系と同一の直交座標系に、指定面データｆ８に関する３次元ＣＡＤデータ９００を作成する。３次元ＣＡＤデータ９００は部品データである。
【００６８】
そして、たとえば、作成部８０３は、直交座標系において、作成した指定面データｆ８に関する３次元ＣＡＤデータを選択した各々のアセンブリを囲むバウンディングボックスＢ０を作成する。また、たとえば、該バウンディングボックスＢ０の面データのうちのいずれかの２つの面データが指定面Ｆ８と平行となり、該２つの面が指定面Ｆ８を囲う矩形面となる。
【００６９】
つぎに、たとえば、作成部８０３は、作成したバウンディングボックスＢ０を複製する。そして、たとえば、作成部８０３は、物体データ５００の中で、作成したバウンディングボックスＢ０と同一位置に複製したバウンディングボックスＢ１を配置する。
【００７０】
バウンディングボックスＢ０を作成後の指定面データｆ８に関する３次元ＣＡＤデータ９００は、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７、ＶＲＡＭ４１４などの記憶装置に記憶される。バウンディングボックスＢ１を作成後の物体データ５００は、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７、ＶＲＡＭ４１４などの記憶装置に記憶される。
【００７１】
また、たとえば、バウンディングボックスＢ０，Ｂ１のＭｉｎポイントと、Ｍａｘポイントと、を記憶装置に記憶させてもよい。Ｍｉｎポイントは、Ｘ軸、Ｙ軸およびＺ軸からなる直交座標系におけるバウンディングボックスＢ０，Ｂ１の頂点のうち、Ｘ座標、Ｙ座標およびＺ座標がそれぞれ最小となる点を示している。Ｍａｘポイントは、Ｘ軸、Ｙ軸およびＺ軸からなる直交座標系におけるバウンディングボックスＢ０，Ｂ１の頂点のうち、Ｘ座標、Ｙ座標およびＺ座標がそれぞれ最大となる点を示している。また、たとえば、バウンディングボックスＢ０，Ｂ１は、形状データや色データや座標データを有する３次元データであってもよい。
【００７２】
つぎに、算出部８０２は、指定面データｆ８の法線ベクトルを算出する。実施例１では、指定面データｆ８の法線ベクトルを法線ベクトルｎ１とする。
【００７３】
図１０は、法線ベクトルｎ１の具体例を示す説明図である。具体的には、算出部８０２は、指定面データｆ８の法線ベクトルｎ１を下記式（１）に基づいて算出する。
【００７４】
法線ベクトルｎ１＝（ｖ８−ｖ２）×（ｖ５−ｖ２）・・・（１）
【００７５】
ｖ８は、頂点ｐ８の座標であり、ｖ２は、頂点ｐ２の座標であり、ｖ５は、頂点ｐ５の座標である。面データ群７００のうち、指定面データｆ８の法線ベクトルｎ１の方向ｄｒ１０１にある面データは法線プラス側の面データと称する。そして、面データ群７００のうち、指定面データｆ８の法線ベクトルｎ１の方向ｄｒ１０１と逆の方向ｄｒ１０２にある面データは法線マイナス側の面データと称する。
【００７６】
つぎに、取得部８０４は、面データ群７００のうち、指定面データｆ８から指定面データｆ８の法線ベクトルｎ１の方向ｄｒ１０１に向かって、指定面Ｆ８に対向する第１の対向面１２１１までの第１の距離ｄ１２１を取得する。第１の対向面１２１１は、図７によれば、面データｆ６である。
【００７７】
さらに、取得部８０４は、面データ群７００のうち、指定面Ｆ８から指定面データｆ８の法線ベクトルｎ１の方向ｄｒ１０１と逆の方向ｄｒ１０２において、指定面Ｆ８から指定面Ｆ８に対向する第２の対向面１２１２までの第２の距離ｄ１２２を取得する。第２の対向面１２１２は、指定面Ｆ８に対して第１の対向面１２１１とは反対側で指定面Ｆ８に対向する。第２の対向面１２１２は、図７によれば、面Ｆ９である。
【００７８】
たとえば、面データ群７００の中で、対向しあう面間の距離をあらかじめ記憶装置に記憶させておき、取得部８０４は、記憶装置から、指定面Ｆ８から第１の対向面１２１１までの第１の距離を取得してもよい。取得部８０４は、記憶装置から、指定面Ｆ８から第２の対向面１２１２までの第２の距離を取得してもよい。または、たとえば、取得部８０４は、指定面Ｆ８が有する位置データと第１の対向面１２１１の位置データとの差分を算出することで、指定面Ｆ８と第１の対向面１２１１との距離を取得してもよい。たとえば、取得部８０４は、指定面Ｆ８が有する位置データと第２の対向面１２１２が有する位置データとの差分を算出することで、指定面Ｆ８と第２の対向面１２１２との距離を取得してもよい。
【００７９】
ここでは、指定面Ｆ８から第１の対向面１２１１までの第１の距離と指定面Ｆ８から第２の対向面１２１２までの第２の距離とを、指定面Ｆ８に隣接する隣接面の辺の長さに基づいて取得する例を示す。具体的には、まず、たとえば、取得部８０４は、指定面データｆ８で示される指定面Ｆ８に隣接する隣接面を示す隣接面データを特定する。
【００８０】
図１１は、隣接面データの具体例を示す説明図である。たとえば、取得部８０４は、指定面データｆ８で示される指定面Ｆ８と隣接する隣接面を示す隣接面データであるか否かを、指定面Ｆ８と共有する辺を有するか否かで判断する。ここで、指定面Ｆ８に隣接する隣接面は、面Ｆ１４，Ｆ１１，Ｆ３，Ｆ１，Ｆ４，Ｆ２，Ｆ１５，Ｆ１２である。
【００８１】
そして、取得部８０４は、隣接面を示す隣接面データの頂点のうち、指定面データｆ８と共有しない第１の頂点を特定する。つぎに、取得部８０４は、指定面データｆ８の頂点のうち、隣接面データと共有しない第２の頂点を特定する。そして、取得部８０４は、第１の頂点の座標（ｘ１，ｙ１，ｚ１）から第２の頂点の座標（ｘ２，ｙ２，ｚ２）を引いたベクトルｗ（ｘｗ，ｙｗ，ｚｗ）を算出する。つぎに、取得部８０４は、ベクトルｗと法線ベクトルｎ１との内積を算出する。
【００８２】
そして、取得部８０４は、算出した内積ｗｎが０以上であるか否かを判断する。内積ｗｎが０以上である場合、隣接面データは法線プラス側の隣接面データであると判断する。内積ｗｎが０以上でない場合、隣接面データは法線マイナス側の隣接面データである。取得部８０４は、すべての隣接面データについて、法線プラス側の隣接面データであるか、法線マイナス側の隣接面データであるかを判断する。
【００８３】
図１１の例では、隣接面データ群のうち、面データｆ１４，ｆ１１，ｆ３，ｆ１が法線プラス側の隣接面データである。そして、図１１の例では、隣接面データ群のうち、面データｆ４，ｆ２，ｆ１５，ｆ１２が法線マイナス側の隣接面データである。
【００８４】
図１２は、第１の距離と第２の距離の特定例を示す説明図である。取得部８０４は、法線プラス側の各隣接面データで示される隣接面の辺のうち、法線ベクトルｎ１に平行な辺の長さを抽出する。取得部８０４は、たとえば、指定面データｆ８を構成する頂点の位置データと隣接面データを構成する頂点の位置データとの差分から辺の長さを算出してもよい。または、たとえば、面データ群の中で、各面データで示される面の各辺の長さをあらかじめ記憶装置に記憶させておき、記憶装置から長さを取得してもよい。
【００８５】
取得部８０４は、抽出した辺の長さのうち、最短の長さを第１の距離ｄ１２１として特定する。図１２では、法線プラス側の隣接面データで示される隣接面の辺のうち、法線ベクトルｎ１に平行な辺の長さがすべて同一である。指定面データｆ８に隣接する隣接面データで示される隣接面が矩形面でない場合には、同一方向であっても、辺の長さが異なる場合がある。そのため、取得部８０４は、抽出した辺の長さのうち、最短の長さを第１の距離ｄ１２１として特定する。これにより、取得部８０４は、指定面データｆ８で示される指定面Ｆ８から、指定面Ｆ８から最短距離で指定面Ｆ８に対向する第１の対向面１２１１までの第１の距離ｄ１２１を取得することができる。ここで、第１の対向面１２１１は、面Ｆ６である。なお、たとえば、特定結果は、ＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶させてもよい。
【００８６】
そして、取得部８０４は、法線マイナス側の各隣接面データの辺のうち、法線ベクトルｎ１に平行な辺の長さを抽出する。取得部８０４は、抽出した辺の長さのうち、最短の長さを第２の距離ｄ１２２として特定する。図１２では、法線マイナス側の隣接面データの辺のうち、法線ベクトルｎ１に平行な辺の長さがすべて同一である。指定面Ｆ８に隣接する面が矩形面でない場合には、辺の長さが異なる場合がある。そのため、取得部８０４は、抽出した辺の長さのうち、最短の長さを第２の距離ｄ１２２として特定する。
【００８７】
これにより、取得部８０４は、指定面Ｆ８から、指定面データｆ８から最短距離で指定面Ｆ８に対向する第２の対向面１２１２までの第２の距離ｄ１２２を取得することができる。これにより、取得部８０４は、指定面Ｆ８から法線ベクトルｎ１の方向ｄｒ１０１と逆の方向ｄｒ１０２にあり、かつ指定面データＦ８に対向する対向面の中で、指定面Ｆ８から最短距離にある第２の対向面１２１２までの長さを特定することができる。ここで、第２の対向面１２１１は、面Ｆ９である。なお、たとえば、特定結果は、ＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶させてもよい。
【００８８】
図１３は、実施例１にかかる第１の設定面と第２の設定面の設定例を示す説明図である。第１の設定部８０５は、指定面Ｆ８と、面データ群７００の中の指定面Ｆ８に対向する第１の対向面１２１１と、の間の位置に、指定面Ｆ８および第１の対向面１２１１に対向する第１の設定面１３０１を設定する。図１３の例では、第１の設定面１３０１は、バウンディングボックスＢ１の有する複数の面の中で指定面Ｆ８と平行な面のうち、法線ベクトルｎ１の方向ｄｒ１０１にある面である。したがって、たとえば、第１の設定部８０５は、バウンディングボックスＢ１のＭｉｎポイントまたはＭａｘポイントの値を変更することで、バウンディングボックスＢ１のサイズを変更することができる。
【００８９】
具体的には、たとえば、第１の設定部８０５は、指定面Ｆ８と、第１の対向面１２１１と、の中間の位置に、指定面Ｆ８および第１の対向面１２１１に対向する第１の設定面１３０１を設定してもよい。より具体的には、たとえば、第１の設定部８０５は、第１の設定面１３０１を、指定面Ｆ８から第１の対向面１２１１に向かう第１の距離の半分の位置に設定する。よって、距離ｄ１３１は、第１の距離の半分である。これにより、第１の対向面１２１１を示す面データに対応する部品データで示される部品やその部品に接続された小さな部品を含めないように射影範囲を設定することができる。
【００９０】
または、たとえば、第１の設定部８０５は、第１の設定面１３０１を、指定面Ｆ８から、第１の距離から一定距離を引いた距離の位置に設定する。たとえば、一定の距離は、あらかじめ任意に設定されてＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。また、たとえば、一定の距離は、物体データ５００のうちの複数の部品の中で、最も厚みのある部品の厚さであってもよい。これにより、第１の対向面１２１１で示される面データに対応する部品データで示される部品やその部品に接続された小さな部品を含めないように射影範囲を設定することができる。
【００９１】
つぎに、第２の設定部８０６は、指定面Ｆ８と、面データ群７００の中の指定面Ｆ８に対向する第２の対向面１２１２と、の間の位置に、指定面Ｆ８および第２の対向面１２１２に対向する第２の設定面１３０２を設定する。図１３の例では、第２の設定面１３０２は、バウンディングボックスＢ１の有する複数の面の中で指定面Ｆ８と平行な面のうち、法線ベクトルｎ１の方向ｄｒ１０１の逆の方向ｄｒ１０２にある面である。より具体的には、たとえば、第２の設定部８０６は、バウンディングボックスＢ１のＭｉｎポイントまたはＭａｘポイントの値を変更することで、バウンディングボックスＢ１のサイズを変更することができる。
【００９２】
具体的には、たとえば、第２の設定部８０６は、指定面Ｆ８と、第２の対向面１２１２と、の中間の位置に、指定面Ｆ８および第２の対向面１２１２に対向する第２の設定面１３０２を設定してもよい。より具体的には、たとえば、第２の設定部８０６は、第２の設定面１３０２を、指定面Ｆ８から第２の対向面１２１２に向かう第２の距離の半分の位置に設定する。よって、距離ｄ１３２は、第２の距離の半分である。これにより、第２の対向面１２１２に対応する部品やその部品に接続された小さな部品を含めないように射影範囲を設定することができる。
【００９３】
または、たとえば、第２の設定部８０５は、第２の設定面１３０２を、指定面Ｆ８から、第２の距離から一定距離を引いた距離の位置に設定する。たとえば、一定の距離は、あらかじめ任意に設定されてＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。また、たとえば、一定の距離は、物体データ５００のうちの部品データで示される複数の部品の中で、最も厚みのある部品の厚さであってもよい。これにより、第２の対向面１２１２に対応する部品データで示される部品やその部品に接続された小さな部品を含めないように射影範囲を設定することができる。
【００９４】
たとえば、設定部８０５は、設定後のバウンディングボックスＢ１を視体積に設定する。ＯｐｅｎＧＬ（Ｏｐｅｎ  Ｇｒａｐｈｉｃｓ  Ｌｉｂｒａｒｙ）の機能の正射影処理では、物体データ５００のうち、視体積内の空間に含まれる情報だけを射影する。よって、視体積が、射影範囲となる。なお、たとえば、設定結果は、ＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７、ＶＲＡＭ４１４などの記憶装置に記憶させてもよい。
【００９５】
図１３では、射影方向ｄｒｐが第１の設定面１３０１と第２の設定面１３０２のうちのいずれか一方から他方に向かう方向である。たとえば、方向ｄｒ１０２は、第１の設定面１３０１から第２の設定面１３０２に向かう方向であり、方向ｄｒ１０１は、第２の設定面１３０２から第１の設定面１３０１に向かう方向ｄｒ１０１である。射影方向ｄｒｐが、方向ｄｒ１０１と方向ｄｒ１０２のうちのいずれであっても、射影処理によって射影される射影画像に大きな差が生じないため、特に限定していない。
【００９６】
第１の設定部８０５により設定された第１の設定面１３０１から第２の設定部８０６によって設定された第２の設定面１３０２までの間の直方体（バウンディングボックスＢ１）が視体積である。
【００９７】
出力部８０７は、物体データ５００の中で、バウンディングボックスＢ１内に含まれる部品データ群で示される部品群を射影方向ｄｒｐに射影する射影処理に関する射影制御情報８２０を射影手段に出力する。たとえば、射影手段としては、ＯｐｅｎＧＬの機能を有する３次元ＣＡＤツールの正射影機能のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）が挙げられる。３次元ＣＡＤツールは、データ処理装置４００であってもよいし、データ処理装置４００と異なる装置であってもよい。
【００９８】
本実施の形態では、データ処理装置４００の生成部８０９がＯｐｅｎＧＬの正射影機能のＡＰＩを有していることとする。また、出力部８０７は、後述する変換部８０８による変換処理後に正射影手段に出力してもよい。
【００９９】
つぎに、変換部８０８は、物体データ５００のうち、すべての部品データの色データをすべて特定の色データ（第１の色データ）に変換する。また、変換部８０８は、物体データ５００のうち背景部分を特定の色データ（第１の色データ）と異なる色データ（第２の色データ）に変換する。たとえば、変換部８０８は、物体データ５００のうち、部品の色データをすべて白色に変換し、たとえば、変換部８０８は、物体データ５００のうち、背景部分の色データをすべて黒色に変換してもよい。
【０１００】
たとえば、生成部８０９は、変換部８０８による変換後の物体データ５００の中で、第１の設定面１３０１から第２の設定面１３０２までの間に含まれる部品群を射影方向ｄｒｐにＯｐｅｎＧＬの正射影機能によって正射影する。これにより、生成部８０９は、部品群に関する正射影画像を生成する。
【０１０１】
図１４は、部品群に関する射影画像の一例を示す説明図である。射影画像１４００は、生成部８０９によって生成された部品群に関する射影画像である。射影画像１４００は、たとえば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７、ＶＲＡＭ４１４などの記憶装置に記憶される。
【０１０２】
つぎに、検出部８１０は、生成部８０９によって生成された射影画像１４００から穴情報８３０を検出する。穴情報８３０は、たとえば、上述したように穴の面積（［ｍｍ２］）、穴の形状、穴の周囲長（［ｍｍ］）、穴の円形度、穴の重心などが挙げられる。音響解析用のパラメータとしては、たとえば、面積、形状などが穴情報８３０として用いられる。形状とは、たとえば、丸形であるか四角形であるかに分類することである。たとえば、検出部８１０は、輪郭追跡を行うことで、穴情報８３０を検出することができる（たとえば、「ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｇｉｆｕ−ｎｃｔ．ａｃ．ｊｐ／ｅｌｅｃ／ｙａｍａｄａ／ｉｗａｔａ／ｃｙｕ／ｉｎｄｅｘ．ｈｔｍｌ」を参照。）。
【０１０３】
また、穴情報８３０については、音響解析用のパラメータの他に流体解析のパラメータなどに用いることができる。穴情報８３０は、たとえば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７、ＶＲＡＭ４１４などの記憶装置に記憶される。
【０１０４】
実施例１によれば、射影範囲の設定精度を向上させることができる。さらに、実施例１では、３次元の物体データが抽象化された面である面データを用いて射影範囲を決定することで、計算量を減少させることができる。
【０１０５】
（実施例２）
実施例２では、指定面データに対応する部品データが物体データの中で端の部品データであっても、指定面データに対応する部品やその部品に接続される部品を含めるような射影範囲を設定する。これにより、射影範囲の設定精度を向上させることができる。実施例２では、部８０１から作成部８０３までの処理が、実施例１と同一処理であるため、詳細な説明を省略する。
【０１０６】
ここで、実施例２において、視体積となる直方体をバウンディングボックスＢ２とする。バウンディングボックスＢ２は、実施例１で説明したバウンディングボックスＢ１の作成方法と同一方法で作成される。また、実施例２では、指定面の法線ベクトルを法線ベクトルｎ２とする。
【０１０７】
バウンディングボックスＢ２の有する複数の面データの中で指定面データで示される指定面に平行な面のうち、法線ベクトルｎ２の方向にある面が第１の設定面である。バウンディングボックスＢ２の有する複数の面データの中で指定面データで示される指定面に平行な面のうち、法線ベクトルｎ２の方向と逆方向にある面が第２の設定面である。
【０１０８】
まず、たとえば、取得部８０４は、面データ群７００のうち、指定面データから法線ベクトルｎ２の方向において、かつ指定面に対向する第１の対向面が無い場合、第１の距離を取得できない。
【０１０９】
そして、第１の設定部８０５は、取得部８０４によって第１の距離が特定できない場合、第１の設定面を、指定面から、第２の設定面と指定面との間隔と同間隔の位置に設定する。具体的には、第２の設定部８０６が第２の設定面を指定面から第２の距離の半分の位置に設定している場合、第１の設定部８０５は、第１の設定面を、指定面から第２の距離の半分の位置に設定してもよい。すなわち、第１の設定部８０５が、第１の設定面と指定面との間隔と第２の設定面と指定面との間隔とを一致させるように設定する。
【０１１０】
または、第１の設定部８０５は、第１の設定面を指定面から所定距離の位置に設定してもよい。所定距離は、たとえば、あらかじめ任意に設定されてＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。これにより、第１の対向面が無くとも、第１の設定面が設定されることで、指定面に対応する部品データで示される部品と、該部品に接続されている他の部品とが、射影範囲に含まれる可能性が高くなる。
【０１１１】
また、取得部８０４は、面データ群７００のうち、指定面データから法線ベクトルｎ２の方向と逆の方向において、指定面に対向する第２の対向面が無い場合、第２の距離を取得できない。
【０１１２】
第２の設定部８０６は、取得部８０４によって第２の距離が特定できない場合、第２の設定面を、指定面から、第１の設定面と指定面との間隔と同間隔の位置に設定する。具体的には、第１の設定部８０５が第１の設定面を指定面から第１の距離の半分の位置に設定している場合、第２の設定部８０５は、第２の設定面を、指定面から第１の距離の半分の位置に設定してもよい。すなわち、第２の設定部８０６が、第１の設定面と指定面データとの間隔と第２の設定面と指定面との間隔とを一致させるように設定する。
【０１１３】
または、第２の設定部８０５は、第２の設定面を指定面から所定距離の位置に設定する。所定距離は、たとえば、あらかじめ任意に設定されてＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。これにより、第２の対向面が無くとも、第２の設定面が設定されることで、指定面データに対応する部品データで示される部品と、該部品に接続されている他の部品と、が射影範囲に含まれる可能性が高くなる。
【０１１４】
そして、出力部８０７は、設定後のバウンディングボックスＢ２を視体積に設定する。そして、生成部８０９は、物体データ５００の中で、視体積に含まれる部品群を第１の設定面から第２の設定面の方向または第２の設定面から第１の設定面の方向に正射影することで、正射影画像を生成する。
【０１１５】
より具体的には、指定面データが面データｆ１０の場合を例に挙げて説明する。以降実施例２では、面データｆ１０を指定面データｆ１０と称する。指定面Ｆ１０に隣接する隣接面データは、面データｆ５，ｆ１３，ｆ４，ｆ１６，ｆ９である。ここでは、面データｆ５，ｆ１３，ｆ４，ｆ１６，ｆ９が法線プラス側の隣接面データであるとする。たとえば、取得部８０４は、法線プラス側の各隣接面データの法線ベクトルｎ２の方向の辺を抽出する。ここでは、面データｆ４の頂点ｐ９と頂点ｐ８との辺の長さと、面データｆ４の頂点ｐ１２と頂点ｐ１１との辺の長さが最も短い長さである。そのため、取得部８０４は、頂点ｐ９と頂点ｐ８との辺の長さと、頂点ｐ１２と頂点ｐ１１との辺の長さと、を第１の距離として取得する。
【０１１６】
ここで、取得される第１の距離は、指定面Ｆ１０から、指定面Ｆ１０に対向する面Ｆ７までの距離ではないが、指定面Ｆ１０から面Ｆ７までの距離よりも短い。そのため、第１の設定部８０５が、第１の設定面を指定面Ｆ１０と面Ｆ７との間に設定することで、指定面Ｆ１０から第１の設定面までの距離は、指定面Ｆ１０から面Ｆ７までの距離よりも短い距離になる。したがって、面データｆ７に関する部品が、バウンディングボックスＢ２に含まれない。一方、取得部８０４は、法線マイナス側の隣接面データがないため、第２の距離を特定できない。
【０１１７】
図１５は、実施例２にかかる第１の設定面と第２の設定面の設定例を示す説明図である。図１５では、設定部８０５が、法線ベクトルｎ２の方向ｄｒ１５１にある第１の設定面１５０１を指定面Ｆ１０から距離ｄ１５１の位置に設定する。距離ｄ１５１は、たとえば、第１の距離の半分である。そして、図１５では、設定部８０５が、法線ベクトルｎ２の逆の方向ｄｒ１５２にある第２の設定面１５０２を指定面Ｆ１０から距離ｄ１５２の位置に設定する。距離ｄ１５２は、たとえば、第１の距離の半分である。または距離ｄ１５２は、所定距離である。したがって、指定面データに対応する部品データで示される部品が物体データ５００内で端の部品である場合に、物体データ５００のない空間に第２の設定面１５０２が設定される。バウンディングボックスＢ２は視体積となる。また、図１５では、射影方向ｄｒｐは方向ｄｒ１５１と方向ｄｒ１５２とのうちいずれか一方の方向である。
【０１１８】
実施例２によれば、指定面に対向する対向面がなく、指定面データに対応する部品データで示される部品と、該部品に接続されている部品とのそれぞれの部品の厚みが不明であっても、それぞれの部品をできる限り射影範囲に含めることができる。
【０１１９】
（実施例３）
３次元ＣＡＤツールでは、正射影を行う場合、射影面を矩形面とする必要がある。実施例３では、指定面が矩形でない場合、物体データ５００の中で、第１の設定面と第２の設定面との間に含まれる部品群が射影された第１の射影画像と、指定面が射影された第２の射影画像と、を合成して第３の射影画像を生成する。これにより、各部品や面の形状に関係なく、射影画像を生成することができる。
【０１２０】
図１６は、面が矩形でない例を示す説明図である。図１６では、指定面Ｆ８が矩形でない例を示している。作成部８０３は、指定面データｆ８に関する３次元ＣＡＤデータ１６００を作成する。そして、作成部８０３は、作成した指定面データｆ８に関する３次元ＣＡＤデータ１６００のバウンディングボックスＢ０を作成する。指定面Ｆ８が矩形でなくとも、バウンディングボックスＢ０は直方体であるため、バウンディングボックスＢ０の面のうち、指定面Ｆ８と平行な面は矩形となる。よって、実施例３で作成されるバウンディングボックスＢ０と実施例１で説明したバウンディングボックスＢ０は同一となる。
【０１２１】
さらに、作成部８０３は、作成したバウンディングボックスＢ０と同一のバウンディングボックスＢ１を物体データ５００に作成する。バウンディングボックスＢ０は、３次元ＣＡＤデータ１６００に設定される視体積となり、バウンディングボックスＢ１は、物体データ５００に設定される視体積となる。取得部８０４の処理については、実施例１で説明した処理と同一であるため、詳細な説明を省略する。
【０１２２】
図１７は、実施例３にかかる第１の設定面と第２の設定面の設定例を示す説明図である。物体データ５００内に第１の設定面１３０１と第２の設定面１３０２を設定する設定部８０５の処理は実施例１で説明した処理と同一であるため、詳細な説明を省略する。
【０１２３】
第１の設定部８０５は、バウンディングボックスＢ０が有する面データのうち、法線ベクトルｎ１の方向に指定面Ｆ８と平行な第１の設定面１７０１を設定する。第２の設定部８０６は、バウンディングボックスＢ０が有する面データのうち、法線ベクトルｎ１の方向に指定面Ｆ８と平行な第２の設定面１７０２を設定する。図１７では、第１の設定部８０５と第２の設定部８０６によって、バウンディングボックスＢ０とバウンディングボックスＢ１とが同一サイズになっているが、同一でなくともよい。指定面Ｆ８が射影できればよいため、指定面データｆ８が射影できるサイズであれば、特に限定しない。
【０１２４】
そして、たとえば、設定部８０５は、設定部８０５による設定後のバウンディングボックスＢ０，Ｂ１をそれぞれ物体データ５００と３次元ＣＡＤデータ１６００の視体積に設定する。
【０１２５】
変換部８０８は、物体データ５００のうちの、各部品の色データを特定の色データ（第１の色データ）に変換する。そして、変換部８０８は、物体データ５００のうちの、部品以外の背景情報を特定の色データと異なる色データ（第２の色データ）に変換する。
【０１２６】
そして、変換部８０８は、３次元ＣＡＤデータ１６００の指定面データｆ８の色データを特定の色データに変換する。そして、変換部８０８は、３次元ＣＡＤデータ１６００の第２の設定面１７０２の色データを特定の色データと異なる色データ（第３の色データ）に変換する。または、たとえば、変換部８０８は、３次元ＣＡＤデータ１６００の指定面データｆ８以外の色データを第３の色データに変換する。
【０１２７】
生成部８０９は、実施例１で説明した射影画像１４００と同一の第１の射影画像を生成する。さらに、生成部８０９は、３次元ＣＡＤデータ１６００を、バウンディングボックスＢ１を視体積として指定面データｆ８に向かって垂直方向に正射影することで、指定面データｆ８に関する第２の射影画像を生成する。
【０１２８】
図１８は、生成された２つの射影画像例を示す説明図である。第１の射影画像１８０１と第２の射影画像１８０２とは同一サイズである。生成部８０９は、第１の射影画像１８０１の色データと第２の射影画像１８０２の色データとを合成して、第３の射影画像１８０３を生成する。図１８中“＋”は合成を示している。より具体的には、生成部８０９は、第１の射影画像１８０１と第２の射影画像１８０２の同一ピクセルを順に選択する。
【０１２９】
そして、たとえば、生成部８０９は、ピクセルを選択する都度、第２の射影画像１８０２から、選択したピクセルの色データを取得する。つぎに、たとえば、生成部８０９は、取得した色データが第１の色データであるか否かを判断する。たとえば、生成部８０９は、取得した色データが第１の色データでない場合、第１の射影画像１８０１のうち、選択したピクセルと同一ピクセルの色データを第３の色データに変換する。
【０１３０】
これにより、生成部８０９は、第１の射影画像１８０１と第２の射影画像１８０２とが合成された第３の射影画像１８０３を生成する。なお、第３の射影画像１８０３は、ＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７、ＶＲＡＭ４１４などの記憶装置に記憶される。そして、検出部８１０は、生成部８０９により生成された第３の射影画像１８０３の中で第２の色データの箇所から穴情報８３０を検出する。第３の射影画像１８０３の中で、第３の色データの箇所は部品群に関する箇所でないため、検出部８１０は、何もない箇所として認識する。
【０１３１】
実施例３によれば、指定面の形状が矩形でなくとも、指定面の形状に沿った射影画像を生成することで、指定面データに対応する部品の穴情報を検出することができる。
【０１３２】
（データ処理装置４００が行う処理手順）
図１９は、データ処理装置４００が行うデータ処理手順の一例を示すフローチャートである。ここでは、実施例１〜３で説明した機能を包含するデータ処理装置４００が行うデータ処理手順について説明する。まず、データ処理装置４００が、物体データ５００と面データ群７００を記憶装置から取得する（ステップＳ１９０１）。そして、データ処理装置４００が、指定部８０１により、面データ群７００から、いずれかの面データを指定する（ステップＳ１９０２）。ここで、指定された面データは、指定面データと称する。
【０１３３】
つぎに、データ処理装置４００が、作成部８０３により、指定面データに関する３次元モデル（３次元指定面データ）を作成し（ステップＳ１９０３）、３次元指定面データのバウンディングボックスＢ０を作成する（ステップＳ１９０４）。３次元指定面データは、指定面データが３次元化された情報である。３次元指定面データは、たとえば、上述した３次元ＣＡＤデータ９００や３次元ＣＡＤデータ１６００である。３次元指定面データについては、利用者があらかじめ作成して記憶装置に記憶させたものをデータ処理装置４００が、取得することとしてもよい。
【０１３４】
そして、データ処理装置４００が、作成部８０３により、バウンディングボックスＢ０と同一のバウンディングボックスＢ１を物体データ５００に作成する（ステップＳ１９０５）。そして、データ処理装置４００が、取得部８０４により、特定処理を実行し（ステップＳ１９０６）、第１の設定部８０５と第２の設定部８０６により、設定処理を実行する（ステップＳ１９０７）。
【０１３５】
つぎに、データ処理装置４００が、変換部８０８により、変換処理を実行し（ステップＳ１９０８）、生成部８０９により、生成処理を実行する（ステップＳ１９０９）。そして、データ処理装置４００が、検出部８１０により、第３の射影画像の第２の色データの箇所から、穴情報を検出する（ステップＳ１９１０）。
【０１３６】
図２０および図２１は、図１９で示した特定処理（ステップＳ１９０６）の詳細な説明を示すフローチャートである。まず、データ処理装置４００が、指定面の法線ベクトルｎを算出し（ステップＳ２００１）、指定面データと共通の線要素を有する隣接面データを特定する（ステップＳ２００２）。そして、データ処理装置４００が、未選択の隣接面データがあるか否かを判断する（ステップＳ２００３）。
【０１３７】
データ処理装置４００が、未選択の隣接面データがあると判断した場合（ステップＳ２００３：Ｙｅｓ）、隣接面データ群から未選択の隣接面データを選択する（ステップＳ２００４）。データ処理装置４００が、選択された隣接面データの頂点のうち、指定面データと共有しない第１の頂点を特定する（ステップＳ２００５）。そして、データ処理装置４００が、指定面データの頂点のうち、選択された隣接面データと共有しない第２の頂点を特定する（ステップＳ２００６）。
【０１３８】
データ処理装置４００が、ベクトルｗ＝第１の頂点の座標−第２の頂点の座標を算出し（ステップＳ２００７）、内積ｗｎ＝ベクトルｗ・法線ベクトルｎを算出する（ステップＳ２００８）。そして、データ処理装置４００が、内積ｗｎ≧０であるか否かを判断する（ステップＳ２００９）。データ処理装置４００が、内積ｗｎ≧０であると判断した場合（ステップＳ２００９：Ｙｅｓ）、選択された隣接面データを法線プラス側の隣接面データに分類し（ステップＳ２０１０）、ステップＳ２００３に戻る。
【０１３９】
データ処理装置４００が、内積ｗｎ≧０でないと判断した場合（ステップＳ２００９：Ｎｏ）、選択された隣接面データを法線マイナス側の隣接面データに分類し（ステップＳ２０１１）、ステップＳ２００３に戻る。
【０１４０】
また、ステップＳ２００３において、データ処理装置４００が、未選択の隣接面データがないと判断した場合（ステップＳ２００３：Ｎｏ）、法線プラス側の隣接面データがあるか否かを判断する（ステップＳ２０１２）。
【０１４１】
データ処理装置４００が、法線プラス側の隣接面データがないと判断した場合（ステップＳ２０１２：Ｎｏ）、ステップＳ２０１６へ移行する。データ処理装置４００が、法線プラス側の隣接面データがあると判断した場合（ステップＳ２０１２：Ｙｅｓ）、法線プラス側の隣接面データの辺のうち、法線ベクトルｎの方向の辺を抽出する（ステップＳ２０１３）。
【０１４２】
データ処理装置４００が、抽出した各辺の長さを特定し（ステップＳ２０１４）、抽出した辺の長さのうち、最短の長さを第１の距離として特定する（ステップＳ２０１５）。そして、データ処理装置４００が、法線マイナス側の隣接面データがあるか否かを判断する（ステップＳ２０１６）。そして、データ処理装置４００が、法線マイナス側の隣接面データがないと判断した場合（ステップＳ２０１６：Ｎｏ）、ステップＳ１９０７へ移行する。
【０１４３】
つぎに、データ処理装置４００が、法線マイナス側の隣接面データがあると判断した場合（ステップＳ２０１６：Ｙｅｓ）、法線マイナス側の隣接面データで示される隣接面の辺のうち、法線ベクトルｎの方向と逆方向の辺を抽出する（ステップＳ２０１７）。そして、データ処理装置４００が、抽出した各辺の長さを特定し（ステップＳ２０１８）、抽出した辺の長さのうち、最短の長さを第２の距離として特定し（ステップＳ２０１９）、ステップＳ１９０７へ移行する。
【０１４４】
図２２は、図１９で示した設定処理（ステップＳ１９０７）の詳細な説明を示すフローチャートである。まず、データ処理装置４００が、第１の距離が特定されたか否かを判断する（ステップＳ２２０１）。そして、データ処理装置４００が、第１の距離が特定されたと判断した場合（ステップＳ２２０１：Ｙｅｓ）、ステップＳ２２０２へ移行する。そして、データ処理装置４００が、バウンディングボックスＢ０の面のうち、法線ベクトルｎの方向にある指定面と平行な第１の設定面を設定する（ステップＳ２２０２）。バウンディングボックスＢ０のサイズは、指定面が射影可能なサイズであればよいため、第１の設定面と指定面とが重なっていなければよく、第１の設定面の設定位置を特に限定しない。
【０１４５】
つぎに、データ処理装置４００が、バウンディングボックスＢ１の面のうち、法線ベクトルｎの方向にある指定面に平行な第１の設定面を、第１の対向面と指定面との中間の位置に設定する（ステップＳ２２０３）。具体的には、たとえば、データ処理装置４００が、第１の設定面を指定面から第１の距離の略半分の位置に設定する。
【０１４６】
データ処理装置４００が、第１の距離が特定されなかったと判断した場合（ステップＳ２２０１：Ｎｏ）、ステップＳ２２０４へ移行する。そして、データ処理装置４００が、バウンディングボックスＢ０の面のうち、法線ベクトルｎの方向にある指定面と平行な第１の設定面を設定する（ステップＳ２２０４）。上述したようにバウンディングボックスＢ０のサイズは、指定面が射影可能なサイズであればよいため、第１の設定面と指定面データとが重なっていなければよく、第１の設定面の設定位置を特に限定しない。
【０１４７】
そして、データ処理装置４００が、バウンディングボックスＢ１の面のうち、法線ベクトルｎの方向にある指定面と平行な第１の設定面を設定する（ステップＳ２２０５）。具体的には、たとえば、データ処理装置４００が、第１の設定面を指定面から第２の距離の半分の位置に設定する。これにより、第１の設定面と指定面との間隔が、第２の設定面と指定面との間隔と一致する。または、具体的には、たとえば、データ処理装置４００が、第１の設定面を指定面から記憶装置に記憶された所定距離の位置に設定する。
【０１４８】
そして、ステップＳ２２０３とステップＳ２２０５のつぎに、データ処理装置４００が、第２の距離が特定されたか否かを判断する（ステップＳ２２０６）。データ処理装置４００が、第２の距離が特定されたと判断した場合（ステップＳ２２０６：Ｙｅｓ）、ステップＳ２２０７へ移行する。データ処理装置４００が、バウンディングボックスＢ０の面のうち、法線ベクトルｎの方向と逆方向にある指定面に平行な第２の設定面を設定する（ステップＳ２２０７）。上述したようにバウンディングボックスＢ０のサイズは、指定面が射影可能なサイズであればよいため、第１の設定面と指定面とが重なっていなければよく、第１の設定面の設定位置を特に限定しない。
【０１４９】
そして、データ処理装置４００が、バウンディングボックスＢ１の面のうち、法線ベクトルｎの方向と逆方向にある指定面に平行な第２の設定面を、第２の対向面と指定面との中間の位置に設定する（ステップＳ２２０８）。具体的には、たとえば、データ処理装置４００が、第２の設定面を指定面から第２の距離の半分の位置に設定する。そして、データ処理装置４００が、ステップＳ２２０８のつぎに、ステップＳ２２１１へ移行する。
【０１５０】
データ処理装置４００が、第２の距離が特定されなかったと判断した場合（ステップＳ２２０６：Ｎｏ）、ステップＳ２２０９へ移行する。データ処理装置４００が、バウンディングボックスＢ０の面のうち、法線ベクトルｎの方向と逆方向にある指定面に平行な第２の設定面を設定する（ステップＳ２２０９）。上述したようにバウンディングボックスＢ０のサイズは、指定面が射影可能なサイズであればよいため、第１の設定面と指定面データとが重なっていなければよく、第１の設定面の設定位置を特に限定しない。
【０１５１】
そして、データ処理装置４００が、バウンディングボックスＢ１の面のうち、法線ベクトルｎの方向と逆方向にある指定面に平行な第２の設定面を、指定面から第１の距離未満または所定距離の位置に設定する（ステップＳ２２１０）。具体的には、たとえば、データ処理装置４００が、第２の設定面を指定面データから第１の距離の半分の位置に設定する。これにより、第１の設定面と指定面との間隔が、第２の設定面と指定面との間隔と一致する。または、具体的には、たとえば、データ処理装置４００が、第２の設定面を指定面から記憶装置に記憶された所定距離の位置に設定する。
【０１５２】
つぎに、ステップＳ２２０８またはステップＳ２２１０のつぎに、データ処理装置４００が、バウンディングボックスＢ０，Ｂ１を正射影の視体積に設定する（ステップＳ２２１１）。そして、データ処理装置４００が、視体積の設定結果と、第１の設定面と第２の設定面とのいずれか一方から他方に向かう方向または第２の設定面から第１の設定面に向かう方向のいずれかの射影方向と、を含む射影制御情報を出力する（ステップＳ２２１２）。そして、データ処理装置４００が、ステップＳ１９０８に移行する。射影制御情報の出力先は、上述した正射影手段である。
【０１５３】
ここで挙げた設定処理（Ｓ１９０７）のフローチャートにおいて、第１の設定面を設定するステップ（Ｓ２２０２〜Ｓ２２０５）と第２の設定面を設定するステップ（Ｓ２２０７〜Ｓ２２１０）との実行順はいずれが先であってもよい。
【０１５４】
図２３は、図１９で示した変換処理（ステップＳ１９０８）の詳細な説明を示すフローチャートである。まず、データ処理装置４００が、物体データ５００の各部品の色データを第１の色データに変換し（ステップＳ２３０１）、物体データ５００の背景情報の色データを第２の色データに変換する（ステップＳ２３０２）。
【０１５５】
そして、データ処理装置４００が、３次元指定面データ内の指定面データの色データを第１の色データに変換し（ステップＳ２３０３）、３次元指定面データの背景情報の色データを第３の色データに変換し（ステップＳ２３０４）、ステップＳ１９０９へ移行する。
【０１５６】
図２４は、図１９で示した生成処理（ステップＳ１９０９）の詳細な説明を示すフローチャートである。データ処理装置４００が、物体データ５００の中で、バウンディングボックスＢ１に含まれる部品群を、射影方向に正射影することで、第１の射影画像を生成する（ステップＳ２４０１）。ここで、射影方向は、第１の設定面から第２の設定面の方向または第２の設定面から第１の設定面の方向である。データ処理装置４００が、３次元指定面データの中で、バウンディングボックスＢ０に含まれる部品を、射影方向に正射影することで、第２の射影画像を生成する（ステップＳ２４０２）。バウンディングボックスＢ０に含まれる部品とは、３次元化された指定面である。ここで、射影方向ｄｒｐは、第１の設定面と第２の設定面とのうちいずれか一方から他方に向かう方向である。
【０１５７】
データ処理装置４００が、出力部８０７により、第１の射影画像と第２の射影画像を出力し（ステップＳ２４０３）、ｉ＝０とする（ステップＳ２４０４）。データ処理装置４００が、ｉ＜第１の射影画像のピクセル数であるか否かを判断する（ステップＳ２４０５）。
【０１５８】
データ処理装置４００が、ｉ＜第１の射影画像のピクセル数でないと判断した場合（ステップＳ２４０５：Ｎｏ）、第２の射影画像のｉ番目のピクセルの色データを取得する（ステップＳ２４０６）。データ処理装置４００が、第２の射影画像のｉ番目のピクセルの色データが第３の色データであるか否かを判断する（ステップＳ２４０７）。
【０１５９】
データ処理装置４００が、第２の射影画像のｉ番目のピクセルの色データが第３の色データであると判断した場合（ステップＳ２４０７：Ｙｅｓ）、データ処理装置４００が、第１の射影画像のｉ番目のピクセルの色データを第３の色データに設定する（ステップＳ２４０８）。つぎに、データ処理装置４００が、ｉ＝ｉ＋１とし（ステップＳ２４０９）、ステップＳ２４０５に戻る。また、ステップＳ２４０７において、データ処理装置４００が、第２の射影画像のｉ番目のピクセルの色データが第３の色データでないと判断した場合（ステップＳ２４０７：Ｎｏ）、ステップＳ２４０９へ移行する。
【０１６０】
ステップＳ２４０５において、データ処理装置４００が、ｉ＜第１の射影画像のピクセル数であると判断した場合（ステップＳ２４０５：Ｙｅｓ）、第１の射影画像を第３の射影画像として出力し（ステップＳ２４１０）、ステップＳ１９１０へ移行する。
【０１６１】
以上説明したように、データ処理装置が、指定された指定面データで示される指定面に対向する対向面との間に射影面を設定する。これにより、ユーザは対向面を示す対向面データに対応する部品データで示される部品を含まないように設定された射影範囲を得ることができる。そして、部品群のいずれかの部品に射影方向に貫通する貫通孔や複数の部品で隙間が形成されている場合、ユーザが射影制御情報に基づいて射影を行うことで、射影画像により貫通孔や隙間が検出される。したがって、データ処理装置が、射影範囲の設定精度を向上させることができる。さらに、データ処理装置が、部品データから情報量が減らされた面データによって射影面を設定することで、設定処理の計算量を減少させることができる。これにより、データ処理装置が、射影範囲の設定を高速化させることができる。
【０１６２】
また、データ処理装置が、指定面と、指定面から最短距離にある対向面と、の間に射影面を設定する。これにより、ユーザが、最短の対向面に対応する部品が最短距離に位置していても含まないような射影制御情報を得ることができる。そして、部品群のいずれかの部品に射影方向に貫通する貫通孔や複数の部品で隙間が形成されている場合、ユーザが射影制御情報に基づいて射影を行うことで、射影画像により貫通孔や隙間が検出される。
【０１６３】
また、データ処理装置が、指定面と、対向面と、の中間の位置に射影面を設定する。これにより、指定面データに対応する部品に接続されている他の部品ができる限り射影範囲に含まれ、対向面データに対応する部品に接続されている他の部品ができる限り射影範囲に含まれないような射影制御情報をユーザが得ることができる。
【０１６４】
また、データ処理装置が、指定面と指定面に対向する第１の対向面との間に、第１の設定面を設定する。指定面と、第１の対向面に対向し指定面の反対側にある第２の対向面と、の間に第２の設定面を設定する。これにより、ユーザが、第１の対向面に対応する部品データおよび第２の対向面に対応する部品データを含まないような射影制御情報を得ることができる。部品データ群のいずれかの部品データに射影方向に貫通する貫通孔や複数の部品データで隙間が形成されている場合、ユーザが射影制御情報に基づいて射影を行うことで、射影画像により貫通孔や隙間が検出される。これにより、データ処理装置が、射影範囲の設定を高速化させることができる。
【０１６５】
また、データ処理装置が、指定面と指定面から最短距離にある第１の対向面との間に、射影面を設定する。これにより、ユーザが、最短の第１の対向面に対応する部品データが最短距離に位置していても含まないような射影制御情報を得ることができる。そして、部品データ群のいずれかの部品データで示される部品に射影方向に貫通する貫通孔が形成されていたり複数の部品で隙間が形成されている場合、ユーザが射影制御情報に基づいて射影を行うことで、射影画像により貫通孔や隙間が検出される。
【０１６６】
また、データ処理装置が、指定面と、指定面から最短距離にある第１の対向面と、の間に第１の設定面を設定するとともに、指定面と、指定面データから最短距離にある第２の対向面と、の間に第２の設定面を設定する。これにより、ユーザが、最短の第１および第２の対向面を示す対向面データに対応する部品が最短距離に位置していても含まないような射影制御情報を得ることができる。そして、部品群のいずれかの部品に射影方向に貫通する貫通孔や複数の部品で隙間が形成されている場合、ユーザが射影制御情報に基づいて射影を行うことで、射影画像により貫通孔や隙間が検出される。
【０１６７】
また、データ処理装置が、指定面と、第１の対向面と、の中間の位置に第１の設定面を設定する。これにより、指定面データに対応する部品に接続されている他の部品ができる限り射影範囲に含まれ、第１の対向面に対応する部品に接続されている他の部品ができる限り射影範囲に含まれないような射影制御情報をユーザが得ることができる。
【０１６８】
また、データ処理装置が、指定面と、第２の対向面と、の中間の位置に第２の設定面を設定する。これにより、指定面データに対応する部品に接続されている他の部品ができる限り射影範囲に含まれ、第２の対向面に対応する部品に接続されている他の部品ができる限り射影範囲に含まれないような射影制御情報をユーザが得ることができる。
【０１６９】
また、データ処理装置が、設定精度が向上された射影範囲によって正射影を行うことで、射影範囲に含まれる部品群に関する正射影画像を生成する。これにより、部品データ群のいずれかの部品データで示される部品に射影方向に貫通する貫通孔が形成されていたり複数の部品データで隙間が形成されている場合、ユーザが射影制御情報に基づいて射影を行う。これにより、射影画像により貫通孔や隙間に関する情報が検出される。
【０１７０】
また、データ処理装置が、射影画像から穴情報を検出する。これにより、データ処理装置が、穴情報の信頼度を向上させることができる。また、上述したように従来、複数の部品を組み合わせた３次元ＣＡＤモデルの外側の面を取得し、その面に含まれる部品の稜線と他面との接触関係を調べ、他の部品との有効な接触のない稜線で所定の条件を満たすものを隙間や穴として検出する技術がある。
【０１７１】
本データ処理装置では、部品間の接触関係を検出しないため、従来と比較して、穴情報の検出にかかる計算量を減少させることができる。さらに、３次元ＣＡＤモデルの一種であるポリゴンデータの場合、線が粗いため、データ処理装置が接触関係を検出することが困難である。本データ処理装置では、ポリゴンデータであっても、他の種類の３次元ＣＡＤモデルであっても、穴情報の検出結果に大きな差は生じない。そのため、本データ処理装置が、３次元ＣＡＤモデルの種類に関係なく、穴情報を検出させることができる。
【０１７２】
また、データ処理装置が、射影前に、部品の色データを特定の色データに変換し、背景情報の色データを特定の色データと異なる色データに変換する。これにより、射影後の射影画像は穴の箇所と部品の箇所とで異なる色データとなるため、本データ処理装置が、射影後に穴情報を検出する処理を容易化させることができる。
【０１７３】
また、射影処理では、射影面が矩形面でなければ射影できないが、指定面の形状が矩形面でなくとも、指定面を囲う矩形面を利用することで、矩形面でない指定面となる部品の射影画像を生成することができる。これにより、部品の形状に関わらず、本データ処理装置が、部品に関する射影画像から部品に関する穴情報を検出させることができる。
【０１７４】
なお、本実施の形態で説明したデータ処理方法は、あらかじめ用意されたデータ処理プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。
【０１７５】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１７６】
（付記１）３次元で表現された複数の部品データのうち所定の部品データを代表する面データ群から、いずれかの面データを指定し、
前記いずれかの面データで示される面と、前記面データ群の中の前記いずれかの面データ以外の面データで示される前記面に対向する対向面と、の間の位置に、前記面に対向する第１の設定面を設定し、
前記第１の設定面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定し、
前記３次元で表現された複数の部品データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を得る、
処理をコンピュータに実行させることを特徴とするデータ処理プログラム。
【０１７７】
（付記２）前記第１の設定面を設定する処理は、
前記面と、前記面から最短距離で前記面に対向する前記対向面との間の位置に、前記第１の設定面を設定することを特徴とする付記１に記載のデータ処理プログラム。
【０１７８】
（付記３）前記第１の設定面を設定する処理は、
前記面と前記対向面との中間の位置に、前記第１の設定面を設定することを特徴とする付記１に記載のデータ処理プログラム。
【０１７９】
（付記４）前記第１の設定面を設定する処理は、
前記面と、前記面データ群の中の前記いずれかの面データ以外の第１の面データで示され前記面に対向する第１の対向面と、の間の位置に、前記面および前記第１の対向面に対向する第１の設定面を設定し、
前記第２の設定面を設定する処理は、
前記面データ群の中の第２の面データで示され、前記面に対して前記第１の対向面とは反対側の位置に第２の対向面を設定し、
前記面と前記第２の対向面との間の位置に、前記面に対向する第２の設定面を設定することを特徴とする付記１に記載のデータ処理プログラム。
【０１８０】
（付記５）前記第１の設定面を設定する処理は、
前記面と、前記面から最短距離となる前記第１の対向面と、の間の位置に、前記第１の設定面を設定することを特徴とする付記４に記載のデータ処理プログラム。
【０１８１】
（付記６）前記第２の設定面を設定する処理は、
前記面と、前記第１の対向面とは反対側において前記面から最短距離となる第２の対向面と、の間の位置に、前記面および前記第２の対向面に対向する第２の設定面を設定することを特徴とする付記５に記載のデータ処理プログラム。
【０１８２】
（付記７）前記第１の設定面を設定する処理は、
前記面と、前記第１の対向面と、の中間の位置に、前記第１の設定面を設定することを特徴とする付記４〜６のいずれか一つに記載のデータ処理プログラム。
【０１８３】
（付記８）前記第２の設定面を設定する処理は、
前記いずれかの面と、前記第２の対向面と、の中間の位置に、前記第２の設定面を設定することを特徴とする付記４〜７のいずれか一つに記載のデータ処理プログラム。
【０１８４】
（付記９）前記射影制御情報に基づく前記射影処理により前記部品群の射影画像を生成する処理を前記コンピュータに実行させることを特徴とする付記１〜８のいずれか一つに記載のデータ処理プログラム。
【０１８５】
（付記１０）前記射影画像に基づいて、前記部品群に関する穴情報を検出する処理を前記コンピュータに実行させることを特徴とする付記９に記載のデータ処理プログラム。
【０１８６】
（付記１１）前記部品データ群の色情報を特定の色情報に変換する処理を前記コンピュータに実行させ、
前記射影画像を生成する処理は、
前記特定の色情報に変換された変換後の部品データ群で示される変換後の部品群を、前記射影方向に向かって射影することで、前記変換後の部品群の射影画像を生成し、
前記穴情報を検出する処理は、
前記変換後の部品群の射影画像のうち前記特定の色情報以外の箇所から前記穴情報を検出することを特徴とする付記１０に記載のデータ処理プログラム。
【０１８７】
（付記１２）前記射影画像を生成する処理は、
前記特定の色情報に変換された変換後の部品群を、前記射影方向に向かって射影することで、前記変換後の部品群の第１の射影画像を生成するとともに、前記面を前記射影方向に向かって射影することで、第２の射影画像を生成して、前記第１の射影画像と前記第２の射影画像とを合成した第３の射影画像を生成し、
前記穴情報を検出する処理は、
前記第３の射影画像のうち前記特定の色情報以外の箇所から前記穴情報を検出することを特徴とする付記１１に記載のデータ処理プログラム。
【０１８８】
（付記１３）３次元で表現された複数の部品データのうち所定の部品データを代表する面データ群から、いずれかの面データを指定し、
前記いずれかの面データで示される面と、前記面データ群の中の前記いずれかの面データ以外の面データで示される前記面に対向する対向面と、の間の位置に、前記面に対向する第１の設定面を設定し、
前記第１の設定面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定し、
前記３次元で表現された複数の部品データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を得る、
処理をコンピュータが実行することを特徴とするデータ処理方法。
【０１８９】
（付記１４）３次元で表現された複数の部品データのうち所定の部品データを代表する面データ群から、いずれかの面データを指定する指定手段と、
前記いずれかの面データで示される面と、前記面データ群の中の前記いずれかの面データ以外の面データで示される前記面に対向する対向面と、の間の位置に、前記面に対向する第１の設定面を設定する第１の設定手段と、
前記第１の設定面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定する第２の設定手段と、
前記３次元で表現された複数の部品データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を得る出力手段と、
を備えることを特徴とするデータ処理装置。
【０１９０】
（付記１５）３次元で表現された複数の部品データと、前記部品データのうち所定の部品データを代表する面データ群とを含むデータを記憶する記憶手段と、
プロセッサとを有し、
前記プロセッサに、
前記記憶手段に記憶されたデータに含まれる面データ群から、いずれかの面データを指定し、
指定した面データで示される面と、前記面データ群の中の前記指定した面データ以外の面データで示され前記面に対向する対向面と、の間の位置に、前記面に対向する第１の設定面を設定し、
前記第１の設定面に対向する第２の設定面を、前記面に対し前記対向面とは反対側の位置に設定し、
前記３次元で表現された複数の部品データのうち前記第１および第２の設定面の間に存在する部品データ群で示される部品群について前記第１および第２の設定面のうちいずれか一方から他方に向かう射影方向に射影する射影制御情報を得る、
処理を実行させることを特徴とするデータ処理装置。
【符号の説明】
【０１９１】
１００，５００  物体データ
１０１  面データ群
１１１  部品
１１２〜１１５  部品
１１６〜１１９  穴
１２１  面データ
１２２，１２３  対向面データ
１４１，１３０１，１５０１  第１の設定面
１４２，１３０２，１５０２  第２の設定面
４００  データ処理装置
８０１  指定部
８０５  第１の設定部
８０６  第２の設定部
８０７  出力部
１４００  射影画像
１８０１  第１の射影画像
１８０２  第２の射影画像
１８０３  第３の射影画像
Ｂ０，Ｂ１，Ｂ２  バウンディングボックス
ｄｒｐ  射影方向
ｄｒ１，ｄｒ２，ｄｒ１０１，ｄｒ１０２，ｄｒ１５１，ｄｒ１５２  方向
【図１】
0005915129.tif 000002
【図２】
0005915129.tif 000003
【図３】
0005915129.tif 000004
【図４】
0005915129.tif 000005
【図５】
0005915129.tif 000006
【図６】
0005915129.tif 000007
【図７】
0005915129.tif 000008
【図８】
0005915129.tif 000009
【図９】
0005915129.tif 000010
【図１０】
0005915129.tif 000011
【図１１】
0005915129.tif 000012
【図１２】
0005915129.tif 000013
【図１３】
0005915129.tif 000014
【図１４】
0005915129.tif 000015
【図１５】
0005915129.tif 000016
【図１６】
0005915129.tif 000017
【図１７】
0005915129.tif 000018
【図１８】
0005915129.tif 000019
【図１９】
0005915129.tif 000020
【図２０】
0005915129.tif 000021
【図２１】
0005915129.tif 000022
【図２２】
0005915129.tif 000023
【図２３】
0005915129.tif 000024
【図２４】
0005915129.tif 000025