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