(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023133279
(43)【公開日】2023-09-22
(54)【発明の名称】テッセレーション処理
(51)【国際特許分類】
G06F 30/10 20200101AFI20230914BHJP
【FI】
G06F30/10 100
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023038815
(22)【出願日】2023-03-13
(31)【優先権主張番号】22305281.2
(32)【優先日】2022-03-11
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】オーレリアン ジャン マリー アローム
(72)【発明者】
【氏名】ニコラス デュニー
(72)【発明者】
【氏名】マーク ロリオ
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146DC04
5B146EA17
5B146EA18
5B146EC08
(57)【要約】
【課題】テッセレーション処理のコンピューター実装方法に関する。
【解決手段】テッセレーションを含む制約付き四面体ドロネーメッシュを提供することを含む。メッシュは、共形でありテッセレーションの1つまたは複数の集合を含み、各集合がテッセレーションの部分の間のギャップを表し、各ギャップが予め定義されたしきい値よりも小さいサイズを有する。テッセレーションに追加されることになるメッシュの1つまたは複数の四面体の面の集合を決定することをさらに含み、テッセレーションへの面の追加による表面作成にペナルティを課す項を含む目的関数を最小化することを含む。最小化はドロネーメッシュの四面体の面ついて与えられた集合がテッセレーションに加えられることになるという制約の下にある。四面体の面について与えられた集合は1つまたは複数のギャップのうちの各ギャップに対して、ギャップをメッシングする四面体の面を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
現実世界の3D物体の表面表現を形成するテッセレーションを処理するためのコンピューターに実装される方法であって、
前記テッセレーションを含む制約付き四面体ドロネーメッシュを提供すること(S10~S20)であって、前記ドロネーメッシュは、共形であり、前記テッセレーションの部分の間のそれぞれのギャップを表す各々四面体の1つまたは複数の集合を含み、各々、それぞれのギャップは予め定義されたしきい値よりも小さいサイズを有する、ことと、
前記テッセレーションに加えられることになる前記ドロネーメッシュの1つまたは複数の四面体の面の集合を決定することであって、前記決定することは、前記テッセレーションへの面の追加による表面作成にペナルティを課す項を含む目的関数を最小化(S40)することを含み、前記最小化(S40)は、前記ドロネーメッシュの四面体の面の与えられた集合が前記テッセレーションに加えられることになるという前記制約の下にあり、四面体の面の前記与えられた集合は、1つまたは複数のギャップのうちの各ギャップに対して、前記ギャップをメッシングする前記四面体の面を含む、ことと
を備えることを特徴とする方法。
【請求項2】
前記最小化(S40)は、第1のグループおよび第2のグループへの前記ドロネーメッシュの前記四面体の初期分類を提供することであって、前記第1のグループは、前記テッセレーションのバウンディングボックスの内側にある四面体を含み、前記最小化(S40)は、前記第1および第2のグループへの前記四面体の分類を自由変数として有し、前記制約は、前記1つまたは複数のギャップをメッシングする四面体が前記第1のグループに属する、ことを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記最小化(S40)は、前記第1のグループと前記第2のグループとの間の接触面を定義する前記第1のグループおよび第2のグループへの前記四面体の分類を出力し、前記テッセレーションに加えられることになる前記ドロネーメッシュの1つまたは複数の四面体の面の集合を前記決定することは、前記第1のグループと前記第2のグループとの間の接触面を修正することによって前記目的関数をさらに最小にする別の最小化(S50)をさらに含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記別の最小化(S50)は、
前記接触面にあるが前記テッセレーションにない前記ドロネーメッシュの前記点をトラバースすること、および、前記点を移動することが前記目的関数をさらに最小にするかどうかを各点に対して評価することと、
前記メッシュのエッジによって前記トラバースされた点に形成され、予め定義されたしきい値よりも低い値を有する1つまたは複数の角を決定することと、決定した角の各々に対して、前記角を平らにするように前記接触面の一部になる点を挿入することと
を含むことを特徴とする請求項3に記載の方法。
【請求項5】
前記項は、
【数1】
ただし、
【数2】
およびΩは、前記第1のグループおよび第2のグループにおけるすべての四面体の分類の前記集合であり、
【数3】
は、前記分類ωにおける前記第1のおよび第2のグループとの間の前記接触面であり、Sは、前記テッセレーションである
タイプの項であることを特徴とする請求項2ないし4のいずれか一項に記載の方法。
【請求項6】
前記目的関数は、
【数4】
ただし、αは正の実数である
タイプの項をさらに含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記目的関数は、
【数5】
ただし、πD0(ω)は分類ωにおいて、前記第2のグループD0に分類されるすべての四面体の面の前記集合である
タイプの項をさらに含むことを特徴とする請求項5または6に記載の方法。
【請求項8】
前記制約付き四面体ドロネーメッシュを前記提供することは、
前記テッセレーションを提供すること(S10)と、
前記テッセレーションを共形にし、四面体ドロネーメッシュに前記テッセレーションを挿入すること(S20)と
を含むことを特徴とする請求項1ないし7のいずれか一項に記載の方法。
【請求項9】
前記テッセレーションに加えられることになる前記ドロネーメッシュの1つまたは複数の三角形の集合について前記決定することの前に、
各ギャップの前記四面体メッシュを局所的にリファインメントすること(S30)
をさらに備えることを特徴とする請求項1ないし8のいずれか一項に記載の方法。
【請求項10】
前記テッセレーションに加えられることになる前記ドロネーメッシュの1つまたは複数の四面体の面の集合を前記決定することは、繰り返され(S60)、各反復は、前記最小化(S40)の前に、四面体の面の前記与えられた集合を修正することを含むことを特徴とする請求項1ないし9のいずれか一項に記載の方法。
【請求項11】
前記表面表現は、少なくとも1つの流体領域の画定を形成することを特徴とする請求項1ないし10のいずれか一項に記載の方法。
【請求項12】
前記表面は、車体の外面を表すことを特徴とする請求項11に記載の方法。
【請求項13】
コンピューターに実装されると、前記コンピューターに、請求項1ないし12のいずれか一項に記載の方法を行わせる命令を含むコンピュータープログラム。
【請求項14】
請求項13に記載のコンピュータープログラムを記録したコンピューター読取り可能データ記録媒体。
【請求項15】
メモリーと、前記メモリーに結合されたプロセッサーを備えたコンピューターシステムであって、前記メモリーは、請求項13に記載のコンピュータープログラムを記録したことを特徴とするコンピューターシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータープログラムおよびシステムの分野に関し、より具体的には、現実世界の3D物体の表面表現を形成するテッセレーションを処理するための方法、システム、およびプログラムに関する。
【背景技術】
【0002】
複数のシステムおよびプログラムが、物体の設計、エンジニアリング、および製造の市場に出ている。CADは、Computer-Aided Designの頭字語であり、例えば、物体を設計するためのソフトウェアソリューションに関する。CAEは、Computer-Aided Engineeringの頭字語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェアソリューションに関する。CAMは、Computer-Aided Manufacturingの頭字語であり、例えば、製造プロセスおよび操作を定義するためのソフトウェアソリューションに関する。上記のコンピューター支援設計システムでは、グラフィカルユーザーインターフェースが、技法の効率に関して、重要な役割を果たす。今述べた技法は、製品ライフサイクル管理(PLM)システム内に埋め込まれることがある。PLMは、拡張された企業体(extended enterprise)の概念にわたって、会社が、製品の開発に対して着想から耐用期間の終わりまで、製品のデータを共有し、共通のプロセスを適用し、企業の知識をレバレッジするのに役に立つ事業戦略に言及する。ダッソー・システムズによって提供されるPLMソリューション(商標CATIA、ENOVIA、およびDELMIAのもとに)は、製品エンジニアリングの知識を体系づける「エンジニアリングハブ」、製造エンジニアリングの知識を管理する「マニュファクチャリングハブ」、およびエンジニアリングハブとマニュファクチャリングハブとの両方への企業の統合および連結を可能にする「エンタープライズハブ」を提供する。すべて合わせてシステムは、製品、プロセス、リソースを結びつけるオープンなオブジェクトモデルを提供して、ダイナミックなナレッジベースの製品作成と、最適化された製品定義、製造準備、生産、およびサービスを促進する決断支援とを可能にする。
【0003】
今述べた状況、および他の状況の範囲内で、現実世界(real-world)の3D物体の表面表現を形成するテッセレーションを処理することを、用いることがよくある。
【0004】
今述べた状況の範囲内に、依然として、現実世界の3D物体の表面表現を形成するテッセレーションを処理するための方法を改良する必要がある。
【発明の概要】
【0005】
それゆえ、テッセレーションを処理するためのコンピューターに実装される方法が提供される。テッセレーションは、現実世界の3D物体の表面表現を形成する。本方法は、テッセレーションを含む制約付き四面体ドロネーメッシュ(constrained tetrahedral Delaunay mesh)を提供することを含む。ドロネーメッシュは、共形(conformal)あり、四面体の1つまたは複数の集合を含む。各集合は、テッセレーションの部分の間のそれぞれのギャップ(gap)を表す。各それぞれのギャップは、予め定義されたしきい値より小さいサイズを有する。本方法は、テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の四面体の面の集合を決定することをさらに含む。決定することは、目的関数を最小にすることを含む。目的関数は、テッセレーションへの面の追加によって、表面作成にペナルティを課す項を含む。最小化は、ドロネーメッシュの四面体の面ついて与えられた集合がテッセレーションに加えられることになるという制約の下にある。四面体の面について与えられた集合は、1つまたは複数のギャップのうちの各ギャップに対して、ギャップをメッシングする四面体の面を含む。
【0006】
本方法は、次のうちの1つまたは複数を含むことがある。
-最小化は、第1のグループおよび第2のグループへのドロネーメッシュの四面体の初期分類(initial classification)を提供することを含み、第1のグループは、テッセレーションのバウンディングボックスの内側にある四面体を含み、最小化は、第1および第2のグループへの四面体の分類を自由変数として有し、制約は、前述の1つまたは複数のギャップをメッシングする四面体が第1のグループに属することであり、
-最小化は、第1のグループと第2のグループとの間の接触面(interface)を定義する第1のグループおよび第2のグループへの四面体の分類を出力し、テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の四面体の面の集合を決定することは、第1のグループと第2のグループとの間の接触面を修正することによって目的関数をさらに最小にする別の最小化をさらに含む、
-前述の別の最小化(S50)は、次を含む。
●接触面にあるがテッセレーションにないドロネーメッシュの点をトラバースすること、および、点を移動することが目的関数をさらに最小にするかどうかを各点に対して評価することと、
●メッシュのエッジによってトラバースされた点に形成され、予め定義されたしきい値よりも低い値を有する1つまたは複数の角を決定すること、および、決定した各角に対して、角を平らにするように、接触面の一部になる点を挿入すること、
-項は、次のタイプの項である。
【0007】
【0008】
ただし、
【0009】
【0010】
およびΩは、第1のグループおよび第2のグループにおけるすべての四面体分類の集合であり、
【0011】
【0012】
は、分類ωにおける第1のグループと第2のグループとの間の接触面であり、Sは、テッセレーションであり、
-目的関数は、次のタイプの項をさらに含む。
【0013】
【0014】
ただし、αは、正の実数であり、
-目的関数は、次のタイプの項をさらに含む。
【0015】
【0016】
ただし、πD0(ω)は分類ωにおいて、第2のグループD0に分類されるすべての四面体の面の集合であり、
-制約付き四面体ドロネーメッシュを提供することは、次を含む。
●テッセレーションを提供すること(S10)と、
●テッセレーションを共形にし、四面体ドロネーメッシュにテッセレーションを挿入すること(S20)、
-本方法は、テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の三角形の集合について決定することの前に、次をさらに含む。
●各ギャップの四面体メッシュを局所的にリファインメントすること、
-テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の四面体の面の集合について決定することが繰り返され、各反復は、最小化の前に、与えられた四面体の面の集合を修正すること、
-表面表現は、少なくとも1つの流体領域の画定を形成する、および/または
-表面は、車体の外面を表す。
【0017】
さらに、本方法を行うための命令を含むコンピュータープログラムが提供される。
【0018】
さらに、コンピュータープログラムを記録したコンピューター読取り可能記録媒体が提供される。
【0019】
さらに、メモリーに結合されたプロセッサーを含むシステムが提供され、メモリーは、コンピュータープログラムを記録している。さらに、プロセッサーは、グラフィカルユーザーインターフェースに接続されることもある。
【0020】
非限定の例が添付の図面を参照してただちに説明されるだろう。
【図面の簡単な説明】
【0021】
【発明を実施するための形態】
【0022】
図1のフローチャートを参照して、テッセレーションを処理するためのコンピューターに実装される方法が提案される。テッセレーションは、現実世界の3D物体の表面表現を形成する。本方法は、テッセレーションを含む制約付き四面体ドロネーメッシュ(constrained tetrahedral Delaunay mesh)を提供すること(S10-S20)を含む。ドロネーメッシュは、共形(conformal)あり、四面体の1つまたは複数の集合を含む。各集合は、テッセレーションの部分の間のそれぞれのギャップ(gap)を表す。各それぞれのギャップは、予め定義されたしきい値より小さいサイズを有する。本方法は、テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の四面体の面の集合を決定することをさらに含む。決定することは、目的関数を最小にすることS40を含む。目的関数は、テッセレーションへの面の追加によって、表面作成にペナルティを課す項を含む。最小化は、ドロネーメッシュの四面体の面ついて与えられた集合がテッセレーションに加えられることになるという制約の下にある。四面体の面について与えられた集合は、1つまたは複数のギャップのうちの各ギャップに対して、ギャップをメッシングする四面体の面を含む。
【0023】
今述べたことは、テッセレーションを処理するために改良された方法を構成する。
【0024】
特に、本方法は、テッセレーションの質を向上させるやり方において、現実世界の3D物体の表面表現を形成するテッセレーションを処理する。実際に、テッセレーションは、しかしながらまだモデル化されていない、またはまだテッセレーションされていない(すなわち、処理するテッセレーション、すなわち、入力テッセレーションによって)3D物体の表面の部分に対応する、小さなサイズの(すなわち、予め定義されたしきい値よりも小さいサイズの)ギャップを特徴とする。言い換えると、テッセレーションの部分の間にギャップがあるが、今述べた部分は、現実世界の3D物体の物質的な部分に対応するのでテッセレーションされるべきであり、本方法は、今述べたギャップをフィルする。そのため、本方法は、テッセレーションを含む制約付き四面体ドロネーメッシュを用い、テッセレーションに加えられることになるメッシュの1つまたは複数の四面体の面(すなわち、三角形)を決定する。今述べた決定は、ギャップのうちの1つまたは複数をメッシングする四面体の面がテッセレーションに加えられることになる(すなわち、与えられた四面体の面の集合は、1つまたは複数のギャップのうちの各ギャップに対して、ギャップをメッシングする四面体のスーパー集合のうちのいくつかの四面体の面を含む)制約の下にある。本方法は、それによって、まだテッセレーションされていないギャップをフィルする、すなわち、テッセレーションする。ギャップがフィルされるので、今述べたことが、テッセレーションの質を改善するやり方において、テッセレーションを(四面体の面、すなわち三角形を加えることにより)修正することによって、テッセレーションは、すきのなくなるようになる、またはすきのなくなる傾向があり、3D物体を形成する物質をより正確に表す。その上さらに、用いたドロネーメッシュは、共形であり、ゆえに自己交差がなく、さらに質を向上させるのにも貢献する。さらにそのうえ、テッセレーションに加える四面体の面の決定は、先に述べた制約の下、テッセレーションに対する面(すなわち四面体の面、すなわち三角形)の追加に起因する表面の生成を最小にする。言い換えると、本方法は、テッセレーションの部分の間におけるギャップをフィルし、ゆえにテッセレーションに四面体の面を加えることによって面を作成するが、作成される面の量を最小にする。ゆえに、本方法は、ギャップをフィルするが、現実世界の3D物体の表面表現を尊重する傾向がある。表面を作成しすぎることは、広すぎる範囲にテッセレーションのジオメトリを修正することができるだろうが、現実世界の物体をもはや正確に表せず、ゆえに方法は、今述べたことを避ける。
【0025】
その上さらに、テッセレーションを処理するための本方法は、方法が自動化されることがある(すなわち、方法のすべてのステップが自動的に実行されることがある)という考慮とともに設計されることによって、テッセレーションを処理するために必要とされるユーザーマシンインタラクションおよび時間を削減する。本方法は、それによって、テッセレーションが手動で処理されること、および特にギャップが手動でフィルされることを避けるまたは少なくとも減らす。テッセレーションが手動で処理されることは、ユーザーとコンピューターとの間の非常に多くの直接的な物理的なインタラクション、すなわち、ハプティックデバイスを用いたユーザーとコンピューターとの間のインタラクション(例えば、マウスクリックおよび/またはたとえばドラッグアンドドロップ、タッチセンシティブディスプレイによるタッチ、キーストロークなどの他の動き)を必要とすることがあり、長い処理時間を必要とし、客観的に、ユーザーに生理的な負担を引き起こすだろう。実際に、完全な手動での処理は、とても多くのインタラクション(例えば、クリック)を必要するので、生理的な負担がユーザーの手、指、および/または腕に課され、生理的な疲労(例えば、反復ストレス傷害)を引き起こすことができるだろう。本方法は、今述べたことを避けることによって、処理タスクのエルゴノミクスを向上させる。その上さらに、テッセレーション処理の時間長は、非自動の処理方法と比べると、(例えば、多くは100時間から少なくは10時間まで)かなり減らされる。
【0026】
さらにそのうえ、本方法は、方法に従うテッセレーション処理が、コンピューターによって効率的に行われることができるという考慮とともに、CPUおよび/またはGPUのリソースの減らされる消費とともに、および、減らされるメモリー使用量およびフットプリントとともに設計される。実際に、本方法は、テッセレーションの(またはテッセレーションを含む空間、例えば、3D空間の)レギュラーグリッドまたは八分木の離散化に頼らないことという目的とともに設計される。レギュラーグリッドまたは八分木を用いて第1番目に取り組むことによってギャップをフィルするためにテッセレーションを処理することは、グリッド/八分木の精度に大きく依存し、現実世界の3D物体を正確にモデリングできるのに、非常に高い精度が要求されることがよくある。しかしながら、今述べたギャップは、非常に小さいサイズ(例えば、予め定義されたしきい値が10mm以下のであり得る)のであり、CPUおよび/またはGPUリソースの消費、ならびに処理するために必要とされるメモリー使用量およびフットプリントが受け入れ不可能に高い(いくつかのコンピューターにおいてまったく実行できない)だろう、とても高いグリッド/オクトリーの精度および解像度を必要とするであろう。例えば、CADソフトウェアにおいて高い精度を有する車のモデルをコンピューターにロードすることは、メモリーリソースおよびCPU/GPUのリソースに関して危機的である。一例として、今述べたことは、30分まで行うことができるだろう。別の例では、モデルがサーバーにあり、クライアントコンピューターにロードされなければならないならば、高い精度を有する車のモデルのロードは、サーバーとクライアントサーバーとの間の帯域幅に関して危機的である。反対に、本方法は、テッセレーションが挿入される質(すなわち、共形、すなわち自己交差のない)のドロネー三角形メッシュに頼り、テッセレーションに加えられることになる四面体の面を決定する最適化を行う。ゆえに、ドロネーメッシュの解像度および精度は、コンピューターの使用のときにCPUおよび/またはGPUおよびメモリー使用量に影響がなくまたは実質的に影響がなく、ドロネーメッシュは、グリッドまたは八分木である構造化されているメッシュとは対照的に、構造化されていないメッシュである。それどころか、CPUおよび/またはGPUおよびメモリー使用量は、三角形(すなわち、四面体の面)が最適化の自由変数に対応するので、今述べた三角形/四面体の面の数に依存する。今述べたことは、グリッドまたは八分木に基づくソリューションと比べると、CPUおよび/またはGPUおよびメモリー使用量を多いに減らし、例えば、入力されるジオメトリのキャプチャにおいて同一の精度に対するグリッドベースまたは八分木ベースのソリューションと比べて、主張される方法のためのメモリー使用量が1または2のオーダーの大きさで少ない。
【0027】
本方法は、処理されたテッセレーションを出力し、入力テッセレーションではあるが最小化(複数可)の結果として加えられる三角形を有し、シミュレーションにおいて効率的に用いられることがある。実際に、処理されたテッセレーションは、自己交差がなく、フィルされたギャップを有し、高い質のであるので、テッセレーションを現実世界の3D物体の離散化として用いるシミュレーションにおいて効率的に用いられることがある。シミュレーションは、テッセレーションが高い質のであるので、高い質のであるならば、より正確であり、より少ない数値的なアーチファクトを特徴とする。加えて、全シミュレーション工程は、本方法が自動化されることがあるので自動化されることがある。テッセレーションを処理するためのコンピューティングおよびメモリーリソースの改善された使用は、使用が、設計およびシミュレーション工程(例えば、本明細書においてのちに述べられるような下流の製造の前)に生じることがよくあるので、設計およびシミュレーションが反復されることがよくある状況では、テッセレーションがシミュレーションのために次に用いられるときにすべてより重要である。シミュレーションは、CFD(Computational Fluid Dynamics)シミュレーションであることがあり、この場合、表面表現は、少なくとも1つの流体領域、例えば、車体の外面の画定を形成する。本方法は、今述べた表面表現を処理し、ギャップをフィルし、ゆえに、適したロケーションにおいてすきのなくさせることによって、流体領域(複数可)の境界設定を改善し、行われることになる改良された流体シミュレーションを可能にする。代わりに、シミュレーションは、シミュレーションする物体の全表面が、電磁気学的な計算を行うために本方法によって連結される場合、電磁気学シミュレーションであり得る。
【0028】
入力テッセレーションは、車体の外面の表面表現であることがあり、テッセレーションが、例えば設計工程に起因する。今述べた表面は、ギャップを含む。今述べたことは、設計の段階において、およびシミュレーションまたは製造の前に、設計者が、車の全体的なボディストラクチャデザインを設計するが、たとえばガスケット、例えば、車体とワイパーとの間などの細部なしに設計するので、設計工程に起因することがある。本方法は、今述べた表面表現を処理し、表面表現の部分の間におけるギャップをフィルすることによって、すべての細部(例えば、ガスケット)を含む車体のすきのない表面の表現を出力する。今述べたことは、処理された表面表現に基づいてCDFシミュレーション、例えば、空気力学のシミュレーションなどを行うことを可能にする。シミュレーションの正確度および質は、車体を表すテッセレーションが、すきのないように改善される。最終的には、設計の下流に、およびシミュレーションの下流に、今述べたことは、改良されたエアロダイナミクスを示す車を製造することを可能にする。特に、本方法は、方法が依然としてギャップをフィルする三角形を見つけ、ゆえに下流の正確なCFDシミュレーションを可能にする場合、特定のジオメトリ(例えば、クラスAの車両)または複雑なジオメトリ(例えば、ワイパー、モーターブロック、マフラーを含む完全な車両)を有する車体の場合を扱うことがある。
【0029】
現実世界の3D物体は、製造製品、すなわち、たとえば本方法の下流に製造されることになる機械部品などの製造可能な製品であり得る。製品は、処理されたテッセレーションに基づいて直接製造されることがあり、すなわち、処理されたテッセレーションは、製品のさらなる下流の製造の基礎であり得る。本方法は、それによって、設計および製造工程に含まれることがあり、次を含むことがある。
-製造製品(例えば、先に述べたような車体の構造)を表す入力テッセレーションを設計すること、
-本方法を行うことによって、入力テッセレーションを、入力テッセレーションの部分の間におけるギャップをフィルすることにより処理すること(例えば、本方法を行うことによって、すきのない詳細な車体を取得すること)、および、処理されたテッセレーションを出力すること、
-オプションとして、処理されたテッセレーションに基礎をおく3D物体の物理的挙動または性能のシミュレーションを行うこと(例えば、車体のCFDシミュレーション、例えばエアロダイナミクスシミュレーションを行うこと)、
-処理されたテッセレーションに基づいて、現実世界の製品を製造すること。
設計および製造工程における本方法の包含が、本明細書において以後、さらに述べられる。
【0030】
ただちに、方法がさらに述べられる。
【0031】
方法は、テッセレーションを処理するためのである。テッセレーションを処理することは、入力テッセレーションを行うこと、およびテッセレーションの修正を行うことを意味し、修正されたテッセレーションを出力する。本方法の場合、処理は、テッセレーションにおいてギャップをフィルする1つまたは複数の三角形(すなわち四面体の面)を加えることによって、テッセレーションを修正する。本方法によって処理される/修正されることになるテッセレーション(すなわち、三角形を加える前のテッセレーション)は、「入力テッセレーション」と呼ばれることがある。
【0032】
テッセレーションは、テッセレーションを取得する処理から起こることがある。本方法は、方法の初期のステップとして(すなわち、本方法の他のステップの前に)、上記の工程を行うことを含むことがある。本明細書において、テッセレーションは、3D現実世界物体の表面表現形成する、例えば外面または皮膚を表す、三角形からなる表面であり、それゆえ、3D物体の離散的な幾何学的表面表現を形成する。本明細書において、離散的な幾何学的表現は、データのピースの離散的な集合を含むデータ構造である。データの各ピースは、3D空間に置かれたそれぞれの表面の幾何学的なエンティティ(例えば三角形)を表す。各幾何学的なエンティティは、3D物体の表面部分を表す。幾何学的なエンティティの集まり(すなわち、結合または並置)は、全体で3D物体を表す。テッセレーションを取得することは、例えばCADシステムにおける機械設計工程において、テッセレーションを設計することを含むことがある。本明細書において、機械設計は、機械的、物理的な使用、および/または製造の要件を満たすように、現実世界の物体を表すテッセレーションを設計することを意味する(特に、美的な目的のみにテッセレーションを作成することを除く)。テッセレーションを取得することは、代わりに、本明細書において以下に述べるように、3D再構成処理の結果としてテッセレーションを取得することを含むことがある。
【0033】
本明細書において、離散的な幾何学的表現は、表面メッシュであり、各幾何学的なエンティティはメッシュのタイルまたは面である。メッシュは三角形メッシュ(すなわち、面が三角形である)である。メッシュは、例えば、3D点群を三角形に分けることによって(例えば、あらゆる適切なトライアンギュレーション処理により)、3D点群から取得されることがある。本明細書において、3D点群は、例えば3D再構成処理内の、機械部品の物理的な測定から起こることがある。3D再構成処理は、現実世界の3D物体を提供することと、1つまたは複数の物理センサーを提供し、各々がそれぞれの物理信号を獲得するために構成されることと、1つまたは複数の物理センサーを3D物体に動作させること(すなわち、各センサーにより機械部分をスキャンすること)によって1つまたは複数のそれぞれの物理信号を獲得することとを含むことがある。次に、3D再構成は、あらゆる既知の技法に従って、測定値に基づいて3D点群および/または3Dメッシュを自動的に決定することがある。1つまたは複数のセンサーは、複数の(例えばRGB、および/または画像またはビデオ)カメラを含み、決定は、ストラクチャフロムモーション分析(structure‐from‐motion analysis)を含むことがある。1つまたは複数のセンサーは、代わりにまたは加えて、1つまたは複数の深度センサー(例えば、RGB深度カメラにおける)を含むことがあり、決定は、深度データからの3D再構成を含むことがある。1つまたは複数の深度センサーは、例えば、レーザー(例えばライダー)または超音波エミッターレシーバーを含むことがある。
【0034】
本方法は、テッセレーションを含む制約付き四面体(すなわち3D)ドロネーメッシュを提供すること(S10-S20)を含む。ドロネーメッシュは共形である。ドロネーメッシュの概念は広く知られ(https://en.wikipedia.org/wiki/Delaunay_triangulation 参照)、共形メッシュの概念も同様である(https://en.wikipedia.org/wiki/Mesh_generation 参照)。共形メッシュは、CW複体の構造を有するメッシュである。メッシュは、どんな自己交差も含まない、すなわち、メッシュのあらゆる2つの要素の間の交差が、両方のまたは空の集合の部分要素である、メッシュである。ドロネーメッシュは、別のメッシュを含むドロネーメッシュ、換言するとテッセレーションであることにおいて制約される。ドロネーメッシュを提供することは、例えば、ドロネーメッシュが取得後にさらに格納された(例えば遠くの)データベースまたはメモリーからドロネーメッシュを検索することを含むことがある。例えば、検索することは、データベースまたはメモリーにアクセスし、ドロネーメッシュをダウンロードすることを含むことがある。代わりに、制約付きドロネーメッシュを提供することは、テッセレーションを提供することS10(例えば、先に述べたように取得することによって、またはメモリーから既に取得されているテッセレーションを検索することによって)と、テッセレーションを共形にすることS20、および四面体ドロネーメッシュに挿入することS20とを含むことがある。テッセレーションを共形にすることは、目的に適したあらゆる既知の方法を適用することによって、テッセレーションを共形テッセレーションに(すなわち、共形三角形メッシュに)変換することを意味する。入力テッセレーションが既に共形であるならば、S20は、テッセレーションを四面体ドロネーメッシュに挿入することを含むのみを含む。四面体ドロネーメッシュにテッセレーションを挿入することS20は、テッセレーションを含む(すなわち、メッシングの一部として)ドロネーメッシュを決定すること、すなわち、ドロネーメッシュがテッセレーションを特徴とするよう制約されることを意味する。そのため、制約付きドロネーメッシュを決定すること/生成することのためのあらゆる既知の方法が適用されることがある。
【0035】
交差のような矛盾を含むテッセレーションをきれいな三角形のメッシュに修正するために、2つの主要な方法がある。
-パッチを識別することにあり、明示的に交差させ、おそらく正確な演算を用いる、サーフェスベースのアプローチ。今述べたアルゴリズムは、入力パッチを局所的に修正するのみであり、数値的な問題のために、矛盾のない、ボリューム表現の、出力メッシュを保証することができない、および
-符号付き距離グリッドを中間表現として用い、保証された再構成を生成することができるボリューメトリックベースアプローチ。しかしながら、今述べたアルゴリズムは、大域的なリビルドの段階のために、入力テッセレーションから多くの情報を失い、今述べたリサンプリングは、基礎をなすボリュームグリッドの解像度によって強く影響される。
【0036】
方法においてテッセレーションを共形にすることS20は、参照により本明細書に組み込まれ、クラックおよび交差の近くの局所的なボクセルグリッドを用いることによって、予想外の結果を制限するために上に述べた両方のアプローチを組み合わせる参考文献ビショッフほか、「Structure Preserving CAD Model Repair」において述べられように実行されることがある。代わりに、方法においてテッセレーションを共形にすることS20は、参照により本明細書に組み込まれ、同様に、テッセレーションの堅牢な正確な交差を達成するために局所的なボリューム表現を獲得するためにネストされたバイナリ空間分割による八分木グリッドを用いる参考文献ケンペンほか、「Exact and Robust (Self-)Intersections for Polygonal Meshes」において述べられるように実行されることがある。代わりに、方法においてテッセレーションを共形にすることS20は、参照により本明細書に組み込まれ、入力テッセレーションに直接働きかけ、可能な限り浮動小数点演算に頼り、あいまいさが起こるときのみ正確に構成する参考文献アテネ、「Direct repair of self-intersecting meshes」において述べられるように実行されることがある。代わりに、方法においてテッセレーションを共形にすることS20は、参照により本明細書に両方が組み込まれる参考文献タオ ジュ、「Fixing geometric errors on polygonal models: A survey」およびケンペンほか、「A Practical Guide to Polygon Mesh Repairing」に見つけられることが可能であるプラクティカルガイドおよび調査において述べられるように実行されることがある。参考文献ケンペンほか、「A Practical Guide to Polygon Mesh Repairing」は、参考文献アテネ「Direct repair of self-intersecting meshes」においてポリゴンメッシュのリペアへのプラクティカルガイドを提案し、最新の技法の開発を用いてたとえば交差などの欠陥を解決する。
【0037】
それ自体は知られているように、ドロネーメッシュは、四面体の集合から作られ、各々が4つの四面体の面(すなわち4つの三角形)により囲まれ、各々それ自体がツリーエッジにより囲まれ、各々それ自体が2つの頂点により囲まれる。さらに、ドロネーメッシュまたはテッセレーションの頂点は、「点」と呼ばれることもある。ドロネーメッシュは、四面体の1つまたは複数の集合を含み、各々が、テッセレーションの部分の間においてそれぞれのギャップを表す。言い換えると、ドロネーメッシュを形成する四面体のうち、四面体の1つまたは複数の集合があり、1つまたは複数の集合のうちの各々それぞれの1つは、テッセレーションの部分の間においてそれぞれのギャップを表す、すなわち、テッセレーションの2つの部分の間にあり、これらの部分の間のギャップを表す3D空間の一部、すなわち、実際には入力テッセレーションにない領域によってテッセレーションされることになるべきである領域をメッシングする四面体の集合である。今述べた1つまたは複数のギャップのうちの各々1つは、予め定義されたしきい値より小さいサイズを有する。サイズは、ギャップまたはバウンディングボックスの極大の寸法、すなわち、ギャップをメッシングする四面体によって、またはバウンディングボックスによって形成される体積の極大の寸法であり得る。しきい値は、例えば、入力テッセレーションが外側の車体の表面(例えば、エアロダイナミクスシミュレーションにおいてシミュレーションされることになる)を表すとき、1ミクロンから10mmまでの間、例えば1mmから5mmまでの間に含まれることがある。しきい値は、方法の初期の段階において、ユーザーによって提供されることがある。方法は、例えば初期のステップとして、または例えば本明細書において後に述べられるオプションのステップS30の間、例えば側面に基づいて、ギャップを自動的に検出することを含むことがある。
【0038】
制約付き四面体ドロネーメッシュについて提供することS10~S20にさらに、方法は、次に、テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の四面体の面(すなわち三角形)の集合を決定することを含む。今述べたことは、方法が、ドロネーメッシュの四面体の中から、テッセレーションに加えられるべき面を有する四面体を検索して、テッセレーションが、(例えば、サイズが予め定義されたしきい値よりも小さいギャップをすべてフィルするために)処理されれば、1つまたは複数のギャップをフィルする(すなわちテッセレーションする)ことを意味する。テッセレーションに面(三角形)を加えることは、テッセレーションがコンピューターオブジェクト(例えば、テッセレーションを形成する三角形のリスト)として格納されていて、面が同じコンピューターオブジェクトに格納される(例えば、面が、テッセレーションを形成する三角形のリストに加えられる)ことを意味する。
【0039】
テッセレーションに加えられることになる四面体の面(複数可)の集合の決定は、制約の下に目的関数を最小化することS40を含む。制約の下に目的関数を最小化することは、方法が、関数の自由変数(または複数の自由変数)の値の中から、関数が最小を獲得する値を探索することを意味し、探索は制約によって制約される(すなわち、探索は制約が尊重される値に限定される)。最小化S40を行うために、方法は、あらゆる適切な既知の最小化問題、例えば、焼きなまし法に近いメタヒューリスティクスアプローチを用いることがある。
【0040】
目的関数は、テッセレーションへの面の追加(すなわち、四面体の面の追加、すなわち三角形の追加)によって、表面作成にペナルティを課す項を含む関数である。最小化の自由変数(複数可)は、ドロネーメッシュの四面体の集合に対応する。最小化は、それによって、目的関数を最小にする四面体の構成を探索する。目的関数は、面の追加によって表面の作成にペナルティを課す項、すなわち、目的関数の値が最小にされることになるが、テッセレーションへの面の追加の結果として表面の作成が起こるとき、大きくなる(すなわち、大きな値を持つ)傾向がある項を含む。最小化は、それによって、面の追加によりテッセレーションに表面を加えることが、起こるよう制約されるが、項の最小化により制限されるので、入力テッセレーションの初期のジオメトリおよび形状を尊重しながら、テッセレーションに加える四面体の面を探索する。入力テッセレーションの初期のジオメトリおよび形状は、それによって、ギャップ(複数可)をフィルするために加えるのに本当に必要である四面体の面のみをテッセレーションに加える(すなわち、ギャップが、加えられる三角形によりオーダーフィルされない)最小化により尊重される傾向がある。その上さらに、入力テッセレーションの質(解像度)も、それによって保持される。オプションとして、目的関数は、方法に、開いた表面によって境界を定められた、または少なくとも部分的に境界を定められたジオメトリを表すテッセレーションを改良された精度により取り扱うことを可能にする別の項、例えば、3Dモデリングされたオブジェクトの実際の穴をメッシングする四面体の面のテッセレーションへの追加にペナルティを課す項を含むことがある。目的関数は、加えてまたは代わりに、安定化項である別の項、および最小化への解の数を減らす別の項を、依然として含むことがある。
【0041】
最小化は、ドロネーメッシュの四面体の面ついて与えられた集合がテッセレーションに加えられることになるという制約の下にある。言い換えると、最小化は、テッセレーションへの面の追加による表面の作成を制限する傾向にあるが(表面の作成にペナルティを課す項が最小化されることになるので)、しかしながら、最小化は、少なくともいくつかの四面体の面をテッセレーションに、すなわち、与えられた集合のうちのそれらに加えるよう制約される。今述べた与えられた集合は、1つまたは複数のギャップの各ギャップに対して(例えば、サイズが予め定義されたしきい値よりも低い1つまたは複数のギャップの各ギャップに対して)、ギャップをメッシングする四面体の面を含む(すなわち、与えられた四面体の面の集合は、1つまたは複数のギャップのうちの各ギャップに対して、ギャップをメッシングする四面体のスーパー集合のうちのいくつかの四面体の面を含む)。制約は、それによって、フィルするギャップが四面体の面によりフィルされることを保証するが、目的関数における前述の項は、ギャップをフィルするのに本当に必要な面のみがテッセレーションに加えられることを保証する。与えられた集合は、他の四面体の面、例えば、3D現実世界の物体に関する内の部分(例えば、内側)をメッシングする四面体の面を含むことがある。与えられた集合は、例えば、入力テッセレーションのバウンディングボックスの内側にあるすべての四面体の面を含むことがある。バウンディングボックスは、あらゆるタイプのバウンディングボックス、例えば、立方体、直方体(rectangle cuboid)、または球体であり得る。さらに、バウンディングボックスは、テッセレーションによって形成される現実世界の物体のバウンディングボリューム、例えば、テッセレーションによって形成される凸包であり得る。
【0042】
最小化S40は、ドロネーメッシュの四面体の初期の分類を第1のグループおよび第2のグループの中と提供することを含むことがある。分類は、メッシュの各四面体を第1のグループまたは第2のグループのいずれかに関連させることが可能であるあらゆるコンピューターオブジェクト、例えばバイナリ値の集合またはラベリングであり得る。分類は、例えば、ドロネーメッシュの四面体の分類関数によってとられる値の集合であることがあり、すなわち、集合の各値は、それぞれ、メッシュのそれぞれの四面体に対してであり、四面体の分類関数によってとられる値である。分類関数は、第1のグループに属することを示す第1の値と、第2のグループに属することを示す第2の値との2つの値を有する(すなわち、2つの要素/値を持つ集合、例えば集合{0,1}に値をとる)ことがある。例えば、第1の値は0であることがあり、第2の値は1であり得る、または第1の値は1であることがあり、第2の値は0であり得る。代わりに、値はラベルであり得る。初期の分類を提供することは、メッシュの四面体の値またはラベルを初期化することを意味する。
この場合、最小化S40は、第1のグループおよび第2のグループへの四面体の分類を自由変数として有する。言い換えると、最小化S40は、目的関数を最小にする分類を探索し、ゆえに、探索の間、四面体の分類を修正することがある。制約は、今述べた場合では、前述の1つまたは複数のギャップをメッシングする(例えば、すべての)四面体が第1のグループに属することである。言い換えると、最小化S40は、前述の1つまたは複数のギャップをメッシングする四面体が第1のグループに強制的に分類される範囲にのみ、四面体の分類を修正すること(すなわち、いくつかの四面体の分類を修正すること、例えば、四面体の分類関数の値を修正すること)がある。制約は、例えば、入力テッセレーションの先に述べたバウンディングボックスの内側にあるすべての四面体が、強制的に第1のグループに分類されることであることがあり、特に、ギャップをメッシングする四面体が強制的に第1のグループに分類されることを暗示する。
【0043】
第1のグループは、(すなわち、初期の分類において)テッセレーションのバウンディングボックスの内側にある四面体、例えば、テッセレーションのバウンディングボックスの内側にあるすべての四面体を含む。第2のグループは、(すなわち、初期の分類において)すべての他の三角形、すなわち、バウンディングボックスの外側にある三角形を含むことがある。先に述べたように、バウンディングボックスは、あらゆるタイプのバウンディングボックス、例えば、立方体、直方体、球体、またはテッセレーションによって形成される現実世界の物体のバウンディングボリューム、例えば、テッセレーションによって形成される凸包であり得る。第1のグループは「内側」と、第2のグループは「外側」と呼ばれることがある。
【0044】
最小化S40は、それによって、目的関数を最小にする、または最小にする傾向がある(すなわち、目的関数は、最小値であるまたは最小値になる傾向がある出力分類に対する値を獲得する)第1のグループおよび第2のグループへの四面体の分類を出力することがある。出力された分類は、第1のグループと第2のグループとの間の接触面を定義する。言い換えると、出力された分類において、各四面体は第1のグループか第2のグループのどちらかに属し、第1のグループに分類された四面体および第2のグループに分類された四面体によって各々共有される三角形(すなわち、四面体の面)がある。今述べた三角形は接触面を形成し、すなわち接触面はすべての三角形(例えばそのリスト)からなる。
次に、テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の四面体の面の集合を決定することは、第1のグループと第2のグループとの間の接触面を修正することによって目的関数をさらに最小にする別の最小化S50をさらに含むことがある。言い換えると、他の最小化S50は、第1の最小化S40と同じ、最小にする目的関数、および同じ制約を有するが、ドロネーメッシュのすべての四面体の分類を自由変数として有する代わりに、他の最小化S50は、接触面を自由変数として有する。言い換えると、他の最小化は、目的関数をさらに最小にする、言いすなわち、最小化S40によって出力された分類に対する関数の値と比べると、目的関数の値を減少させる、接触面の修正(例えば、幾何学的な修正)(もしあれば)を探索する。最小化S40は「第1の最小化」と呼ばれることがあり、他の最小化S50は「第2の最小化」と呼ばれることがある。第2の最適化S50は、(接触面が変更されるので)トポロジーを変えることにより最適化することを可能にするが、第1の最小化S40は、トポロジーを保持し分類にのみ作用する。今述べた2ステップのアプローチは、結果の質を向上させる。
【0045】
第2の最小化S50は、接触面にあるがテッセレーションにない(すなわち、第1の最小化S40の前に入力テッセレーションにある)ドロネーメッシュの点をトラバースすることを含むことがある。言い換えると、第2の最小化は、接触面にある(すなわち、2つのグループの四面体によって共有される)が、入力テッセレーションに属さないドロネーメッシュの点(すなわち、頂点)を、1点ずつ訪れる(すなわち、探求する)。この場合、さらに、第2の最小化S50は、各々上記の点に対して、点を移動させることが目的関数をさらに最小にするかどうかを評価することも含む。点を移動することは、点を、与えられた方向(例えば、点を頂点として有する辺の方向)に沿って接触面の別の点により近く運ぶことを含むことがあり、そうすることが目的関数の値を減少させることを提供される。点を移動することは、前述の移動を可能にするために(すなわち、メッシュの相似を保持すること)、四面体のエッジを(エッジスワッピングまたはスプリッティングによって)修正することがある。第2の最小化S50は、メッシュのエッジによってトラバースされた点において形成され、予め定義されたしきい値よりも低い値を有する1つまたは複数の角を決定することをさらに含むことがある。各々上記の角は、接触面に両方属し、接触面の点/頂点(すなわちトラバースされた点)において交差するドロネーメッシュの2つの三角形によって形成される角である。あらかじめ定義されたしきい値は、90度(すなわち、決定された角が、接触面の交差する/連結されるエッジによって形成される鋭角である)、または45度であり得る。この場合、第2の最小化S50は、各々決定された角に対して、角を平らにするように接触面の一部になる点を挿入することを含む(すなわち、点を挿入することは、目的関数をさらに最適化する目的で、進行中の最小化に追加の自由度を提供し、ゆえに角が平らにされる)。点の挿入することは、ドロネーメッシングに点を加えることを意味する。点を加えることは、既存のエッジに点を加えることによってエッジを2つに区分すること、および/または、点を接触面に連結するために新しい点およびエッジを作成することを含むことがあり、作成された点およびエッジは接触面の一部である。
【0046】
項は、次のタイプのであり得る。
【0047】
【0048】
ただし、
【0049】
【0050】
およびωは、第1のグループおよび第2のグループにおけるすべての四面体の分類の集合であり、
【0051】
【0052】
は、分類ωにおける第1のおよび第2のグループとの間の接触面であり、Sは、テッセレーションである
目的関数は、次のタイプの項をさらに含むことがある。
【0053】
【0054】
ただし、αは正の実数である。αは1より小さい、例えば0.5より小さい、例えば0.1以下、例えば0.01に等しいことがある。この項は安定化項であり、より少ない数の極小解を導く。
加えてまたは代わりに、目的関数は、次のタイプの項をさらに含むことがある。
【0055】
【0056】
ただし、πD0(ω)は分類ωにおいて、第2のグループD0に分類されるすべての四面体の面の集合であるこの項は、3D現実世界の物体表面に関する現実の穴をメッシングする四面体の面のテッセレーションへの追加にペナルティを課すことによって、(表面のシェルの集まりとして作られたモデルとは対照的に)開いた表面によって囲まれたジオメトリに取り組むときの方法を改良する。
目的関数は、例では、表面の作成にペナルティを課す項と、上述した他の項の一方または両方との和であり得る。例では、最小化問題は、次である。
【0057】
【0058】
ただし、C(ω)は制約関数であり、値は分類ωに対して制約が満たされる場合にのみ真である。
【0059】
本方法は、テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の四面体の面の集合を決定することの前に、各ギャップの四面体メッシングを局所的にリファインメントすることS30をさらに含むことがある。四面体メッシングを局所的にリファインメントすることは、あらゆる既知の方法(例えば、あらゆる適切なドロネーメッシングメソッド)によって実行され、例えば、頂点を加え既存の頂点に連結することによって、各ギャップの四面体メッシング(すなわち、ギャップの1つをメッシングするドロネーメッシングの各部分)に四面体を加えることを含むことがあり、メッシングは、それによって局所的にリファインメントされる。局所的にリファインメントすることは、ギャップによって分離された2つのテッセレーション部分を連結する、ギャップをメッシングするエッジがないことを保証することを含むことがある。リファインメントすることS30は、最適化に対してより高い自由度を提供するので、後に続く最適化S40(およびオプションとしてS50)の質を向上させる。
【0060】
テッセレーションに加えられることになるドロネーメッシュの1つまたは複数の四面体の面の集合を決定することが反復されるS60ことがある。各反復は、最小化S40の前に、例えば、1つまたは複数のギャップをメッシングする四面体が第1のグループに属することである制約を修正することによって、四面体の面の与えられた集合を修正すること、およびオプションとしてドロネーメッシュの四面体の初期の分類を修正することを含む。
【0061】
先に説明したように、第1の最小化S40、およびオプションとして第2の最小化S50にさらに、方法は、(すなわち、適切な場合には各反復S60において)加えられた四面体の面(すなわち三角形)を含む処理されたテッセレーションを出力する。例えば、入力テッセレーションは三角形のリストであってもよく、出力テッセレーションは、最小化S40、およびオプションとして最小化S50によって決定された加えられた三角形が加えられたリストであり得る。方法は、出力テッセレーションに基づいてボリュームメッシングを行うこと、すなわち、現実世界の物体のソリッド状況をメッシングし、表面のジオメトリをメッシングする出力テッセレーションと調和するボリュームメッシュを見つけることをさらに含むことがある。今述べたことは、あらゆる既知の方法によって行われることがある。
【0062】
本方法の実装がただちに述べられる。
【0063】
実装は、3D数値シミュレーションのための四面体メッシュを生成する非常にロバストなやり方を提供することによって、3Dシミュレーションエリアにおいて用いられることがある。さらに、実装は、ジオメトリの問題に対処するための拡張された離散的な表面ジオメトリ表現を提供することによって、モデル準備に用いられることもある。特に、ジオメトリのギャップはフィルされ、ジオメトリは自動的な離散的な非正規化された結合操作により結合される。実装は、入力された離散的なジオメトリを正確にキャプチャ(1ミクロン精度)するが、ジオメトリにおいて10mmのギャップをフィルすることができるという高い精度を提供する。さらに、実装は、熱伝導等値面よりも明示的に説明されることが可能である十分定義された結果を提供するという結果の一貫性も提供する。さらに、実装は、速さおよびメモリー消費量も改善し、(例えば、八分木/グリッドベースの再離散化とは対照的に)期待される精度から可能な限り独立した制御の下に保たれる。
【0064】
本実装は、弾力のある制約付き3Dドロネーワークフローにおいて、ラッピング処理を実装する。今述べた状況では、実装は、ジオメトリの内側および外側を表す2つの領域の間の四面体の分類という最適化問題(制約条件付き)を解く。さらにそのうえ、操作を制約付き3Dドロネーワークフローによって生成した空間の四面体表現に行うこと、この実装は、近似グリッドまたはボクセル表現にて行われるだろう同様の処理(1つが、レギュラーグリッドからまたは八分木から取得される空間の離散化により通常得られることがあるような)に比べると、非常に正確な結果を獲得する。
実装は、次を可能にする。
-高精度:入力された離散的なジオメトリを正確にキャプチャ(1ミクロン精度(デフォルト)、またはそれ以上の正確度(要求に応じて))するが、テッセレーションにおいて10mm(またはそれ以上)のギャップをフィルすることできる、
-一貫性:最適化問題の結果として直接的に明示的に説明されることが可能である一貫性のある十分定義された結果を提供する、
-速さおよびメモリー消費量は、妥当であり、既存の離散的なジオメトリのキャプチャに期待される精度にほぼ依存しない、
-性質(例えば内部または外部の流体領域など)に関係なく、領域をキャプチャする能力、
-制約条件を定義することが可能性。例えば、
●ギャップが絶対に閉じられなければならない距離、および/または
●領域に露出しなければならないいくつかの表面または露出してはならないいくつかの表面(例えば、流体領域定義を閉じる蓋)。
【0065】
実装は、ラッピング処理のグローバルメソッドを示す
図2に示されるフローチャートに従う。実装は、フローチャートを参照して、一般性を損なうことなく、ボリューム単純離散化の内部の処理を合理的に強調することができるために、単純なジオメトリを含む例示する例に対して、ただちに述べられる。ジオメトリは、1つの閉じた円柱と1つの開いた円柱が、0.25mmの小さな距離によって分離されている。
図3は、ジオメトリの入力テッセレーションを示す。
【0066】
ステップ1:テッセレーションを含む共形制約付きドロネーメッシュを提供することS10~S20
処理の第1のステップは、入力された表面の三角形を共形四面体メッシュに挿入することである。先に述べたように、適切な制約ドロネーメッシュを取得し、それを共形にするためのあらゆる方法がステップ1において用いられることがある。
図4はこの段階を例示し、この段階では、閉じた円筒の内側40と外側42という2つの四面体の構成要素を識別することがある。開いた円筒の内側は、外側として考えられる。
【0067】
ステップ2:ボリュームメッシュの準備/ボリュームメッシュを局所的にリファインメントすること
ステップ1で提供された四面体ボリュームメッシュは、入力された表面メッシュに直接リンクした密度を持つ。ステップは、次のステップで行われる最適化に十分な自由度を与えるために、関心のあるゾーンのボリュームメッシュをリファインメントし、最適化することが可能である。ステップは、ラッピング工程で閉じることになるギャップ内の容積を最適化しリファインメントする。
図5は、このステップを
図4と同じロケーションに対して例示する。ここで求められた主な関心のあるゾーンは、0.3mmより近い表面の間のギャップ、言い換えると2つのシリンダーの間のギャップであった。
【0068】
ステップ3:分類の初期化
ステップの主な目的は、次の2つのステップを駆動する制約を準備することである(制約項C(w)参照)。主に、どれかの四面体は、必ずD0にある、または必ずD1にある。
図6は、
図4~5と同じロケーションに対して、S0からS3までラベル付けされた4つの四面体集合によりステップを例示し、例えば、次のように初期化されることが可能である。
●S1、S2、S3はD1に属するとして(ジオメトリのバウンディングボックスの内部に完全に含まれるので)、
●S0は、コンプリメンタリとして D0 に属するとして初期化される。
さらにそのうえ、領域が用いられて、例示されるアプリケーションの次のステップに対して次のような制約を定義することが可能である。C(w)は、S1∪S3にあるすべての四面体がD1に分類される場合に限り真である。
【0069】
ステップ4:一定のメッシュトポロジーにおける分類の最適化
ステップは、最小化問題としてラッピング問題の定式化を用いる。基本的な考え方は、2つの領域D0とD1の間のボリュームメッシュにあるすべての四面体の関係する分類を決定し、これらの領域の間の境界を用いて、ラッピングされた表面を定義することである。通常、共通のCFDアプリケーションに対して、D0が流体領域であり、D1が固体領域であるだろう。
【0070】
ゆえに目標)は次のように見つけることである。
【0071】
【0072】
ただし、
●Ω:すべての四面体{D0,D1}の分類の集合(2^n個の四面体の可能性)。今述べたことは、各
【0073】
【0074】
が、領域D0とD1の間のメッシュにあるすべての四面体の分類である。
●
【0075】
【0076】
:分類ωにおけるD0(ω)およびD1(Ω)の四面体間の境界(三角形として表される)、
●S:入力された表面のテッセレーション(メッシュのテトラ面として存在する)。
●πD0(ω):分類ωにおいてD0に分類されるすべての四面体の面(三角形)の集合、
●C(ω):制約が分類ωに対して満たされる場合に限り値が真である制約関数、
●αは小さい数である。例えば1e-2。
【0077】
現在、制約条件Cは、次のように用いられる。
●ギャップのキャプチャ:ギャップ内の四面体が検出され(例えばレイトレーシング技法を用いて)、与えられた領域に属するように制約されることが可能である。例えば、外部流体領域を得るためにジオメトリをラッピングするとき、ギャップの内部の物質は流体領域から除外されなければならない。これは、ギャップに属する四面体が外部の流体領域に分類されるときはいつでも、C(ω)=偽として表されるとして、表される。
●いくつかの特定の表面が領域に露出されているかいないかを確かめる。例えば、流体領域を閉じる蓋は、与えられた側のうちの1つにおいて流体領域に露出させる必要がある。
制約システムは、非常に柔軟であり、より多くの制御を提供するように用いられることが可能である。
【0078】
目的関数の3つの項は、次のとおりである。
●
【0079】
【0080】
は、作成される表面の量を最小にし、既存の入力表面を正確にキャプチャすることを可能にするだろう主要な項である。
●
【0081】
【0082】
は安定化項であり、最小解の数を少なくする。
●
【0083】
【0084】
は、(表面のシェルの集まりとして作られたモデルとは対照的に)開いた表面によって囲まれたジオメトリに取り組むときの方法を改良する項である。
【0085】
最適化を行うために、実装は、焼きなまし法に近いメタヒューリスティクスアプローチを用いる。
図7は、最適化処理の結果を例示する。
【0086】
ステップ5:分類およびメッシュトポロジーの最適化
ステップは、ステップ4と同じ最小化問題を目標とするが、もっとより良い最小化解に到達するために、ボリュームメッシュのオンザフライの修正(頂点の挿入、辺または面のスワッピング)も可能にすることによって拡張する。
図8は、特に2つのシリンダーの間の関心のあるゾーンにおいて、どのように、ステップが最終的な分類をリファインメントし、より滑らかなより正確な分類を提供するのかを例示する。
【0087】
ステップ6: ラッピングされた表面を表す表面のエンティティの作成
ステップは、2つの領域D0とD1を分離する暗黙の表面を表すために、明示的な三角形のエンティティを作成する。入力された表面の三角形はすでに四面体の面としてボリュームメッシュに存在しているので、領域を分離するために、ラッピング処理によって提案された余分な三角形だけを作成する必要がある。
【0088】
ワークフローチャートに例示されるように、処理のステップ3~6は、マルチ領域ラッピングを行うために、異なった初期化(ステップ3)および異なった制約(ステップ4~5)により何度か反復して適用されることがある。これは、例えば、空気-水熱交換器をモデリングするために、複数のラッピングされた流体領域および/または固体領域を抽出するために適用されることがある戦略である。
【0089】
図9は、完了処理の結果であるテッセレーションを例示する。単純なユースケースに期待されるように、結果のテッセレーションは完全に互換性があり、2つの円柱の間のギャップは相対的に滑らかな一貫性のあるやり方にてフィルされ、開いた円柱は閉じられていることが分かる。
【0090】
図10~
図17(ドイツ:BMWの許可)を参照して、先に述べた実装を適用することによって取得されることがある結果に関して、ただちに簡潔に述べられる例である。
【0091】
図10は、入力テッセレーションの例を示し、車体の表面部分を表す。
図11は、本方法によって一度処理した同一のテッセレーションを示す。
【0092】
図12は、入力テッセレーションの例を示し、車体の表面部分を表す。
図13は、本方法によって一度処理した同一のテッセレーションを示す。
【0093】
図14は、入力テッセレーションの例を示し、車体の表面部分を表す。
図15は、本方法によって一度処理した同一のテッセレーションを示す。
【0094】
図16は、入力テッセレーションの例を示し、車体の表面部分を表す。
図17は、本方法によって一度処理した同一のテッセレーションを示す。
【0095】
すべての例に見られることができるように、本方法は、入力テッセレーションを処理し、ギャップがフィルされた品質のよいテッセレーションを出力する。
【0096】
先に述べたように、本方法は、機械製品を設計し製造するための設計および製造工程に含まれることがあり、現実世界の物体が機械製品である。
【0097】
「機械製品を設計すること」は、前述の製品のモデリングされたオブジェクトを詳述する処理のうちの少なくとも一部である、あらゆる作動または一連の作動を指定する。ゆえに、方法は、一般的に、たとえば、入力テッセレーション、出力テッセレーション、出力テッセレーションに調和するボリュームメッシュ、およびオプションとして対応するCADモデルなどのモデリングされたオブジェクトを操作する。モデリングされたオブジェクトは、コンピューターに機械製品の表現を提供する。モデリングされたオブジェクトは、例えばデータベースに格納されているデータによって定義されるあらゆるオブジェクトである。延長によって、表現「モデリングされたオブジェクト」は、データ自体を指定する。方法は、モデリングされたオブジェクトをスクラッチから作成することを含むことがある。代わりに、方法は、以前に作成されたモデリングされたオブジェクトを提供すること、および、モデリングされたオブジェクトを修正することを含むことがある。
【0098】
モデリングされたオブジェクトは、例えば、本明細書において下に説明されるようなCAD/CAEソフトウェアソリューションまたはCAD/CAEシステムによる仮想設計の完了に続く実世界において製造されることになる製品のジオメトリを表すことがある。モデリングされたオブジェクトは、通常、たとえば、部品もしくは部品の組立品または場合によっては製品の組立品など、例えば製品を表す3Dモデリングされたオブジェクトであり得る。「3Dモデリングされた物体」によって、3D表現を可能にするデータによってモデリングされたあらゆる物体を意味される。3D表現は、すべての角からの部品のビューを可能にする。例えば、3Dモデリングされた物体は、3D表現されるとき、物体のどの軸の周りでも、または表現が表示されるスクリーンのどの軸の周りでも、取り扱われ回転させられることがある。特に、3Dモデルではない2Dのアイコンを除外する。3D表現の表示は、設計を促進する(すなわち、設計者が統計的にタスクを達成する速さを増加させる)。今述べたことは、製品の設計が製造工程の一部であるので、産業における製造工程をスピードアップさせる。機械製品は、(例えば、機械的な)部品もしくは製品、または部品の組立品であることがあり(または同等に部品の組立品は、方法の観点から部品自体として見られることがある、または方法が組立品の各部分に独立して適用されることがある)、またはより一般的に、あらゆる剛体の組立品(例えば、移動機構)であり得る。機械製品は、航空宇宙、建築、建設、消費財、ハイテクデバイス、産業装置、輸送、船舶、および/またはオフショアオイル/ガス生産または輸送など、様々な無限の産業分野のうちの1つであり得る。ゆえに、本方法によって設計されたモデリングされたオブジェクトは、あらゆるの機械部品、たとえば、地上車両の一部(例えば、自動車および小型トラック装置、レーシングカー、オートバイ、トラックおよびモーター装置、トラックおよびバス、列車を含む)、航空車両の一部(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)、艦艇部品の一部(例えば、海軍機器、商船、オフショア機器、ヨットおよび作業船、海洋機器を含む)、一般機械部品(例えば、工業用製造機械、重車両用機械または装置、設置済み装置、工業用装置製品、加工金属製品、タイヤ製造製品を含む)、電気機械または電子部品(例えば、家電製品、セキュリティおよび/または制御および/または計装製品、コンピューターおよび通信機器、半導体、医療機器および装置を含む)、消費財(例えば、家具、家庭用および庭園用製品、レジャー用品、ファッション製品、硬質製品小売業者の製品、軟質製品小売業者の製品を含む)、包装(例えば、食品および飲料およびタバコ、美容およびパーソナルケア、家庭用製品の包装を含む)を含むことがある産業製品を表すことがある。
【0099】
上述したように、モデリングされたオブジェクトは、例えば、機械製品を表すモデリングされたオブジェクトであるテッセレーションまたはこのテッセレーションに調和するボリュームメッシュであることがあり、たとえばCADモデルなどの機械製品を表す別のモデリングされたオブジェクトに関連付けられることがある。テッセレーションまたはテッセレーションに調和するボリュームメッシュは、例えばメッシング(すなわち、トライアンギュレーション)処理を用いて、実際にCADモデルから取得されることがある。反対に、テッセレーションまたはテッセレーションに調和するボリュームメッシュは、CADモデルへ変換されることがある。方法は、テッセレーションもしくはテッセレーションに調和するボリュームメッシュ、または変換されたCADモデルを設計するためのものであり得る。方法は、初期のCADモデルを提供すること、およびCADモデルから入力テッセレーションを取得すること、および/または、出力テッセレーションまたはそれに調和するボリュームメッシュをCADモデルに戻す変換をすることによって、更新されたCADモデルを取得することを含むことがある。CADモデルは、3DCADモデルであり得る。ゆえに、方法は、機械製品を表す3Dモデリングされたオブジェクトを設計するためのものであり得る。
【0100】
システムのタイプに従って、モデリングされたオブジェクトは、異なった種類のデータにより定義されることがある。実際に、システムは、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムのあらゆる組み合わせであり得る。異なったシステムにおいて、モデリングされたオブジェクトは、対応するデータによって定義される。従って、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータに関して話すことがある。しかしながら、システムは、モデリングされたオブジェクトが、システムのあらゆる組み合わせに対応するデータによって定義されることがあるので、その他のうちの1つを排他しない。ゆえに、1つのシステムがCAD、CAE、およびPLMのシステムともで十分あり得る。
【0101】
CADソリューションによって、加えて、たとえばCATIAなど、モデリングされたオブジェクトのグラフィカルな表現に基礎をおくモデリングされたオブジェクトを設計するために少なくとも適合したあらゆるシステム、ハードウェアのソフトウェアを意味される。この場合、モデリングされたオブジェクトを定義するデータは、モデリングされたオブジェクトの表現を可能にするデータで含む。CADシステムは、例えば、CADモデリングされたオブジェクトの表現をエッジまたはライン、場合によっては面または表面を用いて提供することができる。ライン、エッジ、または表面は、種々のやり取り、例えば、NURBS(Non-uniform rational B-splines)にて表されることがある。具体的には、CADファイルは仕様を含み、ジオメトリが生成され、次に表現が生成されることになることを可能にする。モデリングされたオブジェクトの仕様は、単一のCADファイルにまたは複数のファイルに格納されることがある。CADシステムに基づいてモデリングされたオブジェクトを表すファイルの通常のサイズは、1部品あたり1メガバイトの範囲にある。そして、モデリングされたオブジェクトは、通常、何千もの部品の集合体であることがある。
【0102】
CAEソリューションによって、加えて、モデリングされたオブジェクトの物理的な挙動を解析するために適合した、どんなソリューション、ハードウェアのソフトウェアを意味される。よく知られていおり、広く用いられるCAEは、有限要素モデル (FEM)であり、本明細書において以後、同等にCAE モデルと呼ばれる。FEMは、通常、モデリングされたオブジェクトの要素への、すなわち有限要素メッシュへの分割を含み、物理的な挙動が方程式によって計算され、シミュレーションされることが可能である。上記のCAEソリューションは、Dassault Systemesによって商標SIMULIAの下に提供される。別の成長中のCAD手法は、CADジオメトリデータなしに、物理の異なった分野から複数のコンポーネントを含む複雑なシステムのモデリングおよび解析を含む。CAEソリューションは、製造する製品のシミュレーションおよびゆえに最適化、改良、および検証を可能にする。上記のCAEソリューションは、Dassault Systemesによって商標DYMOLAの下に提供される。
【0103】
前述したように、出力テッセレーションまたはそれに調和するボリュームメッシュ(すなわち製品のCAEモデル)を取得することによって機械製品を設計することは、設計工程および製造工程を支援するを可能にし、よって目的は、設計されたモデルに対応する機械製品を製造することである。今述べた状況内では、出力テッセレーションまたはボリュームメッシュは、例えばそれぞれのCADモデルへの変換時に、その設計の下流で製造されることがある機械製品を表すモデルである。ゆえに、方法は、設計および/または製造工程の一部であり、機械製品のテッセレーションまたはボリュームメッシュを取得するのに用いられることがある。上述したように、方法は、出力テッセレーションまたはボリュームメッシュをそれぞれのCADモデルに変換することがある。設計および/または製造工程は、テッセレーションまたはボリュームメッシュ、または変換されたCADモデルを、設計、エディションアクション、テスト、シミュレーションおよび/または製造の更なるステップに用いられることがある。本方法は、言い換えると、設計および製造のCAE工程において、機械製品のCAEモデルを取得するステップ、および/またはCAEモデルの設計変数を決定するステップに含まれ得る。上記の工程は、「生産工程」と呼ばれることがあり、方法を行った後、現実世界のオブジェクトに対応する物理的な製品を生産することを含むことがある。
【0104】
入力テッセレーションを設計することによって機械製品を設計すること、方法を行うことによって処理すること、オプションとして出力テッセレーションに調和する製品のボリュームメッシングを見つけること、オプションとしてシミュレーションを行うこと、オプションとしてさらなる設計/編集ステップを行うこと、および、機械部品を製造することを含む生産工程がさらに提案される。生産工程では、本手法の出力または設計工程全体の出力を用いて、設計された機械製品のCADモデルを取得し、霧の加工方法によって加工することができる。機械製品の製造は、あらゆる既知の製造ステップ、例えば、1つまたは複数の付加製造ステップ、1つまたは複数の切断ステップ(例えば、レーザー切断またはプラズマ切断ステップ)、1つまたは複数のスタンピングステップ、1つまたは複数の鍛造ステップ、1つまたは複数の成形ステップ、1つまたは複数の機械加工ステップ(例えば、フライス加工ステップ)および/または1つまたは複数のパンチングステップを含んでいることがある。この方法は、機械製品を表すモデルの設計を改善するため、製造方法も機械製品の製造を改善し、ゆえに、製造工程(すなわち、生産工程)の生産性を増大させる。
【0105】
設計にさらに、処理されたテッセレーションまたはそれに一致する前述のボリュームメッシュは、例えば、生産プロセスの生産ステップ(の開始)において、CADモデルに変換される(例えば、どんな既知の完全に自動化されたCAE-CADモデル変換プロセス/アルゴリズムによって、完全に自動化される)ことがある。そして、製造工程は、このようなCADモデルを(例えば、全自動で)CAD製造工程にインポートして、機械製品を製造することができる。このようなインポートされたCADモデルは、少なくともCAD製造プロセスで製造されるこのような機械製品に大きく対応する。言い換えると、インポートされたCADモデルは、製作基準、例えばフライス加工方向または成形の制約、および/または仕上げまたははめ込みの許容範囲に関して、本方法の最終出力の変換後にさらなる編集を受ける可能性がある。
【0106】
したがって、製造工程は、以下の一連の工程を含むことができる。
-方法を(例えば自動的に)適用することによって、前述の処理されたテッセレーションまたはそれに一致する前述のボリュームメッシュを取得すること、
-(例えば自動的に)処理されたテッセレーションまたはそれに一致する前述のボリュームメッシュを、先に説明したようにCADモデルに変換すること、
-オプションとして(すなわち、用いられる製造プロセスに応じて、機械製品の製造はこのステップを含むことがあるまたは含まないことがある)、製造製品の生産/製造のために、(例えば、自動的に)CADモデルに基づいて生産ファイルおよび/またはCAMファイルを決定すること。
-決定された生産ファイルまたはCADモデルに基づいて、テッセレーションで表現された元の機械製品を(例えば、自動的に)生産すること/製造すること。
【0107】
処理されたテッセレーションまたはそれに調和する前述のボリュームメッシュをCADモデルに変換することは、テッセレーションまたはボリュームメッシュを入力として行い、モデリングされた機械製品を表す特徴木を含むCADモデルに変換する以下の(例えば全自動の)変換処理を実行することを含むことがある。変換処理には以下のステップがある(既知の完全自動化アルゴリズムが各ステップを実装するために存在する場合)。
-処理されたテッセレーションまたはそれに調和する前述のボリュームメッシュをセグメント化することによって、処理されたテッセレーションまたはそれに調和する前述のボリュームメッシュのセグメント化を、例えば各々がオブジェクトの表面部分を表すセグメントの中へ取得すること、
-セグメントを処理することにより、CAD特徴のジオメトリを検出すること、例えば、与えられたCAD特徴のジオメトリ(例えば、押し出し、回転、またはあらゆるキャノニックプリミティブ)を形成するセグメントまたはセグメントのグループ、およびオプションとして幾何学的な特性(例えば、押し出し軸、回転軸、またはプロファイル)を各々検出することを含む、
-検出されたジオメトリを、例えば、ジオメトリおよび/または前述の幾何学的な特性に基づいて、パラメータ化すること、
-処理されたテッセレーションまたはそれに調和する前述のボリュームメッシュのそれぞれの部分に、前述の部分のジオメトリに基づいて、例えば、同じ特徴のジオメトリの部分であると検出された隣接するセグメントを集約することにより、CADオペレータを各々適合させること、
-ジオメトリおよび対応する CAD オペレータを特徴ツリーへエンコードすること、
-オプションとして、特徴木を実行することにより、製品のB-rep表現を取得すること、
-特徴木およびオプションとしてB-repを出力し、特徴木およびオプションとしてB-repがCADモデルを形成する。
【0108】
製造ファイルは、CADモデルから得られた製造ステップアップモデルを含むことがある。製造ステップアップは、機械製品を製造するために必要なすべてのデータを含み、おそらく製造公差誤差まで、CADモデルによってキャプチャされたものに対応する材料のジオメトリおよび/または分布を有するようにすることができる。生産ファイルを決定することは、CADモデルから生産ファイルを(例えば自動的に)決定するためのあらゆるCAM(Computer-Aided Manufacturing)ソリューション(例えばあらゆる自動化されたCAD-CAM変換アルゴリズム)を適用することを含むことがある。
【0109】
CAMソリューションによって、製品の製造データを管理するのに適合したあらゆるソリューション、ハードウェアのソフトウェアを意味される。製造データは、一般に、製造する製品、製造工程、必要なリソースに関するデータを含む。CAMソリューションは、製品の製造工程全体を計画し、最適化するために用いられる。例えば、製造工程の実現可能性または期間、製造工程の特定のステップで用いるたとえばロボットなどのリソースの数の情報をCAMユーザーに提供することがあり、管理または必要な投資の決定を可能にする。CAMは、CAD工程、潜在的なCAE工程の後に続く工程である。例えば、CAM ソリューションは、CAD モデルで提供される押し出し特徴に付随する加工パラメータ、または成形パラメータに関する情報を提供することがある。上記のCAEソリューションは、Dassault Systemesによって商標CATIA、Solidworks、または商標DELMIAの下に提供される。
【0110】
それゆえ、CADおよびCAMのソリューションは密接に関係される。実際に、CADソリューションは製品または部品の設計に焦点を当て、CAMソリューションはそれをどう作るかに焦点を当てる。CADモデルを設計することは、コンピューター支援製造に向けた第一歩である。実際に、CADソリューションは、たとえば、特徴ベースのモデリングおよび境界表現(B-Rep)などの主要機能を提供し、CAMソリューションで扱う製造工程の間のエラーのリスクおよび精度の損失を減らす。実際に、CADモデルは製造されるように意図される。それゆえ、デジタルツインとも呼ばれる、次の2つの目的を有する製造されることになる物体のバーチャルツインである。
-特定の環境において製造されることになる物体の正しい挙動を検査すること、および
-製造されることになる物体の製造可能性を保証すること。
【0111】
機械製品は、付加的な製造可能な部品、すなわち、付加的な製造(すなわち、3Dプリンティング)によって製造されることになる部品であり得る。この場合、生産工程は、生産ファイルを決定するステップを含まず、直接、生産/製造ステップに進み、さらに、出力テッセレーションまたは調和する前述のボリュームメッシュのCADモデルへの変換に、3DプリンターにCADモデルを直接的に自動的に供給することによって進む。3Dプリンターは、機械製品を表すCADモデルが供給されると、CADモデルに従って機械製品を直接的に自動的に3Dプリントするように構成されている。言い換えると、3Dプリンターは、自動的に供給されるCADモデルを受信し、CADモデルを自動的に読み取り、CADモデルによってキャプチャされた材料のジオメトリおよび/または分布を再生産するために、例えば層ごとに材料を一緒に追加して機械部品を自動的に製造する。3Dプリンターは、3Dプリンターの解像度まで、またオプションとして公差誤差または製造上の補正を有してまたは有さずに、CADモデルによってキャプチャされた材料のジオメトリまたは分布を現実に正確に再生産するために材料を追加する。製造プロセスは、CADモデルから自動的に、例えばオーバーハングボリュームを最小にするために印刷方向を決定すること(例えば、参照により本書に組み込まれる欧州特許第3327593号に記載されている)、レイヤースライシング(すなわち、各層の厚さを決定し、レイヤー方向(layer-wise)の経路/軌道および3Dプリンタヘッドに対する他の特性(例えば、レーザビームについては、例えば経路、速さ、強度/温度、他のパラメータ))を含むことがある。
【0112】
機械製品は、代わりに、機械加工部品(すなわち、機械加工によって製造された部品)、例えば、フライス加工部品(すなわち、フライス加工によって製造された部品)などであり得る。その場合、生産工程は、生産ファイルを決定するステップを含むことがある。ステップは、機械加工された部品のCADモデルから生産ファイルを自動的に取得するためのあらゆる適切なCAMソリューションによって、自動的に実行されることがある。製造ファイルの決定は、CADモデルが製造プロセスに影響を与えることがある幾何学的特殊性(例えば、エラーまたはアーティファクト)を有するかどうかを自動的にチェックすること、および、上記の特殊性を自動的に補正することを含むことがある。例えば、CADモデルが依然として鋭いエッジを含むならば、CADモデルに基づく機械加工またはフライス加工は実行されないことがあり(機械加工またはフライス加工ツールが鋭いエッジを作成することができないため)、その場合、生産ファイルの決定は、CADモデルに基づく機械加工またはフライス加工が行われることができるように、そのような鋭いエッジを(例えば、機械加工ツールの切断ヘッドの許容誤差および半径まで実質的に等しい、例えば対応するラウンドまたはフィレット半径により)自動的に丸めるまたはフィレットにすることを含むことがある。より一般的には、生産ファイルの決定は、加工/フライス加工を可能にするために、加工またはフライス工具の半径と互換性のないCADモデル内のジオメトリを丸めることまたはフィレットすることを自動的に含むことがある。さらに検査すると、生産ファイルの決定は、加工またはフライス加工の経路、すなわち製品を加工する加工工具によって行われることになる経路を自動的に決定することを含んでいることがある。経路は、加工のために加工工具が従われることになる座標の、および/またはパラメータ化された軌道の集合を含むことがあり、経路の決定は、CADモデルに基づいて座標および/または軌道を自動的に計算することを含むことがある。計算は、例えば、Dassault Systemesによって2021年12月13日に出願された欧州特許出願EP21306754.9において議論され、参照により本書に組み込まれるように、加工工具のCADモデル表現によってCADモデルのミンコフスキー減算の境界の計算に基づくことがある。経路は、例えば、工具が被切断材料との接触を断つことなく連続的に辿る単一経路であり得ることが理解されよう。代わりに、経路は、工具が一定の順序でたどる一連のサブ経路の連結であってもよく、 例えば、各々が被切断材との接触を断つことなく工具によって連続的にたどることであり得る。オプションとして、生産ファイルの決定は、次に、例えば、決定された経路および機械の仕様に基づいて、切断速度、切断/ピアス高さ、および/または型開きストロークを含む機械パラメータを自動的に設定することを含むことがある。オプションとして、生産ファイルの決定は、CAMソリューションが加工効率を最大にするために部品の最適な方向を決定するネスティングを自動的に構成することを含むことがある。機械加工またはフライス加工部品の場合、ゆえに生産ファイルの決定は、加工経路、およびオプションとして設定された機械パラメータおよび/または設定されたネスティングの仕様を含むファイルを結果として生じ出力する。出力されたファイルは、次に(例えば直接的に自動的に)加工ツールに供給されてもよく、および/または加工ツールは、次に(例えば直接的に自動的に)ファイルを読み取ることによってプログラムされてもよく、生産プロセスは、例えば生産ファイルを直接的に自動的に実行することによって、機械が生産ファイルに従って製品の加工を実行する生産する/製造するステップを含む。加工工程は、加工工具が現実世界の材料のブロックを切削して、CADモデルによってキャプチャされた材料のジオメトリおよび/または分布を、例えば許容誤差(例えばフライス加工に対して数十ミクロン)まで再生産することを含む。
【0113】
機械製品は、代わりに成形部品、すなわち成形(例えば射出成形)により製造された部品であり得る。このような場合、生産工程は、生産ファイルを決定するステップを含んでいることがある。ステップは、成型部品のCADモデルから生産ファイルを自動的に取得するためのあらゆる適切なCAMソリューションによって、自動的に実行されることがある。生産ファイルの決定は、CADモデルに基づいて一連の成形検査を自動的に行って、CADモデルによってキャプチャされた材料のジオメトリおよび/または分布が成形に適合していることを検査し、CADモデルが成形に適合していないならば適切な訂正を自動的に行うことを含むことがある。検査は、CADモデルによって表現された仮想製品が金型の寸法と一致していることを確認すること、および/または、CADモデルが、成形からそれ自体知られているように、製品を脱型するために必要なすべてのドラフト角を含むことを確認することを含むことがある。そして、生産ファイルの決定は、さらに、CADモデルに基づいて、成形に用いられることになる液体材料の量、および/または液体材料を金型内で硬化/沈降させる時間を決定し、これらのパラメータを含む生産ファイルを出力することを含むことがある。次に、生産工程は、出力されたファイルに基づいて成形を行うこと(例えば、自動的に)を含み、ただし、金型は、決定された硬化時間の間、液体材料を、例えば公差誤差まで(例えば、脱型のための、ドラフト角の組み込みまたはドラフト角の修正まで)CADモデルによってキャプチャされた材料のジオメトリおよび/または分布に対応する形状に成形する。
【0114】
機械製品は、代わりに、おそらく「スタンピング部品」とも呼ばれるスタンピングされる部品、すなわちスタンピングプロセスにて製造される部品であり得る。この場合、生産工程は、CADモデルに基づいて生産ファイルを自動的に決定することを含むことがある。CADモデルは、例えば、部品が1つまたは複数のフランジで構成されている場合は、1つまたは複数のフランジで構成され、場合によっては、部品の1つまたは複数のフランジの展開状態を形成するために除去される余分な材料で、スタンピング部品を表する。ゆえにCADモデルは、フランジのない部分を表す部分(場合によっては全体の部分である)と、場合によっては余分な材料(あれば)を含むフランジを表す外側の余分なパッチ部分を含む。余分なパッチ部分は、ある長さでg2連続を与え、次にある長さでg1連続を与えることがある。生産ファイルの決定は、CADモデルによってキャプチャされたような仮想製品の材料のジオメトリおよび/または分布に基づいて、スタンピングマシンのパラメータ、例えばスタンピングダイまたはパンチのサイズおよび/またはスタンピングフォースを決定することを自動的に含むことがある。CADモデルが、部品の1つまたは複数のフランジの展開状態を形成するように除去されることになる余分な材料の表現も含んでいるならば、除去されることになる余分な材料は、例えば機械加工によって切断されてもよく、生産ファイルの決定は、例えば先に議論したように、対応する機械加工生産ファイルを決定することも含んでいることがある。フランジが1つまたは複数あるならば、製造ファイルを決定することは、スタンピング自体および余分な材料の除去の後に、スタンピング部品の内面に向かって、g2連続長に沿ってフランジを折り畳む工程を可能にするg2連続部およびg1連続部の幾何学的な仕様を決定することを含んでいることがある。それにより決定される生産ファイルは、スタンピングツールのパラメータ、オプションとしてフランジを折り曲げるための仕様(もしあれば)、およびオプションとして余分な材料を除去するための機械加工生産ファイル(もしあれば)から構成されることがある。そして、生産工程は、ファイルを、例えば、直接、自動的に出力し、そのファイルに基づいて、スタンプ処理を(例えば、自動的に)実行することができる。スタンピング工程は、材料の部分をスタンピング(例えば、パンチング)して、CADファイルで表されるような製品、つまり、展開されたフランジと余分な材料(もしあれば)を形成することを含むことがある。適切な場合、スタンピングプロセスは、次に、加工プロダクションファイルに基づいて余分な材料を切断することと、フランジを折るための仕様に基づいてフランジを折ることとを含み、それによってフランジをそのg2連続長で折って部品の外側境界線に滑らかな側面を与えることがある。この場合、CADモデルでは余分な材料が取り除かれ、フランジが折り畳まれているが、製造後の形状は余分な材料が取り除かれ、フランジが展開された状態で表現されるため、仮想の部品と異なっているのである。
【0115】
CADモデルは、特徴ベースであり得る(例えば、特徴木に含まれ、オプションとして特徴木を実行することによって得られる対応するB-repを含んでいることがある)。フィーチャーベースの3Dモデルは、製造工程に影響を与えるCADモデルの形状誤差(衝突など)を検出し、自動的に解決することができる(例えば、製造ファイルを決定する際に)。衝突は、3Dモデルの2つのパーツが、例えば相対的な動きのために、相互に干渉することである。その上さらに、この衝突は、CADの特徴ベースモデルに基づく有限要素解析によってのみ検出されることがある。それゆえ、衝突の解決は、特徴のパラメータを繰り返し修正し、有限要素解析を行うことで、CADソリューションと一緒に、または自動的に行うことができる。
【0116】
別の例として、特徴に基づく3Dモデルは、コンピューター数値制御(CNC)を通じて機械用のツールパスを自動的に作成することを可能にする(例えば、生産ファイルを決定するステップで)。CNCでは、製造する対象物ごとに独自のコンピュータープログラムを作成し、機械に取り付けられたマイクロコンピューター、機械制御装置に格納して実行する。プログラムには、工作機械が従うべき命令とパラメータが含まれる。ミル、旋盤、ルーター、グラインダー、レーザーは、CNCで操作を自動化できる一般的な工作機械の例である。
【0117】
CADファイルからのカスタムコンピュータープログラムの生成は、自動化されることがある。そのため、このような生成はエラーが発生しやすく、製造された製品にCADモデルを完全に再現することができないことがある。CNCは、手動加工よりも高い精度、複雑さ、再現性を提供すると考えられる。また、他の恩恵は、精度、スピード、柔軟性が向上し、3Dデザインを含む輪郭形状の加工を可能にする輪郭加工などの性能を含む。
【0118】
B-rep(すなわち、境界表現)は、機械部品の3D表現である。具体的には、B-repは、機械部品を表す3Dモデリングされたオブジェクトを記述する永続的なデータ表現である。B-rep は、機械部品を表す3Dモデリングされたオブジェクトの設計段階で実行された計算および/または一連の操作の結果であり得る。モデリングされたオブジェクトを表現する際にコンピューターの画面に表示される機械部品の形状は、(例えば、B-repのテッセレーション)である。例では、B-repはモデルオブジェクトの一部を表している。
【0119】
B-repはトポロジカルなエンティティおよび幾何学的なエンティティを含む。トポロジカルなエンティティは、面、エッジ、頂点のことである。幾何学的なエンティティは、表面、平面、曲線、ライン、点などの3D物体である。定義によると、面は、支持面という名の表面の境界部分である。エッジは曲線の境界部分であり、支持曲線と呼ばれる。頂点とは、3D空間における点である。これらは次のように互いに関係される。曲線の境界部分は、曲線上にある2点(頂点)で定義される。表面の境界部分は、表面上にあるエッジの集合である境界によって定義される。面のエッジの境界は、頂点を共有することによって連結される。面は、エッジを共有することによって連結される。2つの面は、エッジを共有していれば隣接する。同様に、2つのエッジが頂点を共有している場合は隣接していることになる。CADシステムでは、B-repは、「によって境界される」関係、トポロジカルエンティティとサポートジオメトリの関係、サポートジオメトリの数学的記述を適切なデータ構造で収集する。B-repの内部エッジは、ちょうど2つの面が共有するエッジである。定義によると、境界エッジは共有されず、1つの面にのみ接する。定義によると、境界面は少なくとも1つの境界エッジによって囲まれている。B-repは、そのすべてのエッジが内部エッジである場合、閉じているという。B-repは、少なくとも1つの境界エッジを含んでいれば、開いているという。閉じたB-repは、空間を(仮想的に)囲む材料の内側部分を定義するため、厚みのある3Dボリュームをモデリングするために用いられる。オープンB-repは、3Dの皮膚を表すもので、その厚みは十分に小さく、無視することができる。
【0120】
B-repは、CADモデリングで使われる他の表現形式と比較して、任意の形状を正確に表現できることが大きな特徴である。点群、距離場、メッシュなど、用いられている他のすべての表現は、離散化によって表現する形状の近似を実行する。一方、B-repは、正確なデザインを表す表面方程式を含むため、CNC用のツールパスの生成または、特定の3Dプリンター技術に適したサンプル密度への離散化など、さらなる製造のための真の「マスターモデル」を構成しているのである。言い換えると、B-repを使うことで、製造された物体を忠実に再現した3Dモデルを作成することができる。B-repは、3Dモデルの挙動をシミュレーションするのにも有利である。応力、熱、電磁波などの解析においては、物理現象を捉えるためのシミュレーションメッシュの局所的な細分化をサポートし、キネマティクスにおいては、曲面間の真の接触モデリングをサポートすることが可能である。最後に、B-repはメモリーおよびファイルのフットプリントを小さくすることができる。第1に、パラメータのみに基づく曲面が表現されているため。メッシュなどの他の表現では、等価な表面は最大で数千の三角形で含む。第2に、B-repには履歴に基づく情報が含まれていないためである。
【0121】
方法は、コンピューターに実装される。今述べたことは、方法のステップ(または実質的にすべてのステップ)が、少なくとも1台のコンピューター、または同じようなあらゆるシステムによって実行されることを意味する。ゆえに、本方法のステップは、コンピューターによって、おそらく完全に自動的に、または、半自動的に行われる。例では、方法のステップのうちの少なくともいくつかのトリガーは、ユーザーコンピューターインタラクションを通じて行われることがある。要求されるユーザーコンピューターインタラクションのレベルは、予想される自動性のレベルしだいであり、ユーザーの願望を実装する必要性とのバランスに置かれることがある。例では、今述べたレベルは、ユーザー定義されるおよび/または事前定義されることがある。本方法の場合、本方法の各ステップは自動的に実行されるため、本方法は完全に自動化されることがある。
【0122】
方法のコンピューター実装の典型的な例は、今述べた目的に対して適合したシステムにより方法を行うことである。システムは、メモリーおよびグラフィカルユーザーインターフェース(GUI)に結合されたプロセッサーを含むことがあり、メモリーは、方法を行うための命令を含むコンピュータープログラムを記録している。さらに、メモリーは、データベースを格納することもある。メモリーは、上記のストレージに対して適合したあらゆるハードウェアであり、おそらく、いくつかの物理的に異なった部分(例えば、プログラム用の1つ、およびおそらくデータベース用の1つ)を含む。
【0123】
図18は、システムの例を示し、システムが、クライアントコンピューターシステム、例えば、ユーザーのワークステーションである。
【0124】
例に関するクライアントコンピューターは、内部通信BUS1000に接続された中央処理装置(CPU)1010、BUSにさらに接続されたランダムアクセスメモリー(RAM)1070を含む。さらに、クライアントコンピューターは、BUSに接続されたビデオランダムアクセスメモリー1100に関連付けられたグラフィック処理装置(graphical processing unit:GPU)1110を有して提供される。さらに、ビデオRAM1100は、当業者にはフレームバッファとしても知られている。マスストレージデバイスコントローラー1020は、たとえばハードドライブ1030などのマスメモリーデバイスへのアクセスを管理する。コンピュータープログラム命令およびデータを有形に具現化することに対して適したマスメモリーデバイスは、例として、たとえば、EPROM、EEPROM、およびフラッシュメモリーデバイスなどの半導体メモリーデバイス、たとえば内蔵ハードディスクおよび取外し可能ディスクなどの磁気ディスク、光磁気ディスクを含む、不揮発性メモリーのすべてのかたちを含む。前述のもののいずれかは、特別に設計された ASIC(特定用途向け集積回路)により補完される、または組み込まれることがある。ネットワークアダプター1050は、ネットワーク1060へのアクセスを管理する。さらに、クライアントコンピューターは、たとえば、カーソル制御デバイス、キーボード、または同等のものなど、ハプティックデバイス1090を含むこともある。カーソル制御デバイスは、クライアントコンピューターに用いられて、ユーザーに、カーソルをディスプレイ1080におけるどんな望みの位置でも選択的に置くことを許可する。加えて、カーソル制御デバイスは、ユーザーに、種々のコマンドを選択し制御信号を入力することを可能にする。カーソル制御デバイスは、システムに制御信号を入力するために、いくらかの信号生成デバイスを含む。通常、カーソル制御デバイスは、マウスであり、マウスのボタンが信号を生成するのに用いられることがある。代わりにまたは加えて、クライアントコンピューターシステムは、センシティブパッド、および/またはセンシティブスクリーンを含むことがある。
【0125】
コンピュータープログラムは、コンピューターによって実行可能な命令を含み、命令が上記のシステムに方法を行わせるための手段を含むことがある。プログラムは、システムのメモリーを含む、あらゆるデータ記録媒体に記録可能であり得る。プログラムは、例えば、デジタル電子回路に、またはコンピューターのハードウェア、ファームウェア、ソフトウェアに、またはそれらの組み合わせに実装されることがある。プログラムは、装置として、例えば、プログラマブルプロセッサーによる実行のために機械読取り可能ストレージデバイスに有形に具現化された製品として実装されることがある。方法ステップは、方法の機能を行う命令のプログラムを、入力データに操作し出力を生成することによってプログラマブルプロセッサーが実行することにより行われることがある。ゆえに、プロセッサーは、データストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、データおよび命令を送信するようにプログラム可能であり、結合されることがある。アプリケーションプログラムは、ハイレベル手続きプログラミング言語もしくはオブジェクト指向プログラミング言語にて、または望まれるならばアセンブリ言語もしくはマシン言語にて実装されることがある。いかなる場合も、言語は、コンパイル言語またはインタプリタ言語であり得る。プログラムは、フルインストールプログラムまたはアップデートプログラムであり得る。システムへのプログラムの適用は、いかなる場合も、方法を行うための命令に帰着する。コンピュータープログラムは、代わりに、クラウドコンピューティング環境のサーバーに格納され実行されることがあり、サーバーは、1つまたは複数のクライアントとネットワークを介して通信している。上記場合、処理ユニットがプログラムによって含まれる命令を実行することにより、クラウドコンピューティング環境において方法が実行される。
【符号の説明】
【0126】
1010 CPU
1020 マスストレージデバイスコントローラー
1030 ハードドライブ
1050 ネットワークアダプター
1060 ネットワーク
1070 ランダムアクセスメモリー
1080 ディスプレイ
1090 ハプティックデバイス
1100 ビデオランダムアクセスメモリー
1110 GPU