(57)【要約】      （修正有）【課題】３Ｄモデルを設計するための方法を提供する。【解決手段】方法は、一連のジオメトリ的な設計オペレーションに関連付けられている第１の３Ｄモデルを提供することと、ユーザが、第１の３Ｄモデルに対して第１のジオメトリ的な設計オペレーションを行って第２の３Ｄモデルを得ることと、第２の３Ｄモデルの出力トポロジを、第１の３Ｄモデルの出力トポロジから取得可能であるかを判定することと、第２の３Ｄモデルの出力トポロジを第１の３Ｄモデルの出力トポロジから取得することができない場合は、第２の委譲データオブジェクトで第１の委譲データオブジェクトを置換しまたは第１の委譲データオブジェクトを維持することと、第１の３Ｄモデルに関連付けられている一連のジオメトリ的な設計オペレーションとともに、第１のジオメトリ的な設計オペレーションを記憶することと、を含む。【選択図】図８
2020115340.tif 000002
【特許請求の範囲】
【請求項１】
三次元（３Ｄ）モデルを設計するためのコンピュータ実行型の方法であって、該方法は、
第１の３Ｄモデルであって、
（ｉ）１つの委譲データオブジェクトであって、前記委譲データオブジェクトの型に特有な入力パラメータを含む、１つの委譲データオブジェクトと、
（ｉｉ）出力トポロジと、によって定義され、
かつ、一連のジオメトリ的な設計オペレーションに関連付けられている、第１の３Ｄモデルを提供することと、
ユーザが、前記第１の３Ｄモデルに対して第１のジオメトリ的な設計オペレーションを行い、それによって第２の３Ｄモデルを得ることと、
前記第２の３Ｄモデルの出力トポロジを、前記第１の３Ｄモデルの出力トポロジから取得可能であるかを判定することと、
前記第２の３Ｄモデルの出力トポロジを前記第１の３Ｄモデルの出力トポロジから取得することができない場合は、第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換すること、または前記第１の委譲データオブジェクトを維持し、前記第１の３Ｄモデルに関連付けられている一連のジオメトリ的な設計オペレーションとともに、前記第１のジオメトリ的な設計オペレーションを記憶することと、
を含む、コンピュータ実行型の方法。
【請求項２】
前記第２の３Ｄモデルの出力トポロジを、前記第１の３Ｄモデルの出力トポロジから取得可能であるかを判定することは、前記第１の３Ｄモデルの出力トポロジと前記第２の３Ｄモデルの出力トポロジとの間のトポロジ的な安定性を求めることで行われる、請求項１に記載のコンピュータ実行型の方法。
【請求項３】
第１の３Ｄモデルおよび第２の３Ｄモデルの各出力トポロジによってベースメッシュを形成し、前記第１の３Ｄモデルのベースメッシュを前記第２の３Ｄモデルのベースメッシュと比較することで、トポロジ的な安定性を求めることが行われる、請求項２に記載のコンピュータ実行型の方法。
【請求項４】
第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換することは、
前記第２の３Ｄモデルの出力トポロジを、出力トポロジのリストであって、前記リスト内の各トポロジが、それぞれ１つの委譲データオブジェクトに関連付けられている、リストと比較することと、
比較の結果、当該第２の３Ｄモデルの出力トポロジに類似した関連出力トポロジを有する、前記リスト内の委譲データオブジェクトである、第３の委譲データオブジェクトを自動的に選択することと、
を含む、請求項１〜請求項３のいずれか１項に記載のコンピュータ実行型の方法。
【請求項５】
第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換することは、
前記一連のジオメトリ的なオペレーションを消去することを更に含む、
請求項１〜請求項４のいずれか１項に記載のコンピュータ実行型の方法。
【請求項６】
前記第１のジオメトリ的な設計オペレーションを記憶することは、
前記設計オペレーションによって改変された箇所を有する前記第１の委譲データオブジェクトに関連付けられているジオメトリの頂点を少なくとも１つ特定することと、
前記特定された少なくとも１つの頂点の変換であって、前記変換が前記第１のジオメトリ的な設計オペレーションの結果生じる、前記特定された少なくとも１つの頂点の変換を計算することと、
を含む、請求項１〜請求項５のいずれか１項に記載のコンピュータ実行型の方法。
【請求項７】
前記第１の３Ｄモデルを提供することは、前記第１の３Ｄモデルを作成することを含み、前記作成は、第１のジオメトリ的な設計オペレーションであり、
前記作成された第１の３Ｄモデルの前記一連のジオメトリ的な設計オペレーションは、空になる、
請求項１〜請求項６のいずれか１項に記載のコンピュータ実行型の方法。
【請求項８】
前記第１のジオメトリ的な設計オペレーションは、前記第１の３Ｄモデルの入力パラメータ値を少なくとも１つ改変することである、請求項１〜請求項７のいずれか１項に記載のコンピュータ実行型の方法。
【請求項９】
前記一連のジオメトリ的な設計オペレーションとともに、前記第１のジオメトリ的な設計オペレーションを記憶することは、連続的に出現した順にしたがって行われ、最も新しく出現した前記第１のジオメトリ的な設計オペレーションは、前記一連のジオメトリ的な設計オペレーションの最後に記憶される、請求項１〜請求項８のいずれか１項に記載のコンピュータ実行型の方法。
【請求項１０】
請求項１〜請求項９のいずれか１項に記載の方法を行うための命令を含む、コンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムが記録された、コンピュータ読み取り可能な記憶媒体。
【請求項１２】
請求項１０に記載のコンピュータプログラムが記録されたメモリに接続されたプロセッサを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より具体的には、３Ｄモデルを設計するためのデータ構造、方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
オブジェクトの設計、エンジニアリング、および製造のために、多くのシステムおよびプログラムが市場に提供されている。ＣＡＤとは、コンピュータ支援設計（Computer-Aided Design）の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥとは、コンピュータ支援エンジニアリング（Computer-Aided Engineering）の頭字語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェアソリューションに関する。ＣＡＭとは、コンピュータ支援製造（Computer-Aided Manufacturing）の頭字語であり、例えば、製造プロセスおよび製造オペレーションを定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカルユーザインターフェースは、技術の効率に関して重要な役割を果たす。製品寿命管理（Product Lifecycle Management）（ＰＬＭ）システムに、これらの技術を組み込むことができる。ＰＬＭとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通のプロセスを適用し、構想から製品寿命の終わりに至るまで、製品開発のために企業知識を活用するのを支援する、ビジネス戦略のことをいう。ダッソーシステムズが提供するＰＬＭソリューション（製品名ＣＡＴＩＡ、ＥＮＯＶＩＡ、およびＤＥＬＭＩＡ）は、製品エンジニアリングの知識をまとめるエンジニアリングハブ、製造エンジニアリングの知識を管理する製造ハブ、およびエンジニアリングハブと製造ハブの両方に対して事業の統合と接続とを可能にするエンタープライズハブを提供する。すべてを合わせて、システムが、製品、プロセス、リソースを結ぶオープンなオブジェクトモデルを提供することで、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援が可能になる。
【０００３】
ＣＡＤソフトウェアは、２つのカテゴリー、すなわち、履歴ベースの手法（パラメトリックモデリングともいう）および履歴を用いない手法（ダイレクトモデリングともいう）に分けることができる一連のツールを用いて、パーツと呼ばれる三次元（３Ｄ）モデルを作成する方法を提案する。
【０００４】
履歴ベースの手法は、形状特徴や制約などを用いた作成プロセスの各ステップを記憶することによって、設計意図を記録するように設計された。これは、実際にはパーツのレシピのようなものであり、作成の各ステップは、ユーザが変更可能な一連のパラメータを提示している。ユーザが１つのパラメータを変更すると、同じ正確な順序で全体の「レシピ」が再生されて、新規部分を再生成する。この手法は、一般的に、ユーザにオペレーションの順序を素早く理解させるツリーを用いて表される。
【０００５】
履歴を用いない手法は、改変する度に一連のオペレーションが再生されることに依拠しない。各改変は、今の３Ｄモデルに対して行われる。すなわち、中間ステップ、つまり、「レシピ」がなく、ユーザが自身の設計を改変する場合、その改変は形状特徴に吸収されるため、改変をもたらすパラメータは維持されない。オペレーションが行われる順序が維持されないため、この手法によって、ユーザは、より素早く、より自由に、３Ｄモデルを作成することができる。ユーザは、形状特徴を作成する順序について悩まずに、自身が作成しているジオメトリに集中することができる。更に、ユーザは、自身の改変の影響について悩む必要がない。
【０００６】
履歴ベースの手法の利点はまた、欠点でもある。パラメトリックな手法は、ほぼいつでもパラメータを変更することができるという点で非常に便利であるが、設計プロセスの柔軟性が失われる。いったん「レシピ」が作成され、各形状特徴が強く型付け（種類に区分すること）されると、そのパラメータを用いることしかできなくなる。その他の変更を行うことは、非常に厄介なものとなり得る。何故なら、ユーザが望む変更を行うためには、その部分が再生成される際に、その変更によって結果がどのような影響を受けるのかを考える必要があるからである。このことは、ユーザが、異なる型の形状を試すことを望み、かつこれを素早く反復適用することを望むような場面では、大きな欠点となる。
【０００７】
履歴ベースの手法で用いられるオブジェクトは、強く型付けされている。オブジェクトの型（タイプ）を変更するためには、まったく新規のオブジェクトを作成し、オペレーションの順序を表すツリーにおいて、当初のオブジェクトを新規のオブジェクトで置換する必要がある。置換されるオブジェクトとの関連が全くない新規のオブジェクトは、トポロジ変化のために、今の「レシピ」にうまく適合しない場合がある。これが起こるのは、あるオペレーションが依拠するオブジェクトが変化したために、その改変を計算するのに必要な要素をもはや見つけることができなくなる場合である。この場合、ユーザが、システムに対して、どのようにそれを行うのかを明示的に示さなければいけなくなる。これは面倒なタスクであり、履歴がより複雑になれば、このタスクは更に面倒で、より多くの時間を必要とするようになる。
【０００８】
履歴を用いない手法によると、ユーザが対象とする形状特徴は全く型付けされておらず、ユーザは、作成プロセスの情報を記憶していない汎用的な形状特徴を対象としているため、その形状を素早く繰り返し適用することができる。よって、ユーザが、形状を素早く繰り返し適用するとしても、３Ｄ形状の今の状態を改変することしかできない。ユーザは、自身が以前に行ったいずれのオペレーションのいずれのパラメータにもアクセスしない。
【０００９】
履歴を用いないコンテキストから生成されたオブジェクトを、履歴ベースのコンテキストに統合することができるため、履歴ベースの手法と履歴を用いない手法とは、両立しないことはない。より正確に言うと、ユーザは、履歴を用いないモデルを作成し、このモデルから新規の３Ｄモデルを生成するオペレーションを、このモデルに対して適用することができる。
【００１０】
しかしながら、これらの２つの手法の各データ構造は、相互使用可能ではない。実際、履歴ベースの手法および履歴を用いない手法によって生成されたオブジェクトのデータ構造は、やや異なっている。その理由は、特に、履歴ベースの手法におけるオブジェクトのデータ構造の型付けは強く、履歴を用いない手法におけるデータ構造の型付けは弱いためである。履歴ベースのコンテキストにおける３Ｄモデルの型は、その特性を参照しており、一連のパラメータと、その一連のパラメータを入力データとして取得し、オブジェクトのトポロジを出力データとして返す少なくとも１つのオペレーションとによって定義される。例えば、図１を参照すると、３Ｄの球体は型付けされた３Ｄモデルであり、この「球体」の型は、その中心、半径、および開口角度といった一連のパラメータを伴う。これは、これらのパラメータのすべてを入力データとして取得し、球体のトポロジを返すことができるオペレーションを伴う。これに対し、履歴を用いないコンテキストでは、作成された形状は、オブジェクトがパラメータを有していないので、定義上、型を持たない。オブジェクトに適用される各オペレーションは、このオブジェクトの今の定義に対して適用される。図３の例では、ユーザは、球体のトポロジ、すなわち、すべての頂点、辺縁からなるワイヤフレームにのみアクセスし、その情報から、面を形成することができる。
【００１１】
要約すると、履歴ベースの手法のデータ構造は、型に特有な入力パラメータと、型に特有な少なくとも１つのオペレーションと、先のオペレーションで生成された出力トポロジとを含む。履歴を用いない手法のデータ構造は、オブジェクトに適用された最後の外部オペレーションによって生成された今のトポロジを含む。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
これらの２つの手法間の根本的な相違のために、今の履歴を用いない手法は、ユーザが３Ｄモデル（メッシュについても同様）に対して行った改変の「レシピ」を取得することができない。特に、最初の３Ｄモデルに対して行ったのと同一または類似の設計オペレーションを自動的に取得し、新規のメッシュに適用することはできない。例えば、第１モデルの自動車のドアの設計を改変した設計者は、第２の自動車モデルのドアに対して、同一の改変を自動的に適用することはできない。このことは、履歴を用いないＣＡＤ手法においては、設計意図を再利用することはほぼできないということ、設計者は、第２モデルの自動車のメッシュに対して、自身の最初の設計意図が再現されることを望みつつ、直感的に改変を適用しなければならない、ということを意味する。
【００１３】
このような背景から、三次元モデルを設計する方法がなお必要とされている。
【課題を解決するための手段】
【００１４】
このため、三次元（３Ｄ）モデルを設計するためのコンピュータ実行型の方法が提供される。本方法は、
第１の３Ｄモデルであって、
（ｉ）１つの委譲データオブジェクトであって、前記委譲データオブジェクトの型に特有な入力パラメータを含む、１つの委譲データオブジェクトと、
（ｉｉ）出力トポロジと、によって定義され、
かつ、一連のジオメトリ的な設計オペレーションに関連付けられている、第１の３Ｄモデルを提供することと、
ユーザが、前記第１の３Ｄモデルに対して第１のジオメトリ的な設計オペレーションを行い、それによって第２の３Ｄモデルを得ることと、
前記第２の３Ｄモデルの出力トポロジを、前記第１の３Ｄモデルの出力トポロジから取得可能であるかを判定することと、
前記第２の３Ｄモデルの出力トポロジを前記第１の３Ｄモデルの出力トポロジから取得することができない場合は、第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換すること、または前記第１の委譲データオブジェクトを維持し、前記第１の３Ｄモデルに関連付けられている一連のジオメトリ的な設計オペレーションとともに、前記第１のジオメトリ的な設計オペレーションを記憶することとを含む。
【００１５】
本方法は、以下のうちの１つ以上を含んでいてもよい。
【００１６】
・前記第２の３Ｄモデルの出力トポロジを、前記第１の３Ｄモデルの出力トポロジから取得可能であるかを判定することは、前記第１の３Ｄモデルの出力トポロジと前記第２の３Ｄモデルの出力トポロジとの間のトポロジ的な安定性を求めることで行われる。
【００１７】
・第１の３Ｄモデルおよび第２の３Ｄモデルの各出力トポロジによってベースメッシュを形成し、前記第１の３Ｄモデルのベースメッシュを前記第２の３Ｄモデルのベースメッシュと比較することで、トポロジ的な安定性を求めることが行われる。
【００１８】
・第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換することは、前記第２の出力トポロジを、出力トポロジのリストであって、前記リスト内の各トポロジが、それぞれ１つの委譲データオブジェクトに関連付けられている、リストと比較することと、比較の結果、前記第２の出力トポロジに類似した関連出力トポロジを有する、前記リスト内の委譲データオブジェクトである、第３の委譲データオブジェクトを自動的に選択することと、を含む。
【００１９】
・第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換することは、前記一連のジオメトリ的なオペレーションを消去することを更に含む。
【００２０】
・前記第１のジオメトリ的な設計オペレーションを記憶することは、前記設計オペレーションによって改変された箇所を有する前記第１の委譲データオブジェクトに関連付けられているジオメトリの頂点を少なくとも１つ特定することと、前記特定された少なくとも１つの頂点の変換であって、前記変換が前記第１の設計オペレーションの結果生じる、前記特定された少なくとも１つの頂点の変換を計算することと、を含む。
【００２１】
・前記第１の３Ｄモデルを提供することは、前記第１の３Ｄモデルを作成することを含み、前記作成は、第１のジオメトリ的な設計オペレーションであり、前記作成された第１の３Ｄモデルの前記一連のジオメトリ的な設計オペレーションは、空になる。
【００２２】
・前記第１のジオメトリ的な設計オペレーションは、前記第１の３Ｄモデルの入力パラメータ値を少なくとも１つ改変することである。
【００２３】
・前記一連のジオメトリ的な設計オペレーションとともに、前記設計オペレーションを記憶することは、連続的に出現した順にしたがって行われ、最も新しく出現した設計オペレーションは、前記一連のジオメトリ的な設計オペレーションの最後に記憶される。
【００２４】
本方法を行うための命令を含むコンピュータプログラムが、更に提供される。
【００２５】
前記コンピュータプログラムが記録されたコンピュータ可読記憶媒体が、更に提供される。
【００２６】
前記コンピュータプログラムが記録されたメモリに連結されたプロセッサを含むシステムが、更に提供される。前記システムは、グラフィカルユーザインターフェースを備えていてもよい。
【００２７】
三次元（３Ｄ）モデルを定義するデータ構造も提供される。前記データ構造は、１つの委譲データオブジェクトを含む。前記１つの委譲データオブジェクトは、前記委譲データオブジェクトの型に特有な入力パラメータと、出力トポロジを生成するための、前記委譲データオブジェクトの型に特有な少なくとも１つの演算子とを含む。前記データ構造は、前記演算子によって生成される出力トポロジも含む。
【００２８】
前記データ構造は、少なくとも１つの演算子を追加または削除するインターフェースを更に含んでいてもよい。
【００２９】
以下、非限定的な例として、本発明の実施形態を添付の図面を参照しつつ説明する。
【図面の簡単な説明】
【００３０】
【図１】強く型付けされているオブジェクトの例を示す。
【図２】データ構造の例を示す。
【図３】データ構造の例を示す。
【図４】データ構造の例を示す。
【図５】データ構造を有するビルドフェーズの例を示す。
【図６】データ構造を有するビルドフェーズの例を示す。
【図７ａ】データ構造によって定義された３Ｄモデルに行った改変を示す。
【図７ｂ】データ構造によって定義された３Ｄモデルに行った改変を示す。
【図７ｃ】データ構造によって定義された３Ｄモデルに行った改変を示す。
【図７ｄ】データ構造によって定義された３Ｄモデルに行った改変を示す。
【図８】データ構造によって定義された３Ｄモデルの設計方法の例を示す。
【図９】３Ｄモデルの設計方法の使用事例を示す。
【図１０】３Ｄモデルの設計方法の使用事例を示す。
【図１１】３Ｄモデルの設計方法の使用事例を示す。
【図１２ａ】データ構造によって定義されたベースメッシュの例を示す。
【図１２ｂ】データ構造によって定義されたベースメッシュの例を示す。
【図１２ｃ】データ構造によって定義されたベースメッシュの例を示す。
【図１２ｄ】データ構造によって定義されたベースメッシュの例を示す。
【図１３】システムの例を示す。
【発明を実施するための形態】
【００３１】
図８を参照すると、三次元（３Ｄ）モデルを設計するためのコンピュータ実行型の方法が提案されている。本方法は、第１の３Ｄモデルを提供することを含む。第１の３Ｄモデルは、（ｉ）１つの委譲データオブジェクトであって、当該委譲データオブジェクトの型に特有な入力パラメータを含む、１つの委譲データオブジェクトと、（ｉｉ）出力トポロジとによって定義される。また、第１の３Ｄモデルは、一連のジオメトリ的な設計オペレーションにも関連付けられている。本方法は、ユーザが、第１の３Ｄモデルに対して第１のジオメトリ的な設計オペレーションを行い、それによって第２の３Ｄモデルを得ることを更に含む。また、本方法は、第２の３Ｄモデルの出力トポロジを、第１の３Ｄモデルの出力トポロジから取得可能であるかを判定することも含む。更に、本方法は、第２の３Ｄモデルの出力トポロジを第１の３Ｄモデルの出力トポロジから取得することができない場合は、第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換すること、または第１の委譲データオブジェクトを維持し、第１の３Ｄモデルに関連付けられている一連のジオメトリ的な設計オペレーションとともに、第１のジオメトリ的な設計オペレーションを記憶することを含む。
【００３２】
このような方法によって、履歴を用いないコンピュータ支援設計システムにおける３Ｄモデルの設計が改善される。
【００３３】
特に、３Ｄモデルは、特定のデータ構造によって定義され、ここで、３Ｄモデルは、１つの委譲データオブジェクトであって、当該委譲データオブジェクトの型に特有な１つ以上の入力パラメータを含む、１つの委譲データオブジェクトと、出力トポロジとを含む。３Ｄモデル、およびそのデータ構造は、「弱型」および「柔軟なモデリング」という概念を導入することによって、履歴を用いない手法の限界を取り除くことができる。履歴を用いない手法と同様に、３Ｄモデルを定義するデータ構造は、汎用的である。型を定義するオブジェクトを入力データとして取得する代わりに、汎用的なオブジェクトは、その型を別のオブジェクトに委ねている。このようなオブジェクトの他の型を、「弱型」とも呼ぶ。このような委譲データオブジェクトのおかげで、履歴ベースの手法と同様に、汎用的な形状特徴であるデータ構造を用いて３Ｄモデルを設計することができ、また、汎用的な形状特徴が、型（type）を有する。しかしながら、この型は、委譲データオブジェクトに委ねられているため、形状特徴と強く結びついているわけではない。このため、形状特徴は、その寿命の間、コンテキストおよびオペレーションに応じて型を変更することができる。故に、データ構造が十分汎用的であるので、これを設計オペレーションの間維持可能であり、必要な場合、または設計者に求められた場合、変更可能である。更に、データ構造は、形状特徴の作成に関して、設計者に新しい可能性を提供する。実際のところ、委譲データオブジェクトは、必ずしも、一般的な形状特徴（例えば、平面、円柱、球体、円環体など）と結びついていなくてもよく、新規の委譲データオブジェクトの型を得るのに、いずれの形状（例えば、ユーザによる設計者）が用いられてもよい。
【００３４】
このような方法によって、履歴を用いないコンピュータ支援設計システムにおける３Ｄモデルの設計が改善される。特に、本方法は、「弱型」および「柔軟なモデリング」という概念を導入することによって、履歴を用いない手法の限界を取り除くことができるデータ構造に依拠する。本方法は、第１の３Ｄモデルを設計している間にトポロジの変化が生じたか否かに応じて、委譲データオブジェクトの維持または置換を可能にする。履歴を用いない手法であっても、３Ｄモデルに対して行われる連続オペレーションを記憶することができるが、各オペレーションは、形状特徴の最終的な状態を対象としている。設計オペレーションが破壊的すぎない場合、実際には、オペレーションが委譲オブジェクトパラメータのうちの１つを改変しているので、委譲オブジェクトを維持することができる。更に、本方法によって、形状特徴ツリーに見られるオブジェクトは決して変化せず、その基となる委譲データオブジェクトが変化するということが、確実なものとなる。その結果、委譲データオブジェクトが変化する場合、システムは、先の３Ｄモデルの型と新規の３Ｄモデルの型とを引き続き記憶する。委譲データオブジェクトが新規のもので置換されても、置換されたオブジェクトの情報を維持することができる。このようにして、履歴を用いない手法の柔軟性が向上する。３Ｄモデル（およびその委譲データオブジェクト）が属する形状特徴に対して行われるいずれのオペレーションも、３Ｄモデル（およびその委譲データオブジェクト）に対して影響を及ぼすことができる。実際に、オペレーションが、弱型パラメータのうちの１つのみを改変しているのであれば、弱型が維持される。このことは、ユーザが、引き続き他のパラメータを改変することができるということを意味する。これに対して、オペレーションが、弱型のパラメータにおける改変では説明することができない何かを改変しているのであれば、今の弱型は失われ、より適切なもので置換される。最大限使用するために、形状特徴の今の弱型を可能な限り維持すべきである。今の弱型が長く維持されるほど、ユーザがパラメータをより改変することができ、形状の制御を更に行うことができる。ここでの限界は、ほとんどのオペレーションで、当初の弱型を維持することができないということである。本方法は、トポロジ的に安定な改変を記憶することによって、この限界を克服することができる。このようなオペレーションを行う順序は、今の委譲データオブジェクトによって維持されるが、このことは、委譲データオブジェクトが改変される度、システムが、シーケンス全体を再生し、記憶された改変を適用することができるということを意味する。したがって、システムは、今の弱型を更に長期間維持し、その寿命を延長することができる。
【００３５】
システムが、弱型をより長期に維持することができるので、ユーザは、形状に対する制御を更に行うことができる。また、本方法が、履歴を用いないコンテキストに適合するので、ユーザは、改変を行う順序について悩む必要がない。システムが、ユーザのために、これを処理する。
【００３６】
本方法は、コンピュータ実行型である。このことは、本方法のステップ（または実質的にすべてのステップ）が、少なくとも１つのコンピュータ、または同様のいずれのシステムによって実行されるということを意味する。したがって、本方法のステップは、コンピュータによって、場合によっては完全に自動的に、または半自動的に、行われる。実施例においては、本方法のステップのうちの少なくともいくつかは、ユーザとコンピュータとの間の対話によって始動されてもよい。必要とされるユーザとコンピュータとの間の対話のレベルは、予測された自動作用のレベルに依存していてもよく、ユーザの希望を実現する必要性とバランスをとってもよい。実施例においては、このレベルは、ユーザが定義したものおよび／または既定のものであってもよい。
【００３７】
例えば、第１の委譲データオブジェクトを改変するステップは、設計オペレーション中などにユーザが操作を行い次第、実行される。
【００３８】
ある方法をコンピュータで実行することの典型的な例としては、目的に適合したシステムで本方法を実行することがあげられる。システムは、メモリに連結されたプロセッサと、グラフィカルユーザインターフェース（ＧＵＩ）とを備えていてもよく、メモリには本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリは、データベースを記憶していてもよい。メモリは、このような記憶に適合したハードウェアであり、場合によっては、物理的に区別されたいくつかの部分（例えば、プログラム用と、場合によってはデータベース用）を含む。
【００３９】
データ構造は、３Ｄモデルを定義するものであり、本方法は、通常、データ構造を編集し、それによって３Ｄモデルを編集する。３Ｄモデルは、モデル化オブジェクトとも称する。モデル化オブジェクトは、データベースなどに記憶されているデータによって定義されたオブジェクトである。ひいては、「モデル化オブジェクト」なる表現は、データそのものを意味する。システムのタイプに応じて、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。システムは、実際のところ、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／またはＰＬＭシステムの組み合わせであってもよい。そのような異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。それに応じて、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータと呼んでもよい。しかしながら、モデル化オブジェクトが、これらのシステムの組み合わせに対応するデータによって定義されていてもよいため、これらのシステムは相互に排他的ではない。したがって、以下で示すこのようなシステムの定義から明らかであるように、システムは、ＣＡＤシステムおよびＰＬＭシステムの両方からなるものであることが考えられる。
【００４０】
ＣＡＤシステムとは、少なくとも、モデル化オブジェクトを図示することに基づいてモデル化オブジェクトを設計するのに適合した、ＣＡＴＩＡなどのシステムのことを更に意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの描写を可能にするデータを含む。例えば、ＣＡＤシステムは、辺縁または線を、ある場合には面または表面とともに用いて、ＣＡＤモデル化オブジェクトを描写してもよい。線、辺縁、または表面は、非一様有理Ｂスプライン（non-uniform rational B-splines）（ＮＵＲＢＳ）などの様々な様式で描写されてもよい。具体的には、ＣＡＤファイルは、ジオメトリが生成され得、ひいては描写の生成を可能にする、仕様を含む。モデル化オブジェクトの仕様は、単一ＣＡＤファイルに記憶されていてもよいし、複数のＣＡＤファイルに記憶されていてもよい。ＣＡＤシステムにおいてモデル化オブジェクトを描写するファイルの典型的なサイズは、１パーツあたり１メガバイトの範囲である。モデル化オブジェクトは、典型的には、数千のパーツの集合体であってもよい。
【００４１】
ＣＡＤの場合、モデル化オブジェクトは、典型的には、例えば、パーツもしくはパーツの集合体などの製品、または、場合によっては製品の集合体を描写する、３Ｄモデル化オブジェクトであってもよい。「３Ｄモデル化オブジェクト」とは、３Ｄ描写を可能にするデータによってモデル化されたオブジェクトを意味する。３Ｄ描写によって、パーツをすべての角度から見ることが可能になる。例えば、３Ｄ描写されていると、３Ｄモデル化オブジェクトは、オブジェクトの任意の軸を中心として、またはその描写が表示されている画面内の任意の軸を中心として、処理および回転を行い得る。特に、これは、３Ｄモデル化されていない２Ｄアイコンを除く。３Ｄ描写を表示することで、設計が容易になる（すなわち、設計者が自身のタスクを統計上完了するスピードが上昇する）。製品設計は、製造プロセスの一部であるため、これにより業界における製造プロセスが加速する。
【００４２】
３Ｄモデル化オブジェクトは、例えばＣＡＤソフトウェアソリューションまたはＣＡＤシステムを用いた仮想設計が完了した後、実社会において製造される、部品（例えば、機械部品）または部品の組立体（これらは、換言すると部品の集合といえるが、これは、部品の組立体自体が、本方法の観点からは１つの部品と見なされてもよいし、組立体の各部品に対して本方法を個別に適用してもよいからである）、あるいは、より一般的には、剛体集合体（例えば、移動機構）などの製品のジオメトリを描写してもよい。ＣＡＤソフトウェアソリューションは、例えば、航空宇宙産業、建築、建設、消費財、ハイテク機器、産業機器、輸送、水産業、および／または洋上での石油／ガス生産もしくはその輸送などの様々な限定されない工業分野における製品設計を可能にする。したがって、本方法によって設計される３Ｄモデル化オブジェクトは、地上車の部品（例えば、自動車用および軽トラック用の機器、レーシングカー、オートバイ、トラック用およびモーター用の機器、トラック、バス、ならびに列車など）、航空機の部品（例えば、機体用機器、航空宇宙用機器、推進用機器、防御用製品、航空機用機器、宇宙機器など）、船舶の部品（例えば、船舶用機器、商船、洋上用機器、ヨット、作業船、および船舶用機器など）、汎用的な機械部品（例えば、工業用製造機械、可動性大型機械または可動性重機、設置機器、工業機器製品、組立金属製品、タイヤ製造用製品など）、電気機械部品または電子部品（例えば、家電製品、セキュリティ用および／または制御用および／または計測用の製品、計算用および通信用の装置、半導体、医療用の装置および機器など）、消費財（例えば、家具、住宅用および園芸用の製品、レジャー用品、ファッション製品、耐久消費財小売業者の製品、非耐久消費財小売業者の製品など）、包装（例えば、飲食物用、タバコ用、美容品用、介護用品用、家庭用品用の包装など）などのいずれの機械部品であってもよい、工業製品を描写し得る。
【００４３】
ＰＬＭシステムとは、製造された物的生産物（または製造される製品）を描写するモデル化オブジェクトの管理に適合したシステムのことを更に意味する。したがって、ＰＬＭシステムにおいて、モデル化オブジェクトは、物理オブジェクトの製造に適したデータによって定義される。これらのデータは、典型的には、寸法値および／または公差値である。オブジェクトの正確な製造のためには、実際のところ、このような値があるとより良い。
【００４４】
ＣＡＭソリューションとは、製品の製造データを管理するのに適合したソリューション、ハードウェアのソフトウェアを更に意味する。製造データは、通常、製造される製品、製造プロセス、および必要とされるリソースに関するデータを含む。ＣＡＭソリューションを用いて、製品の製造プロセス全体の立案および最適化が行われる。例えば、ＣＡＭソリューションは、ＣＡＭのユーザに、製造プロセスの実現可能性や継続時間、または、製造プロセスの特定のステップにおいて用いられてもよい特定のロボットなどのリソースの数についての情報を提供することができる。これによって、管理または必要な投資についての決定が可能になる。ＣＡＭは、ＣＡＤプロセスおよび潜在的ＣＡＥプロセスの後で行われる後プロセスである。このようなＣＡＭソリューションは、ＤＥＬＭＩＡ（登録商標）の製品名で、ダッソーシステムズによって提供される。
【００４５】
ＣＡＥソリューションとは、モデル化オブジェクトの物理的挙動の解析に適合したソリューション、ハードウェアのソフトウェアを更に意味する。ＣＡＥ技術としては、モデル化オブジェクトを、その物理的挙動を方程式を用いて計算およびシミュレートすることができる要素に分割することを典型的に含む、有限要素法（Finite Element Method）（ＦＥＭ）が周知され、広く用いられている。このようなＣＡＥソリューションは、ＳＩＭＵＬＩＡ（登録商標）の製品名で、ダッソーシステムズによって提供される。他に成長中のＣＡＥ技術は、ＣＡＤジオメトリデータを持たない物理学の異なる分野由来の複数の要素からなる複合システムのモデル化および解析を含む。ＣＡＥソリューションによって、製造する製品のシミュレーションが可能になり、ひいてはその最適化、改善、および検証が可能となる。このようなＣＡＥソリューションは、ＤＹＭＯＬＡ（登録商標）の製品名で、ダッソーシステムズによって提供される。
【００４６】
ＰＤＭとは、製品データ管理（Product Data Management）を意味する。ＰＤＭソリューションとは、ある特定の製品に関するあらゆる種類のデータを管理するのに適合したソリューション、ハードウェアのソフトウェアを更に意味する。ＰＤＭソリューションは、主として技術者であるが、それ以外のプロジェクトマネージャや財務担当者、販売員、購買担当者も含む、製品寿命に関係する関係者に用いられ得る。ＰＤＭソリューションは、一般的に、製品指向のデータベースに基づく。これによって、関係者らが、製品についての整合性のあるデータを共有することが可能になるため、関係者が異なるデータを用いることが防止される。このようなＰＤＭソリューションは、ＥＮＯＶＩＡ（登録商標）の製品名で、ダッソーシステムズによって提供される。
【００４７】
図１３は、システムの一例を示し、このシステムは、ユーザのワークステーションなどの、クライアントコンピュータシステムである。
【００４８】
この例のクライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（central processing unit）（ＣＰＵ）と、同じくバスに接続されたランダムアクセスメモリ（random-access memory）（ＲＡＭ）１０７０とを備える。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ１１００に付随するグラフィック処理装置（graphical processing unit）（ＧＰＵ）１１１０を更に備える。ビデオＲＡＭ１１００は、当該技術分野において、フレームバッファとしても知られている。大容量記憶デバイスコントローラ１０２０は、ハードドライブ１０３０などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラムの命令およびデータを具体的に実現するのに適合した大容量メモリデバイスとしては、あらゆる形態の不揮発性メモリが挙げられ、例えば、ＥＰＲＯＭやＥＥＰＲＯＭ、フラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクや取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭディスク１０４０などである。前述したものはいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路（application-specific integrated circuit））によって補完されていてもよいし、ＡＳＩＣに組み込まれていてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータは、また、カーソルコントロールデバイスやキーボードなどの触覚デバイス１０９０を備えていてもよい。クライアントコンピュータにおいて、カーソルコントロールデバイスは、ユーザが、ディスプレイ１０８０上の所望の位置にカーソルを選択的に配置できるようにするために用いられる。更に、カーソルコントロールデバイスによって、ユーザは、様々なコマンドを選択して、制御信号を入力することができる。カーソルコントロールデバイスは、システムに制御信号を入力するための信号生成デバイスを多く備える。典型的には、カーソルコントロールデバイスは、マウスであってもよく、マウスのボタンを用いて信号を生成する。あるいは、または更には、クライアントコンピュータシステムは、感知パッドおよび／または感知スクリーンを備えていてもよい。
【００４９】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、これらの命令は、上記のシステムに本方法を実行させる手段を含んでいてもよい。プログラムは、システムのメモリを含む、いずれのデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路に実装されていてもよいし、コンピュータのハードウェアやファームウェア、ソフトウェアに実装されていてもよいし、これらの組み合わせに実装されていてもよい。プログラムは、例えば、プログラミング可能なプロセッサによる実行のために、機械可読な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法ステップは、プログラム可能なプロセッサが命令のプログラムを実行することで入力データを演算し出力を生成して、本方法の機能を実行することによって実行されてもよい。したがって、プロセッサは、プログラム可能であって、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型プログラミング言語またはオブジェクト指向のプログラミング言語で実装されていてもよいし、必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用すると、本方法を実行するための命令が得られる。
【００５０】
データ構造は、ＣＡＤシステム（またはそれに類するもの）のオペレーションを制御するように働く機能データである。したがって、データ構造は、例えば履歴を用いないＣＡＤシステムにおいて、３Ｄモデルを設計するためのオペレーションを制御するように働く。特に、データ構造は、「強く」型付け（種類に区分すること）されてはいないが、反対に「弱く」型付けされている汎用的な形状特徴へと渡される型およびパラメータを有する形状を作成する際に、設計オペレーションを改善する。ここで、データ構造は、例えば実社会のオブジェクトを描写する３Ｄモデルを設計するための技術的特徴の機能データである。
【００５１】
「３Ｄモデル化オブジェクトを設計する」とは、３Ｄモデル化オブジェクトを精巧に作り上げるプロセスの少なくとも一部である、任意の操作または一連の操作を意味する。したがって、本方法は、３Ｄモデル化オブジェクトを一から作成することを含んでいてもよい。あるいは、本方法は、以前に作成された３Ｄモデル化オブジェクトを提供して、その３Ｄモデル化オブジェクトを改変することを含んでいてもよい。本方法は、本方法を行った後に、モデル化オブジェクトに相当する物理オブジェクトを作成することを含んでいてもよい製造プロセスに含まれていてもよい。いずれの場合も、本方法で設計されたモデル化オブジェクトは、製造用オブジェクトを描写していてもよい。したがって、モデル化オブジェクトは、モデル化された立体（すなわち、立体を描写するモデル化オブジェクト）であってもよい。製造用オブジェクトは、部品、または部品の組立体などの製品であってもよい。本方法によって、モデル化オブジェクトの設計が改善されるので、製品の製造もまた本方法によって改善され、これによって、製造プロセスの生産性が向上する。
【００５２】
図１は、公知の履歴ベースのＣＡＤシステムで一般的に用いられる強く型付けされているデータ構造の一例を示す。この例では、データ構造は、３Ｄの球体の形状特徴を定義しており、３Ｄの球体は型付けされている３Ｄモデルである。３Ｄの球体の形状特徴は、３Ｄの球体の型を定義しており、この型は、球体の中心、半径、および開口角度といった一連のパラメータを伴う。データ構造は、球体オペレーションという単一のオペレーションを伴う。型付けされている形状特徴の出力データからは、図１の右に示されるように、球体のトポロジがもたらされる。
【００５３】
次いで、履歴を用いない手法の観点からは、球体を描写するメッシュのみが、システムで用いられる。履歴を用いないパラダイムとは、形状特徴が汎用的であることである。このことは、ＣＡＤシステムがメッシュ（すべての頂点、辺縁を備え、その情報から面を形成することができる、ワイヤフレーム）にアクセスしただけの場合には、ＣＡＤシステムは、メッシュが球体を描写していることを認識していないということを意味する。したがって、設計者は、形状を素早く反復適用することができるとしても、メッシュの今の状態を改変することしかできない。よって、球体の１つのパラメータのみを改変することは不可能であり、例えば、設計者は、３Ｄの球体の３Ｄ形状を有するメッシュの半径を改変することはできない。
【００５４】
図２は、本発明のデータ構造の一例を示す。データ構造（または形状特徴）は汎用的である。これは、データ構造が型付けされておらず、そのため、例えば球体の基本形状などの、オブジェクトの具体的な１つの型に関連付けられていないことを意味する。形状特徴とは、形状を与えることができる構成要素である。形状特徴は、通常、３Ｄモデル化オブジェクトを構築するための３Ｄモデリングにおいて用いられる。非限定的な例として、直方体（例えば、立方体）、円柱、球体、角錐、円錐、二次曲面、線織面、円環体などを、「典型的な」形状特徴として挙げることができる。より一般的には、形状特徴は、任意の形状を描写することができ、自動車または飛行機などの非常に複雑な形状でさえも描写することができるが、形状特徴は、特定の演算子が形状を生成するのに十分な一連のパラメータを有する。一連の形状特徴によって、例えば、履歴を用いないＣＡＤシステムにおいてメッシュによって描写される工業製品などの、工業製品を表現することが可能になる。
【００５５】
データ構造が汎用的であると、これを、履歴を用いないＣＡＤシステムにおいて用いることができる。汎用的な形状特徴は、形状特徴の型からは独立している。しかしながら、汎用的な形状特徴は、データを受信、実行し、型付けされている形状特徴から得られる結果と類似の結果を得ることができる。データ構造は、入力データとして、形状特徴の型を定義する委譲データオブジェクトを取得する。委譲データオブジェクトは、汎用的な形状特徴を「弱く型付ける」のに寄与する。このことは、データ構造が汎用的であり、その汎用性が委譲データオブジェクトによって制約を受けるということを意味する。データ構造は、汎用的であると、ある特定のオペレーションに関連付けられていない。オペレーションは、委譲データオブジェクトを伴う。したがって、（汎用的な）データ構造は、型と、委譲データオブジェクトの型に特有な演算子とを継承する。この継承は、入力データとして、委譲データオブジェクト（型と、特有な演算子とを含む）を汎用的な形状特徴に提供することによって行われる。出力データは、汎用的な形状特徴によって入力データから計算されるトポロジである。したがって、トポロジは、入力データに備わる型に特有である。
【００５６】
図３には、（汎用的な）データ構造が、型が球体である委譲データオブジェクトを入力データとして取得すると、データ構造が作成するトポロジは、球体であるということが示されている。球体の作成は、その型の演算子で制御されており、この演算子は、データ構造によって実行（実施）される。したがって、委譲データオブジェクトの演算子は、データ構造によって取得された上で実行される。
【００５７】
委譲データオブジェクトは、委譲データオブジェクトの型に特有な入力パラメータを含む。また、委譲データオブジェクトは、委譲データオブジェクトの型に特有な演算子を１つ以上含む。
【００５８】
図４は、「球体」の型に特有な委譲データオブジェクトの一例を示す。委譲オブジェクトが、汎用的な形状特徴によって実行される場合、すなわち、システムが、「球体」の形状特徴に対して自己構築を行うように要求した場合、汎用的な形状特徴は、特有な型としてこれを委譲データオブジェクトに割り当てる。上記のこのような例では、委譲データオブジェクトは、「中心」、「半径」、および「開口角度」をパラメータとして用いて球体を構築すべきだということを記憶している。このように、委譲オブジェクトは、その入力パラメータを用いてオペレーションを生成する。そして、このオペレーションは、汎用的な形状特徴によって用いられて、トポロジを生成する。したがって、何らかの理由で委譲オブジェクトが他のオブジェクトで置換された場合、その他のオブジェクトは、委譲オブジェクトによって与えられたオペレーションを依然として取得し実施するため、汎用的な形状特徴の観点からはトランスペアレントである。
【００５９】
委譲データオブジェクトのパラメータによって、出力トポロジを生成する演算子のインスタンスを作成することが可能になる。例えば、以下に挙げるようなことが、当該技術分野において公知である。
【００６０】
・「球体」の型に特有な入力パラメータは、中心、半径、および開口角度である。
【００６１】
・「円柱」の型に特有な入力パラメータは、軸の方向、円柱の高さ、円の中心、および円の半径である。
【００６２】
・「円錐」の型に特有な入力パラメータは、軸方向、円錐の高さ、円錐の基底部の中心、および円錐の基底部の半径である。
【００６３】
・「円環体」の型に特有な入力パラメータは、方向ベクトル、中心、大円の半径、および小円の半径である。
【００６４】
データ構造は、演算子によって生成された出力トポロジを更に含む。トポロジは、委譲データオブジェクトの型に依拠する。
【００６５】
実施例においては、オペレーションは、委譲データオブジェクトの型に特有な演算子によって行われてもよい。このような状況では、オペレーションは、内部オペレーションとも称する。出力トポロジのトポロジは、改変されない。内部オペレーションは、典型的には、例えば出力トポロジの縮尺または動きなどの、委譲データオブジェクトの入力パラメータを改変した結果として実行されるオペレーションである。これらのオペレーションのリストは、委譲データオブジェクトと関連付けられており、そのため、汎用的な形状特徴にすでに「ロード」されたオペレーションによって、改変が実行されてもよいということを、汎用的な形状特徴が記憶する。
【００６６】
実施例においては、オペレーションは、委譲データオブジェクトに特有な演算子ではない演算子によって行われてもよい。このような状況では、オペレーションは、外部オペレーションとも称する。出力トポロジは、改変される。外部オペレーションは、例えばデータ構造によって定義された３Ｄモデルの３Ｄ描写に対して切断が行われるように、出力データのトポロジが改変されるため、典型的には、委譲データオブジェクトの演算子が実行できないオペレーションである。オペレーションを実行するために、データ構造は、少なくとも１つの演算子を追加または除去するのに適合したインターフェースを備えていてもよい。演算子は、データ構造に「ロード」された上で実行されてもよい。委譲データオブジェクトの演算子は、汎用的な形状特徴にロードされた状態で維持されてもよいし、単に除去されてもよい。データ構造は、常に、少なくとも１つの演算子を含む。
【００６７】
実施例においては、出力トポロジが描画され、これによって、データ構造によって定義された３Ｄモデルの描写が、例えばユーザに提示されるように、アクセス可能となってもよい。出力トポロジは、当該技術分野において公知であるように、メッシュを用いて描写されてもよい。メッシュは、より粗い、区分的に直線のポリゴンメッシュの仕様を介して、滑らかな表面を描写する方法である、細分割表面であってもよい。細分割表面は、表面の定義（すなわち、表面を計算するための一連の頂点、辺縁、および面）を含むベースメッシュと、メッシュの制御点（例えば、ベジェ曲線やＮＵＲＢＳの制御点）とを含んでいてもよい。
【００６８】
次に、図５および図６を参照して、本発明に係るデータ構造によって定義された３Ｄモデルのビルドフェーズについて説明する。
【００６９】
図５は、当該技術分野において公知の、履歴を用いないシステムにおける汎用的な形状特徴のビルドフェーズを表す。ユーザが、形状の改変を要求すると、システムは、形状のビルドフェーズを実行する。たいていの場合、このフェーズの間、今の改変を描写する演算子が呼び出され、この演算子による結果が、今の形状に関連付く新規形状となる。ビルドフェーズは、出力データを１つ有し、これが新規形状である。
【００７０】
図６は、本発明のデータ構造のビルドフェーズを表す。本発明のビルドフェーズは、今の改変に係る新規形状の計算をただ行うだけではなく、委譲データオブジェクトが依然として不変であり、そうでない場合には、新規の委譲データオブジェクトがデータ構造に提供されるということを確実にするので、別物である。
【００７１】
次に、図８を参照して、より正確にビルドフェーズを説明する。図８は、本発明のデータ構造を用いて３Ｄモデルを設計するコンピュータ実行型の方法の一例である。特に、図８のビルドフェーズによって、３Ｄモデルを定義したデータ構造の寿命が改善され、とりわけ、特に３Ｄモデルの型（例えば、「球体」の型）を定義する委譲データオブジェクトの寿命が改善される。
【００７２】
３Ｄモデルを設計する方法は、第１の３Ｄモデルを提供することを含む。第１の３Ｄモデルは、先に述べたデータ構造によって定義されていてもよい。あらゆる場合において、第１の３Ｄモデルは、（ｉ）委譲データオブジェクトの型に特有な入力パラメータを含む、１つの委譲データオブジェクトと、（ｉｉ）出力トポロジとによって定義される。３Ｄモデルを定義するデータ構造が、図２〜図６を参照して先に説明したデータ構造と類似する場合には、そのデータ構造は、委譲データオブジェクトの型に特有な、出力トポロジを生成するための少なくとも１つの演算子を更に含み、出力トポロジは、演算子によって生成される。
【００７３】
第１の３Ｄモデルは、「現在の汎用的な形状特徴のジオメトリ」と称する。汎用的な形状特徴なる語は、既に定義した。ここで、「汎用的な形状特徴のジオメトリ」なる表現は、３Ｄモデルを描写するメッシュが計算され、例えば、３Ｄモデルがユーザに提示されるということを意味する。
【００７４】
３Ｄモデルは、一連のジオメトリ的な設計オペレーションに関連付けられている。設計オペレーションとは、ユーザが操作を行い次第、３Ｄモデルに対して実行される改変のことである。典型的には、ユーザは、３Ｄモデルのメッシュに対して改変を実行する。３Ｄモデルのメッシュを改変することは、履歴を用いないＣＡＤシステムにおける典型的なユーザ操作である。
【００７５】
「一連の」とは、設計オペレーションが、特定の順序で記憶されていることを意味する。例えば、一連の設計オペレーションは、連続的に出現した順序に応じて格付けされた設計オペレーションであってもよい。したがって、一連の所与の設計オペレーションにおいて、出現順を得ることができる。この順序では、最も新しく出現した設計オペレーションが、一連のジオメトリ的な設計オペレーションの最後に記憶されてもよい。したがって、１番目の設計オペレーションが第１位に格付けされ、２番目の設計オペレーションが第２位に格付けされ、３番目の設計オペレーションが第３位に格付けされ、ｎ番目の設計オペレーションが第ｎ位に格付けされる。
【００７６】
一連の設計オペレーションに含まれる設計オペレーションは、１つだけであってもよい。このような状況は、データ構造から初めて３Ｄモデルを作成する際に生じる場合がある。実際に、この汎用的な形状特徴の新規インスタンス作成は、パラメータ値に基づいて行われ、これは、システムによって設計オペレーションであるとみなされる。
【００７７】
次いで、ユーザ（例えば、設計者）は、第１の３Ｄモデルに対して第１のジオメトリ的な設計オペレーションを行い、これによって第２の３Ｄモデルを得る。第１の設計オペレーションは、第１の３Ｄモデルの入力パラメータ値を少なくとも１つ改変することであってもよい。設計オペレーションは、例えば、ユーザがメッシュの頂点、辺縁、面を移動させるなどの、メッシュの改変（または、メッシュの変形）であってもよい。
【００７８】
メッシュは、３Ｄモデルの形状を定義する頂点、辺縁、および面の集合体である。したがって、メッシュは、３Ｄモデルの出力トポロジの図示を生成可能なジオメトリを定義する。メッシュは、任意のトポロジの自由な形式の表面をモデル化するのに一般的に用いられる細分割表面であってもよい。細分割表面は、多角形ベースメッシュから始まる制御点の精緻化プロセスの範囲として定義される。ベースメッシュの制御点は、細分割表面に漸次的変化を伝える。したがって、細分割表面のメッシュは、ベースメッシュの制御点によって制御される細分割プロセスの反復適用の結果、精緻化される。よって、細分割表面は、ベースメッシュに近似するか、またはベースメッシュを補間する。カトマル−クラーク（Catmull-Clark）アルゴリズムは、このような細分割スキームの一例である。ベースメッシュは、ＣＡＤにおいて広く用いられ、簡潔な定義として、ベースメッシュは、細分割メッシュの定義と、細分割メッシュの制御点とを含む。いくつかの専用アルゴリズムが用いられてもよいということは、理解されよう。
【００７９】
したがって、設計オペレーションは、ユーザが操作を行い次第、ベースメッシュの制御点のうちの１つに対して実行される改変のことであってもよい。ベースメッシュに対する設計オペレーションの例を、図１２ａ、図１２ｂ、図１２ｃ、および図１２ｄに示す。図１２ａは、立方体ベースメッシュである、ベースメッシュの一例を示す。立方体ベースメッシュは、制御点を８つ有し、辺縁の長さは同じである。頂点、辺縁、または面のいずれも重み付けされていない。図１２ｂでは、ユーザは、例えばカトマル−クラークアルゴリズムを用いて、当初の立方体の細分割を制御している図１２ａのベースメッシュの制御点を球体へと変位（すなわち、移動）させている。図１２ｃは、同じ長さの辺縁を有し、対向する２つの面に重み付け（１００％シャープ）した、立方体ベースメッシュ（制御点は８つ）である図１２ａのベースメッシュから得られた細分化表面を示す。これによって、円柱が得られる。図１２ｄは、同じ長さの辺縁を有し、各辺縁に重み付け（１００％シャープ）した、立方体ベースメッシュ（制御点は８つ）である図１２ａのベースメッシュから得られた細分化表面を示す。立方体が得られる。これらの例のおいては、制御点が、頂点、辺縁、または面の重みを改変することで、細分割プロセスを改変している。メッシュの魅力は、重み付けによる。
【００８０】
このように、メッシュの改変が検出されると、システムは、設計オペレーションが行われたことを認識する。設計オペレーションの結果、第２の３Ｄモデルが得られる。第２の３Ｄモデルは、揮発性メモリに記憶されるが、不揮発性メモリに記憶されてもよいし、不揮発性メモリにも記憶されてもよいということは、理解されよう。
【００８１】
設計オペレーションが検出された後、第２の３Ｄモデルの出力トポロジを、第１の３Ｄモデルの出力トポロジから取得可能かどうかを判定する計算が行われる。したがって、このオペレーションは、第１の３Ｄモデルおよび第２の３Ｄモデルの各出力トポロジが同じであるかどうかを検証することを目的としている。説明のみを目的とするものだが、３Ｄモデルのトポロジは、３Ｄモデルの空間特性が、どのようにして連続的な変形のもとで維持されるのか、特に、要素がどのようにして境界を接し、結合されるのかを定義するものであるということに注意が必要である。トポロジは、要素（例えば、立体、面、辺縁、頂点などのトポロジ的要素）間の非ジオメトリ的な関係に関わるものである。
【００８２】
実施例においては、第１の３Ｄモデルに対する設計オペレーション後のトポロジ変化の判定は、第１のモデルおよび第２のモデルの第１のトポロジ出力と第２のトポロジ出力との間のトポロジ的安定性の解析から計算されてもよい。設計オペレーションの結果トポロジが変化しない場合は、オペレーションはトポロジ的に安定である。第１の３Ｄモデルの出力トポロジのトポロジ要素と第２の３Ｄモデルの出力トポロジのトポロジ要素との間の全単射関係が維持されている場合、オペレーションはトポロジ的に安定である。
【００８３】
実施例において、２つの出力トポロジ間のトポロジ的安定性は、第１の３Ｄモデルのベースメッシュを第２の３Ｄモデルのベースメッシュと比較することで検証されてもよい（し、されなくてもよい）。例えば、制御点の個数の変化は、トポロジ変化に関わる。
【００８４】
トポロジ的安定性（および、より一般的には、第２の３Ｄモデルの出力トポロジを、第１の３Ｄモデルの出力トポロジから取得可能かどうかを判定すること）の結果に応じて、第１の委譲データオブジェクトは、置換または維持される。
【００８５】
第２の３Ｄモデルの出力トポロジを、第１の３Ｄモデルの出力トポロジから取得することができない場合、換言すると、ユーザが行った改変がトポロジ的に安定でない場合は、第１の委譲データオブジェクトは置換される。
【００８６】
実施例においては、第２の委譲データオブジェクトによる第１の委譲データオブジェクトの置換は、第１の設計オペレーションの結果として得られる新規の出力トポロジに類似した出力トポロジを特定することによって行われる。これは、第２の出力トポロジ（改変の結果として得られる新規の出力トポロジ）を、出力トポロジのリスト内の出力トポロジと比較することによって行われてもよい。リスト内の出力トポロジは、それぞれ１つの委譲データオブジェクトに関連付けられており、その結果、新規の出力トポロジとリスト内の出力トポロジとの間の類似性が特定されると、関連のある委譲データオブジェクトは、新規の委譲データオブジェクトとして維持される。換言すると、比較の結果として、第３の委譲データオブジェクトが選択され、第３の委譲データオブジェクトは、第２の出力トポロジと同一の関連出力トポロジを有する、リスト内の委譲データオブジェクトである。第３の委譲データオブジェクトの選択は、自動的に行われてもよい。例えば、ユーザは介入しない。
【００８７】
これに対して、第２の３Ｄモデルの出力トポロジを、第１の３Ｄモデルの出力トポロジから取得することができる場合、第１の委譲データオブジェクトは維持される。したがって、汎用的な形状特徴の型は、変化しない。更に、第１のジオメトリ的な設計オペレーションは、第１の３Ｄモデルに関連付けられた一連のジオメトリ的な設計オペレーションとともに、記憶される。このことは、設計オペレーションが、３Ｄモデルの出力トポロジを変化させなかった過去の設計オペレーションとともに記憶されるということを意味する。
【００８８】
実施例においては、設計オペレーションを、一連のジオメトリ的な設計オペレーションとともに記憶することは、先に記憶されているジオメトリ的な設計オペレーションの連続的に出現した順序にしたがって行われる。連続的に出現した順序とは、ジオメトリ的な設計オペレーションを、先に述べたように暗黙的に格付けすることを意味する。
【００８９】
実施例においては、ジオメトリ的な設計オペレーションを記憶することは、メッシュのジオメトリに関する情報を記憶することを含んでいてもよい。例えば、メッシュを再計算するためのデータ一式が記憶されてもよい。他の例においては、ジオメトリ的な設計オペレーションの結果としての１つ以上の頂点の新規位置が記憶される。
【００９０】
別の例においては、設計オペレーションによって位置が改変されたメッシュの頂点が１つ以上特定される。メッシュの各頂点は、一意に特定されてもよい。次いで、特定された頂点のそれぞれ、少なくとも、ジオメトリ的な設計オペレーションの結果として位置が改変された頂点のそれぞれについて、変換が計算される。変換は、頂点の以前の位置から新規位置を計算することを可能にするデータを含む。興味深いことに、これによって、記憶されるデータ量が減少する。特に、３Ｄ空間における位置は、一度しか記憶されない（提供ステップにおいて初めて、３Ｄモデルのメッシュのインスタンスを作成する時）。次いで、ジオメトリ的な設計オペレーションのそれぞれに対して、対（頂点識別子；変換）のみが記憶される。
【００９１】
実施例においては、委譲データオブジェクトが、別の委譲データオブジェクトで置換されると、置換された委譲データオブジェクトに関連付けられた一連のジオメトリ的なオペレーションは、消去される。一連のジオメトリ的なオペレーションは、削除される。実際には、最後にジオメトリ的な設計オペレーションが行われた委譲データオブジェクトを置換する委譲データオブジェクトは、置換された委譲データオブジェクトに行われたジオメトリ的な設計オペレーションをすべて含む。したがって、一連のジオメトリ的なオペレーションを記憶することは、これ以上必要とされない。
【００９２】
本発明は、特に、いくつかのジオメトリ的な設計オペレーションのパラメータが、後で実施するために記憶されるという事実に依拠する。実施するとは、一連のオペレーションを適用することを意味する。しかしながら、すべての設計オペレーションを記憶する必要はない。不安定なトポロジ的なオペレーションが、委譲データオブジェクトを過度に損ない、記憶されたオペレーションを実施する際に安定性の問題を生じ得るため、トポロジ的に安定なオペレーションのみが記憶される。定義上、このような安定なオペレーションは、一連の変形へと分割することができる。一組の箇所に適用される場合には今の改変と同等である変換のリストが存在する。これは、本方法が記憶しているものである。
【００９３】
３Ｄモデルを定義するデータ構造に対して行われたオペレーションのリストは、今の委譲データオブジェクトを可能な限り維持するために記憶される。また、これらの記憶されたオペレーションは、今の委譲データオブジェクトのジオメトリに加えて、実施される。実際には、委譲データオブジェクトのパラメータのうちの１つを改変する場合、今の委譲データオブジェクトのジオメトリがまず改変され、次いで、記憶された一連のジオメトリ的な設計オペレーションが適用される。
【００９４】
これには２つの意味がある。第１に、今の委譲データオブジェクトのジオメトリは、データ構造のジオメトリとは異なっていてもよく、委譲データオブジェクトのジオメトリを記憶する必要がある。第２に、各改変について、ジオメトリ的な設計オペレーションが委譲データオブジェクトのパラメータのうちの１つを変化させる場合には、一連のジオメトリ的な設計オペレーションが実施され、次いで、その結果が、委譲データオブジェクトの新規ジオメトリとして記憶される。
【００９５】
ジオメトリ的な設計オペレーションを記憶することができない場合は、委譲データオブジェクトが変化して、汎用的な委譲データオブジェクトがセットされる。この場合、先のビルドフェーズのステップによって構築された形状が、この汎用的な委譲データオブジェクトのジオメトリになる。したがって、記憶されたオペレーションのリストは、今では汎用的な委譲データオブジェクトのジオメトリに含まれているため、消去される。
【００９６】
次に、図９〜図１１を参照して、本方法の実施例を説明する。
【００９７】
図９は、ユーザが、明示的に球体を作成する場合を示す。したがって、システムは、「球体」の型に対する委譲データオブジェクトを有するデータ構造を直接作成することができる。球体を作成することは、システムによって設計オペレーションとみなされる（「弱型が改変される」）。
【００９８】
いわゆる、「弱型の改変を実施」が実行される。すなわち、「球体」の型に対する委譲データオブジェクトを有するデータ構造のインスタンスが、入力パラメータ値によって作成される。入力パラメータ値は、デフォルトのパラメータ値であってもよいし、ユーザが提供したものであってもよい。次いで、「球体」の型に対する委譲データオブジェクトを有するデータ構造のジオメトリが、計算される。これは、ユーザに提示されてもよい。図７ａを参照すると、球体のベースメッシュがユーザに提示されている。
【００９９】
次に、球体の作成が開始されたために、「記憶されたオペレーション」は実施されない。その結果、一連のジオメトリ的な設計オペレーションは、空になる。
【０１００】
「記憶されたオペレーションを実施」を行った後（この場合のステップでは、オペレーションは行われない）、「球体」の型に対する委譲データオブジェクトを有するデータ構造のジオメトリを、ユーザが使用できる。
【０１０１】
ジオメトリ的な設計オペレーションが行われない（「今、オペレーションが存在するか」の答えが「いいえ」）ので、「新規の汎用的な形状特徴のジオメトリ」は、インスタンスが作成された球体である。
【０１０２】
図１０は、図９の出力である球体のベースメッシュに対して、ユーザが変形を行った場合を示す。実際にメッシュの点の変位を引き起こす各オペレーション（例えば、ベースメッシュの制御点が変位する）は、記憶するべき候補とみなされる。このようなオペレーションは、変換に関連付けられた一連の点として記憶される。このように、ユーザが辺縁の１つを用いて球体を変形させる場合には、図７ｂに示されるように、ベースメッシュの辺縁の２つの頂点を用いて同じ球体を変形させることと同等である。各頂点は、固有のＩＤで特定することができ、このＩＤは、数学的変換とともに記憶される。
【０１０３】
「今の汎用的な形状特徴のジオメトリ」は、球体のベースメッシュである。「球体」の型に対する委譲データオブジェクトが改変されなかったため、次のステップは、「今、オペレーションが存在するか」のテストである。ユーザが、ジオメトリ的な設計オペレーションである、球体の変形を行うので、このテストに対する答えは「はい」である。「今の改変オペレーションを実施」が行われ、これは、ユーザによる球体の変形が適用されるということを意味する。
【０１０４】
次のテストは、「オペレーションが弱型を維持するか」である。換言すると、変形された球体の出力トポロジを、最初の球体（変形していない）から取得可能かどうかを判定する。図１０の例では、変形があるにもかかわらず球体のトポロジ的な安定性が維持されていたので、「球体」の型に対する委譲データオブジェクトは、維持される。
【０１０５】
このテストに対する答えが「いいえ」である場合、すなわち、トポロジ的な安定性が維持されていない場合は、「球体」の型に対する今の委譲データオブジェクトは、より適切な委譲データオブジェクトで置換される。
【０１０６】
次のテストは、「オペレーションを記憶可能か」である。先のジオメトリ的な設計オペレーション（球体の変形）が、単に、球体の型の委譲データオブジェクトの入力パラメータの最新版であるかどうかを判定する。今の場合は、そうではない。結果的に、ジオメトリ的な設計オペレーションは、一連のジオメトリ的な設計オペレーションに記憶される。
【０１０７】
図１０の出力は、球体の型の委譲データオブジェクトのジオメトリを変形したものである。委譲データオブジェクトは、依然として球体であり、汎用的な形状特徴の型は「球体」であって、変化していない。
【０１０８】
図１１は、図１０の出力の入力パラメータが改変される場合を示す。図１１の場合の入力は、図１０の出力である。
【０１０９】
最初のテストは、「弱型が改変されたか」である。今の委譲データオブジェクトの入力パラメータのうち少なくとも１つがユーザによって改変されているため、このテストに対する答えは肯定的である。「弱型の改変を実施」が実行され、新規の入力パラメータにしたがって、球体が改変される。次いで、改変されたデータ構造のジオメトリが計算される。ジオメトリは、ユーザに提示されない。図７ｃを参照すると、委譲データオブジェクトの入力パラメータである「開口角度」の改変後、球体のベースメッシュの描写が表示される。
【０１１０】
ユーザが、委譲データオブジェクトの入力パラメータ（球体の開口角度）を改変しているため、改変は、一連のジオメトリ的な設計オペレーションとともに記憶されない。改変されたパラメータ値は、委譲オブジェクトに記憶されるが、関連オペレーションには記憶されない。
【０１１１】
次に、新規の弱型、すなわち、図７ｂに示される球体に加えて、一連のジオメトリ的な設計オペレーションを適用（実施）する。結果は、図７ｄに示されるように、球体の新規ジオメトリである。
【０１１２】
ジオメトリ的な設計オペレーションが行われない（「今、オペレーションが存在するか」の答えが「いいえ」）ので、「新規の汎用的な形状特徴のジオメトリ」は、図７ｄに示されるような、改変された球体である。
【０１１３】
したがって、球体を変形させる場合、この変形によって形状のトポロジは改変されないので、システムは、「球体」の型の委譲データオブジェクトを維持することができる。次いで、ユーザは、その後、球体のパラメータを改変することができる。次いで、例えば、当初の球体の開口角度を改変すると、変形をやり直すことになる。システムは、まず、内部的に委譲の型を改変する。換言すると、ユーザはこの結果を見ることはない。その後、システムは、記憶した変換を適用して、結果を提示する。
【０１１４】
よって、最初の形状を作成するのに用いられたパラメータは、その形状に対して他のオペレーションを行った後も、依然として改変することができ、ユーザは、その作成後いつでも、最初の形状の型を変更することができる。したがって、システムが、今の委譲データオブジェクトをより長く維持することができるため、履歴を用いない手法の柔軟性が向上し、寿命が延長される。
【０１１５】
システムが、弱型をより長期に維持することができるので、ユーザは、形状に対する制御を更に行うことができる。システムに対するユーザの対話が改善されるので、ユーザは、改変を行う順序について悩む必要がない。システムが、ユーザのために、これを処理する。
【図１】
2020115340.tif 000003
【図２】
2020115340.tif 000004
【図３】
2020115340.tif 000005
【図４】
2020115340.tif 000006
【図５】
2020115340.tif 000007
【図６】
2020115340.tif 000008
【図７ａ】
2020115340.tif 000009
【図７ｂ】
2020115340.tif 000010
【図７ｃ】
2020115340.tif 000011
【図７ｄ】
2020115340.tif 000012
【図８】
2020115340.tif 000013
【図９】
2020115340.tif 000014
【図１０】
2020115340.tif 000015
【図１１】
2020115340.tif 000016
【図１２ａ】
2020115340.tif 000017
【図１２ｂ】
2020115340.tif 000018
【図１２ｃ】
2020115340.tif 000019
【図１２ｄ】
2020115340.tif 000020
【図１３】
2020115340.tif 000021
【外国語明細書】
2020115340.tif 000022
2020115340.tif 000023
2020115340.tif 000024
2020115340.tif 000025
2020115340.tif 000026
2020115340.tif 000027
2020115340.tif 000028
2020115340.tif 000029
2020115340.tif 000030
2020115340.tif 000031
2020115340.tif 000032
2020115340.tif 000033
2020115340.tif 000034
2020115340.tif 000035
2020115340.tif 000036
2020115340.tif 000037
2020115340.tif 000038
2020115340.tif 000039
2020115340.tif 000040
2020115340.tif 000041
2020115340.tif 000042
2020115340.tif 000043
2020115340.tif 000044
2020115340.tif 000045
2020115340.tif 000046
2020115340.tif 000047
2020115340.tif 000048
2020115340.tif 000049
2020115340.tif 000050
2020115340.tif 000051
2020115340.tif 000052
【図１】
2020115340.tif 000053
【図２】
2020115340.tif 000054
【図３】
2020115340.tif 000055
【図４】
2020115340.tif 000056
【図５】
2020115340.tif 000057
【図６】
2020115340.tif 000058
【図７ａ】
2020115340.tif 000059
【図７ｂ】
2020115340.tif 000060
【図７ｃ】
2020115340.tif 000061
【図７ｄ】
2020115340.tif 000062
【図８】
2020115340.tif 000063
【図９】
2020115340.tif 000064
【図１０】
2020115340.tif 000065
【図１１】
2020115340.tif 000066
【図１２ａ】
2020115340.tif 000067
【図１２ｂ】
2020115340.tif 000068
【図１２ｃ】
2020115340.tif 000069
【図１２ｄ】
2020115340.tif 000070
【図１３】
2020115340.tif 000071