(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-26
(45)【発行日】2024-12-04
(54)【発明の名称】弱型定義を用いるフレキシブルモデリング
(51)【国際特許分類】
G06F 30/10 20200101AFI20241127BHJP
G06T 17/10 20060101ALI20241127BHJP
G06T 19/20 20110101ALI20241127BHJP
【FI】
G06F30/10 100
G06T17/10
G06T19/20
【外国語出願】
(21)【出願番号】P 2019233118
(22)【出願日】2019-12-24
【審査請求日】2022-11-25
(32)【優先日】2018-12-30
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】フレデリック レッツェルター
(72)【発明者】
【氏名】ヤニ サドウディ
【審査官】合田 幸裕
(56)【参考文献】
【文献】米国特許出願公開第2011/0025688(US,A1)
【文献】国際公開第2006/038733(WO,A2)
【文献】特開2006-209233(JP,A)
【文献】国際公開第2016/207991(WO,A1)
【文献】米国特許出願公開第2012/0084060(US,A1)
【文献】米国特許第09117308(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 - 30/398
G06T 17/10
G06T 19/20
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
三次元(3D)モデルを設計するためのコンピュータ実行型の方法であって、
第1の委譲データオブジェクトと、第1の出力トポロジとを含む第1の3Dモデルを定義する
、第1のデータ構造を提供することと、
ユーザが操作を行い次第、前記第1の委譲データオブジェクトを改変することと、
前記第1のデータ構造の改変の結果としての第2の出力トポロジを計算することと、
前記第1の出力トポロジと前記第2の出力トポロジとを比較することで、トポロジの変化が生じたかどうかを判定することと、
前記第1の出力トポロジと前記第2の出力トポロジとの間のトポロジの変化が確認された場合に、第2の委譲データオブジェクトで前記第1の委譲データオブジェクトを置換すること、またはトポロジの変化が確認されなかった場合に、第1の委譲データオブジェクトを維持することと、
を含む、コンピュータ実行型の方法。
【請求項2】
前記第2の委譲データオブジェクトで前記
第1の委譲データオブジェクトを置換することは、
前記第2の出力トポロジを、出力トポロジのリストであって、前記リスト内のトポロジが、それぞれ1つの委譲データオブジェクトに関連付けられている、リストと比較することと、
比較の結果、前記第2の出力トポロジと同じ関連出力トポロジを有する、前記リスト内の委譲データオブジェクトである、第3の委譲データオブジェクトを自動的に選択することと、
を含む、請求項
1に記載のコンピュータ実行型の方法。
【請求項3】
比較の結果、前記リスト内の委譲データオブジェクトが選択されない場合には、
汎用的な委譲データオブジェクトを1つ含む、前記第2の出力トポロジに最も近い関連出力トポロジを有する前記リスト内の委譲データオブジェクトを1つ以上、ユーザに提供することと、
ユーザが、提供された委譲データオブジェクトから1つを選択することと、
を更に含む、請求項
2に記載のコンピュータ実行型の方法。
【請求項4】
ユーザが操作を行い次第、前記第1の委譲データオブジェクトを改変することは、
前記第1の委譲データオブジェクトの入力パラメータを1つ以上改変することと、
前記第2の出力トポロジと前記リストとの比較の結果として、トポロジ的変化がないことを確認することと、
前記改変された1つ以上の入力パラメータで前記第1の委譲データオブジェクトの入力パラメータを上書きすることと、
を含む、請求項
2または3に記載のコンピュータ実行型の方法。
【請求項5】
前記第1のデータ構造が提供された後、
前記第1の出力トポロジを描画することでメッシュを形成することと、
ユーザが操作を行い次第、前記メッシュを改変することと、
を更に含む、請求項
1~4のいずれか1項に記載のコンピュータ実行型の方法。
【請求項6】
前記メッシュを改変することは、変倍、移動の中から選択された少なくとも1つのオペレーションを行うことを含み、
前記第1の委譲データオブジェクトを維持することは、前記第1の委譲データオブジェクトの演算子によって、前記第1の出力トポロジを生成することを更に含む、
請求項
5に記載のコンピュータ実行型の方法。
【請求項7】
前記第1の委譲データオブジェクトおよび前記第1の出力トポロジは、ベースメッシュを形成する、
請求項
1~6のいずれか1項に記載のコンピュータ実行型の方法。
【請求項8】
前記第2の委譲データオブジェクトで前記第1の委譲データオブジェクトを置換することは、前記第2の委譲データオブジェクトを新規の型として記憶することを更に含む、
請求項
1~7のいずれか1項に記載のコンピュータ実行型の方法。
【請求項9】
請求項
1~8のいずれか1項に記載の方法を行うための命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータプログラムおよびコンピュータシステムの分野に関し、より具体的には、3Dモデルを設計するためのデータ構造、方法、システムおよびプログラムに関する。
【背景技術】
【0002】
オブジェクトの設計、エンジニアリング、および製造のために、多くのシステムおよびプログラムが市場に提供されている。CADとは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEとは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)の頭字語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェアソリューションに関する。CAMとは、コンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えば、製造プロセスおよび製造オペレーションを定義するためのソフトウェアソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカルユーザインターフェースは、技術の効率に関して重要な役割を果たす。製品寿命管理(Product Lifecycle Management)(PLM)システムに、これらの技術を組み込むことができる。PLMとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通のプロセスを適用し、構想から製品寿命の終わりに至るまで、製品開発のために企業知識を活用するのを支援する、ビジネス戦略のことをいう。ダッソーシステムズが提供するPLMソリューション(製品名CATIA、ENOVIA、およびDELMIA)は、製品エンジニアリングの知識をまとめるエンジニアリングハブ、製造エンジニアリングの知識を管理する製造ハブ、およびエンジニアリングハブと製造ハブの両方に対して事業の統合と接続とを可能にするエンタープライズハブを提供する。すべてを合わせて、システムが、製品、プロセス、リソースを結ぶオープンなオブジェクトモデルを提供することで、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援が可能になる。
【0003】
CADソフトウェアは、2つのカテゴリー、すなわち、履歴ベースの手法(パラメトリックモデリングともいう)および履歴を用いない手法(明示的モデリングともいう)に分けることができる一連のツールを用いて、パーツと呼ばれる三次元(3D)モデルを作成する方法を提案する。
【0004】
履歴ベースの手法は、形状特徴や制約などを用いた作成プロセスの各ステップを記憶することによって、設計意図を記録するように設計された。これは、実際にはパーツのレシピのようなものであり、作成の各ステップは、ユーザが変更可能な一連のパラメータを提示している。ユーザが1つのパラメータを変更すると、同じ正確な順序で全体の「レシピ」が再生されて、新規部分を再生成する。この手法は、一般的に、ユーザにオペレーションの順序を素早く理解させるツリーを用いて表される。
【0005】
履歴を用いない手法は、改変する度に一連のオペレーションが再生されることに依拠しない。各改変は、今の3Dモデルに対して行われる。すなわち、中間ステップ、つまり、「レシピ」がなく、ユーザが自身の設計を改変する場合、その改変は形状特徴に吸収されるため、改変をもたらすパラメータは維持されない。オペレーションが行われる順序が維持されないため、この手法によって、ユーザは、より素早く、より自由に、3Dモデルを作成することができる。ユーザは、形状特徴を作成する順序について悩まずに、自身が作成しているジオメトリに集中することができる。更に、ユーザは、自身の改変の影響について悩む必要がない。
【0006】
履歴ベースの手法の利点はまた、欠点でもある。パラメトリックな手法は、ほぼいつでもパラメータを変更することができるという点で非常に便利であるが、設計プロセスの柔軟性が失われる。いったん「レシピ」が作成され、各形状特徴が強く型付けされると、そのパラメータを用いることしかできなくなる。その他の変更を行うことは、非常に厄介なものとなり得る。何故なら、ユーザが望む変更を行うためには、その部分が再生成される際に、その変更によって結果がどのような影響を受けるのかを考える必要があるからである。このことは、ユーザが、異なる型の形状を試すことを望み、かつこれを素早く反復適用することを望むような場面では、大きな欠点となる。コンセプトモデリングまたはA級ステージにおいて、履歴ベースの手法は、主に、製造しようとしている実社会のオブジェクトを描写する機械パーツを作成するのに用いられ、一方、履歴を用いない手法は、主に、製品の有機的形状専用である。
【0007】
履歴ベースの手法で用いられるオブジェクトは、強く型付けされている。オブジェクトの型を変更するためには、まったく新規のオブジェクトを作成し、オペレーションの順序を表すツリーにおいて、当初のオブジェクトを新規のオブジェクトで置換する必要がある。置換されるオブジェクトとの関連が全くない新規のオブジェクトは、トポロジ変化のために、今の「レシピ」にうまく適合しない場合がある。これが起こるのは、あるオペレーションが依拠するオブジェクトが変化したために、その改変を計算するのに必要な要素をもはや見つけることができなくなる場合である。この場合、ユーザが、システムに対して、どのようにそれを行うのかを明示的に示さなければいけなくなる。これは面倒なタスクであり、履歴がより複雑になれば、このタスクは更に面倒で、より多くの時間を必要とするようになる。
【0008】
履歴を用いない手法によると、ユーザが対象とする形状特徴は全く型付けされていないため、その形状を素早く反復適用することができる。ユーザは、設計中のオブジェクトの履歴に及ぼす今の改変の影響を気にする必要はない。更に、汎用的な形状特徴には履歴が記憶されていないので、ユーザは、オブジェクト(設計中のもの)の今の状態を対象とする。よって、ユーザが、形状を素早く反復適用するとしても、3D形状の今の状態を改変することしかできない。ユーザは、自身が以前に行ったいずれのオペレーションのいずれのパラメータにもアクセスしない。
【0009】
履歴を用いないコンテキストから生成されたオブジェクトを、履歴ベースのコンテキストに統合することができるため、履歴ベースの手法と履歴を用いない手法とは、両立しないことはない。より正確に言うと、ユーザは、履歴を用いないモデルを作成し、このモデルから新規の3Dモデルを生成するオペレーションを、このモデルに対して適用することができる。
【0010】
しかしながら、これらの2つの手法の各データ構造は、相互使用可能ではない。実際、履歴ベースの手法および履歴を用いない手法によって生成されたオブジェクトのデータ構造は、やや異なっている。その理由は、特に、履歴ベースの手法におけるオブジェクトのデータ構造の型付けは強く、履歴を用いない手法におけるオブジェクトのデータ構造は型付けされていない(設計者が、エントリを有しない、「データ」とも呼ばれる汎用的な形状特徴を対象としている)ためである。履歴ベースのコンテキストにおける3Dモデルの型は、その特性を参照しており、一連のパラメータと、その一連のパラメータを入力データとして取得し、オブジェクトのトポロジを出力データとして返す少なくとも1つのオペレーションとによって定義される。例えば、
図1を参照すると、3Dの球体は型付けされた3Dモデルであり、この「球体」の型は、その中心、半径、および開口角度といった一連のパラメータを伴う。これは、これらのパラメータのすべてを入力データとして取得し、球体のトポロジを返すことができるオペレーションを伴う。これに対し、履歴を用いないコンテキストでは、作成された形状は、オブジェクトがパラメータを有していないので、定義上、型を持たない。オブジェクトに適用される各オペレーションは、このオブジェクトの今の定義に対して適用される。
図3の例では、ユーザは、球体のトポロジ、すなわち、すべての頂点、辺縁からなるワイヤフレームにのみアクセスし、その情報から、面を形成することができる。
【0011】
要約すると、履歴ベースの手法のデータ構造は、型に特有な入力パラメータと、型に特有な少なくとも1つのオペレーションと、先のオペレーションで生成された出力トポロジとを含む。履歴を用いない手法のデータ構造は、オブジェクトに適用された最後の外部オペレーションによって生成された今のトポロジを含む。
【発明の概要】
【発明が解決しようとする課題】
【0012】
これらの2つの手法間の根本的な相違のために、今の履歴を用いない手法は、ユーザが3Dモデル(メッシュについても同様)に対して行った改変の「レシピ」を取得することができない。特に、最初の3Dモデルに対して行ったのと同一または類似の設計オペレーションを自動的に取得し、新規のメッシュに適用することはできない。例えば、第1モデルの自動車のドアの設計を改変した設計者は、第2の自動車モデルのドアに対して、同一の改変を自動的に適用することはできない。このことは、履歴を用いないCAD手法においては、設計意図を再利用することはほぼできないということ、設計者は、第2モデルの自動車のメッシュに対して、自身の最初の設計意図が再現されることを望みつつ、直感的に改変を適用しなければならない、ということを意味する。
【0013】
このような背景から、履歴を用いない手法のために、3Dモデルを定義するデータ構造を改善することがなお必要とされている。
【課題を解決するための手段】
【0014】
このため、三次元(3D)モデルを定義するデータ構造が提供される。前記データ構造は、1つの委譲データオブジェクトを含む。前記1つの委譲データオブジェクトは、前記委譲データオブジェクトの型に特有な入力パラメータと、出力トポロジを生成するための、前記委譲データオブジェクトの型に特有な少なくとも1つの演算子とを含む。前記データ構造は、前記演算子によって生成される出力トポロジも含む。
【0015】
前記データ構造は、少なくとも1つの演算子を追加または削除するインターフェースを更に含んでいてもよい。
【0016】
三次元(3D)モデルを設計するためのコンピュータ実行型の方法も提供される。本方法は、第1の委譲データオブジェクトと、第1の出力トポロジとを含む第1の3Dモデルを定義する第1のデータ構造を提供することと、ユーザが操作を行い次第、前記第1の委譲データオブジェクトを改変することと、前記第1のデータ構造の改変の結果としての第2の出力トポロジを計算することと、前記第1の出力トポロジと前記第2の出力トポロジとを比較することで、トポロジの変化が生じたかどうかを判定することと、前記第1の出力トポロジと前記第2の出力トポロジとの間のトポロジの変化が確認された場合に、第2の委譲データオブジェクトで前記第1の委譲データオブジェクトを置換すること、またはトポロジの変化が確認されなかった場合に、第1の委譲データオブジェクトを維持することと、を含む。
【0017】
本方法は、以下のうちの1つ以上を含んでいてもよい。
【0018】
・前記第2の委譲データオブジェクトで前記委譲データオブジェクトを置換することは、前記第2の出力トポロジを、出力トポロジのリストであって、前記リスト内のトポロジが、それぞれ1つの委譲データオブジェクトに関連付けられている、リストと比較することと、比較の結果、前記第2の出力トポロジと同じ関連出力トポロジを有する、前記リスト内の委譲データオブジェクトである、第3の委譲データオブジェクトを自動的に選択することと、を含む。
【0019】
・比較の結果、リスト内の委譲データオブジェクトが選択されない場合には、汎用的な委譲データオブジェクトを1つ含む、前記第2の出力トポロジに最も近い関連出力トポロジを有する前記リスト内の委譲データオブジェクトを1つ以上、ユーザに提供し、ユーザは、提供された委譲データオブジェクトから1つを選択する。
【0020】
・ユーザが操作を行い次第、前記第1の委譲データオブジェクトを改変することは、前記第1の委譲データオブジェクトの入力パラメータを1つ以上改変することと、前記比較の結果として、トポロジ的変化がないことを確認することと、前記改変された1つ以上の入力パラメータで前記第1の委譲データオブジェクトの入力パラメータを上書きすることと、を含む。
【0021】
・前記第1のデータ構造が提供された後、前記第1の出力トポロジを描画することでメッシュを形成し、ユーザが操作を行い次第、前記メッシュを改変する。
【0022】
・前記メッシュを改変することは、変倍、移動の中から選択された少なくとも1つのオペレーションを行うことを含み、前記第1の委譲データオブジェクトを維持することは、前記第1の委譲データオブジェクトの演算子によって、前記第1の出力トポロジを生成することを更に含む。
【0023】
・前記第1の委譲データオブジェクトおよび前記第1の出力トポロジは、ベースメッシュを形成する。
【0024】
・前記第2の委譲データオブジェクトで前記第1の委譲データオブジェクトを置換することは、前記第2の委譲データオブジェクトを新規の型として記憶することを更に含む。
【0025】
本方法を行うための命令を含むコンピュータプログラムが、更に提供される。
【0026】
前記コンピュータプログラムおよび/または前記データ構造が記録されたコンピュータ可読記憶媒体が、更に提供される。
【0027】
前記コンピュータプログラムおよび/または前記データ構造が記録されたメモリに接続されたプロセッサを含むシステムが、更に提供される。前記システムは、グラフィカルユーザインターフェースを更に備えていてもよい。
【0028】
以下、非限定的な例として、本発明の実施形態を添付の図面を参照しつつ説明する。
【図面の簡単な説明】
【0029】
【
図1】強く型付けされているオブジェクトの例を示す。
【
図7】データ構造を用いて3Dモデルを設計する方法を示す。
【
図10a】データ構造の出力のベースメッシュを示す。
【
図10b】データ構造の出力のベースメッシュを示す。
【
図11a】データ構造の出力のベースメッシュを示す。
【
図11b】データ構造の出力のベースメッシュを示す。
【
図12a】データ構造の出力のベースメッシュを示す。
【
図12b】データ構造の出力のベースメッシュを示す。
【
図14a】データ構造によって定義されるベースメッシュの例を示す。
【
図14b】データ構造によって定義されるベースメッシュの例を示す。
【
図14c】データ構造によって定義されるベースメッシュの例を示す。
【
図14d】データ構造によって定義されるベースメッシュの例を示す。
【発明を実施するための形態】
【0030】
図4を参照すると、三次元(3D)モデルを定義するためのデータ構造が提案されている。データ構造は、1つの委譲データオブジェクトと、出力トポロジ生成プログラムとを含む。委譲データオブジェクトは、委譲データオブジェクトの型に特有な入力パラメータと、出力トポロジを生成するための、委譲データオブジェクトの型に特有な少なくとも1つの演算子とを含む。
【0031】
このようなデータ構造によって、履歴を用いないコンピュータ支援設計システムにおける3Dモデルの設計が改善される。
【0032】
特に、データ構造は、「弱型」および「柔軟なモデリング」という概念を導入することによって、履歴を用いない手法の限界を取り除くことができる。履歴を用いない手法と同様に、3Dモデルを定義するデータ構造は、汎用的である。型を定義するオブジェクトを入力データとして取得する代わりに、汎用的なオブジェクトは、その型を別のオブジェクトに委ねている。このようなオブジェクトの他の型を、「弱型」とも呼ぶ。このような委譲データオブジェクトのおかげで、履歴ベースの手法と同様に、汎用的な形状特徴であるデータ構造を用いて3Dモデルを設計することができ、また、汎用的な形状特徴が、型を有する。しかしながら、この型は、委譲データオブジェクトに委ねられているため、形状特徴と強く結びついているわけではない。このため、形状特徴は、その寿命の間、コンテキストおよびオペレーションに応じて型を変更することができる。故に、データ構造が十分汎用的であるので、これを設計オペレーションの間維持可能であり、必要な場合、または設計者に求められた場合、変更可能である。更に、データ構造は、形状特徴の作成に関して、設計者に新しい可能性を提供する。実際のところ、委譲データオブジェクトは、必ずしも、一般的な形状特徴(例えば、平面、円柱、球体、円環体など)と結びついていなくてもよく、新規の委譲データオブジェクトの型を得るのに、いずれの形状(例えば、ユーザによる設計者)が用いられてもよい。
【0033】
図7を参照すると、データ構造を用いて3Dモデルを設計する方法が提案されている。提案されている方法は、本発明に係る第1のデータ構造を提供することを含む。第1のデータ構造は、第1の委譲データオブジェクトと、第1の出力トポロジとを含む第1の3Dモデルを定義する。次いで、本方法は、ユーザが操作を行い次第、第1のデータ構造の第1の委譲データオブジェクトを改変することを含む。本方法は、第1のデータ構造の改変の結果として、第2の出力トポロジを計算することを含む。本方法は、第1の出力トポロジと第2の出力トポロジとを比較することによって、トポロジの変化が生じたかどうかを判定することも含む。本方法は、第1の出力トポロジと第2の出力トポロジとの間のトポロジの変化が確認された場合に、第2の委譲データオブジェクトで第1の委譲データオブジェクトを置換すること、またはトポロジの変化が確認されなかった場合に、第1の委譲データオブジェクトを維持することを更に含む。
【0034】
このような方法によって、履歴を用いないコンピュータ支援設計システムにおける3Dモデルの設計が改善される。特に、本方法は、「弱型」および「柔軟なモデリング」という概念を導入することによって、履歴を用いない手法の限界を取り除くことができるデータ構造を用いる。従って、本方法は、第1の3Dモデルを設計している間にトポロジの変化が生じたか否かに応じて、委譲データオブジェクトの維持または置換を可能にする。履歴を用いない手法のため、3Dモデルに対して行われる連続オペレーションは記憶されないが、各オペレーションは、形状特徴の最終的な状態を対象としている。このことは、いくつかのオペレーションによって、データ構造の委譲データオブジェクトまたは汎用的な形状特徴が変更され得るということを意味する。これが生じた場合、委譲データオブジェクトは、より適切なもので置換される。しかしながら、すべてのオペレーション(例えば、設計オペレーション)が過度に破壊的ではなく、実際には、オペレーションによって委譲オブジェクトパラメータのうちの1つを改変しているので、場合によっては、委譲オブジェクトをそのまま維持することができる。更に、本方法によって、形状特徴ツリーに見られるオブジェクトは決して変化せず、その基となる委譲データオブジェクトが変化するということが、確実なものとなる。その結果、委譲データオブジェクトが変化する場合、システムは、先の3Dモデルの型と新規の3Dモデルの型とを引き続き記憶する。委譲データオブジェクトが新規のもので置換されても、置換されたオブジェクトの情報を維持することができる。このようにして、履歴を用いない手法の柔軟性が向上する。
【0035】
本方法は、コンピュータ実行型である。このことは、本方法のステップ(または実質的にすべてのステップ)が、少なくとも1つのコンピュータ、または同様のいずれのシステムによって実行されるということを意味する。従って、本方法のステップは、コンピュータによって、場合によっては完全に自動的に、または半自動的に、行われる。実施例においては、本方法のステップのうちの少なくともいくつかは、ユーザとコンピュータとの間の対話によって始動されてもよい。必要とされるユーザとコンピュータとの間の対話のレベルは、予測された自動作用のレベルに依存していてもよく、ユーザの希望を実現する必要性とバランスをとってもよい。実施例においては、このレベルは、ユーザが定義したものおよび/または既定のものであってもよい。
【0036】
例えば、第1の委譲データオブジェクトを改変するステップは、設計オペレーション中などにユーザが操作を行い次第、実行される。
【0037】
ある方法をコンピュータで実行することの典型的な例としては、目的に適合したシステムで本方法を実行することがあげられる。システムは、メモリに連結されたプロセッサと、グラフィカルユーザインターフェース(GUI)とを備えていてもよく、メモリには本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリは、データベースを記憶していてもよい。メモリは、このような記憶に適合したハードウェアであり、場合によっては、物理的に区別されたいくつかの部分(例えば、プログラム用と、場合によってはデータベース用)を含む。
【0038】
データ構造は、3Dモデルを定義するものであり、本方法は、通常、データ構造を編集し、それによって3Dモデルを編集する。3Dモデルは、モデル化オブジェクトとも称する。モデル化オブジェクトは、データベースなどに記憶されているデータによって定義されたオブジェクトである。ひいては、「モデル化オブジェクト」なる表現は、データそのものを意味する。システムのタイプに応じて、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。システムは、実際のところ、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの組み合わせであってもよい。そのような異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。それに応じて、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータと呼んでもよい。しかしながら、モデル化オブジェクトが、これらのシステムの組み合わせに対応するデータによって定義されていてもよいため、これらのシステムは相互に排他的ではない。従って、以下で示すこのようなシステムの定義から明らかであるように、システムは、CADシステムおよびPLMシステムの両方からなるものであることが考えられる。
【0039】
CADシステムとは、少なくとも、モデル化オブジェクトを図示することに基づいてモデル化オブジェクトを設計するのに適合した、CATIAなどのシステムのことを更に意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの描写を可能にするデータを含む。例えば、CADシステムは、辺縁または線を、ある場合には面または表面とともに用いて、CADモデル化オブジェクトを描写してもよい。線、辺縁、または表面は、非一様有理Bスプライン(non-uniform rational B-splines)(NURBS)などの様々な様式で描写されてもよい。具体的には、CADファイルは、ジオメトリが生成され得、ひいては描写の生成を可能にする、仕様を含む。モデル化オブジェクトの仕様は、単一CADファイルに記憶されていてもよいし、複数のCADファイルに記憶されていてもよい。CADシステムにおいてモデル化オブジェクトを描写するファイルの典型的なサイズは、1パーツあたり1メガバイトの範囲である。モデル化オブジェクトは、典型的には、数千のパーツの集合体であってもよい。
【0040】
CADの場合、モデル化オブジェクトは、典型的には、例えば、パーツもしくはパーツの集合体などの製品、または、場合によっては製品の集合体を描写する、3Dモデル化オブジェクトであってもよい。「3Dモデル化オブジェクト」とは、3D描写を可能にするデータによってモデル化されたオブジェクトを意味する。3D描写によって、パーツをすべての角度から見ることが可能になる。例えば、3D描写されていると、3Dモデル化オブジェクトは、オブジェクトの任意の軸を中心として、またはその描写が表示されている画面内の任意の軸を中心として、処理および回転を行い得る。特に、これは、3Dモデル化されていない2Dアイコンを除く。3D描写を表示することで、設計が容易になる(すなわち、設計者が自身のタスクを統計上完了するスピードが上昇する)。製品設計は、製造プロセスの一部であるため、これにより業界における製造プロセスが加速する。
【0041】
3Dモデル化オブジェクトは、例えばCADソフトウェアソリューションまたはCADシステムを用いた仮想設計が完了した後、実社会において製造される、部品(例えば、機械部品)または部品の組立体(これらは、換言すると部品の集合といえるが、これは、部品の組立体自体が、本方法の観点からは1つの部品と見なされてもよいし、組立体の各部品に対して本方法を個別に適用してもよいからである)、あるいは、より一般的には、剛体集合体(例えば、移動機構)などの製品のジオメトリを描写してもよい。CADソフトウェアソリューションは、例えば、航空宇宙産業、建築、建設、消費財、ハイテク機器、産業機器、輸送、水産業、および/または洋上での石油/ガス生産もしくはその輸送などの様々な限定されない工業分野における製品設計を可能にする。従って、本方法によって設計される3Dモデル化オブジェクトは、地上車の部品(例えば、自動車用および軽トラック用の機器、レーシングカー、オートバイ、トラック用およびモーター用の機器、トラック、バス、ならびに列車など)、航空機の部品(例えば、機体用機器、航空宇宙用機器、推進用機器、防御用製品、航空機用機器、宇宙機器など)、船舶の部品(例えば、船舶用機器、商船、洋上用機器、ヨット、作業船、および船舶用機器など)、汎用的な機械部品(例えば、工業用製造機械、可動性大型機械または可動性重機、設置機器、工業機器製品、組立金属製品、タイヤ製造用製品など)、電気機械部品または電子部品(例えば、家電製品、セキュリティ用および/または制御用および/または計測用の製品、計算用および通信用の装置、半導体、医療用の装置および機器など)、消費財(例えば、家具、住宅用および園芸用の製品、レジャー用品、ファッション製品、耐久消費財小売業者の製品、非耐久消費財小売業者の製品など)、包装(例えば、飲食物用、タバコ用、美容品用、介護用品用、家庭用品用の包装など)などのいずれの機械部品であってもよい、工業製品を描写し得る。
【0042】
PLMシステムとは、製造された物的生産物(または製造される製品)を描写するモデル化オブジェクトの管理に適合したシステムのことを更に意味する。従って、PLMシステムにおいて、モデル化オブジェクトは、物理オブジェクトの製造に適したデータによって定義される。これらのデータは、典型的には、寸法値および/または公差値である。オブジェクトの正確な製造のためには、実際のところ、このような値があるとより良い。
【0043】
CAMソリューションとは、製品の製造データを管理するのに適合したソリューション、ハードウェアのソフトウェアを更に意味する。製造データは、通常、製造される製品、製造プロセス、および必要とされるリソースに関するデータを含む。CAMソリューションを用いて、製品の製造プロセス全体の立案および最適化が行われる。例えば、CAMソリューションは、CAMのユーザに、製造プロセスの実現可能性や継続時間、または、製造プロセスの特定のステップにおいて用いられてもよい特定のロボットなどのリソースの数についての情報を提供することができる。これによって、管理または必要な投資についての決定が可能になる。CAMは、CADプロセスおよび潜在的CAEプロセスの後で行われる後プロセスである。このようなCAMソリューションは、DELMIA(登録商標)の製品名で、ダッソーシステムズによって提供される。
【0044】
CAEソリューションとは、モデル化オブジェクトの物理的挙動の解析に適合したソリューション、ハードウェアのソフトウェアを更に意味する。CAE技術としては、モデル化オブジェクトを、その物理的挙動を方程式を用いて計算およびシミュレートすることができる要素に分割することを典型的に含む、有限要素法(Finite Element Method)(FEM)が周知され、広く用いられている。このようなCAEソリューションは、SIMULIA(登録商標)の製品名で、ダッソーシステムズによって提供される。他に成長中のCAE技術は、CADジオメトリデータを持たない物理学の異なる分野由来の複数の要素からなる複合システムのモデル化および解析を含む。CAEソリューションによって、製造する製品のシミュレーションが可能になり、ひいてはその最適化、改善、および検証が可能となる。このようなCAEソリューションは、DYMOLA(登録商標)の製品名で、ダッソーシステムズによって提供される。
【0045】
PDMとは、製品データ管理(Product Data Management)を意味する。PDMソリューションとは、ある特定の製品に関するあらゆる種類のデータを管理するのに適合したソリューション、ハードウェアのソフトウェアを更に意味する。PDMソリューションは、主として技術者であるが、それ以外のプロジェクトマネージャや財務担当者、販売員、購買担当者も含む、製品寿命に関係する関係者に用いられ得る。PDMソリューションは、一般的に、製品指向のデータベースに基づく。これによって、関係者らが、製品についての整合性のあるデータを共有することが可能になるため、関係者が異なるデータを用いることが防止される。このようなPDMソリューションは、ENOVIA(登録商標)の製品名で、ダッソーシステムズによって提供される。
【0046】
図13は、システムの一例を示し、このシステムは、ユーザのワークステーションなどの、クライアントコンピュータシステムである。
【0047】
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(central processing unit)(CPU)と、同じくバスに接続されたランダムアクセスメモリ(random-access memory)(RAM)1070とを備える。クライアントコンピュータは、バスに接続されたビデオランダムアクセスメモリ1100に付随するグラフィック処理装置(graphical processing unit)(GPU)1110を更に備える。ビデオRAM1100は、当該技術分野において、フレームバッファとしても知られている。大容量記憶デバイスコントローラ1020は、ハードドライブ1030などの大容量メモリデバイスへのアクセスを管理する。コンピュータプログラムの命令およびデータを具体的に実現するのに適合した大容量メモリデバイスとしては、あらゆる形態の不揮発性メモリが挙げられ、例えば、EPROMやEEPROM、フラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスクや取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、およびCD-ROMディスク1040などである。前述したものはいずれも、特別に設計されたASIC(特定用途向け集積回路(application-specific integrated circuit))によって補完されていてもよいし、ASICに組み込まれていてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、また、カーソルコントロールデバイスやキーボードなどの触覚デバイス1090を備えていてもよい。クライアントコンピュータにおいて、カーソルコントロールデバイスは、ユーザが、ディスプレイ1080上の所望の位置にカーソルを選択的に配置できるようにするために用いられる。更に、カーソルコントロールデバイスによって、ユーザは、様々なコマンドを選択して、制御信号を入力することができる。カーソルコントロールデバイスは、システムに制御信号を入力するための信号生成デバイスを多く備える。典型的には、カーソルコントロールデバイスは、マウスであってもよく、マウスのボタンを用いて信号を生成する。あるいは、または更には、クライアントコンピュータシステムは、感知パッドおよび/または感知スクリーンを備えていてもよい。
【0048】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、これらの命令は、上記のシステムに本方法を実行させる手段を含んでいてもよい。プログラムは、システムのメモリを含む、いずれのデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路に実装されていてもよいし、コンピュータのハードウェアやファームウェア、ソフトウェアに実装されていてもよいし、これらの組み合わせに実装されていてもよい。プログラムは、例えば、プログラミング可能なプロセッサによる実行のために、機械可読な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法ステップは、プログラム可能なプロセッサが命令のプログラムを実行することで入力データを演算し出力を生成して、本方法の機能を実行することによって実行されてもよい。従って、プロセッサは、プログラム可能であって、データ記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型プログラミング言語またはオブジェクト指向のプログラミング言語で実装されていてもよいし、必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用すると、本方法を実行するための命令が得られる。
【0049】
データ構造は、CADシステム(またはそれに類するもの)のオペレーションを制御し、かつ記憶するように働く機能データである。従って、データ構造は、例えば履歴を用いないCADシステムにおいて、3Dモデルを設計するためのオペレーションを制御するように働く。特に、データ構造は、強く型付けされてはいないが、反対に弱く型付けされている汎用的な形状特徴へと渡される型およびパラメータを有する形状を作成する際に、設計オペレーションを改善する。ここで、データ構造は、例えば実社会のオブジェクトを描写する3Dモデルを設計するための技術的特徴の機能データである。
【0050】
「3Dモデル化オブジェクトを設計する」とは、3Dモデル化オブジェクトを精巧に作り上げるプロセスの少なくとも一部である、任意の操作または一連の操作を意味する。従って、本方法は、3Dモデル化オブジェクトを一から作成することを含んでいてもよい。あるいは、本方法は、以前に作成された3Dモデル化オブジェクトを提供して、その3Dモデル化オブジェクトを改変することを含んでいてもよい。本方法は、本方法を行った後に、モデル化オブジェクトに相当する物理オブジェクトを作成することを含んでいてもよい製造プロセスに含まれていてもよい。いずれの場合も、本方法で設計されたモデル化オブジェクトは、製造用オブジェクトを描写していてもよい。従って、モデル化オブジェクトは、モデル化された立体(すなわち、立体を描写するモデル化オブジェクト)であってもよい。製造用オブジェクトは、部品、または部品の組立体などの製品であってもよい。本方法によって、モデル化オブジェクトの設計が改善されるので、製品の製造もまた本方法によって改善され、これによって、製造プロセスの生産性が向上する。
【0051】
図1は、公知の履歴ベースのCADシステムで一般的に用いられる強く型付けされているデータ構造の一例を示す。この例では、データ構造は、3Dの球体の形状特徴を定義しており、3Dの球体は型付けされている3Dモデルである。3Dの球体の形状特徴は、3Dの球体の型を定義しており、この型は、球体の中心、半径、および開口角度といった一連のパラメータを伴う。データ構造は、球体オペレーションという単一のオペレーションを伴う。型付けされている形状特徴の出力データからは、
図1の右に示されるように、球体のトポロジがもたらされる。
【0052】
次いで、履歴を用いない手法の観点からは、球体を描写するメッシュのみが、システムで用いられる。履歴を用いないパラダイムとは、形状特徴が汎用的であることである。このことは、CADシステムがメッシュ(すべての頂点、辺縁を備え、その情報から面を形成することができる、ワイヤフレーム)にアクセスしただけの場合には、CADシステムは、メッシュが球体を描写していることを認識していないということを意味する。従って、設計者は、形状を素早く反復適用することができるとしても、メッシュの今の状態を改変することしかできない。よって、球体の1つのパラメータのみを改変することは不可能であり、例えば、設計者は、3Dの球体の3D形状を有するメッシュの半径を改変することはできない。
【0053】
図2は、本発明のデータ構造の一例を示す。データ構造(または形状特徴)は汎用的である。これは、データ構造が型付けされておらず、そのため、例えば球体の基本形状などの、オブジェクトの具体的な1つの型に関連付けられていないことを意味する。形状特徴とは、形状を与えることができる構成要素である。形状特徴は、通常、3Dモデル化オブジェクトを構築するための3Dモデリングにおいて用いられる。非限定的な例として、直方体(例えば、立方体)、円柱、球体、角錐、円錐、二次曲面、線織面、円環体などを、「典型的な」形状特徴として挙げることができる。より一般的には、形状特徴は、任意の形状を描写することができ、自動車または飛行機などの非常に複雑な形状でさえも描写することができるが、形状特徴は、特定の演算子が形状を生成するのに十分な一連のパラメータを有する。一連の形状特徴によって、例えば、履歴を用いないCADシステムにおいてメッシュによって描写される工業製品などの、工業製品を表現することが可能になる。
【0054】
データ構造が汎用的であると、これを、履歴を用いないCADシステムにおいて用いることができる。汎用的な形状特徴は、形状特徴の型からは独立している。しかしながら、汎用的な形状特徴は、データを受信、実行し、型付けされている形状特徴から得られる結果と類似の結果を得ることができる。データ構造は、入力データとして、形状特徴の型を定義する委譲データオブジェクトを取得する。委譲データオブジェクトは、汎用的な形状特徴を「弱く型付ける」のに寄与する。このことは、データ構造が汎用的であり、その汎用性が委譲データオブジェクトによって制約を受けるということを意味する。データ構造は、汎用的であると、ある特定のオペレーションに関連付けられていない。オペレーションは、委譲データオブジェクトを伴う。従って、(汎用的な)データ構造は、型と、委譲データオブジェクトの型に特有な演算子とを継承する。この継承は、入力データとして、委譲データオブジェクト(型と、特有な演算子とを含む)を汎用的な形状特徴に提供することによって行われる。出力データは、汎用的な形状特徴によって入力データから計算されるトポロジである。従って、トポロジは、入力データに備わる型に特有である。
【0055】
図3には、(汎用的な)データ構造が、型が球体である委譲データオブジェクトを入力データとして取得すると、データ構造が作成するトポロジは、球体であるということが示されている。球体の作成は、その型の演算子で制御されており、この演算子は、データ構造によって実行(実施)される。従って、委譲データオブジェクトの演算子は、データ構造によって取得された上で実行される。
【0056】
委譲データオブジェクトは、委譲データオブジェクトの型に特有な入力パラメータを含む。また、委譲データオブジェクトは、委譲データオブジェクトの型に特有な演算子を1つ以上含む。
【0057】
図4は、「球体」の型に特有な委譲データオブジェクトの一例を示す。委譲オブジェクトが、汎用的な形状特徴によって実行される場合、すなわち、システムが、「球体」の形状特徴に対して自己構築を行うように要求した場合、汎用的な形状特徴は、特有な型としてこれを委譲データオブジェクトに割り当てる。上記のこのような例では、委譲データオブジェクトは、「中心」、「半径」、および「開口角度」をパラメータとして用いて球体を構築すべきだということを記憶している。このように、委譲オブジェクトは、その入力パラメータを用いてオペレーションを生成する。そして、このオペレーションは、汎用的な形状特徴によって用いられて、トポロジを生成する。従って、何らかの理由で委譲オブジェクトが他のオブジェクトで置換された場合、その他のオブジェクトは、委譲オブジェクトによって与えられたオペレーションを依然として取得し実施するため、汎用的な形状特徴の観点からはトランスペアレントである。
【0058】
委譲データオブジェクトのパラメータによって、出力トポロジを生成する演算子のインスタンスを作成することが可能になる。例えば、以下に挙げるようなことが、当該技術分野において公知である。
【0059】
・「球体」の型に特有な入力パラメータは、中心、半径、および開口角度である。
【0060】
・「円柱」の型に特有な入力パラメータは、軸の方向、円柱の高さ、円の中心、および円の半径である。
【0061】
・「円錐」の型に特有な入力パラメータは、軸方向、円錐の高さ、円錐の基底部の中心、および円錐の基底部の半径である。
【0062】
・「円環体」の型に特有な入力パラメータは、方向ベクトル、中心、大円の半径、および小円の半径である。
【0063】
データ構造は、演算子によって生成された出力トポロジを更に含む。トポロジは、委譲データオブジェクトの型に依拠する。
【0064】
実施例においては、オペレーションは、委譲データオブジェクトの型に特有な演算子によって行われてもよい。このような状況では、オペレーションは、内部オペレーションとも称する。出力トポロジのトポロジは、改変されない。内部オペレーションは、典型的には、例えば出力トポロジの縮尺または動きなどの、委譲データオブジェクトの入力パラメータを改変した結果として実行されるオペレーションである。これらのオペレーションのリストは、委譲データオブジェクトと関連付けられており、そのため、汎用的な形状特徴にすでに「ロード」されたオペレーションによって、改変が実行されてもよいということを、汎用的な形状特徴が記憶する。
【0065】
実施例においては、オペレーションは、委譲データオブジェクトに特有な演算子ではない演算子によって行われてもよい。このような状況では、オペレーションは、外部オペレーションとも称する。出力トポロジは、改変される。外部オペレーションは、例えばデータ構造によって定義された3Dモデルの3D描写に対して切断が行われるように、出力データのトポロジが改変されるため、典型的には、委譲データオブジェクトの演算子が実行できないオペレーションである。オペレーションを実行するために、データ構造は、少なくとも1つの演算子を追加または除去するのに適合したインターフェースを備えていてもよい。演算子は、データ構造に「ロード」された上で実行されてもよい。委譲データオブジェクトの演算子は、汎用的な形状特徴にロードされた状態で維持されてもよいし、単に除去されてもよい。データ構造は、常に、少なくとも1つの演算子を含む。
【0066】
実施例においては、出力トポロジが描画され、これによって、データ構造によって定義された3Dモデルの描写が、例えばユーザに提示されるように、アクセス可能となってもよい。出力トポロジは、当該技術分野において公知であるように、メッシュを用いて描写されてもよい。メッシュは、より粗い、区分的に直線のポリゴンメッシュの仕様を介して、滑らかな表面を描写する方法である、細分割表面であってもよい。メッシュは、3Dモデルの形状を定義する頂点、辺縁、および面の集合体である。従って、メッシュは、3Dモデルの出力トポロジの図示を生成可能なジオメトリを定義する。メッシュは、任意のトポロジの自由な形式の表面をモデル化するのに一般的に用いられる細分割表面であってもよい。細分割表面は、多角形ベースメッシュから始まる制御点の精緻化プロセスの範囲として定義される。ベースメッシュの制御点は、細分割表面に漸次的変化を伝える。従って、細分割表面のメッシュは、ベースメッシュの制御点によって制御される細分割プロセスの反復適用の結果、精緻化される。よって、細分割表面は、ベースメッシュに近似するか、またはベースメッシュを補間する。カトマル-クラーク(Catmull-Clark)アルゴリズムは、このような細分割スキームの一例である。ベースメッシュは、CADにおいて広く用いられ、簡潔な定義として、ベースメッシュは、細分割メッシュの定義と、細分割メッシュの制御点とを含む。いくつかの専用アルゴリズムが用いられてもよいということは、理解されよう。
【0067】
従って、設計オペレーションは、ユーザが操作を行い次第、ベースメッシュの制御点のうちの1つに対して実行される改変のことであってもよい。ベースメッシュに対する設計オペレーションの例を、
図14a、
図14b、
図14c、および
図14dに示す。
図14aは、立方体ベースメッシュである、ベースメッシュの一例を示す。立方体ベースメッシュは、制御点を8つ有し、辺縁の長さは同じである。頂点、辺縁、または面のいずれも重み付けされていない。
図14bでは、ユーザは、例えばカトマル-クラークアルゴリズムを用いて、当初の立方体の細分割を制御している
図14aのベースメッシュの制御点を球体へと変位(すなわち、移動)させている。
図14cは、同じ長さの辺縁を有し、対向する2つの面に重み付け(100%シャープ)した、立方体ベースメッシュ(制御点は8つ)である
図14aのベースメッシュから得られた細分化表面を示す。これによって、円柱が得られる。
図14dは、同じ長さの辺縁を有し、各辺縁に重み付け(100%シャープ)した、立方体ベースメッシュ(制御点は8つ)である
図14aのベースメッシュから得られた細分化表面を示す。立方体が得られる。これらの例のおいては、制御点が、頂点、辺縁、または面の重みを改変することで、細分割プロセスを改変している。メッシュの魅力は、重み付けによる。
【0068】
次に、
図5および
図6を参照して、本発明に係るデータ構造によって定義された3Dモデルのビルドフェーズについて説明する。
【0069】
図5は、当該技術分野において公知の、履歴を用いないシステムにおける汎用的な形状特徴のビルドフェーズを表す。ユーザが、形状の改変を要求すると、システムは、形状のビルドフェーズを実行する。たいていの場合、このフェーズの間、今の改変を描写する演算子が呼び出され、この演算子による結果が、今の形状に関連付く新規形状となる。ビルドフェーズは、出力データを1つ有し、これが新規形状である。
【0070】
図6は、本発明のデータ構造のビルドフェーズを表す。本発明のビルドフェーズは、今の改変に係る新規形状の計算をただ行うだけではなく、委譲データオブジェクトが依然として不変であり、そうでない場合には、新規の委譲データオブジェクトがデータ構造に提供されるということを確実にするので、別物である。
【0071】
次に、本発明のデータ構造を用いて3Dモデルを設計するコンピュータ実行型の方法の一例である
図7を参照して、より正確にビルドフェーズを説明する。
【0072】
S10において、本発明に係る第1のデータ構造が提供される。第1のデータ構造は、第1の3Dモデルを定義するものであり、第1の委譲データオブジェクトと、第1の出力トポロジとを含む。第1の出力トポロジは、今の3Dモデルの描写であってもよい今のジオメトリを定義し、例えば、ベースメッシュが提示される。
【0073】
S20において、ビルドフェーズが実行される。
【0074】
ビルドフェーズは、ユーザによる第1の委譲データオブジェクトの改変(S21)から始まる。第1の委譲データオブジェクトの改変は、第1の委譲データオブジェクトの入力パラメータのうちの1つ以上を直接改変することを含んでいてもよい。あるいは、その改変は、委譲データオブジェクトのパラメータのうちの1つ以上を明示的に改変することなく、3Dモデル(3D形状、すなわち、3Dモデルの描写)を改変することを含んでいてもよい。別の可能性として、第1の委譲データオブジェクトは、別の委譲データオブジェクトで置換される。
【0075】
次いで、ユーザによる改変(S21)の結果として、第1の出力トポロジの変化が生じたかどうかを判定する(S22)。トポロジの変化が生じたことを確認することは、公知の技術を用いて行うことができるということは理解されよう。
【0076】
例えば、この判定は、第1の出力トポロジと第2の出力トポロジとを比較することで行われ、ここで、第2の出力トポロジは、ユーザによる改変後に得られるトポロジである。
【0077】
第1の出力トポロジと第2の出力トポロジとを比較することは、第1のベースメッシュと第2のベースメッシュとを比較することを含んでいてもよく、ここで、第1のベースメッシュは、改変前のジオメトリに対応するベースメッシュであり、第2のベースメッシュは、改変済のジオメトリに対応するベースメッシュである。メッシュからトポロジの変化を計算する方が容易である。
【0078】
今のオペレーション(S21)が委譲データオブジェクトを維持する場合、すなわち、3D形状の型が改変の結果として変更されない場合は、S23が実行される。そうでない場合は、S24およびS25が実行される。
【0079】
次に、
図8を参照して、S23を説明する。トポロジの変化が確認されなかったので、第1の委譲データオブジェクトは、維持される。換言すると、3Dモデルの型は、変更されない。これは、第1の委譲データオブジェクトのパラメータのうちの1つ以上が改変された場合、または、弱型のパラメータを明示的に変更しない3D形状の改変が、第1のトポロジ出力に影響を及ぼさない場合である。
【0080】
従って、ユーザが、第1の委譲データオブジェクトの入力パラメータのうちの1つ以上を改変すると、第1の委譲データの入力パラメータは、改変された1つ以上の入力パラメータで上書きされる。興味深いことに、このような状況では、トポロジの変化は検証されなくてもよい。
【0081】
また、弱型のパラメータを明示的に変更しない3D形状の改変が、第1のトポロジ出力に影響を及ぼさない場合、第1の委譲データは維持され、パラメータは、3D形状の改変に応じて改変される。1つ以上のパラメータの新規の値は、3D形状の改変に応じて計算される。1つ以上の新規の値は、当該技術分野において公知であるように、計算される。
【0082】
3D形状の改変は、ユーザがメッシュを直接改変することによって行われてもよい。この場合、第1の出力トポロジは、当該技術分野において公知であるように、描画され、これによってベースメッシュが形成される。また、ユーザは、ベースメッシュに対して改変を行う。例えば、ユーザは、ベースメッシュの頂点、辺縁、または制御点を移動させる。
【0083】
実施例においては、(ベース)メッシュを改変することは、変倍、移動などの中から選択された少なくとも1つのオペレーションを行うことを含む。これらのオペレーションは、トポロジ的に中立である(すなわち、これらは、トポロジを変更しない)ことが知られているので、第1の出力トポロジは、第1の委譲データオブジェクトの不変の演算子によって生成される。
【0084】
次に、
図9を参照して、S24およびS25を説明する。S24において、新規の委譲データオブジェクトが選択されて、もはや有効でない今の委譲データオブジェクトを置換する(S25)。
【0085】
新規の委譲データオブジェクトの特定は、第2の出力トポロジ(改変の結果として得られる新規の出力トポロジ)を、出力トポロジのリスト内の出力トポロジと比較することによって行われてもよい。リスト内の出力トポロジは、それぞれ1つの委譲データオブジェクトに関連付けられており、その結果、新規の出力トポロジとリスト内の出力トポロジとの間の類似性が特定されると、関連のある委譲データオブジェクトは、新規の委譲データオブジェクトとして維持される。換言すると、比較の結果として、第3の委譲データオブジェクトが選択され、第3の委譲データオブジェクトは、第2の出力トポロジと同一の関連出力トポロジを有する、リスト内の委譲データオブジェクトである。第3の委譲データオブジェクトの選択は、自動的に行われてもよい。例えば、ユーザは介入しない。
【0086】
あるいは、3D形状間で比較を行ってもよい。この場合、リストは、委譲データオブジェクトに関連付けられた3D形状を含む。
しかしながら、リストにおいて新規の委譲データオブジェクトを選択することができない場合もある。典型的な理由としては、同一のトポロジが、リストに記載されていないということがあり得る。このような状況では、ユーザには、第2の出力トポロジに最も近い関連出力トポロジを有するリスト内の委譲データオブジェクトが1つ以上提供される。2つのトポロジ間の距離は、当該技術分野において公知であるように、測定される。例えば、これは、出力トポロジを描写するメッシュの曖昧さを計算することで行うことができる。少なくともメッシュの頂点の位置を(所与の公差と)比較し、ひいては、頂点を結ぶ辺縁を比較する。測定値から格付けを行い、格付けが1番のトポロジが、ユーザに提供される。
【0087】
あるいは、3D形状間で比較を行ってもよい。この場合、今の3D形状(ユーザの操作で改変された3D形状)と、委譲データオブジェクトに関連付けられた3D形状のリストととの間で、類似性測定を行う。今の3D形状に最も類似する3D形状を有する委譲データオブジェクトが、ユーザに提示される。
【0088】
リストは、更に、汎用的な委譲データオブジェクトを1つ含んでいてもよい。提案されたトポロジにユーザが満足しない場合、この汎用的な委譲データオブジェクトを用いることができる。あるいは、汎用的な委譲データオブジェクトが、ユーザに提案される唯一の委譲データオブジェクトであってもよい。
【0089】
提供された委譲データオブジェクトから1つを選択した後、第1の委譲データオブジェクトは、選択された委譲データオブジェクトで置換される。
【0090】
興味深いことに、本方法のどの段階においても、より詳細にはS24およびS25が実行される際に、ユーザが新規の型を作成する可能性がある。例えば、第2の委譲データオブジェクトで第1の委譲データオブジェクトを置換することは、第2の委譲データオブジェクトを新規の型として記憶することを含んでいてもよい。
再び
図7を参照すると、S30において、データ構造は、ユーザによる改変後、同一の弱型または新規の弱型と、トポロジ出力とを含む。
【0091】
図10aは、球体の型に対応するデータ構造を示す。
図10bは、変倍後の同じデータ構造を示す。実際には、変倍は、
図10aの委譲データオブジェクトを改変しないオペレーションである。
【0092】
図11aは、
図10aのデータ構造を示す。
図11bは、押出オペレーション後の同じデータ構造を示す。ベースメッシュは改変されており、これによって、トポロジ出力のトポロジが変化している。これにより、細分割が行われ、委譲データオブジェクトのリストにおいて、新規の委譲データオブジェクトが特定される。この委譲データオブジェクトによって、今の委譲データオブジェクトが置換される。
【0093】
図12aは、汎用的なオブジェクトを示す。
図12bは、この汎用的なオブジェクトに対して補填オペレーションを行った後の、同じオブジェクトを示す。補填オペレーションの結果、球体が得られる。実際には、システムは、球体のパラメータ値を補填するために、関係のある情報を抽出することができる。これは、3D形状を、委譲データオブジェクトの形状のリストと比較することによって可能になる。システムが、可能性のある委譲データオブジェクトをいくつか認識した場合には、可能な選択肢から選択するようにユーザにメッセージを表示する。