(57)【特許請求の範囲】
【請求項１】
ＣＡＤシステムが仮想曲線を求めるための方法において、
ブレンド面を含むオブジェクトモデルをＣＡＤシステムがロードするステップと、
前記ＣＡＤシステムが前記ブレンド面の基底面を発見するステップと、
前記基底面にしたがい、前記ＣＡＤシステムが交差曲線を構成するステップと、
前記ブレンド面にしたがい、前記ＣＡＤシステムが前記交差曲線をトリミングし、仮想ブレンド曲線を形成するステップと、
前記仮想ブレンド曲線を前記ＣＡＤシステムが記憶するステップと、
前記ＣＡＤシステムが、前記ブレンド面がコーナブレンドであるか否かを決定する規則のセットを適用し、コーナブレンドであると決定された前記ブレンド面を、仮想ブレンド曲線を形成する対象から除外するステップと、
を有することを特徴とする方法。
【請求項２】
前記交差曲線をトリミングするステップは、前記ＣＡＤシステムが所定の長さに前記交差曲線を短縮するステップであるか、または、前記ＣＡＤシステムが所定の長さに前記交差曲線を延長するステップである、
請求項１記載の方法。
【請求項３】
発見、構成、トリミングおよび記憶を行う前記各ステップを、前記ブレンド面のユーザ選択に応答して自動的に前記ＣＡＤシステムが実行する、
請求項１記載の方法。
【請求項４】
前記ＣＡＤシステムが、前記仮想ブレンド曲線を使用して、前記ＣＡＤシステムによって寸法決定を実行するプロセスをさらに含む、
請求項１記載の方法。
【請求項５】
前記ＣＡＤシステムが、前記オブジェクトモデルの少なくとも１つの面を前記ブレンド面として識別するステップをさらに含む、
請求項１記載の方法。
【請求項６】
前記ＣＡＤシステムが、前記ブレンド面に対応する少なくとも１つの終端面を発見するステップをさらに含み、
前記ＣＡＤシステムが、前記トリミングを前記少なくとも１つの終端面の表面に応じて実行する、
請求項１記載の方法。
【請求項７】
プロセッサおよびアクセス可能なメモリを有するＣＡＤシステムにおいて、
前記ＣＡＤシステムは、
ブレンド面を含むオブジェクトモデルをロードし、
前記ブレンド面の基底面を発見し、
前記基底面にしたがい交差曲線を構成し、
前記ブレンド面にしたがい前記交差曲線をトリミングし、仮想ブレンド曲線を形成し、
前記仮想ブレンド曲線を記憶し、
前記ブレンド面がコーナブレンドであるか否かを決定する規則のセットを適用し、コーナブレンドであると決定された前記ブレンド面を、仮想ブレンド曲線を形成する対象から除外する、
よう構成されている、
ことを特徴とするＣＡＤシステム。
【請求項８】
前記交差曲線をトリミングすることが、所定の長さに前記交差曲線を短縮するか、または所定の長さに前記交差曲線を延長することを含む、
請求項７記載のＣＡＤシステム。
【請求項９】
前記発見、構成、トリミングおよび記憶を行うことが、前記ブレンド面のユーザ選択に応答して自動的に実行される、
請求項７記載のＣＡＤシステム。
【請求項１０】
前記ＣＡＤシステムはさらに、前記仮想ブレンド曲線を使用して、前記ＣＡＤシステムによって寸法決定プロセスを実行するよう構成されている、
請求項７記載のＣＡＤシステム。
【請求項１１】
前記ＣＡＤシステムはさらに、前記オブジェクトモデルの少なくとも１つの面を前記ブレンド面として前記識別するよう構成されている、
請求項７記載のＣＡＤシステム。
【請求項１２】
前記ＣＡＤシステムはさらに、前記ブレンド面に対応する少なくとも１つの終端面を発見するよう構成されており、
前記トリミングは前記少なくとも１つの終端面の表面に応じて実行される、
請求項７記載のＣＡＤシステム。
【請求項１３】
コンピュータプログラムであって、
ＣＡＤシステムに設置されたプロセッサに下記各ステップ、
ブレンド面を含むオブジェクトモデルをロードするステップと、
前記ブレンド面の基底面を発見するステップと、
前記基底面にしたがい交差曲線を構成するステップと、
前記ブレンド面にしたがい前記交差曲線をトリミングし、仮想ブレンド曲線を形成するステップと、
前記仮想ブレンド曲線を記憶するステップと、
前記ブレンド面がコーナブレンドであるか否かを決定する規則のセットを適用し、コーナブレンドであると決定された前記ブレンド面を、仮想ブレンド曲線を形成する対象から除外するステップと、
を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項１４】
前記コンピュータプログラムが、前記プロセッサに更に、前記交差曲線をトリミングするステップとして、所定の長さに前記交差曲線を短縮するステップ、または所定の長さに前記交差曲線を延長するステップを実行させる、
請求項１３記載のコンピュータプログラム。
【請求項１５】
前記コンピュータプログラムが、前記プロセッサに、発見、構成、トリミングおよび記憶を行う前記各ステップとして、前記ブレンド面のユーザ選択に応答して自動的に実行させる、
請求項１３記載のコンピュータプログラム。
【請求項１６】
前記コンピュータプログラムが、前記プロセッサに、前記仮想ブレンド曲線を使用して、寸法を決定するステップを更に実行させる、
請求項１３記載のコンピュータプログラム。
【請求項１７】
前記コンピュータプログラムが、前記プロセッサに、前記オブジェクトモデルの少なくとも１つの面を前記ブレンド面として識別するステップを更に実行させる、
請求項１３記載のコンピュータプログラム。
【請求項１８】
前記コンピュータプログラムが、前記プロセッサに、前記ブレンド面に対応する少なくとも１つの終端面を発見させるステップと、
前記トリミングが前記少なくとも１つの終端面の表面に応じて実行されるステップと、を更に実行させる、
請求項１３記載のコンピュータプログラム。
【請求項１９】
請求項１３から１８のいずれか１項に記載のコンピュータプログラムが記憶されている、
コンピュータ読み出し可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
他の出願の相互参照
本願は、2009年3月12日に提出したアメリカ合衆国特許仮出願第61/159,582号の優先権を主張するものであり、この特許仮出願は参照により本願に含まれるものとする。
【０００２】
本発明は、全体的に、コンピュータ支援による設計、視覚化および製造のシステムおよび同様のシステムに関するものであり、それらのシステムを本明細書においては個別的、集合的に「ＣＡＤシステム」と称する。
【背景技術】
【０００３】
ＣＡＤシステムにおけるオブジェクトモデルは一般的に、線形のヒストリ（history）フィーチャまたはノンヒストリ（history-free）フィーチャを使用して表される。オブジェクトモデルの寸法またはオブジェクトモデルの特定の構成要素を知ることは有用であることが多い。
【０００４】
発明の概要
種々の実施形態は、ＣＡＤシステムのための方法、ＣＡＤシステムおよびＣＡＤシステムに対する命令を含む。
【０００５】
幾つかの実施形態において、方法はオブジェクトモデルをロードするステップを含み、オブジェクトモデルはブレンド面（blend face）を含んでいる。この方法はまた、ブレンド面の基底面を発見するステップと、この基底面に応じて交差曲線を構成するステップとを含む。この方法はまた、仮想ブレンド曲線を形成するために、ブレンド面に応じて交差曲線をトリミングするステップと、仮想ブレンド曲線を記憶するステップとを含む。
【０００６】
上記は、当業者が以下の詳細な説明をより良く理解できるように本発明の態様および技術的な利点をかなり大雑把に述べたものである。特許請求の範囲の対象を成す本発明の付加的な態様および利点を以下において説明する。当業者であれば、本発明の変更または本発明と同一の目的を達成するための構造を設計するための基礎として、開示された着想および特定の実施形態を容易に使用できることが分かるであろう。また、当業者であれば、そのような等価物はその最も広い形態においても、本発明の精神および範囲から逸脱するものではないことが分かるであろう。
【０００７】
以下の詳細な説明の前に、本明細書にわたり使用される幾つかの用語または語句の定義を明確にすることが有利であろう。「含む」や「有する」という語、またそれらから派生した語は限定的でない包含を意味する。「または」という語は包含的な語であり、すなわち「および／または」を意味する。「関連した」および「それと関連した」ならびにそれらから派生した語は「含む」、「中に含まれる」、「相互に接続されている」、「有する」、「中に有する」、「〜に、または〜と接続する」、「〜に、または〜と結合する」、「〜と通じている」、「〜と協働する」、「交互配置する」、「近接して並置する」、「〜に近接している」、「〜に、または〜と結び付けられている」、「持つ」、「〜の性質を有する」等を意味する。また「コントローラ」という語は、ハードウェア、ファームウェア、ソフトウェア、またはそれらのうちの少なくとも２つの組合せによって実施されていようと、少なくとも１つの動作を制御する任意のデバイス、システムまたはその一部を意味する。いずれかの特定のコントローラに関連した機能は中央に集中していても良いし、局所的であれ遠隔的であれ分散していても良いことを言及しておく。本明細書全体にわたり幾つかの語および語句の定義が示されるが、当業者であれば、そのような定義は、ほとんどではないにしろ、多くの場合、このように定義された語および語句の以前の用法および将来の用法にも当てはまることを理解されるであろう。いくつかの語は多様な実施形態を含んでいるが、添付の特許請求の範囲における記載はこれらの語を特定の実施形態に明示的に限定している。
【０００８】
本明細書および本発明の利点をより完全に理解するために、以下では、添付の図面を参照しながら本発明を説明する。図面において、同一の参照番号は同一の対象を表している。
【図面の簡単な説明】
【０００９】
【図１】１つの実施形態を実現することができるデータ処理システムのブロック図を示す。
【図２】単純な例示的なオブジェクトモデルの１つの態様の寸法決定を示す。
【図３】エッジブレンドが行われる前に存在していたエッジを再現するために曲線を構成するハイレベルな処理を示す。
【００１０】
詳細な説明
下記において説明する図１から図３、また本明細書に開示されている原理を説明するために用いられる種々の実施形態は単に説明を目的としたものに過ぎず、本発明の範囲を限定するものと解するべきではない。当業者であれば、本発明の原理は適切に構成されたあらゆる装置によって実現できることが分かるであろう。以下では、限定を意図したものでは実施例を参照しながら、本発明の多くの革新的な教示について説明する。
【００１１】
線形のヒストリモデリングにおいては、ＣＡＤシステムにおけるオブジェクトモデルが、モデルの基準状態の寸法決定に有用なやり方でもって構成される。形状フィーチャはヒストリの初期において構成されており、また典型的には、各面の境界を成す正確なエッジを含む。パッドまたはポケットは、基準寸法において急峻なコーナを有する輪郭から構成されている。ドラフトやブレンドのような詳細なフィーチャは後に付加され、モデルの幾何学（形状）を変更する。基準寸法における急峻なコーナが複数のブレンドに置換される。ヒストリの性質は順序を維持するものであるので、基準寸法は複数のブレンドに先行したモデルの運用を継続し、その基準寸法を後の動作において参照することができる。
【００１２】
他方では、ノンヒストリモデルおよびインポートされたモデルまたは他のモデルは、オリジナルの急峻なエッジの定義を基礎とすることなく、ブレンドエッジのみを含んでいることが考えられる。ブレンドエッジは一般的に、面の寸法決定にとって有用でも効果的でもないので、そのようなモデルの寸法決定は非常に困難になる可能性がある。本発明による実施形態は、精確な寸法決定動作のための急峻なエッジとして機能できる仮想ブレンド曲線を自動的に生成するためのシステムおよび方法を含む。
【００１３】
図１は、例えばＣＡＤシステムとして本発明による実施形態を実現することができる、殊にソフトウェアによって構成されているか、本明細書に記載されているようなプロセスを実行するデータ処理システムのブロック図を示す。図示されているデータ処理システムは、Ｌ２キャッシュ／ブリッジ１０４に接続されているプロセッサ１０２を有しており、またＬ２キャッシュ／ブリッジ１０４はローカルシステムバス１０６に接続されている。ローカルシステムバス１０６は、例えばコンピュータ用拡張バスアーキテクチャ（ＰＣＩ；peripheral component interconnect）であって良い。また、図示されている実施例では、メインメモリ１０８およびグラフィックスアダプタ１１０もローカルシステムバス１０６に接続されている。グラフィックスアダプタ１１０をディスプレイ１１１に接続することもできる。
【００１４】
ローカルエリアネットワーク（ＬＡＮ）／ワイドエリアネットワーク（ＷＡＮ）／ワイヤレス（例えばＷｉＦｉ）アダプタ１１２のような他の周辺機器もローカルシステムバス１０６に接続することができる。拡張バスインタフェース１１４は、ローカルシステムバス１０６を入力／出力（Ｉ／Ｏ）バス１１６に接続する。Ｉ／Ｏバス１１６はキーボード／マウスアダプタ１１８、ディスクコントローラ１２０およびＩ／Ｏアダプタ１２２に接続されている。ディスクコントローラ１２０を記憶装置１２６と接続することができる。この記憶装置１２６は、機械使用可能または機械読み取り可能なあらゆる適切な記憶媒体で良い。その種の記憶媒体には、ハードコーティングタイプの媒体、例えば読み出し専用メモリ（ＲＯＭ）または電気的に消去可能なプログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、磁気テープ記憶装置、フロッピーディスク、ハードディスクドライブおよびコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）またはディジタル多目的ディスク（ＤＶＤ）のようなユーザによる記録可能なタイプの媒体、また他の公知の光学的、電気的または磁気的な記憶装置が含まれるが、記憶媒体はこれらに限定されるものではない。
【００１５】
また、図示されている実施例においては、オーディオアダプタ１２４もＩ／Ｏバス１１６に接続されている。このオーディオアダプタ１２４には、音を再生するためのスピーカ（図示せず）を接続することもできる。キーボード／マウスアダプタ１１８は、マウス、トラックボール、トラックポインタなどのようなポインティングデバイス（図示せず）との接続を実現する。
【００１６】
当業者であれば、図１に示したハードウェアを特定の実施形態のために変更できることが分かるであろう。例えば、光学ディスクドライブなどのような他の周辺デバイスを、図示したハードウェアに付加的に使用することができる、もしくはそれらのハードウェアに代えて使用することができる。図示した実施例は、単に説明を目的としたものに過ぎず、本発明に関して構成上の制限を含むことを意図したものではない。
【００１７】
本発明の実施形態によるデータ処理システムは、グラフィカルユーザインタフェースを使用するオペレーティングシステムを含むものである。このオペレーティングシステムはグラフィカルユーザインタフェースに同時に複数のウィンドウを表示することができ、各ウィンドウは異なるアプリケーションまたは同一アプリケーションの異なるインスタンスへのインタフェースを提供する。ユーザはポインティングデバイスを介してグラフィカルユーザインタフェースにおけるカーソルを操作することができる。所望の応答を得るために、カーソルの位置を変更することができる、および／または、マウスボタンのクリックのようなイベントを発生させることができる。
【００１８】
適切に修正する場合、種々の市販のオペレーティングシステムのうちの１つ、例えばワシントン州レッドモンドにあるマイクロソフト社の製品であるマイクロソフトウィンドウズTMなどを使用することができる。オペレーティングシステムは本明細書に記載されている本発明に応じて修正または作成される。
【００１９】
ＬＡＮ／ＷＡＮ／ワイヤレスアダプタ１１２を（データ処理システム１００の一部ではない）ネットワーク１３０に接続することができる。その種のネットワーク１３０は、任意のパブリックデータ処理システムネットワークまたは任意のプライベートデータ処理システムネットワーク、もしくは、インターネットも含めた当業者に既知のネットワークの組合せで良い。データ処理システム１００はネットワーク１３０を介してサーバシステム１４０と通信することができる。サーバシステム１４０もまたデータ処理システム１００の一部ではないが、例えば別個のデータ処理システム１００として実施することができる。
【００２０】
図２を用いて、単純な例示的なオブジェクトモデルの１つの態様の寸法決定を説明する。図２は、側面２１０と上面２１５との間のブレンドエッジ２０５を有するパッドを示す。以下において説明するようにパッドの寸法を決定するために、パッドの関心のある必要な特徴は、曲線２２０によって表されている、基準急峻コーナであり、もはやオブジェクトモデル内には存在しない。曲線２２０を側面２１０と上面２１５との間の本来の交差部に対応付けることができる。
【００２１】
ノンヒストリモデリングに関するジレンマは、モデルの現在の状態が基準急峻コーナではなく、ブレンドを有していることである。ノンヒストリモデリングにおいては、基準エッジを回復するために過去に遡るためのヒストリツリーが存在しない。ブレンド面２０５の正接（tangent）エッジの寸法決定も、ブレンドのエッジ自体の寸法決定も意味がない。それらのエッジは、ブレンドが付加された結果得られる副産物としてのトポロジである。したがってそれらのエッジはモデルの形状を表すデザインオブジェクトではない。
【００２２】
本明細書に記載されている実施形態によって、システムは、オブジェクトモデルの種々の面または外観の寸法決定に使用することができる曲線２２０を自動的に生成し、寸法２２５のような寸法を生じさせることができ、この寸法がＣＡＤシステムに記憶され、選択的に表示されることになる。これらの実施形態によって、モデルがどのように構成されたかを考慮することなく、モデルの現在の状態においてブレンド前エッジの複製を同期的に生成することによって、モデルの現在の状態を修正することができる。
【００２３】
以下の記述においては、本願の技術分野において標準化する必要のない種々の用語を使用している。特定の用語の使用法を以下において説明するが、当業者であれば、本発明の範囲から逸脱することなく、同様の概念を表すために他の用語または語句も使用できることが分かるであろう。
【００２４】
仮想曲線は、２つの面の間にブレンドが無い場合には存在したであろうエッジを表すために、それら２つの面の交差部に構成された曲線であり、多くの場合はブレンド前エッジである。
【００２５】
本明細書において説明する種々の実施形態は、エッジブレンドとコーナブレンドと特徴ブレンドとを区別する。それらの区別は、やや複雑なモデルにおいてさえも有意味であり、また種々のブレンドを種々の実施形態において種々に処理することができる。
【００２６】
エッジブレンドは、ブレンドが無い場合にはエッジを成すように交差する２つの面間で回転するブレンドであり、また仮想曲線に適している。
【００２７】
コーナブレンドは、他の複数のブレンドの交差部にあるブレンドである。コーナブレンドは仮想曲線に適したものではないが、幾つかの実施形態においては、終端面を求めるために使用することができる。コーナは複雑なものになる可能性があるので、コーナブレンドを区別するための処理は公知のシステムを上回る有用な利点を提供する。
【００２８】
特徴ブレンドは、ブレンドとしてＣＡＤシステムによって認識されるが、一見した際の人間のブレンドの描写には合致しない。ユーザはブレンドを小さい詳細なフィーチャとみなす傾向にあるが、特徴ブレンドは比較して言うと「大きい」フィーチャであることが考えられる。特徴ブレンドはモデルの形状に寄与するという点において、詳細なブレンドとは対照的なものである。エッジブレンドおよびコーナブレンドは詳細なブレンドである。したがって、特徴ブレンドを適切に識別することは、詳細なブレンドから特徴ブレンドを区別するという点において重要である。特徴ブレンドを区別するための処理は公知のシステムを上回る有用な利点を提供する。
【００２９】
以下において説明する終端面を識別するための処理は、適切な長さの曲線を形成するために使用される。終端面は、仮想曲線をあらわす見せかけのエッジの端部に存在する。終端面ロジックは、種々の広範なケースをサポートする包括的なものである。この終端面ロジックの設計においては、複数のブレンド面と中性的なエッジを有する複数の頂点とから構成されている複雑なコーナに注意が払われる。
【００３０】
本明細書において説明する種々の実施形態は、複数の表面タイプに関する仮想ブレンド曲線の生成および使用をサポートすることができる。種々の実施形態は、円筒、球および円環面を含む、解析的なブレンド面をサポートする。種々の実施形態は、非解析的なブレンド面、例えばBSurfaceもサポートする。
【００３１】
幾つかの実施形態は、「回転球ブレンド（rolling ball blend）」表面と称される、回転球BSurface（Ｂスプライン表面またはＮＵＲＢ（Non-uniform rational basis spline）表面）である表面タイプも処理する。回転球ブレンドは一定半径のブレンドであり、その形状は、２つの面との接触を維持しながら、それら２つの面の間を回転する球（球体、ビー玉）として概念的に説明される。モデルが完全に直交し、複数の平面および円筒から構成されている場合、ブレンドは解析的な表面タイプである可能性が高い。モデルが、単純に直交しているのではなく、テーパ勾配を有するか湾曲した面を有しているようにやや複雑である場合、それらの面の間のブレンドは解析的な表面ではなく、「ブレンド」表面である。ブレンド表面タイプは多くの商用モデルにおいて普及している。
【００３２】
ブレンドチェーンは、同一の半径および凸部を共有している、結合されたブレンドのセットである。
【００３３】
本発明において使用されるような基底面は、ブレンドの下にある面である。すなわち、複数の面の間でブレンドを回転させる、それらの複数の面のうちの１つの面である。隣接面は、所定の面に隣接しており、その所定の面との共有部およびエッジを有している面である。終端面は、仮想曲線の範囲を規定する面である。
【００３４】
本明細書に記載されている実施形態により同期モデリングが実現され、この同期モデリングはソースに依存しないやり方で、外来のモデルにもドメスティックなモデルにも同様に良好に機能し、また殊に、インポートされたモデルにも良く適している。インポートされたパーツはヒストリを有しておらず、また本明細書に記載されている処理はオブジェクトモデルのヒストリに依存しない。
【００３５】
種々の実施形態は、ブレンドの前に存在していた急峻なエッジを再現するためにオブジェクトモデルに関して曲線を構成する、ＣＡＤシステム、ＣＡＤシステムによって実行される方法および関連するコンピュータプログラムを含む。この曲線はモデルの寸法決定に有効に使用されるが、そのような使用は寸法決定に限定されるものではない。幾つかの実施形態は、スナップポイントが有意義なあらゆる使用に関して、仮想曲線に沿った任意の点の決定を含む。
【００３６】
図３は、エッジブレンドの前に存在していたエッジを再現するために曲線を構成するハイレベルな処理を示す。本明細書において説明する種々の広範なステップを以下においてより詳細に説明し、またそれらの処理ステップに関連する付加的なステップまたはサブステップについても説明する。
【００３７】
先ず、ＣＡＤシステムは少なくとも１つのブレンド面を含むオブジェクトモデルをロードする（ステップ３０５）。この文脈における「ロード」は、記憶装置からの検索、例えばネットワークを介した他のシステムからの受信、ユーザとのインタラクションによるオブジェクトモデル定義の受信、また当業者には周知である他のやり方を含んでいても良い。
【００３８】
ＣＡＤシステムはオブジェクトモデルの少なくとも１つの面をブレンド面として認識する（ステップ３１０）。このステップの一部として、ＣＡＤシステムは、エッジブレンドとコーナブレンドと特徴ブレンドとを区別することができる。幾つかの実施形態においては、ＣＡＤシステムは、処理すべきブレンド面を指示するユーザ入力を受信することができる。
【００３９】
ＣＡＤシステムは、ブレンド面の下に位置する、オブジェクトモデルの「基底面」を発見する（ステップ３１５）。それらの基底面は典型的には、複数の面の間においてブレンドを回転させる面である。
【００４０】
ＣＡＤシステムは、ブレンド面の基底面間の交差曲線を構成する（ステップ３２０）。この交差曲線は基底面の交差部であり、「生（raw）の」トリミングされていない仮想曲線である。
【００４１】
ＣＡＤシステムは、交差曲線の長さを規定する、オブジェクトモデルの１つまたは複数の終端面を発見する（ステップ３２５）。ＣＡＤシステムはこの動作をターゲットブレンドの領域または近隣に限定し、またこのステップの一部として、コーナブレンドおよび中性的なエッジを識別することができる。
【００４２】
ＣＡＤシステムは、交差曲線をそれらの終端面にトリミングする（ステップ３３０）。このステップは、生の仮想ブレンド曲線と１つまたは複数の終端面との間の交点を発見し、曲線をそれらの交点に延長またはトリミング（短縮）するステップを含む。
【００４３】
幾つかのケースにおいては、複数の交点が仮想曲線と終端面との間において発見される。維持すべき仮想曲線の領域は、ブレンド面の範囲内の領域である。
【００４４】
幾つかのケースにおいては、生の仮想曲線を単一の終端面のみに基づいてトリミングすることができる。このケースにおいては、同一の終端面を両方の端部のために使用することができる。同一の表面における２つの交点が使用され、また維持すべき仮想曲線の領域はブレンドの領域内にある。
【００４５】
幾つかの特別なケースにおいては、終端面を発見することはできない、または曲線のトリミングのために終端面を使用することができない。それらの稀な理想的なケースにおいては、ＣＡＤシステムは曲線をブレンドの長さにトリミングする。
【００４６】
交差曲線をトリミングした後に、ＣＡＤシステムはトリミングされた交差曲線を仮想ブレンド曲線として記憶し、オプションとしてその仮想ブレンド曲線を表示する（ステップ３３５）。
【００４７】
システムは、仮想ブレンド曲線の構成に加えて、もしくは仮想ブレンド曲線の構成に続けて、別のステップを実施することができる。幾つかのケースにおいては、システムは、仮想ブレンド曲線を使用してモデルを曲線からエッジへと移行させることができ（ブレンド曲線から急峻な曲線への変更）、その結果、ブレンドは消去される。同様に、システムは曲線を導入し、モデルをエッジから曲線へと移行させることができ（休旬な曲線からブレンド曲線への変更）、その結果、ブレンドが追加される。
【００４８】
仮想ブレンド曲線が一度構成されると、幾つかの実施形態においては、ＣＡＤシステムによって自動的に更新されることによって、曲線自体が「最新の」特性を表すことができる。システムは、モデル変更が行なわれた場合に曲線を自動的に適合させ、また、ブレンドにトポロジ的な変更が行われた場合には、曲線を再構成するために本明細書に記載された処理を再度実行することができる。
【００４９】
仮想ブレンド曲線が一度構成されると、（図２に示されているような）、モデルの他のフィーチャに対して、または他の仮想ブレンド曲線に対して、仮想ブレンド曲線を本明細書に記載したように決定、維持および記憶するために使用することができる（ステップ３４０）。この曲線は、モデル幾何学（形状）を動かすために同期式に寸法決定された構造を制限する可能性がある。
【００５０】
幾つかの実施形態においては、仮想ブレンド曲線を構成するための本明細書に記載した処理は、ユーザインタラクションに応答して実行される。例えば、幾つかのケースにおいては、曲線の構成がクライアントのコマンド、例えば同期寸法決定コマンド内でインタラクティブに行なわれる。別のケースにおいては、特別なコマンドを用いることなく、曲線構成を自動的に実行することができる。例えば、ブレンド面またはオブジェクトモデルの他の部分の上にマウスを移動させることなどのユーザ選択により、システムは１つまたは複数のブレンド面に関して（モデルがまだこのデータを含んでいない場合には）仮想ブレンド曲線を自動的に構成することができる。
【００５１】
ＣＡＤシステムは、選択されたブレンドがコーナブレンドであるか否かを決定する規則のセットを適用することができる。幾つかの実施形態においては、これらの規則が、ブレンドは候補コーナブレンドであるか否かを指示する条件のセットを含み、また候補コーナブレンドがコーナブレンドとして設計されることは不適切であると判定する条件のセットを含む。これらの規則に対応するブレンド、すなわちそれらの条件のうちの１つまたは複数の条件に合致するが、不適切なものではないブレンドはコーナブレンドである。
【００５２】
条件（ブレンドがコーナブレンドであるために満たしていなければならない１つまたは複数の条件）：
ａ）同一半径の３つのブレンドの交差部における球状のブレンド。
ｂ）他のブレンドと接続されている全てのエッジを有する３面ブレンド。この条件は条件ａ）の一般化された条件であり、条件ｃ）に取って代わる特別なケースである。
ｃ）他のブレンドと接続されている３つまたはそれ以上のエッジ。
ｄ）同一の半径のブレンドと接続されたエッジ、つまりブレンドチェーンのメンバであるエッジ。
ｅ）１つの基底面がブレンドである。
ｆ）２つの基底面がブレンドである。
【００５３】
不適切であると判定する条件（コーナブレンドがブレンドとしては適切ではないとする条件）：
Ｄ１）ブレンドは円筒である。（円筒はエッジブレンドまたは特徴ブレンドである可能性があるが、コーナブレンドである可能性はない）
Ｄ２）基底面が特徴ブレンドである。
【００５４】
ステップ３２５におけるオブジェクトモデルの終端面を発見するプロセスはサブプロセスを含んでいても良い。種々の実施形態においては、終端面が入力ブレンドの近傍領域にある終端面であることが既知である。例えば、近接領域は、エッジブレンドの端部におけるコーナブレンドおよびコーナブレンドの隣接部を含むことができる。入力ブレンドの基底面が終端面である可能性はない。コーナブレンドが終端面である可能性はない。コーナブレンドの下にあるブレンド面が終端面である可能性はない。
【００５５】
終端面を発見するために、ＣＡＤシステムは最初に、ブレンド面を含むオブジェクトモデルをロードする。もちろん、図３の処理の文脈において、オブジェクトモデルは既にロードされていても良く、また識別されたブレンド面であっても良い。ＣＡＤシステムは、ブレンド面の隣接面を発見する（ステップ４１０）。
【００５６】
ＣＡＤシステムは、ブレンド面の基底面である隣接面を除外する。続いて、ＣＡＤシステムは、残存する隣接面を３段階の処理において区別する。
【００５７】
第１段階においては、隣接部がブレンドでない場合、この隣接面は終端面である。そうでない場合、隣接面が特徴ブレンドである場合、この隣接面が終端面である。隣接部がコーナブレンドである場合、ＣＡＤシステムはその隣接部の基底面を発見し、入力ブレンド面の基底面でもある全ての基底面を除外し、第２段階へと進む。
【００５８】
第２段階においては、ＣＡＤシステムが第１段階から残った全ての基底面を処理する。残った面のうち、基底面がブレンドでない場合、その基底面が終端面である。そうでない場合、隣接部が特徴ブレンドである場合、その隣接部が終端面である。そうでない場合、下にある面がコーナブレンドまたはエッジブレンドである場合、ＣＡＤシステムはその基底面を発見し、入力ブレンド面の基底面でもある全ての基底面を除外し、第３段階へと進む。
【００５９】
第３段階においては、ＣＡＤシステムが第２段階から残った全ての基礎面を処理する。下に有る面がブレンドでない場合、その面が終端面である。隣接部が特徴ブレンドである場合、その隣接部が終端面である。
【００６０】
大抵の場合、それら３つの段階で終端面が発見されることになる。３つのエッジを有する頂点のコーナブレンドである隣接部を有するブレンドである場合、これは終端面の発見に必要とされる全ての条件を満たしている。上述のような付加的な処理段階は、３つより多いブレンドを有するコーナに対して頂点の入力を要求する。
【００６１】
もちろん、当業者であれば、一連の動作によって特別に指示または要求されない限り、上述の処理における特定のステップを省略できるか、または、連続的に実行できるか、または、異なる順序で実行できることが分かるであろう。
【００６２】
当業者であれば、単純且つ明確にするために、本発明を用いた使用に適した全てのデータ処理システムの完全な構造および動作は本明細書において図示または説明していないことが分かる。その代わりに、本発明に固有のデータ処理システムまたは本発明の理解のために必要なデータ処理システムのみを図示および説明している。データ処理システム１００のその他の部分の構造および動作は、当業者には公知である現行の種々の任意の実施形態にしたがうもので良い。
【００６３】
本明細書には完全に機能的なシステムの文脈での記述が含まれているが、当業者であれば、本発明のメカニズムの少なくとも一部は種々の任意の形態の機械使用可能、コンピュータ使用可能またはコンピュータ読み取り可読な媒体に記録された命令の形態で配布できること、また本発明はその配布物を実際に実行するために使用される特定のタイプの命令または信号が記録されている媒体または記憶媒体に関係なく同様に適用されることを理解するであろうということを言及することは重要である。機械使用可能／機械読み取り可能またはコンピュータ使用可能／コンピュータ読み取り可能な媒体の例には以下のものが含まれる：不揮発性のハードコーティングタイプの媒体、例えば読み出し専用メモリ（ＲＯＭ）または電気的に消去可能なプログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、フロッピーディスク、ハードディスクドライブおよびコンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）またはディジタル多目的ディスク（ＤＶＤ）のようなユーザによる記録可能なタイプの媒体。
【００６４】
本発明の実施例を詳細に説明してきたが、当業者であれば、本明細書に記載した実施例の種々の変更、置換、バリエーションおよび改良はその最も広い形態においても本発明の精神および範囲から逸脱することなく可能であることが分かるであろう。
【００６５】
本明細書における説明は、いずれかの特定の要素、ステップまたは機能も特許請求の範囲に含まれていなければならない不可欠の要素であることを意図したものではないと解するべきである。すなわち、本発明が対象とする範囲は明示された特許請求の範囲の記載によってのみ定義される。さらには、いずれの請求項も、「ための手段（means for）」という語の後に分詞が続かないかぎり、３５ＵＳＣ§１１２の第６パラグラフに訴えることを意図するものではない。
【図１】
0005404821.tif 000002
【図２】
0005404821.tif 000003
【図３】
0005404821.tif 000004