(57)【要約】      （修正有）【課題】履歴を用いないで三次元（３Ｄ）モデルを設計するために、モデルを定義する改善されたデータ構造を提供する。【解決手段】データ構造は、１つの委譲データオブジェクトを含むとともに、演算子によって生成される出力トポロジを含む。１つの委譲データオブジェクトは、委譲データオブジェクトの型に特有な入力パラメータと、出力トポロジを生成するための、委譲データオブジェクトの型に特有な少なくとも１つの演算子とを含む。【選択図】図２
2020115341.tif 000002
【特許請求の範囲】
【請求項１】
三次元（３Ｄ）モデルを定義するデータ構造であって、該データ構造は、
１つの委譲データオブジェクトであって、
前記１つの委譲データオブジェクトの型に特有な入力パラメータと、
出力トポロジを生成するための、前記委譲データオブジェクトの型に特有な少なくとも１つの演算子と、
を含む、１つの委譲データオブジェクトと、
前記演算子によって生成される出力トポロジと、
を含む、データ構造。
【請求項２】
少なくとも１つの演算子を追加または削除するインターフェースを更に含む、
請求項１に記載のデータ構造。
【請求項３】
三次元（３Ｄ）モデルを設計するためのコンピュータ実行型の方法であって、
第１の委譲データオブジェクトと、第１の出力トポロジとを含む第１の３Ｄモデルを定義する、請求項１または請求項２のいずれか１項に記載の第１のデータ構造を提供することと、
ユーザが操作を行い次第、前記第１の委譲データオブジェクトを改変することと、
前記第１のデータ構造の改変の結果としての第２の出力トポロジを計算することと、
前記第１の出力トポロジと前記第２の出力トポロジとを比較することで、トポロジの変化が生じたかどうかを判定することと、
前記第１の出力トポロジと前記第２の出力トポロジとの間のトポロジの変化が確認された場合に、第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換すること、またはトポロジの変化が確認されなかった場合に、第１の委譲データオブジェクトを維持することと、
を含む、コンピュータ実行型の方法。
【請求項４】
前記第２の委譲データオブジェクトで前記委譲データオブジェクトを置換することは、
前記第２の出力トポロジを、出力トポロジのリストであって、前記リスト内のトポロジが、それぞれ１つの委譲データオブジェクトに関連付けられている、リストと比較することと、
比較の結果、前記第２の出力トポロジと同じ関連出力トポロジを有する、前記リスト内の委譲データオブジェクトである、第３の委譲データオブジェクトを自動的に選択することと、
を含む、請求項３に記載のコンピュータ実行型の方法。
【請求項５】
比較の結果、リスト内の委譲データオブジェクトが選択されない場合には、
汎用的な委譲データオブジェクトを１つ含む、前記第２の出力トポロジに最も近い関連出力トポロジを有する前記リスト内の委譲データオブジェクトを１つ以上、ユーザに提供することと、
ユーザが、提供された委譲データオブジェクトから１つを選択することと、
を更に含む、請求項４に記載のコンピュータ実行型の方法。
【請求項６】
ユーザが操作を行い次第、前記第１の委譲データオブジェクトを改変することは、
前記第１の委譲データオブジェクトの入力パラメータを１つ以上改変することと、
前記比較の結果として、トポロジ的変化がないことを確認することと、
前記改変された１つ以上の入力パラメータで前記第１の委譲データオブジェクトの入力パラメータを上書きすることと、
を含む、請求項３〜請求項５のいずれか１項に記載のコンピュータ実行型の方法。
【請求項７】
前記第１のデータ構造が提供された後、
前記第１の出力トポロジを描画することでメッシュを形成することと、
ユーザが操作を行い次第、前記メッシュを改変することと、
を更に含む、請求項３〜請求項６のいずれか１項に記載のコンピュータ実行型の方法。
【請求項８】
前記メッシュを改変することは、変倍、移動の中から選択された少なくとも１つのオペレーションを行うことを含み、前記第１の委譲データオブジェクトを維持することは、前記第１の委譲データオブジェクトの演算子によって、前記第１の出力トポロジを生成することを更に含む、
請求項７に記載のコンピュータ実行型の方法。
【請求項９】
前記第１の委譲データオブジェクトおよび前記第１の出力トポロジは、ベースメッシュを形成する、請求項３〜請求項８のいずれか１項に記載のコンピュータ実行型の方法。
【請求項１０】
前記第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換することは、前記第２の委譲データオブジェクトを新規の型として記憶することを更に含む、請求項３〜請求項９のいずれか１項に記載のコンピュータ実行型の方法。
【請求項１１】
請求項３〜請求項１０のいずれか１項に記載の方法を行うための命令を含む、コンピュータプログラム
【請求項１２】
請求項１１に記載のコンピュータプログラムおよび／または請求項１または請求項２に記載のデータ構造が記録された、コンピュータ可読記憶媒体。
【請求項１３】
請求項１１に記載のコンピュータプログラムおよび／または請求項１または請求項２に記載のデータ構造が記録されたメモリに接続されたプロセッサを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より具体的には、３Ｄモデルを設計するためのデータ構造、方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
オブジェクトの設計、エンジニアリング、および製造のために、多くのシステムおよびプログラムが市場に提供されている。ＣＡＤとは、コンピュータ支援設計（Computer-Aided Design）の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥとは、コンピュータ支援エンジニアリング（Computer-Aided Engineering）の頭字語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェアソリューションに関する。ＣＡＭとは、コンピュータ支援製造（Computer-Aided Manufacturing）の頭字語であり、例えば、製造プロセスおよび製造オペレーションを定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカルユーザインターフェースは、技術の効率に関して重要な役割を果たす。製品寿命管理（Product Lifecycle Management）（ＰＬＭ）システムに、これらの技術を組み込むことができる。ＰＬＭとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通のプロセスを適用し、構想から製品寿命の終わりに至るまで、製品開発のために企業知識を活用するのを支援する、ビジネス戦略のことをいう。ダッソーシステムズが提供するＰＬＭソリューション（製品名ＣＡＴＩＡ、ＥＮＯＶＩＡ、およびＤＥＬＭＩＡ）は、製品エンジニアリングの知識をまとめるエンジニアリングハブ、製造エンジニアリングの知識を管理する製造ハブ、およびエンジニアリングハブと製造ハブの両方に対して事業の統合と接続とを可能にするエンタープライズハブを提供する。すべてを合わせて、システムが、製品、プロセス、リソースを結ぶオープンなオブジェクトモデルを提供することで、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援が可能になる。
【０００３】
ＣＡＤソフトウェアは、２つのカテゴリー、すなわち、履歴ベースの手法（パラメトリックモデリングともいう）および履歴を用いない手法（明示的モデリングともいう）に分けることができる一連のツールを用いて、パーツと呼ばれる三次元（３Ｄ）モデルを作成する方法を提案する。
【０００４】
履歴ベースの手法は、形状特徴や制約などを用いた作成プロセスの各ステップを記憶することによって、設計意図を記録するように設計された。これは、実際にはパーツのレシピのようなものであり、作成の各ステップは、ユーザが変更可能な一連のパラメータを提示している。ユーザが１つのパラメータを変更すると、同じ正確な順序で全体の「レシピ」が再生されて、新規部分を再生成する。この手法は、一般的に、ユーザにオペレーションの順序を素早く理解させるツリーを用いて表される。
【０００５】
履歴を用いない手法は、改変する度に一連のオペレーションが再生されることに依拠しない。各改変は、今の３Ｄモデルに対して行われる。すなわち、中間ステップ、つまり、「レシピ」がなく、ユーザが自身の設計を改変する場合、その改変は形状特徴に吸収されるため、改変をもたらすパラメータは維持されない。オペレーションが行われる順序が維持されないため、この手法によって、ユーザは、より素早く、より自由に、３Ｄモデルを作成することができる。ユーザは、形状特徴を作成する順序について悩まずに、自身が作成しているジオメトリに集中することができる。更に、ユーザは、自身の改変の影響について悩む必要がない。
【０００６】
履歴ベースの手法の利点はまた、欠点でもある。パラメトリックな手法は、ほぼいつでもパラメータを変更することができるという点で非常に便利であるが、設計プロセスの柔軟性が失われる。いったん「レシピ」が作成され、各形状特徴が強く型付けされると、そのパラメータを用いることしかできなくなる。その他の変更を行うことは、非常に厄介なものとなり得る。何故なら、ユーザが望む変更を行うためには、その部分が再生成される際に、その変更によって結果がどのような影響を受けるのかを考える必要があるからである。このことは、ユーザが、異なる型の形状を試すことを望み、かつこれを素早く反復適用することを望むような場面では、大きな欠点となる。コンセプトモデリングまたはＡ級ステージにおいて、履歴ベースの手法は、主に、製造しようとしている実社会のオブジェクトを描写する機械パーツを作成するのに用いられ、一方、履歴を用いない手法は、主に、製品の有機的形状専用である。
【０００７】
履歴ベースの手法で用いられるオブジェクトは、強く型付けされている。オブジェクトの型を変更するためには、まったく新規のオブジェクトを作成し、オペレーションの順序を表すツリーにおいて、当初のオブジェクトを新規のオブジェクトで置換する必要がある。置換されるオブジェクトとの関連が全くない新規のオブジェクトは、トポロジ変化のために、今の「レシピ」にうまく適合しない場合がある。これが起こるのは、あるオペレーションが依拠するオブジェクトが変化したために、その改変を計算するのに必要な要素をもはや見つけることができなくなる場合である。この場合、ユーザが、システムに対して、どのようにそれを行うのかを明示的に示さなければいけなくなる。これは面倒なタスクであり、履歴がより複雑になれば、このタスクは更に面倒で、より多くの時間を必要とするようになる。
【０００８】
履歴を用いない手法によると、ユーザが対象とする形状特徴は全く型付けされていないため、その形状を素早く反復適用することができる。ユーザは、設計中のオブジェクトの履歴に及ぼす今の改変の影響を気にする必要はない。更に、汎用的な形状特徴には履歴が記憶されていないので、ユーザは、オブジェクト（設計中のもの）の今の状態を対象とする。よって、ユーザが、形状を素早く反復適用するとしても、３Ｄ形状の今の状態を改変することしかできない。ユーザは、自身が以前に行ったいずれのオペレーションのいずれのパラメータにもアクセスしない。
【０００９】
履歴を用いないコンテキストから生成されたオブジェクトを、履歴ベースのコンテキストに統合することができるため、履歴ベースの手法と履歴を用いない手法とは、両立しないことはない。より正確に言うと、ユーザは、履歴を用いないモデルを作成し、このモデルから新規の３Ｄモデルを生成するオペレーションを、このモデルに対して適用することができる。
【００１０】
しかしながら、これらの２つの手法の各データ構造は、相互使用可能ではない。実際、履歴ベースの手法および履歴を用いない手法によって生成されたオブジェクトのデータ構造は、やや異なっている。その理由は、特に、履歴ベースの手法におけるオブジェクトのデータ構造の型付けは強く、履歴を用いない手法におけるオブジェクトのデータ構造は型付けされていない（設計者が、エントリを有しない、「データ」とも呼ばれる汎用的な形状特徴を対象としている）ためである。履歴ベースのコンテキストにおける３Ｄモデルの型は、その特性を参照しており、一連のパラメータと、その一連のパラメータを入力データとして取得し、オブジェクトのトポロジを出力データとして返す少なくとも１つのオペレーションとによって定義される。例えば、図１を参照すると、３Ｄの球体は型付けされた３Ｄモデルであり、この「球体」の型は、その中心、半径、および開口角度といった一連のパラメータを伴う。これは、これらのパラメータのすべてを入力データとして取得し、球体のトポロジを返すことができるオペレーションを伴う。これに対し、履歴を用いないコンテキストでは、作成された形状は、オブジェクトがパラメータを有していないので、定義上、型を持たない。オブジェクトに適用される各オペレーションは、このオブジェクトの今の定義に対して適用される。図３の例では、ユーザは、球体のトポロジ、すなわち、すべての頂点、辺縁からなるワイヤフレームにのみアクセスし、その情報から、面を形成することができる。
【００１１】
要約すると、履歴ベースの手法のデータ構造は、型に特有な入力パラメータと、型に特有な少なくとも１つのオペレーションと、先のオペレーションで生成された出力トポロジとを含む。履歴を用いない手法のデータ構造は、オブジェクトに適用された最後の外部オペレーションによって生成された今のトポロジを含む。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
これらの２つの手法間の根本的な相違のために、今の履歴を用いない手法は、ユーザが３Ｄモデル（メッシュについても同様）に対して行った改変の「レシピ」を取得することができない。特に、最初の３Ｄモデルに対して行ったのと同一または類似の設計オペレーションを自動的に取得し、新規のメッシュに適用することはできない。例えば、第１モデルの自動車のドアの設計を改変した設計者は、第２の自動車モデルのドアに対して、同一の改変を自動的に適用することはできない。このことは、履歴を用いないＣＡＤ手法においては、設計意図を再利用することはほぼできないということ、設計者は、第２モデルの自動車のメッシュに対して、自身の最初の設計意図が再現されることを望みつつ、直感的に改変を適用しなければならない、ということを意味する。
【００１３】
このような背景から、履歴を用いない手法のために、３Ｄモデルを定義するデータ構造を改善することがなお必要とされている。
【課題を解決するための手段】
【００１４】
このため、三次元（３Ｄ）モデルを定義するデータ構造が提供される。前記データ構造は、１つの委譲データオブジェクトを含む。前記１つの委譲データオブジェクトは、前記委譲データオブジェクトの型に特有な入力パラメータと、出力トポロジを生成するための、前記委譲データオブジェクトの型に特有な少なくとも１つの演算子とを含む。前記データ構造は、前記演算子によって生成される出力トポロジも含む。
【００１５】
前記データ構造は、少なくとも１つの演算子を追加または削除するインターフェースを更に含んでいてもよい。
【００１６】
三次元（３Ｄ）モデルを設計するためのコンピュータ実行型の方法も提供される。本方法は、第１の委譲データオブジェクトと、第１の出力トポロジとを含む第１の３Ｄモデルを定義する第１のデータ構造を提供することと、ユーザが操作を行い次第、前記第１の委譲データオブジェクトを改変することと、前記第１のデータ構造の改変の結果としての第２の出力トポロジを計算することと、前記第１の出力トポロジと前記第２の出力トポロジとを比較することで、トポロジの変化が生じたかどうかを判定することと、前記第１の出力トポロジと前記第２の出力トポロジとの間のトポロジの変化が確認された場合に、第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換すること、またはトポロジの変化が確認されなかった場合に、第１の委譲データオブジェクトを維持することと、を含む。
【００１７】
本方法は、以下のうちの１つ以上を含んでいてもよい。
【００１８】
・前記第２の委譲データオブジェクトで前記委譲データオブジェクトを置換することは、前記第２の出力トポロジを、出力トポロジのリストであって、前記リスト内のトポロジが、それぞれ１つの委譲データオブジェクトに関連付けられている、リストと比較することと、比較の結果、前記第２の出力トポロジと同じ関連出力トポロジを有する、前記リスト内の委譲データオブジェクトである、第３の委譲データオブジェクトを自動的に選択することと、を含む。
【００１９】
・比較の結果、リスト内の委譲データオブジェクトが選択されない場合には、汎用的な委譲データオブジェクトを１つ含む、前記第２の出力トポロジに最も近い関連出力トポロジを有する前記リスト内の委譲データオブジェクトを１つ以上、ユーザに提供し、ユーザは、提供された委譲データオブジェクトから１つを選択する。
【００２０】
・ユーザが操作を行い次第、前記第１の委譲データオブジェクトを改変することは、前記第１の委譲データオブジェクトの入力パラメータを１つ以上改変することと、前記比較の結果として、トポロジ的変化がないことを確認することと、前記改変された１つ以上の入力パラメータで前記第１の委譲データオブジェクトの入力パラメータを上書きすることと、を含む。
【００２１】
・前記第１のデータ構造が提供された後、前記第１の出力トポロジを描画することでメッシュを形成し、ユーザが操作を行い次第、前記メッシュを改変する。
【００２２】
・前記メッシュを改変することは、変倍、移動の中から選択された少なくとも１つのオペレーションを行うことを含み、前記第１の委譲データオブジェクトを維持することは、前記第１の委譲データオブジェクトの演算子によって、前記第１の出力トポロジを生成することを更に含む。
【００２３】
・前記第１の委譲データオブジェクトおよび前記第１の出力トポロジは、ベースメッシュを形成する。
【００２４】
・前記第２の委譲データオブジェクトで前記第１の委譲データオブジェクトを置換することは、前記第２の委譲データオブジェクトを新規の型として記憶することを更に含む。
【００２５】
本方法を行うための命令を含むコンピュータプログラムが、更に提供される。
【００２６】
前記コンピュータプログラムおよび／または前記データ構造が記録されたコンピュータ可読記憶媒体が、更に提供される。
【００２７】
前記コンピュータプログラムおよび／または前記データ構造が記録されたメモリに接続されたプロセッサを含むシステムが、更に提供される。前記システムは、グラフィカルユーザインターフェースを更に備えていてもよい。
【００２８】
以下、非限定的な例として、本発明の実施形態を添付の図面を参照しつつ説明する。
【図面の簡単な説明】
【００２９】
【図１】強く型付けされているオブジェクトの例を示す。
【図２】本発明のデータ構造の例を示す。
【図３】本発明のデータ構造の例を示す。
【図４】本発明のデータ構造の例を示す。
【図５】ビルドフェーズの例を示す。
【図６】ビルドフェーズの例を示す。
【図７】データ構造を用いて３Ｄモデルを設計する方法を示す。
【図８】図７の例を示す。
【図９】図７の例を示す。
【図１０ａ】データ構造の出力のベースメッシュを示す。
【図１０ｂ】データ構造の出力のベースメッシュを示す。
【図１１ａ】データ構造の出力のベースメッシュを示す。
【図１１ｂ】データ構造の出力のベースメッシュを示す。
【図１２ａ】データ構造の出力のベースメッシュを示す。
【図１２ｂ】データ構造の出力のベースメッシュを示す。
【図１３】システムの例を示す。
【図１４ａ】データ構造によって定義されるベースメッシュの例を示す。
【図１４ｂ】データ構造によって定義されるベースメッシュの例を示す。
【図１４ｃ】データ構造によって定義されるベースメッシュの例を示す。
【図１４ｄ】データ構造によって定義されるベースメッシュの例を示す。
【発明を実施するための形態】
【００３０】
図４を参照すると、三次元（３Ｄ）モデルを定義するためのデータ構造が提案されている。データ構造は、１つの委譲データオブジェクトと、出力トポロジ生成プログラムとを含む。委譲データオブジェクトは、委譲データオブジェクトの型に特有な入力パラメータと、出力トポロジを生成するための、委譲データオブジェクトの型に特有な少なくとも１つの演算子とを含む。
【００３１】
このようなデータ構造によって、履歴を用いないコンピュータ支援設計システムにおける３Ｄモデルの設計が改善される。
【００３２】
特に、データ構造は、「弱型」および「柔軟なモデリング」という概念を導入することによって、履歴を用いない手法の限界を取り除くことができる。履歴を用いない手法と同様に、３Ｄモデルを定義するデータ構造は、汎用的である。型を定義するオブジェクトを入力データとして取得する代わりに、汎用的なオブジェクトは、その型を別のオブジェクトに委ねている。このようなオブジェクトの他の型を、「弱型」とも呼ぶ。このような委譲データオブジェクトのおかげで、履歴ベースの手法と同様に、汎用的な形状特徴であるデータ構造を用いて３Ｄモデルを設計することができ、また、汎用的な形状特徴が、型を有する。しかしながら、この型は、委譲データオブジェクトに委ねられているため、形状特徴と強く結びついているわけではない。このため、形状特徴は、その寿命の間、コンテキストおよびオペレーションに応じて型を変更することができる。故に、データ構造が十分汎用的であるので、これを設計オペレーションの間維持可能であり、必要な場合、または設計者に求められた場合、変更可能である。更に、データ構造は、形状特徴の作成に関して、設計者に新しい可能性を提供する。実際のところ、委譲データオブジェクトは、必ずしも、一般的な形状特徴（例えば、平面、円柱、球体、円環体など）と結びついていなくてもよく、新規の委譲データオブジェクトの型を得るのに、いずれの形状（例えば、ユーザによる設計者）が用いられてもよい。
【００３３】
図7を参照すると、データ構造を用いて３Ｄモデルを設計する方法が提案されている。提案されている方法は、本発明に係る第１のデータ構造を提供することを含む。第１のデータ構造は、第１の委譲データオブジェクトと、第１の出力トポロジとを含む第１の３Ｄモデルを定義する。次いで、本方法は、ユーザが操作を行い次第、第１のデータ構造の第１の委譲データオブジェクトを改変することを含む。本方法は、第１のデータ構造の改変の結果として、第２の出力トポロジを計算することを含む。本方法は、第１の出力トポロジと第２の出力トポロジとを比較することによって、トポロジの変化が生じたかどうかを判定することも含む。本方法は、第１の出力トポロジと第２の出力トポロジとの間のトポロジの変化が確認された場合に、第２の委譲データオブジェクトで第１の委譲データオブジェクトを置換すること、またはトポロジの変化が確認されなかった場合に、第１の委譲データオブジェクトを維持することを更に含む。
【００３４】
このような方法によって、履歴を用いないコンピュータ支援設計システムにおける３Ｄモデルの設計が改善される。特に、本方法は、「弱型」および「柔軟なモデリング」という概念を導入することによって、履歴を用いない手法の限界を取り除くことができるデータ構造を用いる。従って、本方法は、第１の３Ｄモデルを設計している間にトポロジの変化が生じたか否かに応じて、委譲データオブジェクトの維持または置換を可能にする。履歴を用いない手法のため、３Ｄモデルに対して行われる連続オペレーションは記憶されないが、各オペレーションは、形状特徴の最終的な状態を対象としている。このことは、いくつかのオペレーションによって、データ構造の委譲データオブジェクトまたは汎用的な形状特徴が変更され得るということを意味する。これが生じた場合、委譲データオブジェクトは、より適切なもので置換される。しかしながら、すべてのオペレーション（例えば、設計オペレーション）が過度に破壊的ではなく、実際には、オペレーションによって委譲オブジェクトパラメータのうちの１つを改変しているので、場合によっては、委譲オブジェクトをそのまま維持することができる。更に、本方法によって、形状特徴ツリーに見られるオブジェクトは決して変化せず、その基となる委譲データオブジェクトが変化するということが、確実なものとなる。その結果、委譲データオブジェクトが変化する場合、システムは、先の３Ｄモデルの型と新規の３Ｄモデルの型とを引き続き記憶する。委譲データオブジェクトが新規のもので置換されても、置換されたオブジェクトの情報を維持することができる。このようにして、履歴を用いない手法の柔軟性が向上する。
【００３５】
本方法は、コンピュータ実行型である。このことは、本方法のステップ（または実質的にすべてのステップ）が、少なくとも１つのコンピュータ、または同様のいずれのシステムによって実行されるということを意味する。従って、本方法のステップは、コンピュータによって、場合によっては完全に自動的に、または半自動的に、行われる。実施例においては、本方法のステップのうちの少なくともいくつかは、ユーザとコンピュータとの間の対話によって始動されてもよい。必要とされるユーザとコンピュータとの間の対話のレベルは、予測された自動作用のレベルに依存していてもよく、ユーザの希望を実現する必要性とバランスをとってもよい。実施例においては、このレベルは、ユーザが定義したものおよび／または既定のものであってもよい。
【００３６】
例えば、第１の委譲データオブジェクトを改変するステップは、設計オペレーション中などにユーザが操作を行い次第、実行される。
【００３７】
ある方法をコンピュータで実行することの典型的な例としては、目的に適合したシステムで本方法を実行することがあげられる。システムは、メモリに連結されたプロセッサと、グラフィカルユーザインターフェース（ＧＵＩ）とを備えていてもよく、メモリには本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリは、データベースを記憶していてもよい。メモリは、このような記憶に適合したハードウェアであり、場合によっては、物理的に区別されたいくつかの部分（例えば、プログラム用と、場合によってはデータベース用）を含む。
【００３８】
データ構造は、３Ｄモデルを定義するものであり、本方法は、通常、データ構造を編集し、それによって３Ｄモデルを編集する。３Ｄモデルは、モデル化オブジェクトとも称する。モデル化オブジェクトは、データベースなどに記憶されているデータによって定義されたオブジェクトである。ひいては、「モデル化オブジェクト」なる表現は、データそのものを意味する。システムのタイプに応じて、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。システムは、実際のところ、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／またはＰＬＭシステムの組み合わせであってもよい。そのような異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。それに応じて、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータと呼んでもよい。しかしながら、モデル化オブジェクトが、これらのシステムの組み合わせに対応するデータによって定義されていてもよいため、これらのシステムは相互に排他的ではない。従って、以下で示すこのようなシステムの定義から明らかであるように、システムは、ＣＡＤシステムおよびＰＬＭシステムの両方からなるものであることが考えられる。
【００３９】
ＣＡＤシステムとは、少なくとも、モデル化オブジェクトを図示することに基づいてモデル化オブジェクトを設計するのに適合した、ＣＡＴＩＡなどのシステムのことを更に意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの描写を可能にするデータを含む。例えば、ＣＡＤシステムは、辺縁または線を、ある場合には面または表面とともに用いて、ＣＡＤモデル化オブジェクトを描写してもよい。線、辺縁、または表面は、非一様有理Ｂスプライン（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）アルゴリズムは、このような細分割スキームの一例である。ベースメッシュは、ＣＡＤにおいて広く用いられ、簡潔な定義として、ベースメッシュは、細分割メッシュの定義と、細分割メッシュの制御点とを含む。いくつかの専用アルゴリズムが用いられてもよいということは、理解されよう。 
【００６７】
従って、設計オペレーションは、ユーザが操作を行い次第、ベースメッシュの制御点のうちの１つに対して実行される改変のことであってもよい。ベースメッシュに対する設計オペレーションの例を、図１４ａ、図１４ｂ、図１４ｃ、および図１４ｄに示す。図１４ａは、立方体ベースメッシュである、ベースメッシュの一例を示す。立方体ベースメッシュは、制御点を８つ有し、辺縁の長さは同じである。頂点、辺縁、または面のいずれも重み付けされていない。図１４ｂでは、ユーザは、例えばカトマル−クラークアルゴリズムを用いて、当初の立方体の細分割を制御している図１４ａのベースメッシュの制御点を球体へと変位（すなわち、移動）させている。図１４ｃは、同じ長さの辺縁を有し、対向する２つの面に重み付け（１００％シャープ）した、立方体ベースメッシュ（制御点は８つ）である図１４ａのベースメッシュから得られた細分化表面を示す。これによって、円柱が得られる。図１４ｄは、同じ長さの辺縁を有し、各辺縁に重み付け（１００％シャープ）した、立方体ベースメッシュ（制御点は８つ）である図１４ａのベースメッシュから得られた細分化表面を示す。立方体が得られる。これらの例のおいては、制御点が、頂点、辺縁、または面の重みを改変することで、細分割プロセスを改変している。メッシュの魅力は、重み付けによる。
【００６８】
次に、図５および図６を参照して、本発明に係るデータ構造によって定義された３Ｄモデルのビルドフェーズについて説明する。
【００６９】
図５は、当該技術分野において公知の、履歴を用いないシステムにおける汎用的な形状特徴のビルドフェーズを表す。ユーザが、形状の改変を要求すると、システムは、形状のビルドフェーズを実行する。たいていの場合、このフェーズの間、今の改変を描写する演算子が呼び出され、この演算子による結果が、今の形状に関連付く新規形状となる。ビルドフェーズは、出力データを１つ有し、これが新規形状である。
【００７０】
図６は、本発明のデータ構造のビルドフェーズを表す。本発明のビルドフェーズは、今の改変に係る新規形状の計算をただ行うだけではなく、委譲データオブジェクトが依然として不変であり、そうでない場合には、新規の委譲データオブジェクトがデータ構造に提供されるということを確実にするので、別物である。
【００７１】
次に、本発明のデータ構造を用いて３Ｄモデルを設計するコンピュータ実行型の方法の一例である図７を参照して、より正確にビルドフェーズを説明する。
【００７２】
Ｓ１０において、本発明に係る第１のデータ構造が提供される。第１のデータ構造は、第１の３Ｄモデルを定義するものであり、第１の委譲データオブジェクトと、第１の出力トポロジとを含む。第１の出力トポロジは、今の３Ｄモデルの描写であってもよい今のジオメトリを定義し、例えば、ベースメッシュが提示される。
【００７３】
Ｓ２０において、ビルドフェーズが実行される。
【００７４】
ビルドフェーズは、ユーザによる第１の委譲データオブジェクトの改変（Ｓ２１）から始まる。第１の委譲データオブジェクトの改変は、第１の委譲データオブジェクトの入力パラメータのうちの１つ以上を直接改変することを含んでいてもよい。あるいは、その改変は、委譲データオブジェクトのパラメータのうちの１つ以上を明示的に改変することなく、３Ｄモデル（３Ｄ形状、すなわち、３Ｄモデルの描写）を改変することを含んでいてもよい。別の可能性として、第１の委譲データオブジェクトは、別の委譲データオブジェクトで置換される。
【００７５】
次いで、ユーザによる改変（Ｓ２１）の結果として、第１の出力トポロジの変化が生じたかどうかを判定する（Ｓ２２）。トポロジの変化が生じたことを確認することは、公知の技術を用いて行うことができるということは理解されよう。
【００７６】
例えば、この判定は、第１の出力トポロジと第２の出力トポロジとを比較することで行われ、ここで、第２の出力トポロジは、ユーザによる改変後に得られるトポロジである。
【００７７】
第１の出力トポロジと第２の出力トポロジとを比較することは、第１のベースメッシュと第２のベースメッシュとを比較することを含んでいてもよく、ここで、第１のベースメッシュは、改変前のジオメトリに対応するベースメッシュであり、第２のベースメッシュは、改変済のジオメトリに対応するベースメッシュである。メッシュからトポロジの変化を計算する方が容易である。
【００７８】
今のオペレーション（Ｓ２１）が委譲データオブジェクトを維持する場合、すなわち、３Ｄ形状の型が改変の結果として変更されない場合は、Ｓ２３が実行される。そうでない場合は、Ｓ２４およびＳ２５が実行される。
【００７９】
次に、図８を参照して、Ｓ２３を説明する。トポロジの変化が確認されなかったので、第１の委譲データオブジェクトは、維持される。換言すると、３Ｄモデルの型は、変更されない。これは、第１の委譲データオブジェクトのパラメータのうちの１つ以上が改変された場合、または、弱型のパラメータを明示的に変更しない３Ｄ形状の改変が、第１のトポロジ出力に影響を及ぼさない場合である。
【００８０】
従って、ユーザが、第１の委譲データオブジェクトの入力パラメータのうちの１つ以上を改変すると、第１の委譲データの入力パラメータは、改変された１つ以上の入力パラメータで上書きされる。興味深いことに、このような状況では、トポロジの変化は検証されなくてもよい。
【００８１】
また、弱型のパラメータを明示的に変更しない３Ｄ形状の改変が、第１のトポロジ出力に影響を及ぼさない場合、第１の委譲データは維持され、パラメータは、３Ｄ形状の改変に応じて改変される。１つ以上のパラメータの新規の値は、３Ｄ形状の改変に応じて計算される。１つ以上の新規の値は、当該技術分野において公知であるように、計算される。
【００８２】
３Ｄ形状の改変は、ユーザがメッシュを直接改変することによって行われてもよい。この場合、第１の出力トポロジは、当該技術分野において公知であるように、描画され、これによってベースメッシュが形成される。また、ユーザは、ベースメッシュに対して改変を行う。例えば、ユーザは、ベースメッシュの頂点、辺縁、または制御点を移動させる。
【００８３】
実施例においては、（ベース）メッシュを改変することは、変倍、移動などの中から選択された少なくとも１つのオペレーションを行うことを含む。これらのオペレーションは、トポロジ的に中立である（すなわち、これらは、トポロジを変更しない）ことが知られているので、第１の出力トポロジは、第１の委譲データオブジェクトの不変の演算子によって生成される。
【００８４】
次に、図９を参照して、Ｓ２４およびＳ２５を説明する。Ｓ２４において、新規の委譲データオブジェクトが選択されて、もはや有効でない今の委譲データオブジェクトを置換する（Ｓ２５）。
【００８５】
新規の委譲データオブジェクトの特定は、第２の出力トポロジ（改変の結果として得られる新規の出力トポロジ）を、出力トポロジのリスト内の出力トポロジと比較することによって行われてもよい。リスト内の出力トポロジは、それぞれ１つの委譲データオブジェクトに関連付けられており、その結果、新規の出力トポロジとリスト内の出力トポロジとの間の類似性が特定されると、関連のある委譲データオブジェクトは、新規の委譲データオブジェクトとして維持される。換言すると、比較の結果として、第３の委譲データオブジェクトが選択され、第３の委譲データオブジェクトは、第２の出力トポロジと同一の関連出力トポロジを有する、リスト内の委譲データオブジェクトである。第３の委譲データオブジェクトの選択は、自動的に行われてもよい。例えば、ユーザは介入しない。
【００８６】
あるいは、３Ｄ形状間で比較を行ってもよい。この場合、リストは、委譲データオブジェクトに関連付けられた３Ｄ形状を含む。 
しかしながら、リストにおいて新規の委譲データオブジェクトを選択することができない場合もある。典型的な理由としては、同一のトポロジが、リストに記載されていないということがあり得る。このような状況では、ユーザには、第２の出力トポロジに最も近い関連出力トポロジを有するリスト内の委譲データオブジェクトが１つ以上提供される。２つのトポロジ間の距離は、当該技術分野において公知であるように、測定される。例えば、これは、出力トポロジを描写するメッシュの曖昧さを計算することで行うことができる。少なくともメッシュの頂点の位置を（所与の公差と）比較し、ひいては、頂点を結ぶ辺縁を比較する。測定値から格付けを行い、格付けが１番のトポロジが、ユーザに提供される。
【００８７】
あるいは、３Ｄ形状間で比較を行ってもよい。この場合、今の３Ｄ形状（ユーザの操作で改変された３Ｄ形状）と、委譲データオブジェクトに関連付けられた３Ｄ形状のリストととの間で、類似性測定を行う。今の３Ｄ形状に最も類似する３Ｄ形状を有する委譲データオブジェクトが、ユーザに提示される。
【００８８】
リストは、更に、汎用的な委譲データオブジェクトを１つ含んでいてもよい。提案されたトポロジにユーザが満足しない場合、この汎用的な委譲データオブジェクトを用いることができる。あるいは、汎用的な委譲データオブジェクトが、ユーザに提案される唯一の委譲データオブジェクトであってもよい。
【００８９】
提供された委譲データオブジェクトから１つを選択した後、第１の委譲データオブジェクトは、選択された委譲データオブジェクトで置換される。
【００９０】
興味深いことに、本方法のどの段階においても、より詳細にはＳ２４およびＳ２５が実行される際に、ユーザが新規の型を作成する可能性がある。例えば、第２の委譲データオブジェクトで第１の委譲データオブジェクトを置換することは、第２の委譲データオブジェクトを新規の型として記憶することを含んでいてもよい。 
再び図７を参照すると、Ｓ３０において、データ構造は、ユーザによる改変後、同一の弱型または新規の弱型と、トポロジ出力とを含む。
【００９１】
図１０ａは、球体の型に対応するデータ構造を示す。図１０ｂは、変倍後の同じデータ構造を示す。実際には、変倍は、図１０ａの委譲データオブジェクトを改変しないオペレーションである。
【００９２】
図１１ａは、図１０ａのデータ構造を示す。図１１ｂは、押出オペレーション後の同じデータ構造を示す。ベースメッシュは改変されており、これによって、トポロジ出力のトポロジが変化している。これにより、細分割が行われ、委譲データオブジェクトのリストにおいて、新規の委譲データオブジェクトが特定される。この委譲データオブジェクトによって、今の委譲データオブジェクトが置換される。
【００９３】
図１２ａは、汎用的なオブジェクトを示す。図１２ｂは、この汎用的なオブジェクトに対して補填オペレーションを行った後の、同じオブジェクトを示す。補填オペレーションの結果、球体が得られる。実際には、システムは、球体のパラメータ値を補填するために、関係のある情報を抽出することができる。これは、３Ｄ形状を、委譲データオブジェクトの形状のリストと比較することによって可能になる。システムが、可能性のある委譲データオブジェクトをいくつか認識した場合には、可能な選択肢から選択するようにユーザにメッセージを表示する。
【図１】
2020115341.tif 000003
【図２】
2020115341.tif 000004
【図３】
2020115341.tif 000005
【図４】
2020115341.tif 000006
【図５】
2020115341.tif 000007
【図６】
2020115341.tif 000008
【図７】
2020115341.tif 000009
【図８】
2020115341.tif 000010
【図９】
2020115341.tif 000011
【図１０ａ】
2020115341.tif 000012
【図１０ｂ】
2020115341.tif 000013
【図１１ａ】
2020115341.tif 000014
【図１１ｂ】
2020115341.tif 000015
【図１２ａ】
2020115341.tif 000016
【図１２ｂ】
2020115341.tif 000017
【図１３】
2020115341.tif 000018
【図１４ａ】
2020115341.tif 000019
【図１４ｂ】
2020115341.tif 000020
【図１４ｃ】
2020115341.tif 000021
【図１４ｄ】
2020115341.tif 000022
【外国語明細書】
2020115341.tif 000023
2020115341.tif 000024
2020115341.tif 000025
2020115341.tif 000026
2020115341.tif 000027
2020115341.tif 000028
2020115341.tif 000029
2020115341.tif 000030
2020115341.tif 000031
2020115341.tif 000032
2020115341.tif 000033
2020115341.tif 000034
2020115341.tif 000035
2020115341.tif 000036
2020115341.tif 000037
2020115341.tif 000038
2020115341.tif 000039
2020115341.tif 000040
2020115341.tif 000041
2020115341.tif 000042
2020115341.tif 000043
2020115341.tif 000044
2020115341.tif 000045
2020115341.tif 000046
2020115341.tif 000047
2020115341.tif 000048
【図１】
2020115341.tif 000049
【図２】
2020115341.tif 000050
【図３】
2020115341.tif 000051
【図４】
2020115341.tif 000052
【図５】
2020115341.tif 000053
【図６】
2020115341.tif 000054
【図７】
2020115341.tif 000055
【図８】
2020115341.tif 000056
【図９】
2020115341.tif 000057
【図１０ａ】
2020115341.tif 000058
【図１０ｂ】
2020115341.tif 000059
【図１１ａ】
2020115341.tif 000060
【図１１ｂ】
2020115341.tif 000061
【図１２ａ】
2020115341.tif 000062
【図１２ｂ】
2020115341.tif 000063
【図１３】
2020115341.tif 000064
【図１４ａ】
2020115341.tif 000065
【図１４ｂ】
2020115341.tif 000066
【図１４ｃ】
2020115341.tif 000067
【図１４ｄ】
2020115341.tif 000068