(57)【特許請求の範囲】
【請求項１】
物体のジオメトリカル・レプリゼンテーションであってバウンディング・ストラクチャの中に収容されているジオメトリカル・レプリゼンテーションの表面要素をコンピュータによって識別する方法において、
前記バウンディング・ストラクチャを複数のセルに分割するステップと、
前記複数のセルのうちの前記ジオメトリカル・レプリゼンテーションの表面の一部分を包含しているセルを識別し、それらセルから成る集合を第１セル部分集合とするステップと、
第２セル部分集合を求めるステップであって、
（ａ）前記バウンディング・ストラクチャに含まれている前記複数のセルのうちから少なくとも１つの面が露出面となっている表面セルを求めるステップと、
（ｂ）前記各表面セルが第１セル部分集合に含まれているか否かを判定し、第１セル部分集合に含まれていないと判定されたならば、該表面セルを考慮対象から除外するステップと、
（ｃ）前記考慮対象から除外した表面セルの隣接セルを調べて、該隣接セルが前記ジオメトリカル・レプリゼンテーションのどの部分も包含していないと判定されたならば、該表面セルの隣接セルを考慮対象から除外するステップと、
（ｄ）前記考慮対象から除外した隣接セルにさらに隣接するセルを調べて、該さらに隣接するセルが前記ジオメトリカル・レプリゼンテーションのどの部分も包含していないと判定されたならば、該隣接セルにさらに隣接するセルを考慮対象から除外するステップと、
（ｅ）前記（ｄ）の処理を繰り返し、前記複数のセルのうち残ったセルを第２セル部分集合とするステップと、
を含む、第２セル部分集合を求めるステップと、
前記第２セル部分集合に含まれるセルのうちの最外部セルを識別することで、前記ジオメトリカル・レプリゼンテーションの表面要素を識別するステップと、
を含んでいることを特徴とする方法。
【請求項２】
前記バウンディング・ストラクチャの形状及び前記複数のセルの形状がいずれも直方体であることを特徴とする請求項１記載の方法。
【請求項３】
識別した複数の前記表面要素を組合せてそれら表面要素のジオメトリカル・レプリゼンテーションを生成するステップを更に含んでいることを特徴とする請求項１記載の方法。
【請求項４】
前記物体が複数のサブアセンブリから構成されており、前記表面要素がそれらサブアセンブリのうちの最外部サブアセンブリであることを特徴とする請求項１記載の方法。
【請求項５】
前記物体が複数のパーツから成り、前記表面要素がそれらパーツのうちの最外部パーツから成ることを特徴とする請求項１記載の方法。
【請求項６】
前記ジオメトリカル・レプリゼンテーションがＣＡＤ／ＣＡＭ環境における前記物体のジオメトリカル・レプリゼンテーションを含んでいることを特徴とする請求項１記載の方法。
【請求項７】
物体のジオメトリカル・レプリゼンテーションであってバウンディング・ストラクチャの中に収容されているジオメトリカル・レプリゼンテーションを生成するための生成機構を備えたコンピュータ・プラットフォームにおける、前記ジオメトリカル・レプリゼンテーションの表面要素を識別する方法を実行するためのコンピュータ実行命令を記録したコンピュータ読み取り可能な記録媒体において、
前記方法が、
前記バウンディング・ストラクチャを複数のセルに分割するステップと、
前記複数のセルのうちの前記ジオメトリカル・レプリゼンテーションの表面の一部分を包含しているセルを識別し、それらセルから成る集合を第１セル部分集合とするステップと、
第２セル部分集合を求めるステップであって、
（ａ）前記複数のセルのうちから前記バウンディング・ストラクチャに含まれているセルのうち、少なくとも１つの面が露出面となっている表面セルを求めるステップと、
（ｂ）前記各表面セルが第１セル部分集合に含まれているか否かを判定し、第１セル部分集合に含まれていないと判定されたならば、該表面セルを考慮対象から除外するステップと、
（ｃ）前記考慮対象から除外した表面セルの隣接セルを調べて、該隣接セルがジオメトリカル・レプリゼンテーションのどの部分も包含していないと判定されたならば、該表面セルの隣接セルを考慮対象から除外するステップと、
（ｄ）前記考慮対象から除外した隣接セルにさらに隣接するセルを調べて、該さらに隣接するセルが前記ジオメトリカル・レプリゼンテーションのどの部分も包含していないと判定されたならば、該隣接セルにさらに隣接するセルを考慮対象から除外するステップと、
（ｅ）前記（ｄ）の処理を繰り返し、前記複数のセルのうち残ったセルを第２セル部分集合とするステップと、
を含む、第２セル部分集合を求めるステップと、
前記第２セル部分集合に含まれるセルのうちの最外部セルを識別することで、前記ジオメトリカル・レプリゼンテーションの表面要素を識別するステップとを含んでいる方法である、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
物体のジオメトリカル・レプリゼンテーションの表面要素を識別する方法を実行するためのコンピュータ実行命令を記録したコンピュータ読み取り可能な記録媒体において、
該方法が、
前記ジオメトリカル・レプリゼンテーションを収容するバウンディング・ストラクチャを設定するステップと、
前記バウンディング・ストラクチャを複数のセルに分割するステップと、
前記複数のセルのうちの前記ジオメトリカル・レプリゼンテーションの表面の一部分を包含しているセルを識別し、それらセルから成る集合を第１セル部分集合とするステップと、
第２セル部分集合を求めるステップであって、
（ａ）前記バウンディング・ストラクチャに含まれている前記複数のセルのうちから少なくとも１つの面が露出面となっている表面セルを求めるステップと、
（ｂ）前記各表面セルが第１セル部分集合に含まれているか否かを判定し、第１セル部分集合に含まれていないと判定されたならば、該表面セルを考慮対象から除外するステップと、
（ｃ）前記考慮対象から除外した表面セルの隣接セルを調べて、該隣接セルが前記ジオメトリカル・レプリゼンテーションのどの部分も包含していないと判定されたならば、該表面セルの隣接セルを考慮対象から除外するステップと、
（ｄ）前記考慮対象から除外した隣接セルにさらに隣接するセルを調べて、該さらに隣接するセルが前記ジオメトリカル・レプリゼンテーションのどの部分も包含していないと判定されたならば、該隣接セルにさらに隣接するセルを考慮対象から除外するステップと、
（ｅ）前記（ｄ）の処理を繰り返し、前記複数のセルのうち残ったセルを第２セル部分集合とするステップと、
を含む、第２セル部分集合を求めるステップと、
前記第２セル部分集合に含まれるセルのうちの最外部セルを識別することで、前記ジオメトリカル・レプリゼンテーションの表面要素を識別するステップと、
を含んでいる方法である、ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
前記最外部セルのうち前記ジオメトリカル・レプリゼンテーションの表面を複数包含する最外部セルが存在する場合に、それら複数の表面のうちの最外部表面を識別する、識別ステップを更に含んでいることを特徴とする請求項１記載の方法。
【請求項１０】
前記最外部表面を識別する識別ステップが、
前記複数の表面を包含している最外部セルの少なくとも１つの露出面上の点を選択するステップと、
前記選択した点から前記最外部セルの内側へ移動しつつ前記複数の表面のうちで最初に遭遇した表面を最外部表面であると判定するステップと、
を含んでいることを特徴とする請求項９記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物体のジオメトリカル・レプリゼンテーションの表面要素をコンピュータによって識別する方法を提供することに関するものである。また、より詳しくは、本発明は。物体のジオメトリカル・レプリゼンテーションの要素のうち外から見える要素を識別するためのヒューリスティックな方法に関するものである。
【０００２】
【従来の技術】
コンピュータ支援設計（ＣＡＤ）／コンピュータ支援製造（ＣＡＭ）システムは、３次元物体のモデルを、その物体のジオメトリカル・レプリゼンテーション（幾何学形状的表示）の形で提供する機能を備えている。ＣＡＤ／ＣＡＭシステムは更に、物体のジオメトリカル・レプリゼンテーションを異なった角度から眺められるように回転させる機能も備えている。
【０００３】
ＣＡＤ／ＣＡＭシステムを使用している設計者は、ときとして、物体の全体を表すデータは必要でないが、その物体のジオメトリカル・レプリゼンテーションのうちの外部表面を表すデータだけは欲しいということがある。具体的な例としては、設計の仕事を行う上で、設計者は、設計しようとしている構造に、ある物体を組み込めるようにするために、その物体の外部表面のジオメトリカル・レプリゼンテーションだけが必要なことが多々ある。例えば、自動二輪車の燃料タンクの設計者は、設計する燃料タンクの形状がエンジンと干渉しないように、そのエンジンの表面形状を表したデータを必要とするであろう。このような場合、設計者は、自身の仕事を完遂するために、エンジン内部の構成部品や冷却水通路の詳細構造を知る必要はない。また別の例として、企業秘密の秘匿を意図しているメーカーは、設計者にデータを提供しなければならないときに、物体の外部表面を表したデータだけを提供して、その物体の内部の、企業秘密に該当する構成要素や構造を設計者に知らせずにおきたいことがある。
【０００４】
しかしながら、従来のＣＡＤ／ＣＡＭシステムは、物体のジオメトリカル・レプリゼンテーションのうちから外部表面だけを識別して抽出する機能を備えていなかった。そのため、従来のＣＡＤ／ＣＡＭシステムを使用している設計者は、データを操作する場合に、物体の外部表面を表したデータしか必要としていない場合であっても、その物体の全体を表したデータまでも操作しなければならなかった。そのため、計算処理時間が余計に必要とされ、その分生産性が低下していた。更に、従来のＣＡＤ／ＣＡＭシステムでは、ユーザが、ある物体の内部の構成部材や構造に関する、企業秘密に該当する情報を秘匿しつつ、その物体の表面形状を表したデータを他者に提供するということは不可能であった。
【０００５】
【発明が解決しようとする課題】
従って本発明の目的は、物体のジオメトリカル・レプリゼンテーションの表面要素をコンピュータによって識別する方法を提供することにある。
【０００６】
本発明の更なる目的は、物体のジオメトリカル・レプリゼンテーションの表面要素を抽出することにある。
本発明の更なる目的は、複数のパーツないしサブアセンブリで構成された複雑な物体の表面パーツないし表面サブアセンブリを識別することにある。
【０００７】
【課題を解決するための手段】
本発明は、以上に説明した従来のＣＡＤ／ＣＡＭシステムに付随する問題を解決するために、物体のジオメトリカル・レプリゼンテーションの表面要素を、コンピュータによって識別する方法を提供する。尚、本明細書で使用する「表面要素」という用語は、物体の表面、ないしは、複数のサブアセンブリで構成されている複雑なアセンブリのうちの表面に位置するサブアセンブリ、ないしは、複数の部品から成る物体の、その表面に位置する部品を意味するものである。本発明の方法では、先ず、ジオメトリカル・レプリゼンテーションを受取り、ここで受取るジオメトリカル・レプリゼンテーションは、一般的には、既にバウンディング・ストラクチャの中に収容されている。ただし、場合によっては、バウンディング・ストラクチャの中に収容されていないジオメトリカル・レプリゼンテーションを受取ることもある。その場合には、本発明の方法では、最初に、そのジオメトリカル・レプリゼンテーションを収容するバウンディング・ストラクチャを設定する。バウンディング・ストラクチャの形状は様々なものとすることができるが、直方体を選択することが好ましい。ただし、本発明の方法は、特定の形状のバウンディング・ストラクチャを用いることに限定されるものではない。
【０００８】
コンピュータによって実施する本発明の方法は、バウンディング・ストラクチャを複数のセルに分割するステップを含んでいる。本発明の好適実施例では、それらセルの形状として直方体を選択している。次のステップでは、それら複数のセルのうちの、物体のジオメトリカル・レプリゼンテーションの表面の少なくとも一部分を包含しているセルを識別し、それらセルから成るセル部分集合を第１セル部分集合とする。次のステップでは、第２セル部分集合を識別し、これは、バウンディング・ストラクチャの境界セルのうち、第１セル部分集合に含まれていないセルを考慮対象から除外する手順を反復することによって行う。ここでいう「表面セル」とは、最初から露出面を有しているセル、または、隣接セルが除去された結果、露出面を持つようになったセルのことをいい、また、ここで露出面とは、セルの面のうち隣接セルとの間の境界面ではない面のことである。最後に、この方法においては、第２セル部分集合に含まれているセルのうちから、最外部セルに該当する複数のセルを識別し、それによって、ジオメトリカル・レプリゼンテーションの表面要素を識別する。もし１つの最外部セルに、ジオメトリカル・レプリゼンテーションの複数の表面部分が包含されていたならば、レイ・トレーシング法によって、それら表面のうちの最外部の表面を判定するようにしてもよい。
【０００９】
本発明の１つの特徴的局面として、コンピュータが生成する物体のレプリゼンテーションに含まれる面のうち、外から見えるその物体の外部表面に該当する面の識別及び抽出を近似的に行うことに関するものがある。この場合、本発明の方法によれば、それら外部表面によって形成されるその物体のエンベロープの内部に収容される部品ないし構造をディスプレイに表示することなく、それら外部表面だけをコンピュータによってディスプレイに表示することができる。
【００１０】
本発明の別の１つの特徴的局面として、本発明の方法に従ってジオメトリカル・レプリゼンテーションの表面要素を識別するためのコンピュータ実行命令を記録した、コンピュータ読み取り可能な記録媒体を提供することに関するものがある。
【００１１】
本発明の別の１つの特徴的局面として、物体のジオメトリカル・レプリゼンテーションを生成するための生成機構を備えたコンピュータ・プラットフォームにおいて、ジオメトリカル・レプリゼンテーションの表面要素を識別する本発明の方法を実行するためのコンピュータ実行命令を転送する、転送媒体を提供することに関するものがある。
【００１２】
本発明は、物体の視覚ジオメトリカル・レプリゼンテーションを生成する機構を備えた任意のコンピュータ・プラットフォームで実施することができる。そのような機構には、例えばＣＡＤ／ＣＡＭシステムがあるが、ただしこれに限定されない。ＣＡＤ／ＣＡＭシステムは、本発明の方法を実施するのに特に適したものである。また特に、本発明の方法は、ＣＡＤ／ＣＡＭシステムのユーティリティ機能の１つとして、ＣＡＤ／ＣＡＭシステムに組込むことができる。本発明の方法をＣＡＤ／ＣＡＭシステムに組込むことが有利である理由の１つは、多くの設計者がＣＡＤ／ＣＡＭシステムに慣れ親しんでいるということである。更に、ＣＡＤ／ＣＡＭシステムには、物体のジオメトリカル・レプリゼンテーションを様々に操作するための機能が装備されており、例えば、物体（オブジェクト）はＣＡＤ／ＣＡＭシステムでは一般的にモデルと呼ばれているが、ＣＡＤ／ＣＡＭシステムには、別の角度から眺められるようにモデルを回転させる機能なども備えられている。
【００１３】
【発明の実施の形態】
以下に図面を参照しつつ、本発明の具体的な幾つかの実施の形態について説明して行く。
【００１４】
本発明の１つの実施例においては、本発明にかかる、コンピュータによって実施する方法を用いて、物体のジオメトリカル・レプリゼンテーションの外部表面を識別、及び／または、抽出するようにしている。図１は、この実施例にかかる方法を実施することのできる、具体例としてのコンピュータ・システム１０の構成要素を示したブロック図である。コンピュータ・システム１０は、命令を実行する中央処理装置（ＣＰＵ）１２を含んでいる。コンピュータ・システム１０の一部を成す周辺装置として、キーボード１４、ビデオ・ディスプレイ１６、マウス１８等を装備することができる。また、コンピュータ・システム１０がアナログ電話線を介して通信を行えるようにするモデム２０や、コンピュータ・システム１０をローカル・エリア・ネットワーク（ＬＡＮ）に接続するためのネットワーク・アダプタ２２を装備するようにしてもよい。コンピュータ・システム１０に装備するその他の構成要素としては、例えば、リモート・サーバ（不図示）との間で遠隔通信を行うためのケーブル・モデム等がある。
【００１５】
コンピュータ・システム１０は、一時記憶装置２４と二次記憶装置２６との両方を備えている。二次記憶装置２６としては、様々な種類の非揮発性記憶装置を使用することができる。例えば、二次記憶装置２６は、ＣＤ−ＲＯＭ、フロッピー・ディスク、ハード・ディスク、及びその他の適当なコンピュータ読み取り可能な媒体を用いるものとすればよく、更にその他の、光学式、磁気式、及びその他の記録媒体もこれに含まれる。一時記憶装置２４としては、例えばＤＲＡＭ、ＳＲＡＭ、及びその他の様々な種類の記憶装置を使用することができる。
【００１６】
コンピュータ・システム１０は更に、物体のジオメトリカル・レプリゼンテーションを生成するための生成機構を含んでいる。この生成機構は、例えば、二次記憶装置２６に格納したＣＡＤ／ＣＡＭシステム等であり、それを使用することで、１つの物体の、または、複数の物体から成るアセンブリの、表面を表したモデルを生成し得る機構である。尚、使用可能なＣＡＤ／ＣＡＭシステムの具体例としては、米国、マサチューセッツ州、Ｗａｌｔｈａｍに所在の、パラメトリック・テクノロジー社（Ｐａｒａｍｅｔｒｉｃ  Ｔｅｃｈｎｏｌｏｇｙ  Ｃｏｒｐｏｒａｔｉｏｎ）が、「Ｐｒｏ／Ｅｎｇｉｎｅｅｒ  ２０００ｉ」という商品名で販売している製品などがある。尚、ディスプレイ・ユニット１６によって、モデルの表面を視覚表示することが可能である。
【００１７】
二次記憶装置２６には、更に、本発明の実施例にかかる方法に従って、物体の外部表面や複雑なアセンブリの周囲サブアセンブリなどの表面要素を、識別、及び／または、抽出するための実行命令を格納しておくことができる。１つの好適実施例では、そのような実行命令を、ＣＡＤ／ＣＡＭシステムに組込んであり、それによって、そのＣＡＤ／ＣＡＭシステムで生成した物体のジオメトリカル・レプリゼンテーションの表面要素を識別してディスプレイに表示させる機能を、設計者がそのシステムのオプション機能として利用できるようにしている。尚、当業者には明らかなように、図１に示したコンピュータ・システムは、単に具体例を提示するためのものであり、本発明がそれに限定されるものではない。
【００１８】
図２は、本発明の具体的な１つの実施例にかかる方法の様々なステップを示したフローチャートである。この方法は、入力として物体のジオメトリカル・レプリゼンテーションを受取る。このジオメトリカル・レプリゼンテーションは、例えば、ＣＡＤ／ＣＡＭシステムを用いて生成したものである。入力として受取ったジオメトリカル・レプリゼンテーションが、もしバウンディング・ストラクチャの中に収容されていなかったならば、この実施例にかかる方法では、ステップ２８において、そのジオメトリカル・レプリゼンテーションを収容するバウンディング・ストラクチャを設定する。バウンディング・ストラクチャの形状としては直方体を選択することが好ましい。この実施例にかかる方法は、ステップ３０において、バウンディング・ストラクチャを複数のセルに分割する。セルの形状は所望の形状とすることができるが、例えば、バウンディング・ストラクチャの形状として直方体が選択されているのであれば、セルの形状としても直方体を選択することが好ましい。
【００１９】
ステップ３２において、この実施例にかかる方法は、物体の表面の各々について、その表面の少なくとも一部を包含するセルを全て識別する。こうして識別したセルが形成するセル集合は、バウンディング・ストラクチャに含まれるセルの全てからなる全体集合の部分集合であり、これを第１セル部分集合とする。本発明の好適な実施の形態では、ジオメトリカル・レプリゼンテーションの表面を包含するセルを識別するために、次のようにしている。最初に、ジオメトリカル・レプリゼンテーションの全ての表面をモザイク状に分割し、即ち、表面を複数の三角形で表示する。続いて、それら三角形の各々を調べて、どのセルの中にその三角形が存在するかを判定し、それによって、ジオメトリカル・レプリゼンテーションの表面の少なくとも一部を包含しているセルを識別する。当業者には明らかなように、このようなモザイク状に分割する方法以外の方法を用いて、ジオメトリカル・レプリゼンテーションの表面を包含しているセルを識別することも可能である。そのような方法は全て本発明の範囲に含まれる。
【００２０】
ステップ３４において、この実施例にかかる方法では、バウンディング・ストラクチャに含まれているセルのうちの幾つかのセルから成る、第２セル部分集合を、以下の方法で求めている。先ず、バウンディング・ストラクチャに含まれている全てのセルのうちには、少なくとも１つの面が露出面となっているセルが幾つか存在する。ここで「露出面」とは、そのセルの面のうち、隣接セルとの間の境界面ではない面をいう。また、ここでは、少なくとも１つの面が露出面となっているセルを「表面セル」といい、全ての表面セルから成るセル集合を「表面セル集合」という。
【００２１】
ステップ３４では、表面セルの各々を調べて、その表面セルが、ステップ３２で識別した第１セル部分集合に含まれているか否かを判定している。これは、とりもなおさず、その表面セルが、物体の表面の少なくとも一部分を含むか否かを調べているということである。調べた表面セルが、第１セル部分集合に含まれていないと判定されたならば、その表面セルを考慮対象から除外する。こうして考慮対象から除外した表面セルから成るセル集合を、ここでは第１層セル集合という。次に、この第１層セル集合に含まれているセルの隣接セルを調べて、その隣接セルがジオメトリカル・レプリゼンテーションのどの部分も包含していなければ、その隣接セルを考慮対象から除外する。こうして除外した隣接セルから成るセル集合を、ここでは第２層セル集合という。この処理手順を反復することで、第３層セル集合、第４層セル集合、…、第ｎ層セル集合を次々と確定して行く。そして、第ｎ層セル集合に含まれているセルの隣接セルを調べたときに、それら隣接セルのいずれもが、ジオメトリカル・レプリゼンテーションの少なくとも一部分を包含しているか、または、それまでに確定したいずれかの層セル集合に含まれていたならば、この処理手順の反復を終了する。また、ここでは、以上の処理手順を反復している間に考慮対象から除外されたセルを「境界セル」と呼び、全ての境界セルから成る集合を「境界セル集合」と呼ぶ。また、全てのセルのうちから境界セルを除いた残りのセルは、バウンディング・ストラクチャに含まれる全てのセルから成る全体集合の部分集合形成し、これを第２セル部分集合と呼ぶ。この第２セル部分集合には、前述の第１セル部分集合に含まれているセルの他に、第１セル部分集合に含まれているセルによって囲繞されているセルも含まれている。
【００２２】
ステップ３６では、以上に説明した第２セル部分集合に含まれているセルのうちから最外部セルに該当するセルを識別する。ここでいう「最外部セル」とは、１つのセル集合の境界を画成しているセルのことである。「最外部セル」は、少なくとも１つの露出面、及び／または、露出稜線、及び／または、露出頂角を有する。ここで「露出稜線」とは、露出面の辺のことであり、また「露出頂角」とは、露出面の頂角のことである。
【００２３】
第２セル部分集合に含まれているセルのうち、最外部セルであると識別されたセルは、物体のジオメトリカル・レプリゼンテーションの表面要素の一部分を含んでおり、この表面要素とは、例えば物体の外部表面である。こうして識別した最外部セルから成る集合体の中に、物体の全ての表面要素が包含されている。第２セル部分集合に含まれているセルのうちから抽出した最外部セルに対しては、様々な操作を加えることができる。例えば、そのような最外部セルに含まれているデータを用いて、物体の表面要素をディスプレイに表示することができる。そのようなデータは、物体の外側要素を表示するのには十分であり、しかも、物体の内部表面等の、内側要素に対応したデータは包含していない。従って、そのようなデータは、記憶するためのメモリ容量が少なくて済み、物体の全体を表しているデータを操作する場合と比べて、迅速に操作することができる。そのような物体の外側要素のレプリゼンテーションを、ここでは「軽い」レプリゼンテーションという。このような「軽い」レプリゼンテーションの利点の１つは、物体全体を表すデータと比べて、より迅速に操作できることにある。例えば、ＣＡＤ／ＣＡＭシステムにおいては、設計者は、その「軽い」レプリゼンテーションを回転させることにより、その物体の外部表面を別の角度から眺めるための操作を容易に行える。
【００２４】
図３〜図６は、図２のフローチャートに示した本発明の方法の具体的な応用例として、その方法を、複雑なアセンブリのジオメトリカル・レプリゼンテーションに適用した例を示した図である。より詳しくは、図３は、ＣＡＤ／ＣＡＭプログラムを用いて作成した複雑なアセンブリのジオメトリカル・レプリゼンテーション３８を示している。図示したアセンブリ３８は、複雑な形状の外部表面に覆われた内部の構成要素及びサブアセンブリを含んでいる。
【００２５】
図４は、バウンディング・ボックス４０の中にその全体が収容されたアセンブリ３８を示しており、バウンディング・ボックス４０は、図２のステップ３０の処理手順に従って多数の立方体セル４２に分割されている。バウンディング・ボックス４０に、図２のフローチャートのステップ３２及びステップ３４を適用することによって、このバウンディング・ボックス４０のセル４２のうちから、アセンブリ３８のどの部分も包含していない表面セルが除去され、図５に示したセルから成るセル部分集合４４が得られる。続いて、図５に示したこのセル部分集合４４に含まれているセルに対して、図２のフローチャートのステップ３６を適用することにより、複雑なアセンブリ３８の表面要素を構成する表面及びサブアセンブリが識別される。
【００２６】
コンピュータ・システム１０は、３次元物体のジオメトリカル・レプリゼンテーションをディスプレイに表示する機能を備えているため、表面要素が識別できたならば、それら表面要素をディスプレイに表示することができる。例えば、前述の「Ｐｒｏ／Ｅｎｇｉｎｅｅｒ  ２０００ｉ」プログラムを使用して、以上に説明した手順でアセンブリ３８を表すデータに本発明の方法を適用して識別したこのアセンブリ３８の外部表面の、その「軽い」ディスプレイ４６（図６）を生成することができる。図６のディスプレイは、複雑なアセンブリ３８の外部表面を忠実に表現しており、しかもこのアセンブリ３８の内部の構成部材や構造は表示していない。そのため、図６に示したものは、アセンブリ３８の「軽い」レプリゼンテーションであるといえるのである。
【００２７】
アセンブリ３８の外面形状に関する情報だけを必要としている設計者に対しては、この図６に示したジオメトリカル・レプリゼンテーションを提供すれば、アセンブリ３８の内部の構成部材や構造に関する情報を提供せずに済む。従って、このアセンブリ３８の「軽い」レプリゼンテーションは、そのような内部の構成部材や構造に関する企業秘密に属する情報を秘匿するのに役立つ。更に、そのような「軽い」レプリゼンテーションは操作が容易であり、なぜならば、そこにはアセンブリ全体のジオメトリカル・レプリゼンテーションに必要なデータのうちの一部分しか含まれていないからである。従って、ディスプレイ４６は、別の角度から眺めるために回転することも容易であり、あるプログラムから別のプログラムへ移転することも容易である。
【００２８】
本発明を実施するためのコンピュータ・プログラムは、適当なプログラミング言語のうちの任意の言語を用いて作成することができる。適当なプログラミング言語としては、例えば、Ｃ言語、Ｃ＋＋言語、それにＪａｖａ（「Ｊａｖａ」はサン・マクロシステムズ社の商標である）などがあり、また、それらに限定されない。本発明の方法は、一般的なプログラミング方法を用いて実施することが可能である。
【００２９】
本発明の１つの好適実施例では、Ｃプログラミング言語を使用している。Ｃ言語を使用した場合には、図４に示したバウンディングボックス４０内の多数のセルの各々を、１つのデータ・レコードとして表すことができ、即ち、Ｃプログラミング言語の「ストラクト」で表すことができる。この場合、ポインタの３次元アレイを用いて、バウンディング・ボックス４０の中における各「ストラクト」の位置を、即ち、各セルの位置を与えることができる。例えば、その３次元アレイの［０，０，０］で表される要素を、バウンディング・ボックス４０の１つの角に位置する「ストラクト」、即ち、セルを指し示すポインタとすればよい。別法として、ストラクトの３次元アレイを用いて、バウンディング・ボックス４０のセルの３次元集合を表示することも可能である。当業者には明らかなように、セルを表示するためのデータ構造は、以上に説明した具体例に限定されるものではない。
【００３０】
以上の構成とした好適実施例では、図２のフローチャートのステップ３４で実行する境界セルの除外処理、即ち、バウンディング・ボックス４０のセルのうちから、ジオメトリカル・レプリゼンテーションのどの部分も包含していない境界セルを除去する処理を反復して実行するには、次のようにしている。即ち、この実施例では、各々の「ストラクト」にフラグ変数を含ませてあり、その「ストラクト」によって表されているセルが、物体の表面に対してどのような位置にあるのかを、フラグ変数によって表示するようにしている。先ず、バウンディング・ボックス４０に含まれる全てのセルのうち、露出面を有するセル、即ち、バウンディング・ストラクチャの表面部分にあるセルは全て、そのセルのフラグ変数を「０」に設定し、そうでないセルは全て、そのセルのフラグ変数を「−１」に設定する。続いて、以下の操作を何度も反復して実行しする。その操作とは、ｎ＝１、２、３、…とするとき、第ｎ回目のステップでは、フラグ変数が「ｎ−１」に設定されているセルの隣接セルを調べて、もし調べた隣接セルが、（ａ）物体のジオメトリカル・レプリゼンテーションのどの部分も包含していないという条件と、（ｂ）そのフラグ変数が「−１」であるという条件とを、共に満たしていたならば、その調べた隣接セルのフラグ変数を「ｎ」に設定する、という操作である。そして、あるｎにおいて、フラグ変数が「ｎ−１」に設定されているセルの隣接セルのうちに、以上の条件（ａ）と条件（ｂ）の両方を満たすものが存在しなくなったならば、その時点で、以上の処理操作の反復を終了する。そして、それを終了した時点で、フラグ変数が「−１」に設定されたまま残っているセルが、前述の第２セル部分集合を構成するセルである。また、この第２セル部分集合に含まれているセルのうちの最外部セルが、アセンブリ３８（図３）の表面要素を含んでいるセルである。
【００３１】
ジオメトリカル・レプリゼンテーションによっては、そのジオメトリカル・レプリゼンテーションの一部分を含んでいるある１つの表面セルが、２つ以上の要素を、即ち２つ以上の面を包含していることがある。そのような場合には、本発明の方法では、レイ・トレーシング法をオプションとして実行して、それら表面のうちのいずれが最外部の表面かを判定できるようにしている。また、場合によっては、１つのセルに含まれている複数の表面の形状が、それら表面のうちの一方だけが最外部の表面とは考えられないような形状であることもある。例えば、１つの最外部セルに包含されている２つの表面が互いに交わっていて、そのセルの第１の部分では、一方の表面の方がセルの露出面に近く、そのセルの第２の部分では、他方の表面の方がそのセルの露出面に近いということがあり得る。そのような場合に、本発明のレイ・トレーシング法によれば、それら両方の表面を残すことができる。
【００３２】
本発明のこの特徴は、２次元ジオメトリカル・レプリゼンテーションに即して説明しても、その一般性を失うことはなく、また良好に説明することができる。その具体例として、図７に、表面５０と表面５２とを有する物体の２次元レプリゼンテーション４８を示した。前述の本発明の方法に従って識別した複数の最外部セルをａ〜ｖで示した。それら最外部セルは、ジオメトリカル・レプリゼンテーション４８の外部表面５０を含んでいる。更に、それらセルのうちの３つのセルｉ、ｊ、ｋは、外部表面５０の一部を包含しているだけでなく、内部表面５２の一部も包含している。本発明の方法は、レイ・トレーシング法をオプションとして実行するようにすることができ、このレイ・トレーシング法では、以下に説明するようにして、どの部分が外部表面５０に属するのかを判定することができる。
【００３３】
例えばセルｊは、外部表面５０の一部分である部分Ａを包含していると共に、内部表面５２の一部分である部分Ｂも包含している。ここで、このセルｊの露出面ｊc上の、任意の点ｊpを選択する。続いて、その選択した点ｊpからベクトルｊvに沿って、セルｊの内部へ移動しながら、最初に遭遇する部分を調べると、それが部分Ａであることが分かる。そして、これによって表面５０が外部表面であることが判明する。
【００３４】
本発明の方法は、ＣＡＤ／ＣＡＭシステムに、そのシステムが提供するユーティリティ機能の１つとして組み込むことができる。例えば、図８は、「Ｐｒｏ／Ｅｎｇｉｎｅｅｒ  ２０００ｉ」等のＣＡＤ／ＣＡＭシステムのダイアログ・ボックス５４を示したものであり、このダイアログ・ボックス５４に含まれている「Ｓｕｒｆａｃｅ  Ｓｕｂｓｅｔ（面部分集合）」というメニュー項目５６は、ジオメトリカル・レプリゼンテーションの表面要素、即ち、アウタ・エンベロープを識別するためのメニュー項目である。このダイアログ・ボックス５４は、マウス等の入力デバイスを操作して呼び出すことができ、呼び出したならば、例えば図３に示したジオメトリカル・レプリゼンテーションのような、ジオメトリカル・レプリゼンテーションのアウタ・エンベロープを作成するためのメニュー項目５６を選択すればよい。このＣＡＤ／ＣＡＭシステムを使用するユーザは、更に、ジオメトリカル・レプリゼンテーションのアウタ・エンベロープの画質として、例えば第１レベル〜第１０レベルのうちから所望の画質レベルを選択することができる。図８のダイアログ・ボックス５４には、アウタ・エンベロープの画質として第５レベルが選択されたところを示している。この画質レベルは、ジオメトリカル・レプリゼンテーションを収容しているバウンディング・ストラクチャの分割の際に選択するセルの個数に関連している。画質レベルの数字が大きくなると、バウンディング・ストラクチャを分割するセルの個数が増大する。
【００３５】
以上に本発明を具体的な実施の形態に即して説明したが、当業者には明らかなように、以上に開示した実施の形態に対しては、請求項に記載した本発明の範囲から逸脱することなく様々な変更を加えることができる。
【図面の簡単な説明】
【図１】本発明の実施例にかかる方法を実施するのに適した具体例のコンピュータ・システムの構成要素を示したブロック図である。
【図２】コンピュータが生成した物体のジオメトリカル・レプリゼンテーションの表面要素を識別するための、本発明の実施例にかかる方法の様々なステップを示したフローチャートである。
【図３】ＣＡＤ／ＣＡＭシステムを用いて生成した複雑なアセンブリのジオメトリカル・レプリゼンテーションを示した図である。
【図４】複数のセルに分割されたバウンディング・ボックスの中に収容されている図３のジオメトリカル・レプリゼンテーションを示した図である。
【図５】図４の複数のセルのうち、ジオメトリカル・レプリゼンテーションのどの部分も包含していない表面セルを除去した状態を示した図である。
【図６】図５の最外部セルに包含されている表面を抽出することによって得られた図３の複雑なアセンブリの外部表面を示した図である。
【図７】本発明の方法に従って外部表面を識別することのできる、２次元ジオメトリカル・レプリゼンテーションを示した図である。
【図８】本発明の方法に従ってジオメトリカル・レプリゼンテーションの表面要素を生成させるための、ＣＡＤ／ＣＡＭシステムのダイアログ・ボックスの具体例を示した図である。
【符号の説明】
１０  コンピュータ・システム
４０  バウンディング・ボックス
４２  セル
【図１】
0004606547.tif 000002
【図２】
0004606547.tif 000003
【図３】
0004606547.tif 000004
【図４】
0004606547.tif 000005
【図５】
0004606547.tif 000006
【図６】
0004606547.tif 000007
【図７】
0004606547.tif 000008
【図８】
0004606547.tif 000009