(57)【要約】      （修正有）【課題】３次元の部品の付加製造の、改良された方法に対するニーズが存在する。【解決手段】３Ｄシーンにおける３Ｄ部品の表面表現であって、境界ボリュームの内側に囲まれている表面表現を供給すること、３Ｄシーンをボクセルに離散化すること、それぞれのボクセルに対して３Ｄ部品の表面表現に最小距離値を格納することによって符号なし距離場を形成すること、境界ボリュームの外側に位置する１つ以上のボクセルであって、ラベルに関連付けられている境界ボリュームの外側に位置する１つ以上のボクセルを決定すること、停止条件、すなわち距離場の勾配反転に達すること、が満たされるまで、塗りつぶしによってラベルを伝播させること、符号付き距離場が得られるように、すべてのラベルなしボクセルの距離値の符号を反転させること、符号付き距離場に基づいて等値ゼロにおける３Ｄ部品の等値面を計算すること、および、３Ｄ部品を付加製造すること、を含む。【選択図】図１
2019106177.tif 000002
【特許請求の範囲】
【請求項１】
３次元（３Ｄ）部品の付加製造のコンピュータ実行方法であって、
３Ｄシーンにおける３Ｄ部品の表面表現であって、境界ボリュームの内側に囲まれている表面表現を供給すること（Ｓ１０）、
前記３Ｄシーンをボクセルに離散化すること（Ｓ２０）、
各ボクセルに対して前記３Ｄ部品の表面表現に最小距離値を格納することによって、符号なし距離場を形成すること（Ｓ３０）、
前記境界ボリュームの外側に位置する１つ以上のボクセルであって、ラベルに関連付けられている、前記境界ボリュームの外側に位置する前記１つ以上のボクセルを決定すること（Ｓ４０）、
前記距離場において勾配反転が生じるという停止条件が満たされるまで、塗りつぶしによって前記ラベルを伝播させること（Ｓ５０）、
符号付き距離場が得られるように、すべてのラベルなしボクセルの距離値の符号を反転させること（Ｓ６０）、
前記符号付き距離場に基づいて等値ゼロにおける前記３Ｄ部品の等値面を計算すること（Ｓ７０）、および、
前記３Ｄ部品を付加製造すること（Ｓ８０）
を含むコンピュータ実行方法。
【請求項２】
それぞれのボクセルに対して前記３Ｄ部品の前記表面表現に最小距離値を格納することは、
所定の距離値であるバンドサイズよりも大きい最小距離値を有するボクセルを決定することと、
前記決定されたボクセルに対して同じ値であって、０と前記バンドサイズとの間を含む値とは異なるような同じ値を割り当てることと、をさらに含む、
請求項１に記載のコンピュータ実行方法。
【請求項３】
前記バンドサイズは、ボクセルのサイズの２倍と等しいかそれよりも大きい、
請求項２に記載のコンピュータ実行方法。
【請求項４】
前記最小距離値は第１の行列に格納され、前記第１の行列のそれぞれのセルは、３Ｄ空間中の座標の集合を備えるボクセルに対応し、前記第１の行列のそれぞれのセルはスカラ値を含み、前記第１の行列のセルの集合はスカラ場を形成する、
請求項１〜３のいずれか１項に記載のコンピュータ実行方法。
【請求項５】
前記バンドサイズよりも大きい最小距離値を有する前記ボクセルの値は前記行列に格納されない、
請求項２と請求項４とを組み合わせたコンピュータ実行方法。
【請求項６】
前記３Ｄシーンを離散化する前に、当該３Ｄシーンを離散化する前記ボクセルのサイズを選択することをさらに含む、
請求項１〜５のいずれか１項に記載のコンピュータ実行方法。
【請求項７】
ボクセルに関連付けられたすべてのラベルを第２の行列に格納すること、をさらに含む、
請求項１〜６のいずれか１項に記載のコンピュータ実行方法。
【請求項８】
前記第１の行列と前記第２の行列とは異なる、
請求項４と結合した請求項７のコンピュータ実行方法。
【請求項９】
停止条件が満たされるまで塗りつぶしによって前記ラベルを伝播させることは、
ラベル付きボクセルの前記最小距離値の値を、隣接するラベルなしボクセルの前記最小距離値の値と比較することと、
前記隣接するラベルなしボクセルの前記最小距離値が、ラベル付きボクセルの前記最小距離値の値と等しいかそれよりも低い場合、前記ラベルなしボクセルへ前記ラベルを伝播させることと
を含む請求項１〜６のいずれか１項に記載のコンピュータ実行方法。
【請求項１０】
請求項１〜９のいずれか１項に記載の前記方法を行うための命令を含むコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムが記録された、コンピュータ読み取り可能な記憶媒体。
【請求項１２】
メモリおよびグラフィカルユーザインタフェースに接続されたプロセッサを含むシステムであって、前記メモリには請求項１０に記載の前記コンピュータプログラムが記録されている、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、３次元（３Ｄ）の部品の付加製造（Ａｄｄｉｔｉｖｅ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）についての、方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
多くのシステムおよびプログラムが、オブジェクトの、設計、エンジニアリングおよび製造のために、マーケットに提供されている。ＣＡＤは、コンピュータ援用設計（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の頭文字であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥは、コンピュータ援用エンジニアリング（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）の頭文字であり、例えば、将来の製品の物理的な振る舞いをシミュレートするためのソフトウェアソリューションに関する。ＣＡＭは、コンピュータ援用製造（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）の頭文字であり、例えば、製造プロセスおよびオペレーションを定義するためのソフトウェアソリューションに関する。そのようなコンピュータ援用設計システムでは、グラフィカルユーザインタフェースは、技術の効率に関する重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に埋め込まれていてもよい。ＰＬＭは、拡張エンタープライズの概念全体にわたって、会社が、製品データを共有し、共通の工程を適用し、構想からそれらの寿命の終わりまで製品の開発のための企業知識を活用することを支援する経営戦略を指す。ダッソー・システムズ（Ｄａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ）（ＣＡＴＩＡ、ＥＮＯＶＩＡおよびＤＥＬＭＩＡの商標のもと）によって提供されるＰＬＭソリューションは、エンジニアリングハブ（製品エンジニアリング知識を組織する）、製造ハブ（製造エンジニアリング知識を管理する）、および、企業ハブ（エンジニアリングハブおよび製造ハブの両方への企業統合および接続を可能にする）を提供する。それらすべてで、システムは、ダイナミックな、知識に基づいた製品創造と、最適化された製品定義、製造準備、生産およびサービスを推進する意志決定支援とを可能にする、リソース、プロセス、製品をリンクするオープンオブジェクトモデルをもたらす。
【０００３】
付加製造は、材料の層の上に層を加えることによって３次元（３Ｄ）のオブジェクトを構築する技術である。材料は、プラスチック、金属、コンクリートなどであってもよい。「ＡＭ」という語句は、３Ｄ印刷、ラピッドプロトタイピング（ＲＰ）、積層製造および付加造形のような（ただしこれらに限定されない）サブセットを含む多くの技術を包含する。ＡＭ技法は、コンピュータ、ＣＡＤソフトウェアのような３Ｄモデリングソフトウェア、３Ｄオブジェクトの構築専用の機械装置（ＡＭプリンタとも称される）、および、オブジェクトの構築のために使用される層形成材料、の使用に頼っている。ＣＡＤモデル化オブジェクトが、３Ｄモデリングソフトウェアの使用によってひとたびモデル化されると、ＣＡＤモデル化オブジェクトに関連したＣＡＤファイルのデータは、ＡＭプリンタによって読み込まれる。ＣＡＤファイルは、形状（ｇｅｏｍｅｔｒｙ）がそれから生成されてもよい仕様を含んでおり、それは次に、ＣＡＤソフトウェアによって表現が生成されることを可能にする。続いて、ＡＭプリンタは、３Ｄオブジェクトを作製するために、層の上に層を重ねる方法で、液体、粉末、シート材料または他のものの連続する層を載せるまたは追加する。
【０００４】
ＡＭプリンタによって印刷される３Ｄオブジェクトの重要な要件は、３Ｄオブジェクトにおいてボリューム領域間の境界を明確に画定することである。境界画定は、閉じた「水密（ｗａｔｅｒｔｉｇｈｔ）」の表面を生成するために使用される。３Ｄモデルの表面が「水密」の表面ではない場合、ＡＭプリンタは、ＣＡＤファイルのデータを正確に解釈することができず、その結果、ＣＡＤファイルによって表された３Ｄオブジェクトを印刷することができない。あるいは、ＡＭプリンタが３Ｄオブジェクトを印刷することができても、最終の成果物が、ＣＡＤファイルのオリジナルな表現とは異なるものになることがあり、そのような不一致は、３Ｄオブジェクトが構築された後にだけ気付くことができる。従って、３Ｄオブジェクトの構築のために使用された原料は無駄になる。
【０００５】
３Ｄオブジェクトをデジタルに表すための２つの主な方法がある。第１のものは、その表面による３Ｄオブジェクト表現である。３Ｄオブジェクトは、その境界に従う要素（多角形の面、エッジ、点など）の集合によって記載される。これは、その低いメモリフットプリントおよび高い精度の点で、最も一般的な表現である。「内側（ｉｎｓｉｄｅ）」および「外側（ｏｕｔｓｉｄｅ）」のような、領域についての概念は非明示的なものであり、すなわち、表面を「通って（ｔｈｒｏｕｇｈ）」通過するたびに領域は変化する。しかしながら、穴を含む３Ｄ表現の表面が非多様体であるかまたは他の表面と交差する場合、領域間の境界決定は不明瞭になる。
【０００６】
３Ｄオブジェクトの第２の３Ｄ表現はボリューム表現である。３Ｄオブジェクトは、オブジェクトまたは３Ｄ空間全体のソリッド領域を満たすグリッド（通常四面体または６面体）中のより小さなボリューム要素の集合によって記載される。ボクセルと呼ばれるこれらの要素は、しばしば、それぞれが、空間のその点におけるオブジェクトの特性（例えば密度、色など）を規定する１つまたは複数のスカラ値を有する。与えられたオブジェクトに対して、ボリュームは、そのサイズの立方体（表面に対するそのサイズの正方形に対立するものとして）で見積もられる。この表現は、ソリッド領域の表面だけを記載するのではなくソリッド領域について明確に記載するため、常に明瞭である。しかしながら、ボリュームに基づく表現は、はるかに大きいメモリフットプリントを有する傾向がある。
【０００７】
先に取り上げたように、明確に規定された領域についての概念は、それがオブジェクトのデジタル表現とその現実の相当物（印刷された３Ｄオブジェクト）との間をリンクするものであるため、重要である。明確に規定された領域がないと、３Ｄオブジェクトの有用性は激しく減少する。例えば、それは製造できないかまたは直接に３Ｄ印刷できず、その量を見積もる、または、スクリーンにそれを明瞭に表示する、ということができない。この観点から、多くの方法は、３Ｄオブジェクトを修正する方法を提供することを目指す。
【０００８】
穴埋め法（Ｈｏｌｅ  Ｆｉｌｌｉｎｇ  ｍｅｔｈｏｄ）は、もっぱら表面表現に機能する。それらは、ブール演算を使用することを試みる前に、表面の穴を閉じることを支援することができる。これらの方法は、穴を囲むエッジの集合を選択し、穴を閉じるためにキャップを形成する追加の面の集合を生成することによって、機能する。しかしながら、エッジの自動的な選択は非常な難問であり、この方法は、非多様体の、ひどく配向したまたはねじれた表面を非常に生成しやすい。
【０００９】
ブール演算は、もっぱら、１つまたは複数の多面体（メッシュとして表面を形成する相互に連結した面の集合）で作られる表面表現で機能する。それらは、高精度で交差を解くことができる強力なツールである。さらに、それは、一連のブール演算によって３Ｄオブジェクトを構築する方法として、コンストラクティブソリッド形状（Ｃｏｎｓｔｒｕｃｔｉｖｅ  Ｓｏｌｉｄ  Ｇｅｏｍｅｔｒｙ）によっても使用される。それらはまた、交差の近くの形状を修正するだけであり、従って、入力オブジェクトの詳細および鋭さをすべて維持することができる。しかしながら、それらは計算上のコストが高く、穴のない、適切に配向した多様体表面でのみ機能する。さらにそれらは、浮動小数点数で制限された精度のために、接線接触（ｔａｎｇｅｎｔ  ｃｏｎｔａｃｔ）の場合にはしばしば信頼性が低い。
【００１０】
モルフォロジー演算は、３Ｄオブジェクトのボリューム表現を修復する主要なツールのうちの１つである。それらは、３Ｄオブジェクトのトポロジーの複雑さに対するそれらの容易な並列化および独立性のおかげで、渦巻き状の形状を速く処理することができる。膨張・収縮法（Ｄｉｌａｔｉｏｎ−Ｅｒｏｓｉｏｎ  ｔｅｃｈｎｉｑｕｅ）のような方法は、穴を閉じることができ、交差を非常に確実に解き、有効で明瞭なオブジェクトを常に生成する。しかしながら、それらは大きいメモリフットプリントの影響を受け、それらが処理する３Ｄオブジェクトの詳細および鋭さを衰えさせる傾向がある。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
この状況において、３次元（３Ｄ）の部品の付加製造の、改良された方法、システムおよびプログラムに対するニーズが依然として存在する。特に、任意の３Ｄ表現について、ＡＭの分野は完全な明瞭性を必要とする。メッシュ生成（Ｍｅｓｈ  Ｇｅｎｅｒａｔｉｏｎ）は、低品質または不完全なデータに対する高い耐性、および、大量の入力データを処理する能力を必要とする。
【課題を解決するための手段】
【００１２】
従って、３次元（３Ｄ）の部品の付加製造のコンピュータ実行方法が提供される。本方法は、３Ｄシーンにおける３Ｄ部品の表面表現であって、境界ボリュームの内側に囲まれている表面表現を提供することを含む。本方法はさらに、前記３Ｄシーンをボクセルに離散化することを含む。次に、それぞれのボクセルに対して前記３Ｄ部品の表面表現に最小距離値を格納することによって符号なし距離場が形成される。本方法はさらに、前記境界ボリュームの外側に位置する１つ以上のボクセルであって、ラベルに関連付けられている前記境界ボリュームの外側に位置する前記１つ以上のボクセルを決定することを含む。前記ラベルは、停止条件、すなわち前記距離場の勾配反転に達すること、が満たされるまで、塗りつぶし処理（ｆｌｏｏｄ  ｆｉｌｌｉｎｇ；フラッドフィル）によって伝播（ｐｒｏｐａｇａｔｅ）させられる。本方法はさらに、符号付き距離場が得られるように、すべてのラベルなしボクセルの距離値の符号を反転させること、を含む。本方法はまた、前記符号付き距離場に基づいて等値ゼロ（ｉｓｏ−ｖａｌｕｅ  ｚｅｒｏ）における前記３Ｄ部品の等値面（ｉｓｏ−ｓｕｒｆａｃｅ）を計算すること、を含む。次に、本方法は、前記３Ｄ部品を付加製造すること（Ｓ８０）、を含む。
【００１３】
本方法は、下記の１つ以上を含んでもよい。
【００１４】
・それぞれのボクセルに対して前記３Ｄ部品の前記表面表現に最小距離値を格納することは、所定の距離値であるバンドサイズ（ｂａｎｄ  ｓｉｚｅ）よりも大きい最小距離値を有するボクセルを決定することと、前記決定されたボクセルに対して同じ値であって、０と前記バンドサイズとの間を含む値とは異なるような同じ値を割り当てることと、をさらに含む。
【００１５】
・前記バンドサイズは、ボクセルのサイズの２倍と等しいかそれよりも大きい。
【００１６】
・前記最小距離値は第１の行列に格納され、前記第１の行列のそれぞれのセルは、３Ｄ空間中の座標の集合を備えるボクセルに対応し、前記第１の行列のそれぞれのセルはスカラ値を含み、前記第１の行列のセルの集合はスカラ場を形成する。
【００１７】
・前記バンドサイズよりも大きい最小距離値を有する前記ボクセルの値は前記行列に格納されない。
【００１８】
・前記３Ｄシーンを離散化する前に前記３Ｄシーンを離散化する前記ボクセルのサイズを選択すること。
【００１９】
・ボクセルに関連付けられたすべてのラベルを第２の行列に格納すること。
【００２０】
・前記第１の行列と前記第２の行列とは異なる。
【００２１】
・停止条件が満たされるまで塗りつぶしによって前記ラベルを伝播させることは、ラベル付きボクセルの前記最小距離値の値を、隣接するラベルなしボクセルの前記最小距離値の値と比較することと、前記隣接するラベルなしボクセルの前記最小距離値が、ラベル付きボクセルの前記最小距離値の値と等しいかそれよりも低い場合、前記ラベルなしボクセルへ前記ラベルを伝播させることと、を含む。
【００２２】
本方法を行うための命令を含むコンピュータプログラムがさらに提供される。
【００２３】
前記コンピュータプログラムが記録された、コンピュータ読み取り可能な記憶媒体がさらに提供される。
【００２４】
メモリおよびグラフィカルユーザインタフェースにつながれたプロセッサを含むシステムであって、前記メモリには前記コンピュータプログラムが記録されているシステムがさらに提供される。
ここで、本発明の実施形態について、非限定的な例により、添付の図面を参照して、記載することとする。
【図面の簡単な説明】
【００２５】
【図１】本方法の一例に係るフローチャートを示す。
【図２】ＣＡＤシステムのグラフィカルユーザインタフェースの一例を示す。
【図３】本発明のシステムの一例を図示する。
【図４】３Ｄオブジェクトの表面表現の一例を図示する。
【図５】図４の３Ｄオブジェクトのスライス平面を示す。
【図６】図４の３Ｄオブジェクトの領域の境界を定める表面表現の一例を図示する。
【図７】本方法の一例を図示する。
【図８】本方法の一例を図示する。
【図９】本方法の一例を図示する。
【図１０】本方法の一例を図示する。
【図１１】本方法の一例を図示する。
【図１２】本方法の一例を図示する。
【図１３】本方法の一例を図示する。
【図１４】本方法の一例を図示する。
【発明を実施するための形態】
【００２６】
図１のフローチャートを参照して、３次元（３Ｄ）の部品の付加製造のコンピュータ実行方法が提案される。本方法は、３Ｄシーンにおける３Ｄ部品の表面表現を供給することを含む。３Ｄ部品の表面表現は、境界ボリューム（ＢＢ）の内側に囲まれている。本方法は、３Ｄシーンをボクセルに離散化することをさらに含む。次に、それぞれのボクセルに対して３Ｄ部品の表面表現に最小距離値を格納することによって、符号なし距離場が形成される。次に、境界ボリュームの外側に位置する１つ以上のボクセルが、決定または特定される。境界ボリュームの外側に位置する１つ以上のボクセルは、ラベルに関連付けられている。次に、ラベルは、停止条件が満たされるまで、塗りつぶしによって伝播する。停止条件は、符号なし距離場の勾配反転に達することである。次に、すべてのラベルなしボクセルの距離値の符号が反転される。その結果、符号付き距離場が得られる。等値ゼロにおける３Ｄ部品の等値面が計算され、その計算は、符号付き距離場に基づく。次に、３Ｄ部品が付加製造される。
【００２７】
上述の方法により、任意の３Ｄオブジェクト表面表現の異なるボリューム領域間の明瞭な境界の生成が、改善される。最初に、それぞれのボクセルに対して３Ｄ部品の表面表現に対する最小距離値の符号なし距離場が形成される。このようにして最小距離スカラ場が得られ、それは最小距離の実数値のグリッドである。興味深いことに、この最小距離スカラ場は入力要素の周囲（入力で提供される表面表現の周囲）の特定の厚さを特定することを可能にする。次に、塗りつぶし法を使用して、ラベルは、符号なし距離場の勾配の反転という伝播停止条件の下で、伝播する。これにより、領域（典型的には３Ｄ部品の外側の領域および３Ｄ部品の内側の領域）を表示することが可能になる。ここで、同じラベルを共有するボクセルのそれぞれの隣接する集合は、領域を表す。次に、それぞれのラベル付き領域の周囲の境界が、等値面再構成法を使用して計算される。等値は０に設定される。このようにして、３Ｄ部品の「外側」領域の境界決定を記述する明瞭な閉じた多面体が、出力として得られる。この多面体は、３Ｄ部品の水密の３Ｄメッシュであり、これにより、ＡＭプリンタは３Ｄ部品を表す製品を構築することができる。
【００２８】
このようにして、本発明は、入力形状（ｉｎｐｕｔ  ｇｅｏｍｅｔｒｙ）（３Ｄ部品の表面表現）を、塗りつぶし法が適用されるボリューム表現に変換する。そして、明瞭な表現は、演算（特に塗りつぶし処理）がなされたボリューム表現から計算される。本発明は、入力形状の小さな細部を高い忠実度で維持すると同時に、入力形状が不明瞭である任意の交差および小さな穴を確実に修復する。さらに、ここで記載された本方法の計算の複雑さは、ほぼ、出力に対して望む精度のみに依存する。従って、それは、入力における要素の数で非常によく見積もられ、また、調節すべきパラメータの数が少ないために、使用が容易でもある。実際のところ、この方法をユーザの指揮を全く必要とすることのない真に自動的な「押しボタン式」のツールにするために、デフォルトのパラメータ化を容易になすことができる。本発明のさらなる利点は、異なるタイプの形状を、本方法の入力に与えることができることである。例えば、３Ｄ部品は非一様有理Ｂスプライン（ＮＵＲＢ）とすることが可能であり、曲線および表面を生成し表現するためにコンピュータグラフィックスにおいて一般に使用されるいかなるモデルも使用することができると考えられる。別の例として、３Ｄ部品は、ＬＩＤＡＲから得られるもののような単純な表面モデルとすることが可能である。以下、本発明のさらなる利点を説明する。
【００２９】
本方法は、コンピュータで実行される。これは、少なくとも１つのコンピュータまたは任意の同様のシステムによって、本方法のステップ（あるいは本質的にすべてのステップ）が実行されることを意味する。従って、本方法のステップは、コンピュータによって、完全に自動的に、あるいは半自動的に行われる。例において、本方法のステップのうちの少なくともいくつかのトリガーは、ユーザとコンピュータとの対話によって行われてもよい。ユーザとコンピュータとの対話の要求されるレベルは、予測された自動性のレベルによって決まるものであってもよく、ユーザの希望を実行する必要性とバランスをとってもよい。例えば、表面表現を提供するステップは、ユーザの行為（例えばユーザーが部品を選択すること）で実行されてもよい。別の例として、バンドサイズを選択するステップ、および／または、ボクセルのサイズを選択するステップは、ユーザの行為（例えば、ユーザがバンドサイズおよび／またはボクセルサイズの値を選択（または入力）すること）で行われてもよい。
【００３０】
方法のコンピュータによる実行の典型例は、この目的に適したシステムで本方法を行うことである。システムは、メモリおよびグラフィカルユーザインタフェース（ＧＵＩ）につながれたプロセッサを含んでもよく、メモリには、本方法を行うための命令を含むコンピュータプログラムがその上に記録されていてもよい。メモリはまた、データベースを記憶してもよい。メモリは、そのような記憶に適した任意のハードウェアであり、いくつかの物理的に異なる部品（例えばプログラム用のものおよびデータベース用のもの）を含んでいてもよい。
【００３１】
本方法は、通常、モデル化オブジェクトを処理する。モデル化オブジェクトとは、例えばデータベースに記憶されたデータによって定義された任意のオブジェクトである。「モデル化オブジェクト」という表現は、データそれ自体を示すように拡張され得る。システムの種類に従って、モデル化オブジェクトは、異なる種類のデータによって定義されてもよい。もちろん、システムは、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／または、ＰＬＭシステムの任意の組み合わせであってもよい。それらの異なるシステムでは、モデル化オブジェクトは、対応するデータによって定義される。従って、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータについて話されるかもしれない。しかしながら、これらのシステムの任意の組み合わせに対応するデータによってモデル化オブジェクトが定義されてもよいので、これらのシステムは他方に対して排他的なものではない。このように、システムは、ＣＡＤおよびＰＬＭのシステムの両方であってもよい。
【００３２】
ＣＡＤシステムは、ＣＡＴＩＡのような、モデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを少なくとも設計するために適した任意のシステムをさらに意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。ＣＡＤシステムは、例えば、エッジまたは線を使用して、特定の場合には面または表面と共に、ＣＡＤモデル化オブジェクトの表現を提供してもよい。線、エッジ、または表面は、様々な方法（例えば非一様有理Ｂスプライン（ＮＵＲＢＳ）、または、ＬＩＤＡＲによって計算された点の集合から得られた表面）で表されてもよい。具体的には、一つのＣＡＤファイルには、形状を生成し得る複数の仕様が含まれており、それにより、逆に、表現が生成されることが可能になる。モデル化オブジェクトの仕様は、一つまたは複数のＣＡＤファイルに格納されてもよい。ＣＡＤシステムにおいてモデル化オブジェクトを表すファイルの典型的なサイズは、１つの部品当たり１メガバイト以内である。また、モデル化オブジェクトは、典型的には、数千の部品の組立体であってもよい。
【００３３】
ＣＡＤの環境において、モデル化オブジェクトは、典型的には３Ｄモデル化オブジェクトであってもよく、例えば、一部品または部品の組立体、または好ましくは製品の組立体、といった製品を表す。「３Ｄモデル化オブジェクト」は、その３Ｄ表現を可能にするデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現は、すべての角度から部品を見ることを可能にする。例えば、３Ｄモデル化オブジェクトは、３Ｄ表現されるときに、３Ｄモデル化オブジェクトに設定された複数の軸のいずれかを中心として、または、表現が表示される画面における任意の軸を中心として、回転されてもよい。これは特に、２Ｄアイコン（３Ｄモデル化されていない）を除外する。３Ｄ表現の表示は、設計を容易にする（すなわち、統計的に設計者が彼らのタスクを遂行する速度を増加させる）。製品の設計は製造工程の一部であるので、産業における製造工程が促進される。
【００３４】
３Ｄモデル化オブジェクトは、例えばＣＡＤソフトウェアソリューションまたはＣＡＤシステムによるその仮想設計の完了の後に続いて実際の世界において製造される製品の形状を表してもよく、その製品は、（例えば、機械的）部品または部品の組立体（または部品の組立体と同等のもの。本方法の観点から部品の組立体が部品自体とみなされてもよいし、あるいは、本方法は組立体のそれぞれの部分に独立に適用されてもよい）、あるいはより一般的には任意の剛体の組立体（例えば移動体の機構）などである。ＣＡＤソフトウェアソリューションは、航空宇宙、建築、建造、消費財、ハイテク装置、産業用機器、輸送、船舶および／または海洋石油／ガス生産または輸送、を含む多様で限定のない産業分野において製品の設計を可能にする。このように、本方法によって設計された３Ｄモデル化オブジェクトは、いかなる機械部品としての産業製品を表してもよい。例えば、地上の輸送手段（例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラックおよびバス、列車を含む）の部品、空中の輸送手段（例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む）の部品、海上の輸送手段（例えば、海軍機器、商用船、海洋機器、ヨットおよび作業船、船舶用機器を含む）の部品、一般的な機械部品（例えば、産業用製造機械類、重いモバイルの機械類または機器、インストールされた機器、産業用機器製品、作られた金属製品、タイヤ製造製品を含む）電気機械的または電子部品（例えば、家電、セキュリティおよび／またはコントロールおよび／または計測の製品、計算および通信の機器、半導体、医療の装置および機器を含む）消費財（例えば、家具、家庭および園芸の製品、レジャー用品、流行製品、耐久消費財小売り業者の製品、繊維雑貨小売り業者の製品を含む）包装（例えば、食物および飲料およびタバコ、美容およびパーソナルケア、家庭用製品の包装を含む）などである。
【００３５】
ＣＡＤシステムは、履歴ベースであってもよい。この場合、モデル化オブジェクトは、形状の特性の履歴を含むデータによってさらに規定される。もちろん、モデル化オブジェクトは、標準的なモデリング特性（例えば、押し出し、回転、切断、および／または、丸め）および／または標準的な表面処理特性（例えば、スウィープ、ブレンド、持ち上げ、塗りつぶし、変形、および／または、スムージング）を使用して、実在の人（すなわち設計者／ユーザ）によって設計されてもよい。そのようなモデリング機能を支援する多くのＣＡＤシステムは、履歴ベースのシステムである。これは、設計特性の生成履歴が、典型的には、入出力リンクを通じて前記形状の特性をともにリンクする非繰返しのデータフローによって保存されることを意味する。履歴ベースのモデリングパラダイムは、８０年代の始め以降に周知となっている。モデル化オブジェクトは、２つの持続的なデータ表現、すなわち履歴およびＢレップ（すなわち境界表現）によって記載される。Ｂレップは、履歴において定義される計算の結果である。モデル化オブジェクトが表現されるときにコンピュータのスクリーンに表示される部品の形状は、Ｂレップ（テッセレーション（ｔｅｓｓｅｌｌａｔｉｏｎ）等）である。その部品の履歴は、設計の意図である。基本的に、履歴は、モデル化オブジェクトが施された演算についての情報を蓄積する。複雑な部品を表示することをより容易にするために、Ｂレップは履歴とともに保存されてもよい。設計の意図に従った部品の設計変更を可能にするために、Ｂレップとともに履歴が保存されてもよい。
【００３６】
ＰＬＭシステムは、物理的な製造製品（あるいは製造される製品）を表すモデル化オブジェクトの管理に適した任意のシステムをも意味する。そのため、ＰＬＭシステムにおいて、モデル化オブジェクトは、物理的なオブジェクトの製造に適しているデータによって定義される。これらは典型的には、寸法値および／または公差値であってもよい。勿論、オブジェクトの正確な製造のためにはそのような値を有する方が良い。
【００３７】
ＣＡＭソリューションは、製品の製造データの管理に適している、ハードウェアのソフトウェア、任意のソリューションをさらに意味する。製造データは、通常、製造される製品、製造工程、および要求されるリソースに関するデータを含む。ＣＡＭソリューションは、製品の製造工程全体を計画し最適化するために使用される。例えば、それは、ＣＡＭユーザに、実現可能性、製造工程の期間、または、製造工程の特定のステップで使用されてもよい特定のロボットのようなリソースの数についての情報を提供することができ、その結果、管理または要求される投資に関する決定を可能にする。ＣＡＭは、ＣＡＤ工程および潜在的なＣＡＥ工程の後に続く工程である。そのようなＣＡＭソリューションは、商標ＤＥＬＭＩＡ（登録商標）のもとでダッソー・システムズ社によって提供されている。
【００３８】
ＣＡＥソリューションは、モデル化オブジェクトの物理的な振る舞いの分析に適した、ハードウェアのソフトウェア、任意のソリューションをさらに意味する。周知であり広く利用されているＣＡＥ技術は、物理的な振る舞いを式によって計算しシミュレートできる、要素へのモデル化オブジェクトの分割を典型的に含む、有限要素法（ＦＥＭ）である。そのようなＣＡＥソリューションは、商標ＳＩＭＵＬＩＡ（登録商標）のもとで、ダッソー・システムズによって提供されている。これ以外に発展しているＣＡＥ技術としては、ＣＡＤ形状データを用いずに、複数の物理学の分野からの複数の構成要素からなる複合系の分析およびモデリングがある。ＣＡＥソリューションは、シミュレーションを可能にし、従って、製造される製品の、最適化、改良および評価を可能にする。そのようなＣＡＥソリューションは、商標ＤＹＭＯＬＡ（登録商標）のもとで、ダッソー・システムズによって提供されている。
【００３９】
ＰＤＭは、製品データ管理（Ｐｒｏｄｕｃｔ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ）を表す。ＰＤＭソリューションは、特定の製品に関するすべてのタイプのデータの管理に適した、ハードウェアのソフトウェア、任意のソリューションを意味する。ＰＤＭソリューションは、製品のライフサイクルに関与するすべての関係者（主としてエンジニアであるがプロジェクトマネージャ、財務関係者、販売員、およびバイヤーを含む）によって使用されてもよい。ＰＤＭソリューションは、通常、製品指向のデータベースに基づく。それは、関係者が彼らの製品についての一貫したデータを共有することを可能にし、従って、相違するデータを関係者が使用することを防止する。そのようなＰＤＭソリューションは、商標ＥＮＯＶＩＡ（登録商標）のもとで、ダッソー・システムズによって提供されている。
【００４０】
図２は、ＣＡＤシステムである場合における、システムのＧＵＩの一例を示す。
【００４１】
ＧＵＩ２１００は、底部およびサイドのツールバー２１４０、２１５０だけでなく標準的なメニューバー２１１０、２１２０を有する、典型的なＣＡＤのようなインタフェースであってもよい。そのようなメニューバーおよびツールバーは、ユーザが選択可能なアイコンのセットを含み、それぞれのアイコンは、当該技術において知られているように、１つ以上のオペレーションまたは機能に関連している。これらのアイコンのうちのいくつかは、ＧＵＩ２１００に表示された３Ｄモデル化オブジェクト２０００を編集および／または作業することに適したソフトウェアツールに関連している。ソフトウェアツールは、ワークベンチに分けられてもよい。それぞれのワークベンチは、ソフトウェアツールのサブセットを含む。特別には、ワークベンチの１つは、モデル化された製品２０００の形状の特性を編集するのに適している編集ワークベンチである。オペレーションにおいて、設計者は、例えば、オブジェクト２０００の一部を予め選択し、次に、適切なアイコンの選択によって、形状の制約を編集するか、オペレーション（例えば、次元、色などを変更する）を始める。例えば、典型的なＣＡＤオペレーションは、スクリーンに表示された３Ｄモデル化オブジェクトの穴あけまたは折り曲げのモデリングである。ＧＵＩは、例えば、表示された製品２０００に関する表示データ２５００を表示してもよい。図の例において、データ２５００（「特性ツリー」として表示されている）およびそれらの３Ｄ描写２０００は、ブレーキキャリパおよびディスクを含むブレーキ組立体に関する。ＧＵＩは、例えば、オブジェクトの３Ｄ配向を容易化するため、編集された製品のオペレーションのシミュレーションを開始するため、または、表示された製品２０００の様々な属性を与えるための、様々なタイプのグラフィックツール２１３０、２０７０、２０８０をさらに示してもよい。ユーザがグラフィックツールと対話することを可能にするように、カーソル２０６０は触覚デバイスによってコントロールされてもよい。
【００４２】
図３は、システムの一例を示し、当該システムは、クライアントコンピュータシステム（例えばユーザのワークステーション）である。
【００４３】
本例のクライアントコンピュータは、内部通信バス（ＢＵＳ）１０００に接続された中央処理装置（ＣＰＵ）１０１０、同じくＢＵＳに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を含む。クライアントコンピュータは、ＢＵＳに接続されたビデオランダムアクセスメモリ１１００に関連する、グラフィック処理装置（ＧＰＵ）１１１０をさらに備える。ビデオＲＡＭ１１００は、この技術において、フレームバッファとしても知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０のような大容量メモリ装置へのアクセスを管理する。コンピュータプログラムの命令およびデータを明確に包含するのに適した大容量メモリ装置は、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置のような半導体メモリ装置、内部ハードディスクおよびリムーバブルディスクのような磁気ディスク、光磁気ディスク、および、ＣＤ−ＲＯＭディスク１０４０を含む、すべての形式の不揮発性メモリを含む。これらは、特別に設計されたＡＳＩＣｓ（特定用途向け集積回路）によって補完されてもよいし、ＡＳＩＣｓに組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。また、クライアントコンピュータは、カーソル制御装置、キーボードなどのような触覚デバイス１０９０を含んでもよい。ディスプレイ１０８０上の任意の所望の位置にユーザが選択的にカーソルを置くことを可能にするために、クライアントコンピュータにおいてカーソル制御装置が使用される。さらに、カーソル制御装置は、ユーザが、様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、制御信号をシステムへ入力するための多くの信号生成装置を含む。典型的には、カーソル制御装置は、マウスであってもよく、マウスのボタンは信号を生成するために使用される。これらに替えてまたはこれらに加えて、クライアントコンピュータシステムは、感知可能なパッドおよび／または感知可能なスクリーンを含んでもよい。
【００４４】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本方法を行わせるための手段を含む。プログラムは、システムのメモリを含む、任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路において、または、コンピュータハードウェア、ファームウェア、ソフトウェアにおいて、またはそれらの組み合わせにおいて、実行されてもよい。プログラムは、装置（例えばプログラム可能なプロセッサによって実行するための機械可読の記憶装置に明確に組み入れられた製品）として実行されてもよい。方法ステップは、入力データを演算し出力を生成することによって本方法の機能を行う命令のプログラムを実行するプログラム可能なプロセッサによって実行されてもよい。このように、プロセッサは、プログラム可能であってもよく、且つ、データ記憶システム（少なくとも１つの入力装置および少なくとも１つの出力装置）からデータおよび命令を受け取るように、およびそれへデータおよび命令を送るように、接続されていてもよい。アプリケーションプログラムは、ハイレベルの手続き型またはオブジェクト指向のプログラミング言語で、または、アセンブリ言語もしくは機械語で実行されてもよい。いずれの場合も、言語は、コンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、完全なインストールプログラムまたはアップデートプログラムであってもよい。システムへのプログラムの適用は、いずれの場合も、本方法を行うための命令をもたらす。
【００４５】
「３Ｄ部品を付加製造する」（「３Ｄモデル化オブジェクトを付加製造する」ともいう）ということは、固体の３Ｄ部品を生産するために空間の特定のポイントへのエネルギーおよび／または材料の連続的な供給による３Ｄ部品の製造の工程を示す。材料は、プラスチック、金属、コンクリートなどでありうるが、それらには限定されない。このように、付加製造（ＡＭ）は、３Ｄモデル化オブジェクトを精巧に作る工程の一部である。モデル化オブジェクト（提供された３Ｄ部品）に対応する物理的製品が生産される。付加製造されたオブジェクトは、製品（部品など）、または、部品の組立体であってもよい。本方法は、モデル化オブジェクトの曖昧な表現の生成を改善し、従って、本方法はまた、製品の製造を改善し、従って製造工程の生産性を増加させる。
【００４６】
ここで図１を参照して、ステップＳ１０において、３Ｄ部品の表面表現は、３Ｄシーンの中で提供される。３Ｄ部品の表面表現は、入力データである。３Ｄ部品の表面表現は、点、線分、多角形の面、またはより複雑な要素（例えばＮＵＲＢＳに基づく面）の集合でありうる形状である。より一般的には、表面表現はメッシュである。これらの要素の方向または接続に関する情報は、必要ではない。例えば、３Ｄ部品がＮＵＲＢＳでモデル化される場合、その表現は、テッセレーションにされてもよい（例えば、表現は三角形にされる）。別の例として、ＬＩＤＡＲによって提供された点から３Ｄ部品が得られる場合、それらの点から表面だけが計算される。
【００４７】
３Ｄシーンは、その部品が位置づけられる空間である。３Ｄシーンは、その部品の位置を決定するための３つの軸ｘ、ｙ、ｚを使用してもよい。より具体的には、３Ｄシーンは、座標によって３Ｄ空間中のすべての点それぞれを記述する形状によって数学的に表現されてもよい物理的空間のモデルであってもよい。
【００４８】
表面表現は、境界ボリュームの内側に囲まれている。境界ボリュームは、コンピュータグラフィックスにおいて一般的に使用されている。境界ボリュームは、それから３Ｄ部品の表現が計算されるすべての形状を完全に含んでいる閉空間である。境界ボリュームは、境界箱（ｂｏｕｎｄ  ｂｏｘ）、境界球（ｂｏｕｎｄｉｎｇ  ｓｐｈｅｒｅ）などであってもよいが、それらには限定されない。
【００４９】
図４は、カメラの設計の３Ｄ表面表現の一例の画像（スクリーンショット）である。設計のそれぞれの分離しているピースは、異なる色（例えば異なるレベルのグレー）で表示される。この例では、３Ｄ表面はＮＵＲＢＳから構築されている。
【００５０】
さらに、図５は、内部の形状を見るためのスライス平面を有する、図４に示された同じ設計のスクリーンショットである。このモデルは、８００を超える分離している構成要素、幾何学的且つトポロジカルな穴、多数の接線接触および交差からなる。
【００５１】
図４および図５は、ＣＡＤモデルの構造の典型的な一例を示し、そのＣＡＤモデルは、交差、ピース間の接線接触および、ピースの穴を備える、分離しているピースの集合に分割されている。このように複数のピースへ分割することにより、設計者は、モデルの構成やモジュール化を行うことが容易となる。
【００５２】
図１に戻って、ステップＳ２０において、３Ｄシーンはボクセルに離散化される。１つのボクセルは、３次元空間におけるグリッド上の値を表すことが知られている。ボクセルは、規則的にサンプリングされた空間であって不均質的に満たされた空間を表現することに優れている。ボクセルは３Ｄ空間の分割要素を表現し、すなわち、それらは３Ｄ空間のボリュームを表現する。離散化の結果、３Ｄシーンに配置される３Ｄ表現もボクセルに分割される。すなわち、いくつかのボクセルは、３Ｄ部品の表面表現の一部を取り囲むことになる。
【００５３】
好ましくは、グリッドは規則的である。規則的なグリッドは、ボクセルが立方体であるデカルトグリッド、ボクセルが長方形または平行六面体である直線のグリッド、または、ボクセルが四角形または平行六面体である、曲線からなるグリッドであってもよいが、それらに限定されない。ボクセルの規則的なグリッドのボクセルは、３Ｄ空間全体をサンプリングし、そのことは、３Ｄ空間のそれぞれの点が１つのボクセルに属することを意味する。換言すれば、３Ｄ空間のそれぞれの点は１つのボクセルによって包含される。３Ｄ空間内の点が２以上のボクセルが交差する位置にある場合、その点は、前記の点で交差したボクセルのいずれか１つに割り当てられる。同様に、ボクセルの非規則的なグリッドのボクセルは、３Ｄ空間全体をサンプリングすることができる。
【００５４】
３Ｄシーンをボクセルに離散化することは規則的なグリッドに限定されないこと、および、いかなる離散化および多角形も３Ｄシーンの離散化に使用できること、が理解されるべきである。しかしながら、規則的なグリッド（より具体的にはデカルトグリッド）は、本発明に従って本方法を行うシステムのリソース消費（メモリ、ＣＰＵ）を減少させる。３Ｄシーンを離散化するためにデカルトグリッドが使用される場合、すべてのボクセルは同じサイズを有する。
【００５５】
３Ｄシーンのサイズは限定されており、そのことは、それが無限の空間ではないことを意味する。従って、３Ｄシーンの離散化が可能である。システムのリソース消費（メモリ、ＣＰＵ）を減少させるために、表面表現を囲む境界箱は、作業領域を規定するために使用されてもよい。その場合、離散化は作業領域のみに適用され、すなわち、提供された３Ｄ表面の境界箱はボクセルに離散化される。境界箱は、それぞれのボクセル（セルとも称される）が３Ｄ空間における座標の集合に対応するグリッドに細分される。
【００５６】
ボクセルのサイズは、「Ｖｏｘｅｌ  Ｓｉｚｅ」と呼ばれるパラメータによって設定されてもよい。離散化が実行される前に（例えばステップＳ１０の直後に）、ボクセルのサイズの選択が行われる。選択は、ユーザの行為（例えばユーザが値を選択する）によって行うことができる。選択は、自動的に（例えばシステムによって）行うことができる。両方の場合（ユーザのまたは自動的な選択）において、ボクセルサイズは、境界ボリュームのサイズに従って計算されてもよい。
【００５７】
一例において、規則的なグリッドに対するボクセルのサイズは、以下のように計算されてもよい。（ｘ、ｙ、ｚ）を、離散化される３Ｄシーン中の境界箱に付される参照符号とする。Ｎを、３Ｄシーンを離散化するボクセルの数とし、例えばパーソナルコンピュータ用には、Ｎ＝５００，０００，０００である。Ｌ１をｘについての境界箱の長さとし、Ｌ２をｙについての境界箱の長さとし、Ｌ３をｚについての境界箱の長さとする。ＶｏｘｅｌＳｉｚｅを、立方体のボクセルのボリュームを表すものとする。Ｖｏｘｅｌｓｉｚｅの値は式（１）で計算される。
【数１】
2019106177.tif 000003
実際、少なくとも上記に説明された理由で、グリッドは、各々同じ寸法で立方体のボクセルである規則的なデカルトグリッドである。
【００５８】
それぞれのボクセルはスカラ値を含むことができ、それは、それぞれのボクセルが、物理量を表す数学的な数または値を格納する（あるいはしない）ことを意味する。従って、スカラ場は、入力形状の上に重ね置かれる。
【００５９】
それぞれのボクセルは、正の無限大の値で初期化されてもよい。あるいは、ボクセルが初期化されるときに、値は関連付けられなくてもよい。ボクセルは任意の値で初期化されてもよいが、すべてのボクセルが同一の値で初期化されることが好ましい。
【００６０】
図７は、２Ｄ空間において交差する線分および曲線からなる入力形状上のボクセルのグリッドとしてのスカラ場を表す図を示す。本発明は任意のＮ次元空間で機能する。しかしながら、視覚化および理解をより容易にするために、図７〜図１４の図は２次元であり、表されたボクセルのサイズは誇張されている。
【００６１】
図１のステップＳ３０に戻って、それぞれのボクセルに対して、３Ｄ部品の表面表現への最小距離値を格納することによって、符号なし距離場が形成される（または計算される）。測定される距離は、典型的にはユークリッド距離である。距離は、異方性の距離またはマンハッタン距離であってもよい。例えば、３Ｄシーン中の３Ｄ部品の寸法が重要となる場合、ユークリッド距離の計算値は大きすぎるかもしれず、そのような場合には、ノルム１（例えばマンハッタン）の距離が使用されてもよい。それぞれのボクセルの最小距離値は、入力形状の要素の３Ｄ空間中の位置とボクセルの点との間で測定することができる最小の距離を表す。ボクセル上の任意の点は選択可能である。しかし、実際には、ボクセルの特定の点が選択される。ここで、特定の点は、各ボクセルにおいて各ボクセル上で容易に特定できる点を意味し、例えば、ボクセルのエッジ、ボクセルの重心などであってもよい。ボクセルの重心は、回転や拡大・縮小に対して不変であり、例えば、ボクセルが引き伸ばされても重心には影響がない。ボクセルと３Ｄ部品の表面表現との最小距離を計算する方法は、各ボクセルについて同一である。すなわち、各ボクセルに対して、ボクセルの最小距離は、ボクセルの重心から計算してもよい。
【００６２】
ステップＳ３０で得られる距離場は、符号なしである。これは、計算されるすべてのスカラ値（最小距離）が同一の符号を有する値であることを意味する。実際には、スカラ値は、すべて正であってもよい。あるいは、すべて負であってもよい。
【００６３】
同様に、最小距離はまた、入力形状の要素を囲むそれぞれのボクセルに対して測定される。入力形状（３Ｄ部品の表面表現）が、距離の測定に供されるボクセルの点と交差する場合、距離は０である。すなわち、０の値は符号づけすることができ、選択される符号は、スカラ場の他の値に対して用いられるものと同じである。入力形状が、距離の測定に供されるボクセルの点と交差しない場合、値（それは非常に小さくなりえる）が測定される。
【００６４】
ステップＳ３０の出力において、スカラ値はそれぞれのボクセルに対して設定されており、従って、ステップＳ２０のスカラ場を、距離場として知られているものに変換する。距離場は、第１の行列に最小距離値を格納することによって形成されてもよい。ここで、行列（ｍａｔｒｉｘ）という語句は、スカラ値を含む列および行のテーブルを形成するセルの集合を示す。行列のそれぞれのセルはボクセルのうちの１つに対応する。すなわち、行列のそれぞれのセルは、セルが関連付けられたボクセルの３Ｄ空間中の座標の集合に関連付けられており、行列のそれぞれのセルは、ボクセルのスカラ値を含む。行列のセルの集合は、いわゆる距離場（スカラ場である）を形成する。
【００６５】
この技術において知られているように、行列は３つの方法によって構成されてもよい。第１のものは、「完全な」行列を格納することであり、すなわち、グリッドのそれぞれのボクセルは、メモリ中の行列の生成時にメモリ中に割り当てられる。第２のものは、メモリに「まばらな」行列を格納することを含み、関心がある値（例えば「バンドサイズ」（以下で取り上げられる）より低い値）だけが、〈座標；値〉の組み合わせとしてメモリ中に割り当てられる。より少ないメモリが使用されるが、より多くの計算リソース（ＣＰＵ時間）が、メモリから値を検索するために必要とされる。第３の例は、有利なことにより低いメモリフットプリントおよびより速いアクセスタイムをもたらす八分木の生成である。この第３の例は、好ましくは行列の実装に用いられるが、他の実装に使用されてもよい。
【００６６】
一例において、ステップＳ３０は、所定の距離値（「バンドサイズ」と呼ばれる）の選択の後に行われる。「バンドサイズ」は、３Ｄ部品の形状に対して、所定の値と等しいかそれよりも低い最小距離を有するボクセルの第１の集合、および、３Ｄ部品の形状に対して、所定の値よりも大きい距離を備えるボクセルの第２の集合、を規定することを可能にする。第１の集合は所定の値よりも低い最小距離を備えるボクセルを含む場合もあるし、第２の集合は所定の距離と等しいかより大きい最小距離を備えるボクセルを含む場合もある。
【００６７】
バンドサイズの選択は、ユーザが行うことができる。例えば、知られているように、ユーザは値を入力する。バンドサイズの選択は自動的に行うことができる。例えば、バンドサイズは、ボクセルのサイズの２〜８倍であり、ボクセルのサイズは、グリッドが立方体の規則的なグリッドである場合には、ボクセルのエッジの長さであってもよい。
【００６８】
バンドサイズの選択の後、最初に、バンドサイズよりも大きい最小距離値を有するボクセルの集合が決定される。このように、ボクセルのこの集合は、３Ｄ部品の表面から充分遠く離れていると考えられるボクセルを含む。続いて、集合のボクセルは、値を割り当てられる。この値は、０とバンドサイズとの間を含む値とは異なる。実際には、集合のボクセルに割り当てられる値は、集合のすべてのボクセルに対して同じである。上述したように、すべてのボクセルは無限大の正の値で初期化されてもよく、その状況では、集合のボクセルは、それらが関連付けられた無限大の正の値を維持する。バンドサイズパラメータよりも大きいいかなる距離も無視されるため、形成された符号なし距離場（Ｓ３０）は、３Ｄ部品の表面表現の周囲の距離値の狭いバンドからなる。従って、符号なしの狭いバンド距離場は、３Ｄ部品の表面の周囲で得られる。狭いバンドの距離値は、正であってもよいし、負であってもよい。
【００６９】
図８は、ステップＳ３０の出力における図７のスカラ場の一例を示す。この例において、バンドサイズは選択されており、従って、入力された形状に亘って、符号なしの狭いバンド（破線で表される）を形成する。入力された形状と破線との間の距離は、一定で且つ選択されたバンドサイズの値に等しい。ステップＳ３０の結果として得られた距離場は、入力された形状に亘って０に等しい滑らかな傾斜（ｒａｍｐ）の形状となり、且つ、そのポイントにおいて値が無限大の値にジャンプするバンドサイズの値に達するまで増加する。
【００７０】
一例において、バンドサイズよりも大きい最小距離値を有するボクセルの値は行列に格納されない。例えば、行列の空きセルは、無限大の正の値がセルに関連付けられていることを意味すると解釈することもできる。従って、行列に格納される値の量は小さくなり、その結果、本方法を実行するシステムのメモリ使用量は小さくなる。
【００７１】
図１に戻って、ステップＳ４０において、境界ボリュームの外側に位置する１つ以上のボクセルが決定（または特定）される。これらのボクセルは、次の伝播ステップに関して、シード（ｓｅｅｄ）とも呼ばれる。外側に位置することは、境界ボリュームと前記１つ以上のボクセルのそれぞれのボクセルとの間に交差がないことを意味する。境界ボリュームの外側のこれらの１つ以上のボクセルは、システムによって自動的に（例えば境界ボリュームと交差するボクセルを切り捨てることによって）選択されてもよいし、または、ユーザの行為によって選択されてもよい。例えば、ユーザは、ユーザが選択することを助けるために表示されてもよい、境界ボリュームの外側をクリックするようなユーザの行為を行う。
【００７２】
境界ボリュームの外側に位置する１つ以上のボクセルの各々は、ラベルに関連付けられている。ラベルは、タグと呼ばれてもよく、１つの情報（例えばビット）である。ラベルをボクセルに関連付けるということは、ボクセルからラベルにアクセスすることが可能なように、ボクセルとラベルとの間に直接または間接のリンクが存在することを意味する。他のボクセル（境界ボリュームの内側にはないもの）はラベルに関連付けられてもよいし関連付けられなくてもよく、それらのラベルは境界ボリュームの外側にあるボクセルのものとは異なると理解される。例えば、境界ボリュームの外側に位置する１つ以上のボクセルは、「外側」のラベルに関連付けられてもよい。「外側」のラベルは、関連するボクセルが３Ｄ部品の表面表現に囲まれず、または、それと交差しないことを意味する。境界ボリュームの内側にあるボクセルは、ラベルなしで、またはボクセルが境界ボリュームと交差するかまたは囲まれていることを示す「内側」のラベルで、初期化されてもよい。
【００７３】
あるいは、ステップＳ４０は、境界ボリュームの内側に位置する１つ以上のボクセルを決定することを含んでもよい。境界ボリュームの内側のこれらの１つ以上のボクセルは、システムによって自動的に（例えば境界ボリュームと交差するボクセルを切り捨てることによって）選択されてもよいし、または、ユーザによって選択されてもよい（例えば、ユーザは、ユーザによる選択を支援するために表示され得る、境界ボリュームの内側をクリックするような操作を行う。）。１つ以上のボクセルが選択された場合、ラベルは、それぞれ選択されたボクセルに関連付けられる。ラベルの選択はユーザの行為によって行われ、すなわち、ユーザは、ボクセルが属する領域に従ってラベルを選ぶ。例えば、それぞれの決定されたボクセルに対して選択されるラベルは、前述の「内側」および「外側」のラベルであってもよい。別の一例として、選択されるラベルは、「材料＿ｘ」（ここで、ｘは３Ｄ部品の材料の種類を示す）であってもよい。
【００７４】
図９は、それぞれのボクセルが、それが属する領域を定義するラベルを与えられる一例を示す。特定のシードは与えられない。従って、すべてのボクセルは、単一の自動的に選択され「外側」のラベルを与えられたボクセルを除いて、「未定義」とラベル付けされる。
【００７５】
次に、図１のステップＳ５０において、ステップＳ４０で関連付けられた１つ以上のラベルが伝播させられる。ラベルの伝播は、塗りつぶしによって行われる。塗りつぶしは、多次元配列中の与えられたノードに接続されたエリアを決定するアルゴリズムである。塗りつぶしアルゴリズムは、この技術において知られている。塗りつぶし法は、ボクセルのラベルをそれらの隣に反復して伝播させる。停止条件が満たされたときに、ラベル付きボクセルからラベルなしボクセルへのラベルの伝播が停止する。停止条件は、距離場の勾配反転に達することである。一例として、これは、境界ボリュームの外側のボクセルに関連付けられた単一の「外側」のラベルの場合には、ステップＳ４０に関して述べたように、入力形状の要素を通り抜けることなし（それがおそらく距離を再び増加させることを意味するので）にそれらと接触するまで、それが表面表現の周囲に広がることを意味する。
【００７６】
一例において、塗りつぶしによるラベルの伝播は、ラベル付きボクセルの最小距離値の値を隣接するラベルなしボクセルの最小距離値の値と比較する第１のステップを含んでもよい。隣接するボクセルは、別のボクセルと少なくとも１つの共通の形状の要素を共有するボクセルである。例えば、共通のエッジを共有する２つのボクセルは隣接する。別の例では、１つの共通の頂点を共有する２つのボクセルは隣接する。次に、隣接するラベルなしボクセルの最小距離値が、ラベル付きボクセルの最小距離値の値と等しいかそれよりも低い場合、ラベル付きボクセルから隣接するラベルなしボクセルへラベルが伝播する。
【００７７】
既に述べたように、入力形状へのその距離が距離場のスカラ値に基づいて一定となるもしくは減少する場合にだけ、ラベルは、あるボクセルから別のボクセルに伝播させる。換言すれば、塗りつぶしの停止条件は、距離場の符号なしの狭いバンドの勾配が負になることである。従って、図１０〜図１２の例に示されるように、停止条件は少なくともバンドサイズに依存する。
【００７８】
図１０は、ラベル「外側」が伝播される一例を図示する。距離場の符号なしの狭いバンドが破線で表され、ステップＳ１０の入力形状は単純な線で表される。「外側」から延びる矢印は、ボリューム１２と１４との間を含むボリューム１０に伝播させることができ、２つのボリューム１２，１４は、３Ｄ部品の表面表現の内側にある。これら２つのボリューム１２，１４のボクセルは３Ｄ部品と交差する。伝播は、増加する場の勾配によって停止する。場の勾配の増大は、３Ｄ部品の表面表現から始まる。ボリューム１２（対応する１４）における表面表現から延びる２つ（４つ）の矢印は、伝播の停止を示す。
【００７９】
興味深いことには、図１０は、バンドサイズの選択が、伝播の挙動を修正できることを示す。この例において、２つの符号なしの狭いバンドはオーバーラップしないので、ラベルは狭小部（ｎａｒｒｏｗｉｎｇ）１６を通って伝播することができる。バンドサイズが増加した場合、２つの符号なしの狭いバンドがオーバーラップする可能性があり、その場合、狭小部１６は消失し、伝播が不可能となる。
【００８０】
図１１は、非多様体の要素２０が陰的に解かれた一例を図示する。もちろん、ラベルがそれへのその距離を一貫して減少させる一方で両サイドから広がることができるため、両サイドから接近することができる入力形状の任意の要素（例えば、３Ｄ部品の表面表現の、単一の点、三角形の面など）は「浸食され（ｅａｔｅｎ）」てもよい。
【００８１】
図１２は、バンドサイズの値の好ましい選択の一例を図示する。３Ｄ部品の表面表現中にバンドサイズより小さい穴がある場合、ラベルを拡張することができない。なぜなら、その穴のエッジまでの距離を増加させなければならないからである。反対に、３Ｄ部品の表面表現中にバンドサイズよりも大きいかまたは等しい穴がある場合、ラベルを伝播させることが可能である。従って、バンドサイズは、伝播の結果として閉じうる３Ｄ部品の表面表現の穴の最大半径となる。
【００８２】
バンドサイズは、出現するボクセルの最大のサイズよりも必ず大きい。実際、バンドサイズは、ボクセルのサイズの２倍もしくはそれ以上である。グリッドが立方体の規則的なグリッドである場合、ボクセルのサイズは、ボクセルのエッジの長さであってもよい。グリッドのボクセルが立方体ではない（例えば、矩形、平行六面体）場合、ボクセルのサイズは、グリッドのボクセルのうちの１つのボクセルの最大のサイズ（例えば最大のエッジ）になる。グリッドのボクセルが平行六面体でない場合は、再調整されたボクセルサイズは、３Ｄシーンをサンプリングするボクセルのうちの１つのボクセルによって与えられる最大の距離である。立方体のサイズの２倍となるバンドサイズ値は、表面表現のすべての穴が伝播中に横切られるとは限らないということがわかる。しかしながら、このバンドサイズ値は、表面表現のほとんどの穴に対する伝播を避けることを可能にし、伝播の結果を格納する際のメモリ消費量を少なくすることができる。バンドサイズよりわずかでも小さい直径を備えた穴は、膨らむことになる。
【００８３】
塗りつぶしが完了したとき（すなわち伝播が停止したとき）、同じラベルを共有するボクセルのそれぞれの隣接する集合は、領域を表す。表面の交差および非多様体の要素は非明示的に解決される。分離した要素は削除される。バンドサイズよりも小さい穴は閉じられ、これにより確実に領域の境界が適切に定められる。
【００８４】
次に、ステップＳ６０において、すべてのラベルなしボクセルの距離値の符号が反転される。符号なし距離場は、ここで符号付き距離場となる。符号の変化は、第１の領域を通って第２の領域に至る通過を表す。例えば、ステップＳ４０で述べたように、境界ボリュームの外側のボクセルに関連付けられた単一の「外側」のラベルの場合には、距離場の値の大きさは変更されずにその符号だけが変更されるため、そのボクセルラベルが「未定義」のままであるスカラ値の符号を切り替えることが可能である。このようにして、３Ｄ部品の入力形状要素上の距離場の精度の最大値が維持される。
【００８５】
図１３は、ステップＳ６０の出力の一例を図示する。距離場の符号なしの狭いバンドは破線で表現され、３Ｄ部品の表面表現の上にある。ボクセルの左の「未定義」には負の符号が付与される一方、「外側」のラベルを備えるボクセルは、正の符号を維持している。距離値＝０を備えるボクセルは、３Ｄ部品の表面を表す。
【００８６】
一例において、ボクセルに関連付けられたラベルは、第２の行列に格納される。第２の行列は、第１の行列とは異なってもよい。第１および第２の行列は、ステップＳ３０に関して既に述べたものと同じ方法で構成されてもよい。
【００８７】
図１のステップＳ７０において、３Ｄ部品の等値面は、等値ゼロで計算される。この計算は、ステップＳ６０の出力で得られた符号付き距離場に基づく。等値面メッシュ方法（Ｉｓｏ−Ｓｕｒｆａｃｅ  Ｍｅｓｈｉｎｇ  ｍｅｔｈｏｄ）は、与えられた閾値をスカラ場の値が通る界面における多角形の表面要素のメッシュの生成によって機能する。この閾値は、等値と呼ばれる。等値をゼロに設定して等値メッシュ法を使用することによって、「外側」領域の境界決定について記述する明瞭な閉じた多面体が生成される。
【００８８】
それぞれのラベル付き領域の周囲の境界の生成は、等値面再構成法を用いて行われる。
等値面再構成法は、マーチングキューブ法（Ｍａｒｃｈｉｎｇ  Ｃｕｂｅｓ）、デュアルコンタリング法（Ｄｕａｌ  Ｃｏｎｔｏｕｒｉｎｇ）などであってもよいが、それらには限定されない。
【００８９】
図１４は、ステップＳ７０の等値メッシュ化（ｉｓｏ−ｍｅｓｈｉｎｇ）を示す。ここでは、等値ゼロの表面が生成され、入力形状の近傍の距離値が正確であるという利点を有しており、その一方で、３Ｄ部品の表面表現において表れる幾何学的な穴を閉じる機能が保たれている（図１４の左側の図を参照）。
【００９０】
さらに、ここで記載された本方法の計算の複雑さは、実質的に、出力に対して望まれる精度のみに依存する。従って、それは、入力における要素の数によってうまく見積もることができる。また、本方法においては、調節すべきパラメータの数が少ないので、容易に用いることができる。実際、デフォルトのパラメータ化によって、この方法を、容易に、ユーザの指示が不要な正に自動的な「押しボタン式」のツールとすることができる。
【００９１】
次に、ステップＳ８０において、ステップＳ１０で提供された３Ｄ部品が、付加製造技術を用いて、ステップＳ７０の出力で提供された等値メッシュから、既知の方法で、製造される。
【図１】
2019106177.tif 000004
【図２】
2019106177.tif 000005
【図３】
2019106177.tif 000006
【図４】
2019106177.tif 000007
【図５】
2019106177.tif 000008
【図６】
2019106177.tif 000009
【図７】
2019106177.tif 000010
【図８】
2019106177.tif 000011
【図９】
2019106177.tif 000012
【図１０】
2019106177.tif 000013
【図１１】
2019106177.tif 000014
【図１２】
2019106177.tif 000015
【図１３】
2019106177.tif 000016
【図１４】
2019106177.tif 000017
【外国語明細書】
2019106177.tif 000018
2019106177.tif 000019
2019106177.tif 000020
2019106177.tif 000021
2019106177.tif 000022
2019106177.tif 000023
2019106177.tif 000024
2019106177.tif 000025
2019106177.tif 000026
2019106177.tif 000027
2019106177.tif 000028
2019106177.tif 000029
2019106177.tif 000030
2019106177.tif 000031
2019106177.tif 000032
2019106177.tif 000033
2019106177.tif 000034
2019106177.tif 000035
2019106177.tif 000036
2019106177.tif 000037
2019106177.tif 000038
2019106177.tif 000039
2019106177.tif 000040
2019106177.tif 000041
2019106177.tif 000042
2019106177.tif 000043
2019106177.tif 000044
2019106177.tif 000045
2019106177.tif 000046
【図１】
2019106177.tif 000047
【図２】
2019106177.tif 000048
【図３】
2019106177.tif 000049
【図４】
2019106177.tif 000050
【図５】
2019106177.tif 000051
【図６】
2019106177.tif 000052
【図７】
2019106177.tif 000053
【図８】
2019106177.tif 000054
【図９】
2019106177.tif 000055
【図１０】
2019106177.tif 000056
【図１１】
2019106177.tif 000057
【図１２】
2019106177.tif 000058
【図１３】
2019106177.tif 000059
【図１４】
2019106177.tif 000060