(57)【要約】  方法が、３次元構築空間４００からボクセル４２０を選択すること（１１２）と、選択されたボクセルに関して、３次元構築空間内の３Ｄ部品４０２のデジタルモデルに対する距離フィールド値を求めることとを含む。その後、距離フィールド値を用いて、少なくとも１つの材料選択規則２２０を選択し（９０４）、少なくとも１つの材料選択規則にボクセルの特徴を適用して（９０６）、ボクセルに関する材料指示２２８を特定する。材料選択規則がそのボクセルに関して材料なしを特定するとき、材料指示は、そのボクセルに材料が配置されるべきでないことを示し、少なくとも１つの材料選択規則がそのボクセルに関する少なくとも１つの材料を特定するとき、材料指示は、そのボクセルに少なくとも１つの材料が配置されるべきであることを指す。その後、積層造形システムを用いて３Ｄ部品を印刷する際に使用するために、ボクセルに関する材料指示が出力される（１２６）。【選択図】図４
2019512408.tif 000002
【特許請求の範囲】
【請求項１】
３次元構築空間内のボクセルの集合ごとに、
前記集合内のボクセルを選択することと、
前記選択されたボクセルに関して、前記３次元構築空間内のデジタル部品モデルに対する距離フィールド値を求めることと、
前記距離フィールド値を用いて、少なくとも１つの材料選択規則を選択することと、
前記少なくとも１つの材料選択規則に前記選択されたボクセルの特徴を適用し、前記選択されたボクセルに関する材料指示を特定することであって、前記材料指示は、前記材料選択規則が前記選択されたボクセルに関して材料なしを特定するときに、前記選択されたボクセルに材料が配置されるべきでないことを示し、前記材料指示は、前記少なくとも１つの材料選択規則が、前記選択されたボクセルに関して少なくとも１つの材料を特定するときに、前記選択されたボクセルに前記少なくとも１つの材料が配置されるべきであることを示す、適用することと、
積層造形システムを用いて３Ｄ部品を印刷する際に使用するために、ボクセルの前記集合に関する前記材料指示を出力することと、
を含む、方法。
【請求項２】
前記少なくとも１つの材料選択規則に適用される前記選択されたボクセルの前記特徴は前記距離フィールド値を含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの材料選択規則は周期関数を含み、前記材料選択規則は、前記周期関数の出力値が第１の範囲内にあるときに、前記選択されたボクセルに関して材料なしを特定し、前記材料選択規則は、前記周期関数の前記出力値が第２の範囲内にあるときに、前記選択されたボクセルに関する１つの材料を特定する、請求項２に記載の方法。
【請求項４】
前記周期関数は前記距離フィールド値の関数である、請求項３に記載の方法。
【請求項５】
前記周期関数は、基本周期関数と加算される前記距離フィールド値を含む、請求項３に記載の方法。
【請求項６】
前記少なくとも１つの材料選択規則に適用される前記選択されたボクセルの前記特徴は、前記３次元構築空間内の前記選択されたボクセルの位置を含む、請求項１に記載の方法。
【請求項７】
前記少なくとも１つの材料選択規則は周期関数を含み、前記材料選択規則は、前記周期関数の出力値が第１の範囲内にあるときに、前記選択されたボクセルに関して材料なしを特定し、前記材料選択規則は、前記周期関数の前記出力値が第２の範囲内にあるときに、前記選択されたボクセルに関する１つの材料を特定する、請求項６に記載の方法。
【請求項８】
前記周期関数は前記３次元構築空間内の前記選択されたボクセルの前記位置の関数である、請求項７に記載の方法。
【請求項９】
前記距離フィールド値を用いて少なくとも１つの材料選択規則を選択することは、前記選択されたボクセルが前記部品の支持領域内にあるか否かの判断とともに、前記距離フィールド値を用いて、前記少なくとも１つの材料選択規則を選択することを更に含む、請求項１に記載の方法。
【請求項１０】
前記距離フィールド値を用いて少なくとも１つの材料選択規則を選択することは、前記選択されたボクセルへの前記デジタル部品モデル上の最も近い点の特徴とともに、前記距離フィールド値を用いて、前記少なくとも１つの材料選択規則を選択することを更に含む、請求項１に記載の方法。
【請求項１１】
前記３次元構築空間内の第２のデジタル部品モデルに対する第２の距離フィールド値を求めることと、前記第２の距離フィールド値及び前記距離フィールド値のうちの一方を選択し、前記少なくとも１つの材料選択規則を選択することとを更に含む、請求項１に記載の方法。
【請求項１２】
前記第２の距離フィールド値及び前記距離フィールド値のうちの一方を選択することは、前記選択されたボクセルへの前記デジタル部品モデル及び前記第２のデジタル部品モデル上の最も近い点に関連付けられるそれぞれの特徴を用いて、どの距離フィールド値を選択すべきか判断することを含む、請求項１１に記載の方法。
【請求項１３】
前記第２の距離フィールド値及び前記距離フィールド値のうちの一方を選択する結果として、前記選択されたボクセルが前記デジタル部品モデル及び前記第２のデジタル部品モデルの両方に位置するときに、前記３Ｄ部品と第２の３Ｄ部品との間の干渉を除去する材料選択がもたらされる、請求項１１に記載の方法。
【請求項１４】
前記３次元構築空間内の第２のデジタル部品モデルに対する第２の距離フィールド値を求めることと、前記距離フィールド値及び前記第２の距離フィールド値の両方を用いて、それぞれの材料選択規則を選択することとを更に含む、請求項１に記載の方法。
【請求項１５】
前記少なくとも１つの材料選択規則に前記選択されたボクセルの前記特徴を適用することは、前記距離フィールド値及び前記第２の距離フィールド値を用いて選択された前記それぞれの材料選択規則を組み合わせることによって形成される材料選択規則に前記選択されたボクセルの前記特徴を適用することを含む、請求項１４に記載の方法。
【請求項１６】
前記選択されたボクセルに関する距離フィールド値を求めることは、グラフィックス処理ユニットのｚバッファー内の値を用いて、前記選択されたボクセルから前記デジタル部品モデル上の複数の場所までの距離を求めることと、最短距離を用いて、前記距離フィールド値を求めることとを含む、請求項１に記載の方法。
【請求項１７】
前記選択されたボクセルが前記デジタル部品モデルの外部にある場合には、前記距離フィールド値は第１の値範囲内にあり、前記選択されたボクセルが前記デジタル部品モデル内にある場合には、前記距離フィールド値は第２の値範囲内にあり、前記ボクセルが前記デジタル部品モデルの境界上にある場合には、前記距離フィールド値は特異値である、請求項１に記載の方法。
【請求項１８】
前記ボクセルは格子構造の一部を形成する、請求項１に記載の方法。
【請求項１９】
前記積層造形システムと、ボクセルの前記集合に関する前記出力された材料指示とを用いて、前記３Ｄ部品を印刷することを更に含む、請求項１に記載の方法。
【請求項２０】
ボクセルの前記集合に関する前記材料指示を出力することは、ボクセルの表面様集合に関するビットマップを出力することを含む、請求項１に記載の方法。
【請求項２１】
前記３Ｄ部品を印刷する際に使用するためのボクセルの前記集合に関する前記材料指示を出力することは、前記３Ｄ部品を印刷する際に使用するためのボクセルの前記集合に関する前記材料指示からプリント命令を生成することを含む、請求項１に記載の方法。
【請求項２２】
前記プリント命令はツールパスを含む、請求項２１に記載の方法。
【請求項２３】
グラフィックス処理ユニットであって、
部品のデジタルモデルを受信し、
前記デジタルモデルに関するレンダリング動作を実行し、該レンダリング動作は第１のＺ方向において前記デジタルモデルを順次にレンダリングし、複数のＺ位置の位置ごとにｚバッファー値の第１の組を作成することと、前記第１のＺ方向と反対の第２のＺ方向において前記デジタルモデルを順次にレンダリングし、前記複数のＺ位置の位置ごとにｚバッファー値の第２の組を作成することとを含み、
前記ｚバッファー値を用いて、前記複数のＺ位置の各位置においてボクセルごとに少なくとも１つの距離フィールド値を求め、
前記ボクセルの少なくとも１つの距離フィールド値に基づいて、ボクセルごとの材料指示を設定する、
グラフィックス処理ユニットと、
前記部品を造形させるために前記ボクセルに関する前記材料指示を送信する通信インターフェースと、
を備える、積層造形システム。
【請求項２４】
前記ボクセルのうちの１つに関する材料指示は、前記ボクセルに材料が配置されるべきでないことである、請求項２３に記載の積層造形システム。
【請求項２５】
前記ボクセルの少なくとも１つの距離フィールド値に基づいてボクセルに関する材料指示を設定することは、前記少なくとも１つの距離フィールド値を用いて少なくとも１つの材料選択規則を特定することと、前記少なくとも１つの材料選択規則を実行して前記材料指示を設定することとを含む、請求項２３に記載の積層造形システム。
【請求項２６】
前記少なくとも１つの材料選択規則を実行することは、前記少なくとも１つの材料選択規則に前記ボクセルの特徴を適用することを含む、請求項２５に記載の積層造形システム。
【請求項２７】
前記少なくとも１つの材料選択規則は周期関数を含む、請求項２６に記載の積層造形システム。
【請求項２８】
前記少なくとも１つの材料選択規則はノイズ関数を含む、請求項２６に記載の積層造形システム。
【請求項２９】
前記グラフィックス処理ユニットは、複数の部品のデジタルモデルを受信し、前記デジタルモデルのそれぞれに関するレンダリングを実行し、デジタルモデルごとにｚバッファー値の２つの組を形成する、請求項２３に記載の積層造形システム。
【請求項３０】
前記ボクセルに関する前記送信された材料指示に基づいて、前記部品を造形するプリンターを更に備える、請求項２６に記載の積層造形システム。
【請求項３１】
前記材料指示を送信することは、ボクセルの集合に関する材料指示のビットマップを送信することを含む、請求項２６に記載の積層造形システム。
【請求項３２】
前記材料指示を送信することは、ツールパスを送信することを含む、請求項２６に記載の積層造形システム。
【請求項３３】
３次元構築空間内のボクセルを選択することと、
前記３次元構築空間内に位置決めされる第１の部品のデジタルモデルの境界に対する前記ボクセルに関する第１の距離フィールド値を求めることと、
前記３次元構築空間内に位置決めされる第２の部品のデジタルモデルの境界に対する前記ボクセルに関する第２の距離フィールド値を求めることと、
少なくとも前記第１の距離フィールド値及び前記第２の距離フィールド値を用いて、前記第１の部品及び前記第２の部品を構築するときに利用される前記ボクセルに関する材料指示を設定することと、
を含む、方法。
【請求項３４】
少なくとも前記第１の距離フィールド値及び前記第２の距離フィールド値を用いて材料指示を設定することは、前記第１の距離フィールド値を用いて第１の関数を特定することと、前記第２の距離フィールド値を用いて第２の関数を特定することと、前記第１の関数を前記第２の関数と融合し、融合された関数を形成することと、前記融合された関数を用いて前記材料指示を設定することとを含む、請求項３３に記載の方法。
【請求項３５】
前記第１の関数は第１の格子パターンを記述し、前記第２の関数は第２の格子パターンを記述し、前記融合された関数は、融合エリアを介して前記第１の格子パターンから前記第２の格子パターンに移行する移行格子を記述する、請求項３４に記載の方法。
【請求項３６】
前記第１の距離フィールド値及び前記第２の距離フィールド値を用いて材料指示を設定することは、前記第１の距離フィールド値を用いて、前記ボクセルが前記第１の部品の前記デジタルモデル内にあると判断することと、前記第２の距離フィールド値を用いて、前記ボクセルが前記第２の部品の前記デジタルモデル内にあると判断することと、前記ボクセルに関する前記材料指示を、前記第２の部品に関して設定された第２の材料の代わりに、前記第１の部品に関して設定された材料に設定することとを含む、請求項３３に記載の方法。
【請求項３７】
前記ボクセルに関する前記材料指示を、前記第２の部品に関して設定された前記第２の材料の代わりに、前記第１の部品に関して設定された前記材料に設定することは、前記第１の部品と前記第２の部品との間の干渉を除去する、請求項３６に記載の方法。
【請求項３８】
前記ボクセルに関する前記材料指示を、前記第２の部品に関して設定された前記第２の材料の代わりに、前記第１の部品に関して設定された前記材料に設定することは、前記ボクセルへの、前記第１の部品の前記デジタルモデルの最も近い部分を特定することと、前記最も近い部分に関連付けられる特徴を読み出すことと、前記特徴を用いて、前記ボクセルに関する前記材料指示を前記第１の部品に関して設定された前記材料に設定することに決めることとを含む、請求項３６に記載の方法。
【請求項３９】
少なくとも前記第１の距離フィールド値及び前記第２の距離フィールド値を用いて前記ボクセルに関する材料指示を設定することは、前記第１の距離フィールド値及び前記第２の距離フィールド値を用いて、第１の部品の前記デジタルモデル及び前記第２の部品の前記デジタルモデルに関するブール演算を実行することを含む、請求項３３に記載の方法。
【請求項４０】
前記第１の部品の前記デジタルモデルの境界に対する前記ボクセルに関する第１の距離フィールド値を求めることは、前記第１の部品の前記デジタルモデルをレンダリングし、ｚバッファー値の２つの組を形成することを含む、請求項３３に記載の方法。
【請求項４１】
前記ボクセルに関する前記材料指示を利用して、前記第１の部品及び前記第２の部品のうちの少なくとも一方を構築することを更に含む、請求項３３に記載の方法。
【請求項４２】
前記材料指示をビットマップの一部として出力することを更に含む、請求項３３に記載の方法。
【請求項４３】
前記材料指示をツールパスの一部として出力することを更に含む、請求項３３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は３次元（３Ｄ）部品の積層造形のシステム及び方法に関し、より詳細には、積層造形のためのプリントデータを生成すること、並びに３Ｄ部品及びその支持構造を構築するシステム及びプロセスにおいて、そのプリントデータを使用することに関する。
【背景技術】
【０００２】
積層造形は包括的には、３次元（３Ｄ）物体のコンピューターモデルを利用して、その物体が造形されるプロセスである。積層造形システムの基本動作は、３次元コンピューターモデルを薄い断面にスライスすることと、その結果を２次元位置データに変換することと、そのデータを、１つ以上の積層造形技法を用いて３次元構造を層状に造形する制御機器にフィードすることとからなる。積層造形は、熱溶解積層法（fused deposition modeling）、インクジェット法、選択的レーザー焼結法、粉末／結合剤ジェット法（powder/binder jetting）、電子ビーム溶解法、電子写真撮像法及びステレオリソグラフィ法を含む、製造方法に関する数多くの異なる手法を伴う。
【０００３】
インクジェット法では、ノズルの組を有する分注ヘッドから構築材料が液滴として噴射され、支持構造上に層を堆積する。製造技法及び材料タイプに応じて、それらの層はその後、適切なデバイスを用いて、平坦化し、硬化させ、及び／又は凝固させることができる。構築材料は、物体を形成する部品材料と、物体が構築されているときに物体を支持する支持材料とを含むことがきる。
【０００４】
熱溶解積層法による積層造形システムでは、ツールパスに沿って流動可能な部品材料を押し出すことによって、３Ｄ部品のデジタル表現から３Ｄ部品又はモデルを層ごとに印刷することができる。部品材料は、システムのプリントヘッドによって搬送される押出先端を通して押し出され、構築面内の基材上に一連のロード（road）として堆積される。押し出された部品材料は、既に堆積されていた部品材料に融着し、温度が降下すると凝固する。その後、基材に対するプリントヘッドの位置が（構築面に対して垂直な）プリント軸に沿ってインクリメントされ、その後、デジタル表現に類似する３Ｄ部品を形成するために、そのプロセスが繰り返される。支持材料は通常、支持構造を構築する印刷プロセス中に、生成される幾何学的形状に従って第２のノズルから堆積される。
【０００５】
電子写真３Ｄ印刷法では、３Ｄ部品及びその支持構造のデジタル表現の各スライスが、電子写真エンジンを用いて印刷又は現像される。電子写真エンジンは一般に、２Ｄ電子写真印刷法に従って動作するが、ポリマートナーを使用する。電子写真エンジンは通常、光伝導材料層でコーティングされた導電性支持ドラムを使用し、静電帯電によって静電潜像が形成され、その後、光源によって光伝導層が画像に合わせて露光される。静電潜像は、その後、現像ステーションに動かされ、帯電したエリアに、又は代替的には、光伝導性絶縁体の放電されたエリアにポリマートナーが塗布され、３Ｄ部品のスライスを表すポリマートナーの層が形成される。現像された層は転写媒体に転写され、その層は熱及び／又は圧力を用いて、転写媒体から、既に印刷されていた層に転写融着され（transfused）、３Ｄ部品が構築される。
【０００６】
部品材料の層を堆積することによって３Ｄ部品を製造する際に、支持層又は構造は通常、部品材料自体によって支持されない、造形中の物体の張り出している部分の真下に、又は空洞内に構築される。支持構造は、部品材料が堆積されるとの同じ堆積技法を利用して構築することができる。ホストコンピューターが、形成されている３Ｄ部品の張り出している部分又は空き空間部分のための支持構造としての役割を果たす付加的な幾何学的構造を生成する。支持構造は製造中のモデリング材料に接着し、印刷プロセスが完了するときに、完成した３Ｄ部品から除去可能である。
【発明の概要】
【０００７】
方法が、３次元構築空間からボクセルを選択することと、選択されたボクセルに関して、３次元構築空間内のデジタル部品モデルに対する距離フィールド値を求めることとを含む。その後、距離フィールド値を用いて、少なくとも１つの材料選択規則を選択し、少なくとも１つの材料選択規則にボクセルの或る特徴が適用され、そのボクセルに関する材料指示が特定される。材料選択規則がそのボクセルに関して材料なしを特定するとき、材料指示は、そのボクセルに材料が配置されるべきでないことを指示し、少なくとも１つの材料選択規則がそのボクセルに関する少なくとも１つの材料を特定するとき、材料指示は、そのボクセルに少なくとも１つの材料が配置されるべきであることを指示する。そのボクセルに関する材料指示は、その後、積層造形システムを用いて３Ｄ部品を構築する際に使用するために出力される。
【０００８】
更なる実施形態において、積層造形システムが、部品のデジタルモデルを受信し、デジタル部品モデルに関するレンダリング動作を実行するグラフィックス処理ユニットを備え、レンダリング動作は、デジタル部品モデルを第１のＺ方向において順次にレンダリングし、複数のＺ位置のそれぞれに関するｚバッファー値の第１の組を作成することと、デジタル部品モデルを第１のＺ方向と反対の第２のＺ方向において順次にレンダリングし、複数のＺ位置のそれぞれに関するｚバッファー値の第２の組を作成することとを含む。グラフィックス処理ユニットは、ｚバッファー値を用いて複数のＺ位置のそれぞれにおけるボクセルごとの少なくとも１つの距離フィールド値を求め、ボクセルの少なくとも１つの距離フィールド値に基づいて、ボクセルごとの材料指示を設定する。そのシステムは、３Ｄ部品を造形させるために、ボクセルに関する材料指示を送信する通信インターフェースを更に備える。
【０００９】
また更なる実施形態において、方法が、３次元構築空間内のボクセルを選択することと、３次元構築空間内に位置決めされる第１の部品のデジタルモデルの境界に対するボクセルに関する第１の距離フィールド値を求めることと、３次元構築空間内に位置決めされる第２の部品のデジタルモデルの境界に対するボクセルに関する第２の距離フィールド値を求めることとを含む。その後、第１の距離フィールド値及び第２の距離フィールド値を用いて、ボクセルに関する材料指示を設定する。
【図面の簡単な説明】
【００１０】
【図１】距離フィールドに基づいてＧＰＵ材料指定を用いて３Ｄ部品を印刷するシステムの一例を示す図である。
【図２】図１のコンピューターの例示的なコンピューターアーキテクチャのブロック図である。
【図３】デジタル部品モデルを、３Ｄ部品を印刷するためのプリント命令に変換する方法のフロー図である。
【図４】図３の方法において使用される要素のブロック図である。
【図５】テクスチャー及びバンプを示す部品の一部の斜視図である。
【図６】部品の位置決めされたデジタルモデルを有する構築空間の斜視図である。
【図７】距離フィールド値を求める方法を示す図である。
【図８】距離フィールド値を求めることを示す構築空間内のスライスの平面図である。
【図９】材料選択の初期ステップを実行する方法のフロー図である。
【図１０】異なる支持領域を示す部品の側面図である。
【図１１】１つの部品のみが存在するときのボクセルに関する材料を選択する方法を与える図である。
【図１２】構築空間内に複数の部品に関するデジタルモデルが存在するときのボクセルに関する材料を選択する方法を与える図である。
【図１３】単一の部品のデジタルモデルが構築空間内に存在したときに種々の実施形態を通して構成される部品の断面図である。
【図１４】単一の部品の材料選択規則の選択を通して干渉を除去することを示す、２つの部品の側面図である。
【図１５】２つの異なる格子関数が互いに融合される融合エリアを示す図である。
【図１６】２つの異なる材料がボクセルごとに一方から他方に混合される移行領域を示す図である。
【図１７】複数の積層造形システムを含む、距離フィールドに基づいてＧＰＵ材料指定を用いて３Ｄ部品を印刷する第２の例示的なシステムを示す図である。
【図１８】複数の積層造形システムと、クラウドベースサーバーアーキテクチャとを含む、距離フィールドに基づいてＧＰＵ材料指定を用いて３Ｄ部品を印刷する第３の例示的なシステムを示す図である。
【図１９】例示的なシステムにおいて使用するための、３Ｄ部品及び支持構造を印刷するように構成される例示的なインクジェット積層造形システムの正面図である。
【図２０】例示的なシステムにおいて使用するための、３Ｄ部品及び支持構造を印刷するように構成される電子写真造形システムの図である。
【図２１】例示的なシステムにおいて使用するための、３Ｄ部品及び支持構造を印刷するように構成される押出しを利用した積層造形システムの図である。
【発明を実施するための形態】
【００１１】
積層造形を用いて部品を構築するために、印刷されるべき物体を表すデジタルモデルからプリントデータが生成される。プリントデータに基づいて、各印刷層の利用可能な場所のそれぞれにおいて、もしあれば、どの材料が配置されるべきであるかを指示するために、プリント命令が生成され、プリンターに与えられる。材料移行を決定するための既知の技法は、境界表現を用いて、各部品の外部境界を特定する。この方法において、部品の境界に沿って位置決めされる場所ごとに部品材料が指示される。部品が中実であるべき場合には、部品の境界内の場所ごとに、その部品に関して設定される材料も指示される。この方法において、１つの材料から別の材料、又は或る材料から空き空間への全ての材料移行を境界表現によって記述することができる。しかしながら、本発明者らは、材料間の移行を制御するために境界表現に頼ることは、いくつかの問題を引き起こすことに気がついた。第一に、プリント命令を生成するために境界表現が内向き又は外向きにシフトされるラウンディング、ロフティング及びオフセットモデリング演算を実行することは、シフトされた境界表現間の干渉に起因して、誤差又は予想外の結果をもたらす可能性がある。これは通常、部品のトポロジーが複雑であるときに生じる。第二に、部品の境界表現が閉鎖された物体を画定しない場合には、プリント命令を生成するときに２つの異なる部品間で実行される、減算又は和集合のようなブール演算が失敗する可能性がある。部品内に任意の開口があると、ブール演算は、部品の全体積ではなく、境界表現自体に制限されることになる。第三に、格子はメッシュ内に莫大な数の三角形を必要とし、結果として大量のデータが生成されるので、境界表現を用いて格子を規定するのは極めて難しい。
【００１２】
後に説明される実施形態において、境界表現に関連付けられる問題は、距離フィールドを使用することによって克服される。本明細書において使用されるときに、「距離フィールド値」は、ボクセルと部品のメッシュ境界との間の最短ベクトルの長さであり、ベクトルは、任意の１つの平面、軸又は方向にあることには限定されない。一実施形態において、距離フィールドは、造形されるべき部品（複数の場合もある）を含む３次元構築空間を、ボクセルの３次元行列に分割することによって生成される。その後、ボクセルが部品内にある場合には、距離が正の値に設定され、ボクセルが部品の外部にある場合には、距離が負の値に設定され、ボクセルが部品境界上にある場合には、距離が０であるように、各ボクセルから部品境界への最短距離が求められる。これは、距離フィールド値の３次元行列を生成する。各部品は、自らの関連付けられる距離フィールドを有する。結果として、構築空間内に複数の部品が存在するとき、各ボクセルは、それぞれが別々の部品に関連付けられる、複数の異なる距離フィールド値を有する。
【００１３】
距離フィールドが求められると、それらの距離フィールドを用いて、ボクセルごとの少なくとも１つの材料選択規則を選択する。各材料選択規則は、例えば、ボクセルの距離フィールド値、及び構築空間内のボクセルの位置等の、ボクセルの少なくとも１つの特徴を用いて、ボクセルに関する材料指示を特定する。いくつかの実施形態において、材料選択規則は、距離フィールド値及び／又は構築空間の位置の関数である周期関数を含み、周期関数によって生成される出力値の或る範囲がそのボクセルに関して材料なしが指示されることに関連付けられ、周期関数によって生成される出力値の別の範囲がそのボクセルに関して或る材料が指示されることに関連付けられるようになる。そのような周期関数によれば、構築空間内で格子を規定できるようになる。
【００１４】
図１は、ボクセルへの材料を指定し、指定された材料を用いて部品を造形する簡略化されたシステムの一例を示す。図１において、コンピューター６６が、積層造形システム６８のためのホストコンピューターとしての役割を果たし、１つ以上の通信線７０を介してシステム６８と通信する。いくつかの実施形態において、コンピューター６６はシステム６８の内部にあり、例えば、システム６８のための内部コントローラーアセンブリの一部である。他の実施形態において、コンピューター６６は、積層造形システム６８の外部にある。
【００１５】
図２は、コンピューター６６の例示的なアーキテクチャのブロック図を示す。図示されるように、コンピューター６６は、ユーザーインターフェース８２、メモリコントローラー８４、プロセッサ８６、グラフィックス処理ユニット８７、記憶媒体８８、入力／出力（Ｉ／Ｏ）コントローラー９０及び通信アダプター９２等の適切なコンピューターベースハードウェアを備える。また、コンピューター６６は、従来のコンピューター、サーバー、メディアデバイス、信号処理デバイス及び／又はプリンターコントローラーに含まれる様々な付加的な構成要素も備える場合がある。
【００１６】
ユーザーインターフェース８２は、コンピューター６６を操作するように構成される１つ以上のユーザー操作インターフェース（例えば、キーボード、タッチパッド、タッチスクリーンディスプレイ、ディスプレイモニター、及び目、音声、運動又は手によって操作される他の制御機構）である。メモリコントローラー８４は、コントローラー６６の構成要素と、記憶媒体８８の１つ以上の揮発性ランダムアクセスメモリ（ＲＡＭ）モジュールとのインターフェースを構成する１つ以上の回路アセンブリである。プロセッサ８６は、任意選択でメモリコントローラー８４とともに、好ましくは、関連する処理回路（例えば、プログラマブルゲートアレイ、デジタル及びアナログ構成要素等）とともに、コンピューター６６を操作するように構成される１つ以上のコンピューター処理ユニットである。例えば、プロセッサ８６は、１つ以上のマイクロプロセッサベース及び／又はマイクロコントローラーベースユニット、１つ以上の中央処理ユニット、及び／又は１つ以上のフロントエンド処理ユニットを含む場合がある。
【００１７】
グラフィックス処理ユニット８７は、迅速かつ効率的に３Ｄコンピューターグラフィックスに関連する計算を実行するように構成される多数のトランジスターを含む。そのような計算は、テクスチャーマッピングと、３Ｄ物体を表す多角形のレンダリングとを含む。
【００１８】
記憶媒体８８は、揮発性ＲＡＭモジュール、リードオンリーメモリモジュール、光媒体、磁気媒体（例えば、ハードディスクドライブ）、ソリッドステート媒体（例えば、フラッシュメモリ及びソリッドステートドライブ）、アナログ媒体等の、コンピューター６６のための１つ以上の内部及び／又は外部データ記憶デバイス又はコンピューター記憶媒体である。記憶媒体８８は、後に更に論じられる１つ以上の前処理及び／又は後処理プログラム（図示せず）を保持することができる。
【００１９】
Ｉ／Ｏコントローラー９０は、メモリコントローラー８４、プロセッサ８６及び記憶媒体８８と、ユーザーインターフェース８２及び通信アダプター９２を含む、コンピューター６６の種々の入力及び出力構成要素とのインターフェースを構成する１つ以上の回路アセンブリである。通信アダプター９２は、通信線７０を介して通信するように構成される１つ以上の有線及び／又はワイヤレス送信機／受信機アダプターである。
【００２０】
コンピューター６６からシステム６８の構成要素へのコマンドは、当業者によって理解されるように、ユーザーインターフェース８２、メモリコントローラー８４、プロセッサ８６、記憶媒体８８、入力／出力（Ｉ／Ｏ）コントローラー９０、通信アダプター９２及び／又は他の適切なハードウェア及びソフトウェア実施態様で実行することができる。
【００２１】
図３は、距離フィールドを用いて、デジタル部品モデルからの３Ｄ部品に関するプリント命令を生成する方法のフロー図を与える。図４は、図３の方法を実施するために使用されるシステム２００のブロック図を与える。一実施形態によれば、システム２００はコンピューター６６内で実現される。
【００２２】
ステップ１００において、記憶媒体８８に記憶される、メッシュ２０２、テクスチャーマップ２０４、バンプマップ２０６、光輝（shine）マップ２０８、点特徴２０９及び部品解像度を含む、部品データが受信される。メッシュ２０２は、部品のデジタルモデルの平面境界を記述し、相互接続される三角形又は他の多角形として規定することができる。テクスチャーマップ２０４は、メッシュ２０２によって記述される各表面の外部に適用されるべき表面テクスチャーの場所及び幾何学的形状を記述する。バンプマップ２０６は、メッシュ２０２の特定の表面上に存在する、より大きい表面特徴の記述を与える。図５は、隆起した正方形３０４によって特徴付けられるテクスチャーを有する２つの表面３００及び３０２と、大きい隆起した正方形によって表される表面バンプ３０６とを示す、部品の一部の一例を与える。小さい正方形３０４は、テクスチャーマップ２０４内に記述されることになり、一方、表面バンプ３０６はバンプマップ２０６内に記述されることになる。光輝度（shininess）マップ２０８は、部品の異なる表面に関する所望の光輝レベルを示す。
【００２３】
点特徴２０９は、特定の特徴を有する部品の部分に対して使用されるべき材料選択規則の組を記述する。材料選択規則の組を指定するための根拠として使用することができる部品特徴の例は、ボディー又はメッシュの識別子、表面テクスチャー座標及び表面法線範囲を含む。したがって、いくつかの実施形態において、同じ距離フィールド値において、その部品の周囲の異なるエリアに対して異なる材料が使用されるように、部品の異なる部分は、材料選択規則の異なる組を有する。そのような点特徴の使用に関する更なる説明が後に与えられる。
【００２４】
後に更に説明される図３のステップ１０１〜１１６、１２０、１２２及び１２４を実行する、グラフィックス処理ユニット８７によって実行されるスライス計算プロセス２１０に、メッシュ２０２、テクスチャーマップ２０４及びバンプマップ２０６が与えられる。
【００２５】
ステップ１０１において、スライス計算プロセス２１０が、３次元構築空間を画定し、メッシュ２０２、テクスチャーマップ２０４及びバンプマップ２０６によって記述されるデジタル部品モデルを３次元構築空間内に位置決めし、位置決めされたデジタル部品モデル９１を形成する。一実施形態によれば、構築空間は、デジタル部品モデルを最初に位置決めし、その後、位置決めされた部品モデルの周囲の境界ボックスを画定し、周囲の支持構造エンベロープを与えることによって画定される。
【００２６】
図６は、３次元構築空間４００内に位置決めされたデジタル部品モデル４０２の３次元図を与える。図６において、−Ｚ方向４０６、＋Ｚ方向４０８、Ｘ方向４１０及びＹ方向４１２が存在する。構築空間４００の平面スライス４０４が、ボクセル４１４等のボクセルの集合を含むものとして示される。図６には単一のスライスのみが示されるが、ボクセルが構築空間４００の全体を満たすように、構築空間４００内に複数のスライスが存在する。ボクセルの寸法は、部品に対して設定される解像度に基づく。さらに、図６には平面スライスが示されるが、スライスという用語は、平面、螺旋面、円筒面又は任意の他の表面形状を表すボクセルの集合等の、任意の表面様ボクセル集合を含む。
【００２７】
ステップ１０２において、構築空間内の最も低いスライスが選択される。
【００２８】
ステップ１０４において、スライス計算プロセス２１０が、構築空間４００内の選択されたスライスに関するＺバッファー９５のための値を設定する。スライスに関するＺバッファーは、スライス内のボクセルごとに１つの値を含み、Ｚバッファー値の大きさは、ボクセルと部品の最も近いメッシュ境界との間の垂直距離の大きさを表す。部品のメッシュ境界は、１つ以上のメッシュ２０２と、それらのメッシュに適用されるテクスチャーマップ２０４と、それらのメッシュに適用されるバンプマップ２０６との組み合わせから構成される。ステップ１０４において、この距離は、ボクセルから−Ｚ方向４０６を見ることによって求められ、それゆえ、そのＺバッファーは−Ｚバッファーと呼ばれる。Ｚバッファー内の値の符号は、ボクセルがデジタル部品モデルの内部にあるか、又は外部にあるかを示し、負の値はボクセルがデジタル部品モデルの外部にあることを示し、正の値はボクセルがデジタル部品モデルの内部にあることを示す。最初に、スライスのための全ての−Ｚバッファー値が最大の負の値に設定され、それは、ボクセルのいずれからも−Ｚ方向４０６において部品の部分が見えないことを示す。
【００２９】
その後、メッシュ２０２、テクスチャーマップ２０４及びバンプマップ２０６を用いて、ＧＰＵ８７によってレンダリング動作が実行され、３次元構築空間４００内のデジタル部品モデルのメッシュ境界の記述が構成され、その記述がスライス上に投影される。詳細には、メッシュ２０２内の各表面が一度に１つずつレンダリングされ、レンダリングされた表面にテクスチャーマップ２０４及びバンプマップ２０６が適用され、その表面に関するメッシュ境界が生成され、３次元構築空間内のメッシュ境界の直上にあるボクセルを特定することによって、その表面に関して結果として生成されたメッシュ境界がスライス上に投影される。表面のメッシュ境界の直上にあるボクセルごとに、メッシュ境界とボクセルとの間の距離が、そのボクセルに関して−Ｚバッファー内に記憶される現在の距離と比較される。現在投影されている表面への距離が、−Ｚバッファー内に記憶される値より小さい大きさを有する場合には、現在の表面が、部品の任意の既にレンダリングされていた表面よりボクセルに近いと見なされ、−Ｚバッファーが、現在のメッシュ境界への距離で更新される。−Ｚバッファー内に記憶される距離値の符号は、ボクセルがデジタル部品モデルの内部にあるか、又は外部にあるかを示すように設定される。これは、現在の表面の外向きの法線と＋Ｚ方向４０８との間の角度に基づいて判断することができる。一実施形態によれば、現在の表面の素性及び特性もスライスに関する付加的なバッファーに記憶される。
【００３０】
現在のメッシュ境界とボクセルとの間の距離がボクセルのための−Ｚバッファー値の大きさより大きいとき、−Ｚバッファー値は変更されないままである。これは、現在の表面が、よりボクセルに近い部品の別の表面によってボクセルから覆い隠されるときに生じることになる。したがって、現在のスライスの下方にある部品の全ての表面がレンダリングされ、スライス上に投影された後に、−Ｚバッファーは、ボクセルと部品のメッシュ境界との間の−Ｚ方向における最短距離を示す値を含み、更なるバッファーが、それらの最も近い表面の素性と、その外向きの法線の方向等のそれらの表面の付加的な特徴とを示す。これが、構築空間４００内のスライスごとに繰り返される。
【００３１】
ステップ１０６において、＋Ｚ方向においてレンダリング動作が実行され、選択されたスライスに関する＋Ｚバッファーがロードされる。このレンダリングは、視線が＋Ｚ方向４０８に変更されることを除いて、−Ｚ方向において実行されたレンダリングと同じである。ステップ１０６の後、選択されたスライスは、ボクセルごとの＋Ｚバッファー値と、ボクセルごとの−Ｚバッファー値とを有し、＋Ｚバッファー値は＋Ｚ方向４０８におけるボクセルと部品との間の最短垂直距離を与え、−Ｚバッファー値は、−Ｚ方向４０６におけるボクセルと部品との間の最短距離を与える。
【００３２】
ステップ１０４及び１０６は構築空間４００内の１つの部品を参照しながら上記で説明されるが、他の実施形態では、構築空間４００内に複数の部品のためのデジタルモデルが存在する。構築空間４００内に複数のデジタル部品モデルが存在するとき、構築空間４００内のスライスごとに、各部品に別々の−Ｚバッファー及び別々の＋Ｚバッファーを作成することができる。
【００３３】
ステップ１０８において、＋Ｚバッファー（複数の場合もある）から、選択されたスライスに関するシルエット境界が求められる。詳細には、ボクセルの対ごとに＋Ｚバッファー値を調べて、或る負の値から、取り得る最も大きい大きさの負の値への移行を特定する。そのような移行は、ボクセルの上方に部品の一部がある場所と、そのボクセルに隣接するボクセルの上方にその部品の一部がない場所との間の境界を表す。図６において、そのような境界の一例を見ることができ、ボクセル４２０及び４２２はそのような境界に沿って配置される。ボクセル４２０はデジタル部品モデル４０２の下方に配置され、−４の＋Ｚバッファー値を有する。ボクセル４２０に隣接するボクセル４２２は、デジタル部品モデルのいかなる部分の下方にもなく、＋Ｚバッファー内の取り得る最も大きい負の値で初期化される。全ての対に関してこのように対ごとの比較を繰り返すことによって、シルエット境界４２４等のシルエット境界が生成され、このシルエット境界において、境界内のボクセルが部品の一部の真下にあると見なされ、シルエットの外部にあるボクセルは、デジタル部品モデルのいかなる部分の下方にもない。構築空間４００内に複数の部品のためのデジタルモデルが存在するとき、ステップ１０４において選択されたスライスに関する＋Ｚバッファーごとにステップ１０８が繰り返されることに留意されたい。
【００３４】
ステップ１１０において、スライス計算プロセス２１０が、メッシュ境界と現在のスライスとの交差を求める。図６において、メッシュ境界とスライス４００との交差は、境界４３０として示されており、破線において示される。メッシュ境界とスライスとの交差は、＋Ｚバッファー及び−Ｚバッファーを調べ、Ｚバッファー値が負の値から０の値に、又は負の値から正の値に変化する、隣接するピクセルを特定することによって見つけることができる。Ｚバッファー値のそのような変化は、デジタル部品モデルの外部に存在することから、デジタル部品モデル内に存在することへの移行を示す。ステップ１１０は、部品のＺバッファーごとに実行される。
【００３５】
ステップ１１２において、現在のスライス内の単一のボクセルが選択される。ステップ１１４において、そのボクセルに関して、部品のメッシュ境界への距離フィールド値が求められる。この距離フィールド値は、ボクセルと、部品のメッシュ境界の任意の部分との間の最短の長さの３次元距離である。ステップ１１６において、現在のボクセルに関して、シルエット境界への距離が求められる。
【００３６】
一実施形態によれば、ステップ１１４及び１１６は、サンプリングアルゴリズムを用いてともに実行される。そのようなサンプリングアルゴリズムの一例が図７のフロー図に示されており、図８を参照しながら説明される。図８において、現在のボクセル６００を含む、ボクセルの行列を有するスライス６２０の平面図が示される。スライス６００と交差するメッシュ境界６１２が実線として示され、シルエット境界６１０が破線として示される。
【００３７】
図７のステップ５００において、現在のボクセル、すなわち、図８のボクセル６００を調べて、そのボクセルが現在のスライス内のメッシュ境界にあるか否かを判断する。例えば、図８において、メッシュ境界６１２がボクセル６５０と交差するので、ボクセル６５０がメッシュ境界６１２にあると見なされる。ステップ５００において現在のボクセルがメッシュ境界にある場合には、ステップ５０２において、現在のボクセルに関する距離フィールド値が０に設定される。
【００３８】
図８の現在のボクセル６００によって示されるように、ステップ５００において現在のボクセルがメッシュ境界にない場合には、図７のステップ５０４が実行され、現在のボクセル６００に関する距離フィールド値が、現在のボクセルに関する２つのＺバッファー値のうちの小さい方に設定される。詳細には、＋Ｚバッファー及び−Ｚバッファー内のＺ距離値の大きさが比較され、小さい方の大きさが、現在のボクセルに関する距離フィールド値として設定される。さらに、距離フィールド値の符号は、ボクセルがデジタル部品モデルの内部にあるか、又は外部にあるかに基づいて設定される。ボクセルがデジタル部品モデルの内部にある場合には、距離フィールド値が正の値に設定され、ボクセルがデジタル部品モデルの外部にある場合には、距離フィールド値が負の値に設定される。
【００３９】
ステップ５０６において、現在のスライス内の現在のボクセルの周囲のボクセルのリングが特定される。例えば、図８において、点線の陰影付けによって示される第１のリング６０２が、現在のボクセル６００を包囲する。ステップ５０８において、特定されたリング内のボクセルが選択される。ステップ５１０において、この選択されたリングボクセルがメッシュ境界にある場合には、選択されたリングボクセルと現在のボクセル６００との間の距離がテスト距離として使用される。リングボクセルがメッシュ境界にない場合には、ステップ５１４において、リングボクセルに関する２つのＺバッファー値の小さい方と、リングボクセルと現在のボクセルとの間の距離との組み合わせを用いてテスト距離が求められる。詳細には、リングボクセルに関する±Ｚバッファー内のＺバッファー値が互いに比較され、２つのＺバッファー値のうちの小さい方の大きさが、デジタル部品モデルへの距離の垂直成分として選択される。部品の距離の水平成分は、リングボクセルと現在のボクセル６００との間の距離として計算される。距離の垂直成分及び距離の水平成分を二乗し、それらの二乗値を加算し、その和の平方根をとることによって、現在のボクセル６００と、リングボクセルの上方又は下方の部品の部分との間の距離が与えられる。リングボクセルの上方又は下方に部品の部分がない場合には、Ｚバッファーはそれぞれ、大きい大きさ値を含むことに留意されたい。この手法は、２Ｄ平面距離及び３Ｄ距離の両方をもたらす。
【００４０】
ステップ５１２又は５１４のいずれかにおいて計算されるテスト距離値が、その後、ステップ５１６において、現在のボクセル６００に関して現在記憶されている距離フィールド値と比較される。テスト距離が現在の距離フィールド値より小さい場合には、テスト距離が新たな現在の距離フィールド値として設定される。テスト距離の大きさが、現在の距離フィールド値の大きさ以上である場合には、現在の距離フィールド値は同じままである。
【００４１】
ステップ５１８において、その方法は、リングボクセルが、図８のシルエット境界６１０等のシルエット境界にあるか否かを判断する。リングボクセルがシルエット境界にある場合には、ステップ５２０において、現在のボクセル６００に関するシルエット境界への最短距離が、現在のボクセル６００に関するシルエット境界への既に記憶されていた距離と、リングボクセルと現在のボクセルとの間の距離との小さい方に設定される。したがって、リングボクセルがシルエット境界にあり、リングボクセルと現在のボクセルとの間の距離が、現在のボクセルとシルエット境界との間の既に特定されていた距離より短い場合には、現在のボクセル６００とシルエット境界との間の最短距離が、リングボクセルと現在のボクセル６００との間の距離を反映するように更新される。
【００４２】
リングボクセルがシルエット境界にない場合には、又はシルエット境界への距離が更新された後に、図７のプロセスは、現在の選択されたリング内に更なるリングボクセルが存在するか否かを判断する。更なるリングボクセルが存在する場合には、プロセスはステップ５０８に戻り、現在のリング内の次のボクセルが選択される。ステップ５１０〜５２２が、その後、繰り返される。現在のリング内の全てのボクセルがステップ５２２において処理されたとき、その方法は、ステップ５２４において、現在のリングの周囲に更なるボクセルが存在するか否かを判断する。ステップ５２４において現在のリングの周囲に更なるボクセルが存在する場合には、そのプロセスはステップ５０６に戻り、現在のボクセルのリングの周囲の次のリングが選択される。例えば、リング６０２が処理された後に、リング６０４が処理され、その後、リング６０６、その後、リング６０８が処理される。連続したリングを処理する際に、メッシュ境界は横切られない。その場合に、メッシュ境界に達すると、境界の他の側にあるボクセルは処理されない。例えば、メッシュ境界６１２がボクセル６５２を現在のボクセル６００から切り離すので、ボクセル６５２はリング６０８の一部として処理されない。同じことが、デジタル部品モデル内で処理されるボクセルのリングの場合にも当てはまる。具体的には、現在のボクセルがデジタル部品モデル内に位置するとき、デジタル部品モデルの外部にあるボクセルは、そのボクセルに関する距離フィールドを求めるために使用されない。
【００４３】
ステップ５２４において現在のリングの周囲に更なるボクセルが存在しないとき、そのプロセスは終了し、現在のボクセルに関して記憶された距離フィールド値が最終的な距離フィールド値２１２として出力される（図２及び図４）。この距離フィールド値は、現在のボクセルとデジタル部品モデルの任意のメッシュ境界との間の最短距離を表す大きさと、現在のボクセルがデジタル部品モデル内にあるか、又はデジタル部品モデルの外部にあるかを示すことになる符号とを有する。さらに、現在のボクセルに関する距離フィールド値が更新されるとき、例えば、メッシュ境界上の最も近い点の位置、最も近い点が位置するボディー又はメッシュの識別子、表面テクスチャー座標、及び最も近い点における表面法線等の、距離フィールド値に関連付けられる１つ以上の特徴も記憶される。一実施形態によれば、部品の異なる特徴が、それらの特徴に関連付けられる材料選択規則の異なる組を有する。結果として、部品の異なる部分が、それに関連付けられる異なる材料選択規則を有することができる。同様に、シルエット境界２１６への最短距離は、最も近いシルエット境界点２１８の場所として出力される。
【００４４】
構築空間４００内に複数の部品のためのデジタルモデルが存在するとき、デジタル部品モデルごとに図７のステップが繰り返され、デジタル部品モデルごとに、ボクセルに関する、距離フィールド値２１２、最も近いメッシュ境界点２１４、シルエットへの最短距離２１６、最も近いシルエット境界点２１８が生成される。単一のボクセルが、全てのデジタル部品モデルの外部に存在することができるか、単一のデジタル部品モデル内に位置するが、他のデジタル部品モデルの外部に位置することができるか、又は複数のデジタル部品モデル内に位置することができる。
【００４５】
図３に戻ると、ステップ１１４及び１１６においてそれぞれ選択されたボクセルに関する距離フィールド値及びシルエット境界への距離が求められた後に、ステップ１１８において、材料選択ユニット２２６によって、そのボクセルのための材料が決定される。図９は、材料選択を実行する際の初期ステップを示すフロー図を与える。
【００４６】
ステップ７００において、距離フィールドを調べて、ボクセルが少なくとも１つのデジタル部品モデル内にあるか否かを判断する。この判断は、そのボクセルに関して記憶された少なくとも１つの非負の距離フィールド値が存在するか否かを判断することによって行うことができる。ボクセルが少なくとも１つのデジタル部品モデル内にある場合には、ステップ７０２において、そのボクセルに関する全ての負の距離フィールド値が無視される。したがって、ボクセルが少なくとも１つのデジタル部品モデル内に位置する場合には、部品（複数の場合もある）の内部にあるボクセルに関連付けられる材料選択規則２２０が材料選択を制御し、他の部品の外部にあるボクセルに関連付けられる材料選択規則２２０が無視される。構築空間内に１つのデジタル部品モデルのみが存在する場合には、ステップ７０２において無視すべき負の距離フィールドは存在しないことに留意されたい。
【００４７】
ステップ７０４において、材料選択ユニット２２６が、構築空間内に複数の部品のためのデジタルモデルが存在するか否かを判断する。構築空間内に１つのデジタル部品モデルしか存在しない場合には、ステップ７０６において、単一部品材料選択プロセスが実行される。１つのそのような単一部品材料特定プロセスの一例が後に更に論じられる。ステップ７０４において複数の部品のためのデジタルモデルが存在する場合には、ステップ７０８において多部品材料選択プロセスが実行される。そのような多部品材料選択プロセスの一例が後に論じられる。
【００４８】
ステップ７００に戻ると、ボクセルが構築空間内のいずれのデジタル部品モデル内にもない場合には、ステップ７１０においてシルエット境界に対するボクセルの位置を調べて、ボクセルが部品のシルエット内にあるか否かを判断する。ボクセルが部品のシルエット内にあるか否かを判断することは、そのボクセルに関する＋Ｚバッファー値（複数の場合もある）を調べることを含む。＋Ｚバッファー値（複数の場合もある）のいずれかが負であり、最大の大きさより小さい大きさを有する場合には、そのボクセルは部品のシルエット内にある。ボクセルが部品のシルエット内にない場合には、そのプロセスはステップ７０４において継続し、上記で論じられたように、構築空間内に複数の部品が存在するか否かを判断する。
【００４９】
ステップ７１０においてボクセルが部品のシルエット内にある場合には、ステップ７１４において、ボクセルの位置を調べて、部品／支持構造の自立領域内にあるか、又は直接支持領域内にあるかを判断する。直接支持領域は、部品への支持を与える、デジタル部品モデルのシルエット内に位置する構築空間内の領域である。そのような直接支持領域は、部品が構築されるのに応じて部品を支持するだけの十分な支持材料を必要とする。自立領域は、部品の一部又は支持構造の一部の下方にあるシルエット内の領域であり、構築される間に支持を必要としない。
【００５０】
自立領域と直接支持領域との間の違いが図１０に示されており、図１０は、表面８０２、８０４、８０６、８０８及び８１０を有する部品８００の側面図を示す。部品の外部に示される３つの領域、すなわち、支持領域８２４、直接支持領域８２０及び自立領域８２２がある。直接支持領域８２０及び自立領域８２２は、部品の下方８００に位置し、一方、支持領域８２４は部品のいかなる部分の下方にも位置しない。
【００５１】
いくつかの実施形態によれば、水平方向に対して設定された或る最小角より大きい角度にある部品表面は、それらの表面の下方に支持体を用いることなく印刷することができる。例えば、表面８０８及び８１０は、水平方向に対して、その下方に支持材料を必要としないだけの十分に大きい角度にある。一方、表面８０６及び８０２は、表面８０８より水平に近く、それゆえ、その真下に直接支持を必要とする。いくつかの実施形態において、水平方向に対する部品表面の角度は、表面特徴２０９内に記憶される部品表面の外向きの法線から求められる。表面８０８に関する角度８２６等の、この法線と水平面との間の角度が角度閾値と比較され、その角度が角度閾値より小さいとき、その表面の下方にあるボクセルは、自立領域内にあると見なされる。
【００５２】
図１０に示されるように、自立領域８２２と直接支持領域８２０との間の境界面８３０は、水平面に対して９０度未満である角度８２８にある。いくつかの実施形態において、これは、部品を造形するために使用される直接支持材料の量を削減するために行われる。部品と同様に、直接支持領域の材料は、水平面に対する支持体表面の角度が或る最小角より大きいときに、その下方に支持体を用いることなく構築することができる。図１０において、その最小角は角度８２８である。
【００５３】
したがって、直接支持を必要とする部品表面の下方にあるエリアにおいて、ボクセルのうちのいくつかが直接支持領域８２０内に存在し、いくつかが自立領域８２２内に存在することになる。ボクセルをどの領域に指定すべきかを判断するために、直接支持表面８０６と自立表面８０８との間の境界８１２が特定され、この境界を最小角８２８とともに用いて、現在のスライスにおける直接支持領域８２０と自立領域８２２との間の境界８４０を特定する。ステップ７１４において、ボクセルが自立領域８２２内にある場合には、ステップ７１６において、ボクセルが自立領域内にあるという指示が設定される。ステップ７１４において、ボクセルが直接支持領域８２０内にあると判断される場合には、ステップ７１２において、ボクセルが直接支持領域内にあるという指示が設定される。ステップ７１２又はステップ７１６後に、そのプロセスはステップ７０４に進み、構築空間内に複数の部品が存在するか否かを判断する。
【００５４】
直接支持領域８２０、自立領域８２２及び支持領域８２４はそれぞれ、互いに異なる材料及び／又は異なる変調関数を含むことができる。一般に、直接支持領域８２０は、支持領域８２４より大きい支持を与える材料及び変調関数を含むことになる。自立領域８２２は、直接支持領域８２０と同じ材料及び変調関数を含むことができるか、又は異なる材料又は変調関数を含むことができる。いくつかの実施形態において、支持領域８２４及び自立領域８２２内のボクセルは材料なしを指定される。
【００５５】
図１１は、図９のステップ７０６を実行するための例示的なフロー図を与え、そのステップでは、構築空間内の単一の部品に対する材料特定が実行される。図１１のステップ９００において、ボクセルに対するデジタル部品モデルの最も近い部分に関する点特徴が、材料選択ユニット２２６によって、点特徴２０９から読み出される。これらの点特徴を用いて、その部品部分に近いボクセルに関する材料を決定するときに使用されるべき材料選択規則２２０の組を特定する。一実施形態によれば、材料選択規則の組は、距離フィールド値の範囲２２２の組ごとに別々の材料選択規則２２４を含む。いくつかの実施形態によれば、各材料選択規則は、距離フィールド値の全範囲にわたって同じ密度で同じ材料を指定する静的規則、及び距離フィールド値の範囲にわたってボクセルの組成を変更する変調規則のうちの一方である。
【００５６】
ステップ９０２において、材料選択ユニット２２６は、点特徴内で特定される材料選択規則の組を読み出し、ステップ９０４において、そのボクセルに関する距離フィールドと、もしあれば、領域指示（すなわち、直接支持領域、充填材領域）とを用いて、どの材料選択規則を使用すべきかを特定する。
【００５７】
一実施形態によれば、範囲２２２は、メッシュ境界に対する材料の帯状域を記述し、各帯状域は関連付けられる材料選択規則２２４を有する。範囲２２２内で、材料選択規則２２４は、その範囲内で使用すべき単一の材料を単に記述することができる。他の領域に関して、材料選択規則２２４は、出力値を生成するために数値を求められる１つ以上の関数からなる。出力値のグループが異なる材料指示に指定される。例えば、関数のいくつかの出力値は第１の材料に指定することができ、一方、他の出力値は第２の材料に指定される。或るときには、出力値の１つのグループが或る材料に指定され、残りの出力値が材料なしに指定され、それは、そのボクセル内に材料が配置されないことを意味する。例えば、一実施形態によれば、以下の帯状域及び関数が定義される。
【００５８】
ａ＞Ｄ＞ｂの場合
2019512408.tif 000003
ｂ＞Ｄ＞０の場合、
2019512408.tif 000004
Ｄ＝０の場合
2019512408.tif 000005
又は０＞Ｄ＞−ｃ及び直接支持の場合、
2019512408.tif 000006
０＞Ｄ＞−ｃ及び自立の場合、
2019512408.tif 000007
０＞Ｄ＞−ｃ及び非光輝の場合、
2019512408.tif 000008
０＞Ｄ＞−ｃ及び光輝の場合、
2019512408.tif 000009
−ｃ＞Ｄ＞−ｄ及び直接支持の場合、
2019512408.tif 000010
−ｃ＞Ｄ＞−ｄ及び自立の場合、
2019512408.tif 000011
−ｃ＞Ｄ＞−ｄ及びそれ以外の場合、
2019512408.tif 000012
【００５９】
ただし、Ｄは距離フィールド値であり、ａ、ｂ、−ｃ及び−ｄは距離フィールド値のための範囲値であり、
2019512408.tif 000013
は構築空間内のボクセルの３次元の場所であり、
2019512408.tif 000014
は変調関数であり、材料指示１〜２９は、ボクセルのために使用されるべき取り得る材料及び材料なしである。別々の材料１〜２９として列挙されるが、材料指示のうちの１つ以上が同じである場合があることは当業者には理解されよう。
【００６０】
変調関数は、構築空間内のボクセルの位置又はボクセルに関する距離フィールドＤ等の、ボクセルの１つ以上の特徴に関する周期又は非周期関数とすることができる。周期関数の場合、構築空間内の位置若しくは距離フィールド又はこれら２つの値の組み合わせを用いて、周期関数の周波数、周期関数の空間シフト、及び／又は周期関数の大きさを制御することができる。また、変調関数は、構築空間内のボクセルの位置に基づくか、又は距離フィールドに基づくノイズ関数とすることもできる。更なる実施形態において、変調関数は、周期関数と、手続き型ノイズ関数との組み合わせである。例えば、一実施形態において、周期関数は、構築空間内の位置及び距離フィールドの両方に基づき、周期関数の出力は、構築空間内のボクセルの位置に基づいてノイズ関数によって変調される。また更なる実施形態において、変調関数は、距離フィールド値と、構築空間内のボクセル位置の基本周期関数（base periodic function）との和である。
【００６１】
上記の例において、関数のための３つの値範囲が３つの関連付けられる材料指示とともに説明されてきた。変調関数が一定値を与えるとき、距離フィールドによって設定された範囲にわたって中実材料の帯状域を生成するただ１つの材料が特定されることになる。他の実施形態において、変調関数の出力のための他の値の範囲が使用され、変調関数のために設定された距離フィールド値の範囲内で任意の数の材料を使用できるようにする。更なる実施形態において、変調関数のための値範囲のうちの１つ以上を空き空間に関連付けることができ、結果としてボクセルに材料なしが指定される。例えば、変調関数の出力が０以上であるときに或る材料を指定し、変調関数の出力が０未満であるときにボクセルに空き空間を指定することができる。これにより、材料の多孔性帯状域を構成できるようになり、その材料の多孔性は、距離フィールド及び／又は構築空間内の位置の関数として変化する。
【００６２】
変調関数の周波数は、距離フィールドの連続関数として変化することができるか、又は変調関数に関連付けられる距離フィールドの範囲の最初又は最後にある距離フィールドの値に固定することができる。同様に、変調関数の振幅も同じく、距離フィールド値の関数として連続的に変化することができるか、又は変調関数に関連付けられる距離フィールド値の範囲の最初又は最後にある距離フィールドの値に設定することができる。
【００６３】
上記の材料選択規則の例示的な組において示されるように、材料選択規則の選択は、上記のステップ７１２及び７１６においてボクセルに関して指示されるように、ボクセルが直接支持領域内に位置するか、又は自立領域内に位置するかに基づくこともできる。さらに、ボクセルに最も近い部品の部分に関する光輝マップ２０８を調べて、部品のその部分が特定の光輝レベルを有するべきか否かを判断することができる。その後、距離フィールドとともに光輝レベルを用いて、材料選択規則を選択し、選択されたボクセルに隣接するボクセルに様々な材料を適用し、表面上に様々な光輝を生成することができる。
【００６４】
図１１に戻ると、ステップ９０６において、選択された材料選択規則にボクセルの距離フィールド値及び／又はボクセルの構築空間位置を適用して、そのボクセルに関して或る材料又は材料なしを選択する。いくつかの実施形態において、上記で示されたように、材料選択規則２２４は、距離フィールド値又はボクセルの構築空間位置等のボクセルの特徴の関数であり、その関数に距離フィールド値及び／又はボクセルの構築空間位置を適用して、出力値を生成し、その後、出力値を用いて、そのボクセルのための材料又は材料欠如を選択する。
【００６５】
図９の初期処理に戻ると、構築空間内に２つ以上のデジタル部品モデルが存在する場合には、図９のステップ７０８において多部品材料選択が実行される。図１２は、多部品材料選択を実行する１つの方法のフロー図を与える。
【００６６】
図１２のステップ１０００において、材料選択ユニット２２６が、点特徴２０９にアクセスし、複数の部品のデジタルモデルのための最も近いメッシュ境界点２１４に関する特徴を読み出す。その後、これらの特徴を用いて、メッシュ境界点に関して指示される材料選択規則が、他のデジタル部品モデルのメッシュ境界点に関する材料選択規則と混合されるべきであるか否かを判断するか、又は単一部品の材料選択規則のみが使用されるように、種々のデジタル部品モデルの材料選択規則間で選択が行われるべきであるか否かを判断する。
【００６７】
単一部品の材料選択規則のみが使用されるべきである場合には、そのプロセスはステップ１００２において継続し、種々の部品の最も近いメッシュ境界点を用いて、部品のうちの１つが選択される。詳細には、最も近いメッシュ境界点の特徴２０９は、材料選択規則の組を選択するときに、どの部品が優先権を与えられるべきであるかを示すことになる。ステップ１００２において優先権を有する部品が選択された後に、ステップ１００４において、図１１に関して上記で説明されたプロセスを用いて、単一部品材料選択が実行される。
【００６８】
いくつかの実施形態において、特徴２０９は、２つの部品に関するブール演算が実行されるべきであることを示すことができる。例えば、２つの部品に関する交わり演算（Intersection operation）が実行されるべきである場合には、特徴２０９は、両方の部品に関する距離フィールドが正であるときに、ボクセルに対して使用されるべき材料を示し、距離フィールドのうちの一方のみが正であるときに、ボクセルに材料なしが指定されるべきであることを示す。同様に、減算（Subtraction operation）が実行されるべきである場合には、両方の部品に関する距離フィールドが正である場合に、ボクセルに材料なしが指定される。和集合演算（Union operation）が実行されるべきであるとき、少なくとも一方の部品に関する距離フィールドが正である場合に、全てのボクセルに同じ材料が指定される。
【００６９】
図１３は、図１１の単一部品構成プロセスを用いて構成される部品の平面断面図の一例を与える。図１３において、動物の骨を表す部品がメッシュ境界１１００によって画定され、メッシュ境界は、それぞれの特徴をそれぞれ有する２つの領域１１０２及び１１０４に分割される。領域１１０２に関して、材料選択規則の３つの帯状域が部品の外部に画定され、材料選択規則の４つの帯状域が部品の内部に画定される。詳細には、メッシュ境界の外部に、２つの異なる材料の生成間で変調する変調関数によって構成される帯状域１１０６が存在し、結果として、構造を有する支持エリアが生成される。帯状域１１０８は、一定量の単一支持材料を与える非周期変調関数を含む。帯状域１１１０は、その帯状域内のボクセルに空隙を指定する非周期変調関数からなる。この実施形態において、２Ｄ距離フィールドで空隙が生成され、一方、３Ｄ距離フィールドで他の層が生成される。メッシュ境界内で、帯状域１１１２が、一定密度のコーティング材料を与える非周期変調関数によって表される。帯状域１１１４が、帯状域１１１２のコーティングと、皮質帯状域１１１６において見られる皮質材料との間で変調する変調関数によって記述される。皮質帯状域１１１６が、広い厚さ１１１８及び狭い厚さ１１２０によって示されるように、骨の長さ方向に沿って空間的に変動する厚さを有する。したがって、皮質帯状域１１１６のサイズは、何が最も近いメッシュ境界点であるかに基づいて異なる。皮質帯状域１１１６は、一定密度の皮質材料を与える非周期変調関数によって記述される。帯状域１１２２は、帯状域１１１６の皮質材料と骨髄材料との間で変調するノイズ変調関数によって記述される。ノイズ関数は、距離フィールドが増加するのに応じて、骨髄材料の量を増加させる。
【００７０】
領域１１０４は、領域１１０２の外部からの帯状域１１０６及び１１０８を含むが、領域１１０２からの内部帯状域１１２２のみを含む。
【００７１】
図１２に戻ると、最も近い部品点に関する点特徴２０９が、ステップ１０００において２つの異なる部品の材料選択規則が混合されるべきであることを示すとき、そのプロセスはステップ１００６において継続する。ステップ１００６において、構築空間内の部品のうちの少なくとも２つが選択される。選択される部品の数は、構築空間内の全ての部品に関して点特徴２０９に記憶される指示に基づく。そのような特徴は、混合中に部品の材料選択規則が使用されるために、メッシュ境界の或る特定の距離内にボクセルが存在するように要求する閾値距離フィールドを含むことができる。他の実施形態において、或る特定の点特徴２０９は、構築空間内に或る特定の数の他の部品が存在するときにのみ、部品の材料選択規則が混合されるべきであることを指示する。
【００７２】
ステップ１００８において、ステップ１００６において選択され、点特徴２０９において特定される部品に関連付けられる材料選択規則２２０が読み出される。ステップ１０１０において、ステップ１００６において選択された各部品に対するボクセルのそれぞれの距離フィールドと、もしあれば、ボクセルの領域指示とを用いて、混合のためにどの材料選択規則が選択されるべきであるかを特定する。ステップ１０１２において、選択された材料選択規則の材料及び変調関数の一方又は両方が混合又は融合される。一実施形態によれば、変調関数を混合又は融合することは、距離フィールドを用いて変調関数を重み付けすることと、重み付けされた変調関数を加算又は乗算することとを含み、融合された関数を形成する。重み付けは、ボクセルが２つの部品内にある場合には、部品のうちの一方の部品に関する距離フィールド値が増加するのに応じて、その部品の変調関数のための重みが増加するように行われる。ボクセルが２つの部品の外部に位置する場合には、その逆が当てはまり、部品に関する距離フィールドの大きさが増加するのに応じて、その部品に対する変調関数のための重みが減少する。他の実施形態において、混合又は融合は、ランダム関数を使用し、ランダム関数の出力が閾値より高いか、又は低いかに基づいて、どの材料を適用すべきかを選択することによって実行される。特定の部品に関する距離フィールドが増加するのに応じて、ボクセルに関してその部品の材料が選択される可能性が高くなるように、閾値は、それらの部品のうちの１つに関する距離フィールドの関数として設定される。これは、２つの部品の重なり合う部分にわたって融合されるエリアをもたらし、融合されたエリアにわたってボクセルの材料含有量が徐々に変化する。
【００７３】
ステップ１０１２において材料／変調関数が混合された後に、ステップ１０１４において、混合された関数に、ボクセルに関する構築空間領域とともに、部品のうちの１つ以上に関する距離フィールドが適用され、計算値が生成され、その計算値は、その後、ステップ１０１６においてボクセルに関する材料を選択するために使用される。
【００７４】
図１４は、ステップ１００２において単一部品を選択することが部品間の干渉を除去する、複数部品材料選択の一例を与える。場合によっては、設計者が、部品が別個のものであることを意図したときに、それらの部品が重なり合うように、異なる部品に関するメッシュ２０２が記述される。そのような干渉は、除去するのに時間を消費する場合がある。ステップ１００２において、ボクセルが、メッシュ２０２によって２つの異なる部品内にあるものと記述されるとき、部品のうちの１つのみを選択することによって、そのような干渉が自動的に除去される。
【００７５】
図１４の例において、２つの部品１２００及び１２０２が存在する。破線１２０４は、メッシュ２０２によって記述されるような部品１２０２に関するメッシュ境界を示し、実線１２０５は、部品１２００に関するメッシュ境界を示す。図１４に示されるように、メッシュ境界１２０４は部品１２００内にあり、その場合に、メッシュ境界の記述は、部品１２００と１２０２との間の干渉を示す。ステップ１００２において単一の部品を、この場合、部品１２００を選択することによって、メッシュ２０２において記述される干渉を除去し、部品１２０２に関する新たな部品境界１２０６（太線で示される）を与えることができる。したがって、部品１２００及び１２０２が重なり合う干渉エリア１２０８において、ステップ１００２における部品１２００の選択は、部品１２０２に関する境界１２０４を境界１２０６に実効的にシフトし、それにより、２つの部品間の干渉を除去する。これは実際には、部品１２００に基づいて、部品１２０２に関する減算を実行する。２つの干渉する部品に関する距離フィールドを比較することによって、一方の部品からの何らかの干渉と、残りの干渉とを除去することができる。また、所望のクリアランスを生成するために十分な材料を除去することもできる。
【００７６】
図１５は、距離フィールドを用いて２つの格子関数を混合する一例を与える。図１５において、セクション１３００に示されるジャイロイド（gyroid）変調フィールドが、混合エリア１３０４にわたって、セクション１３０２に示されるようなシュワルツ格子（Schwartz lattice）と混合される。図１５の混合において、ジャイロイドを画定するメッシュ境界からの距離フィールドが増加するのに応じて、ジャイロイド変調関数は小さく重み付けされ、シュワルツ格子が大きく重み付けされるように、２つの格子関数が重み付けされる。これは、ジャイロイド格子からシュワルツ格子への円滑な移行をもたらす。
【００７７】
図１６は、２つの部品１４００及び１４０２の重ね合わせられた部分にわたる部品材料の混合を示す。混合される領域１４０４において、部品１４００から部品１４０２への空間に沿って、部品１４００に関連付けられる材料の量が徐々に減少し、部品１４０２に関連付けられる材料の量が徐々に増加する。したがって、混合される領域において、部品１４００に関する距離フィールドの大きさが減少するのに応じて、部品１４００に関する部品材料の量が減少する。同様に、混合される領域において、混合される領域１４０４に沿って部品１４０２に関する距離フィールドが減少するのに応じて、部品１４０２に関連付けられる材料の量が減少する。
【００７８】
図３に戻ると、ステップ１１８においてボクセルのための材料が決定された後に、そのプロセスは、ステップ１２０において更なるボクセルが処理される必要があるか否かを判断する。現在のスライス内に更なるボクセルがある場合には、ステップ１１２に戻ることによって新たなボクセルが選択され、新たなボクセルに関してステップ１１４、１１６及び１１８が繰り返される。ステップ１２０において、現在のスライスに関する全てのボクセルが処理されると、そのスライスのための材料ビットマップが完成し、材料ビットマップ２２８として出力される。ステップ１２２において、そのプロセスは、更なるスライスがあるか否かを判断する。更なるスライスがある場合には、ステップ１２４において、スライス計算プロセス２１０が１スライスだけ上昇し、その後、ステップ１０４に戻り、新たなスライスに関して−Ｚ方向においてレンダリング動作を実行する。その後、新たなスライスに関して、ステップ１０６、１０８、１１０、１１２、１１４、１１６、１１８及び１２０が繰り返される。スライス内のボクセルごとの材料の選択は、スライスごとに−Ｚバッファー及び＋Ｚバッファーがロードされる前に実行されるように示されてきたが、他の実施形態では、レンダリング動作は、任意のスライス内のボクセルのための材料を決定する前に、スライスごとに−Ｚ方向及び＋Ｚ方向において実行されることに留意されたい。スライスごとに−Ｚバッファー及び＋Ｚバッファーがロードされた後に、材料選択ユニット２２６によって各スライスが次々に処理され、スライス内のボクセルごとの材料が特定される。
【００７９】
スライスごとに材料ビットマップ２２８が形成された後に、プリント変換ユニット２３０が、プリント変換ステップ１２６を実行し、このプリントデータをプリント命令２３７に変換する。このプリント変換ステップは、材料ビットマップ２２８をビットマップ２３２として転送するのと同程度に簡単にすることができる。他の実施形態では、材料ビットマップ２２８は、材料を堆積するためにプリントヘッドがスライスに沿っていかに動かされるべきであるかを記述するツールパス２３４に変換される。一実施形態において、マーチングスクエアアルゴリズムを用いて、ビットマップ２２８からツールパス２３４を特定する。更なる実施形態において、スライスごとの材料ビットマップ２２８は、部品境界の３次元記述を与えるメッシュ２３６に変換される。そのようなメッシュは、他のプリンターへの入力として、又はＣＡＤシステムへの入力として適用することができる。一実施形態において、マーチングキューブアルゴリズムを用いて、ビットマップ２２８からメッシュ２３６を特定する。材料ビットマップ２２８がプリント命令２３７に変換された後に、ステップ１２８において部品を造形できるように、プリント命令が通信アダプター９２を通して通信又は出力される。プリント命令２３７は、ボクセルごとの材料指示を組み込むので、プリント命令２３７を通信又は出力することは、積層造形システムを用いて３次元部品を構築する際に使用するためのボクセルごとの材料指示を通信又は出力することを含む。代替的には、メッシュ２３６が形成されるとき、ステップ１２８においてメッシュをＣＡＤシステムに与えることができる。
【００８０】
要するに、上記の実施形態は、ＧＰＵにＣＡＤモデルをロードし、ＧＰＵを用いて、全てのボクセルに関する符号付き距離フィールドを計算し、符号付き距離フィールドに基づいて、各ボクセルに材料を指定し、印刷するのに適した画像を出力する。
【００８１】
上記で論じられたように、種々の実施形態は、ＣＡＤモデルの最も近い点への３Ｄユークリッド距離、スライス内のモデルの断面上の最も近い点への２Ｄ距離、及びモデルのシルエットへの２Ｄ距離を含む、スライス内のボクセルごとにいくつかの異なる距離フィールドを計算する。
【００８２】
各距離フィールドは、ボクセルに関する特徴変換情報を含むことができ、その特徴は、距離フィールド内のそのボクセルに関して報告された距離を記録するために使用されるモデル上のソース点である。特徴変換は、ボディー又はメッシュの識別子、表面テクスチャー座標、表面法線及びソース点の位置を含むことができる。
【００８３】
一実施形態によれば、各ボクセルへの材料指定は、距離情報と、ユーザー制御パラメーターとの関数になる。
【００８４】
距離メトリックは、ユークリッドノルム、又はＬＰ若しくはチャンファーノルム（chamfer norm）等の異なるノルムとすることができる。
【００８５】
ＧＰＵにおける計算は、Ｚバッファーを用いて、平面投影内の距離の深さ成分を生成する。
【００８６】
ＧＰＵにおける計算は、距離変換を用いて、３Ｄ距離、２Ｄ断面距離、又は自立領域からの距離を計算する。
【００８７】
距離フィールドを用いて、潜在格子（implicit lattice）及びノイズ関数等のキャリア関数を変調し、弾性、強度、硬度、破断伸度、ポアソン比、密度、多孔性、色、透過性、噴散性（effusivity）、拡散性、光輝性、吸収性、光及び音波の速さ、コンプライアンス及び多孔性等の様々な材料特性を用いて、複数のスケールにおいて構造を生成することができる。
【００８８】
距離フィールドを用いて、オフセット処理及びブール演算を実行することができる。
【００８９】
距離フィールドを用いて、１つのＣＡＤモデルから別のＣＡＤモデルに円滑に補間することができる。
【００９０】
距離フィールドを用いて、干渉及び部品間の間隙を調整することができる。
【００９１】
距離フィールドを用いて、可変の厚さオフセットを生成することができる。
【００９２】
距離フィールドを表面テクスチャー及び体積テクスチャー（volumetric texture）と組み合わせて、層状及び波状テクスチャーを生成することができる。
【００９３】
距離フィールドを、ＣＡＴスキャン及びＭＲＩデータ等のボクセルデータと組み合わせて、体積測定的に様々な材料特性を用いるモデルを生成することができる。
【００９４】
それらの結果は、画像を使用するプリンターにおいて使用するためのビットマップ画像として保存することができる。
【００９５】
それらの結果は、ツールパスを使用する３Ｄプリンターのためのベクトル等高線にトレースすることができる。
【００９６】
それらの結果は、３Ｄ中実モデルに再構成することができる。
【００９７】
ＧＰＵにおける計算は、畳み込み、サンプリング又は線形時間手法を用いて、２Ｄ断面距離、シルエット距離、及び３Ｄ距離の平面成分を計算する。一実施形態によれば、これらの計算は、距離を効率よく再帰的に計算するために繰り返し実行される。
【００９８】
距離情報を用いて、格子を記述する関数等の陽関数及び陰関数を変調し、コンプライアンス及び多孔性等の様々なバルク材料特性を用いて構造を生成することができる。それらの関数は、形状、形状内の空所、テクスチャー、様々な材料特性、並びに梁状、ハチ巣状及び混合トポロジー格子を記述することができる。
【００９９】
以下に説明される実施形態において、ＣＰＵ構成要素及びＧＰＵ構成要素が存在する。ＣＵＰ構成要素は、
１．メッシュデータ、テクスチャー及びスライシングパラメーターデータを読み出す。
２．メッシュデータ及び関連情報をＧＰＵに送信する。
３．スライスデータを表示し、スライスデータとインタラクトするユーザーインターフェースを与える。
４．ＧＰＵ上に作成された画像をディスクに保存する。
【０１００】
ＧＰＵ構成要素は、
１．Ｚバッファーを用いて、モデルについての深さ情報を生成する。
２．深さ情報から距離情報を計算する。
３．距離情報を用いて、各ボクセルの組成を計算する。
４．格子を計算する、ソリッドモデリング演算を実行する、色を較正する等のためのライブラリを含む。
【０１０１】
一実施形態において、種々の実施形態は、ＣＰＵに関するＪａｖａｓｃｒｉｐｔ、Ｎｏｄｅ．ｊｓ及びＥｌｅｃｔｒｏｎと、ＧＰＵコードに関するＯｐｅｎＧＬ  ＥＳとを用いて実施される。他の実施形態は、Ｃ＃  ｏｎ．ＮＥＴ又はＭｏｎｏ及びＯｐｅｎＧＬ３．３を用いて実施される。
【０１０２】
距離フィールドが表面情報と組み合わせられるときに、更なるアプリケーションが、
１．距離フィールドを計算しながら、距離情報とともにテクスチャー、法線及び他の幾何学的情報（まとめて、「表面情報」）を記録する。
２．表面情報及びビットマップを用いて、モデルに対して指定する色を選択する。
３．表面情報及びビットマップを用いて、場合によってはディザリングを使用して、いくつかの取り得る材料の中から材料を選択する。
４．表面情報及びビットマップを用いて、モデルをオフセットし、物理変位マップを作成する。
５．表面情報及びビットマップを用いて、印刷された結果の光沢を変更する。
６．表面情報及びビットマップを用いて、印刷された結果の表面仕上げを変更する。
７．表面情報及びビットマップを用いて、表面上のテクスチャーの値に最も近い材料の硬度を変更する。
８．表面情報及びビットマップを用いて、表面のテクスチャーの値に最も近い材料の透過性を変更する。
９．表面情報及びビットマップを用いて、表面上のテクスチャーの値に最も近い材料の、弾性、強度、硬度、破断伸度、ポアソン比、密度、多孔性、色、透過性、噴散性、拡散性、吸収性、光及び音波の速さ、コンプライアンス及び多孔性等の機械的特性を変更する。
１０．表面情報及びビットマップを用いて、部品の表面上の支持材料の存在を変更する。
１１．表面情報及びビットマップを用いて、部品の体積又はそれを包囲する支持構造において使用される陰関数を変調する。
１２．表面情報及びいくつかのビットマップを用いて、ブール演算を介して結合することができるいくつかの変位マップを生成し、張出しを含む表面テクスチャーを作成する。
１３．表面情報及びいくつかのビットマップを透明材料とともに用いて、レンズ（アニメーション又は３Ｄ）表面効果を生成する。
１４．２〜１３の任意の組み合わせを一緒に使用する。
１５．３Ｄ体積テクスチャーを距離フィールド情報とともに用いて、場合によっては２〜１３と組み合わせて、材料組成を変更する。
【０１０３】
図１において、コンピューター６６が、単一のスタンドアローンの積層造形システムのためのホストとして示された。代替的には、図１７に示されるように、コンピューター６６が、複数の積層造形システム６８のためのローカルサーバーとして機能することができる。例えば、システム６８は、消費者用又は産業用ＯＥＭ製品を造形する生産システム全体の一部とすることができる。その場合に、コンピューター６６は、図３のステップを実行することができ、ランタイム推定、プリンター待ち行列、後処理待ち行列等の１つ以上の更なる処理ステップも実行することもできる。図示されるように、コンピューター６６は、任意選択で、１つ以上のサーバー７２と、各システム６８に関連付けられる１つ以上の専用ホストコンピューター７４とを含むことができ、サーバー７２は１つ以上の通信線７６（例えば、ネットワーク線）を介してホストコンピューター７４と通信できる。
【０１０４】
更に別の実施形態では、図１８に示されるように、コンピューター６６及びシステム６８はオンデマンドサービスセンターの一部とすることができる。この実施形態において、コンピューター６６は、例えば、クラウドベースサーバーとして機能することができ、顧客は、自らのパーソナルコンピューター７８から、インターネットを介して、１つ以上のネットワーク又は通信線８０を経由して、コンピューター６６（例えば、サーバー７２）にデジタルモデル（例えば、メッシュデータファイル）を提示することができる。
【０１０５】
この適用例において、コンピューター６６は、図３のステップと、支持材料体積計算、価格見積、ランタイム推定、プリンター待ち行列、後処理待ち行列、発送推定等の１つ以上の更なる処理ステップとを実行することができる。例えば、いくつかの実施形態において、コンピューター６６は、Nehmeらの米国特許第８，８１８，５４４号において論じられるように、支持材料体積計算、構築時間、及び価格見積を生成することができる。また、サービスセンターは１つ以上のポストプリンティングステーション（例えば、支持体除去ステーション、表面仕上げステーション、発送ステーション等、図示せず）を含むことができ、コンピューター６６は、任意選択で、ポストプリンティングステーション（複数の場合もある）と通信することもできる。
【０１０６】
本明細書において使用されるときに、「コンピューター」という用語は、１つ以上のパーソナルコンピューター、ラップトップコンピューター、ローカルサーバー、クラウドベースサーバー、モバイルメディアデバイス、コンピュータータブレットデバイス等の１つ以上のコンピューターシステムを指している。
【０１０７】
種々の実施形態とともに使用することができる積層造形システム２０１０の典型的で、非限定的な例が図１９に示される。システム２０１０等の積層造形システムの原理及び動作に関する詳細は、その内容が引用することにより本明細書の一部をなす、米国特許出願公開第２０１００１９１３６０号並びに米国特許第８，１４７，９１０号及び第９，２２７，３６５号において入手される。
【０１０８】
積層造形システム２０１０は、ジェットプリンティング装置２０１４を用いて、ビットマップ及びコンピューター６６からの命令に基づいて、３次元物体２０１２を造形する。システム２０１０に適した積層造形システムは、「ＰｏｌｙＪｅｔ」の商標のもとでStratasys Ltd.社（イスラエル国レホヴォト所在）によって開発されたジェットシステムを含む。種々の例示的な実施形態によって考えられる他の積層造形装置の典型的な例は、限定はしないが、結合剤ジェットパウダーベース装置（binder jet-powder base apparatus）を含む。
【０１０９】
ジェットプリンティング装置２０１４は、分注ヘッド２０２１ａ、２０２１ｂ、２０２１ｃ及び２０２１ｄと、放射源２０２６と、レベリングデバイス２０３２とを含み、それらは全て、可動フレーム又はブロック２０２８内に取り付けられる。各ヘッドは、それぞれの供給コンテナ２０５０から部品材料又は支持体材料２０２４を受け取り、好ましくは、部品材料及び支持体材料２０２４がそこを通して分注される１つ以上のノズルのアレイを備える。必須ではないが、好ましくは、部品材料及び支持体材料はインクジェット技術によって分注される。フレーム２０２８がトレイ２０３０の上方にわたって移動し、トレイは、物体２０１２がその上に構築される作業面としての役割を果たす。トレイ２０３０は、垂直に（Ｚ方向に沿って）、通常は下方に移動するように構成されることが好ましい。
【０１１０】
使用時に、コントローラー２０５２が、システム２０１０に物体２０１２を造形させるために、ビットマップ及びコンピューター６６からの命令に基づいて、システム２０１０の種々の構成要素に制御命令を与える。詳細には、コントローラー２０５２からの命令によって、分注ヘッド２０２１が走査方向に移動し、トレイ２０３０の上方を通過する過程において、所定の構成において支持体材料及び／又は部品材料を選択的に分注する。ヘッド２０２１の通過後に、放射源２０２６によってモデリング材料（複数の場合もある）を硬化させる。ヘッド２０２１が逆方向に移動して、堆積されたばかりの層に対する出発点に戻り、所定の構成に従って、構築材料の更なる分注を実行することができる。ヘッド２０２１が前方及び／又は逆方向に移動する際に、このようにして形成された層をレベリングデバイス２０３２によって平坦化する（straighten）ことができ、レベリングデバイスは、前方及び／又は逆方向に移動する際にヘッド２０２１の経路に従うことが好ましい。ヘッド２０２１がＸ方向に沿って出発点に戻ると、ヘッドは、本明細書においてＹ方向と呼ばれる、インデックス方向に沿って別の位置に移動することができ、Ｘ方向に沿って往復運動することによって、同じ層を構築し続けることができる。
【０１１１】
層が完成すると、次に印刷されることになる層の所望の厚さに従って、トレイ２０３０がＺ方向において所定のＺレベルまで下げられる。その手順は、３次元物体２０１２を形成するために層ごとに繰り返される。
【０１１２】
図２０は、システム２１１０を示しており、そのシステムは、電子写真法を用いて３Ｄ部品及び支持構造を印刷する例示的な積層造形システムであり、種々の実施形態を通して形成されるプリントデータに基づいて３Ｄ物体を印刷するために使用することができる。システム２１１０に適した構成要素及び機能動作の例が、引用することにより本明細書の一部をなす、米国特許出願第１３／７９０，４０６号、第１３／２４２，６６９号及び第１３／２４２，８４１号において開示されるものを含む。
【０１１３】
米国特許出願第１３／７９０，４０６号、第１３／２４２，６６９号及び第１３／２４２，８４１号において論じられるように、ＥＰエンジン２１１２が、電子写真法を用いて、熱可塑性物質ベースの粉末の連続した層２１２８を現像するように構成される。現像された層２１２８は、その後、ＥＰエンジン２１１２からベルト２１１４に転写される。ベルト２１１４は、現像された層２１２８をＥＰエンジン２１１２から層転写融着（layer transfusion）アセンブリ２１３３に搬送し、層転写融着アセンブリは、現像された層２１２８を構築プラットフォーム２１１８上に、又は部品２１２２の既に転写融着された層上に転写融着する。層転写融着アセンブリ２１３３は、構築プラットフォーム２１１８から上流に位置するヒーター２１３２と、加熱式ニップローラー２１２０と、部品ヒーター２１７０及び２１７２と、ガントリ２１３４とを含む。構築プラットフォーム２１１８に達する前に、ヒーター２１３２が層２１２８を少なくとも材料の溶融温度まで加熱する。部品ヒーター２１７０及び２１７２が部品２１２２を加熱する。現像された層２１２８がニップローラー２１２０の周りを通過するのに応じて、構築プラットフォーム２１１８が経路２１７６に沿ってガントリ２１３４によって動かされる。構築プラットフォーム２１１８の動きは、コントローラー２１２４からのコマンドに基づいて、モーター２１３６によって操作される。ベルト２１１４の継続的な回転及び構築プラットフォーム２１１８の動きが、加熱された層２１２８を、３Ｄ部品２１２２の加熱された上面と位置合わせする。ガントリ２１３４は、ベルト２１１４の回転速度と同期する速度において、構築プラットフォーム部品２１２２を動かし続ける。これにより、加熱された層２１２８が、ニップローラー２１２０の場所において、３Ｄ部品２１２２の加熱された上面とベルト２１１４との間で押圧され、加熱された層２１２８が３Ｄ部品２１２２の上層に転写融着される。
【０１１４】
層２１２８が部品２１２２上に解放された後に、ガントリ２１３４が、構築プラットフォーム２１１８及び３Ｄ部品２１２２を任意選択の後融着ヒーター２１８２まで動かし続ける。さらに、ガントリ２１３４は、部品２１２２をエアジェット２１４２まで動かし続け、エアジェットは、３Ｄ部品２１２２の上層に向かって冷却用空気を吹き付ける。これは、転写融着された層を能動的に冷却する。
【０１１５】
ガントリ２１３４は、その後、構築プラットフォーム２１１８及び３Ｄ部品２１２２を下方に動かし、往復長方形パターン２１７６に従って出発点に戻す。
【０１１６】
図２１は、例示的なシステムにおいて使用するための、３Ｄ部品及び支持構造を印刷するように構成される例示的な押出しを利用した積層造形システム８８の図である。システム８８に適した積層造形システムは、「ＦＤＭ」の商標の熱溶解積層システム等の、Stratasys,Inc.社（ミネソタ州エデンプレーリー所在）によって開発された押出しを利用したシステムを含む。システム８８等の積層造形システムの原理及び動作に関する詳細は、その内容が引用することにより本明細書の一部をなす、米国特許第９０２２７６９号において入手される。
【０１１７】
図２１において、２つの消耗アセンブリ２２１２が存在し、消耗アセンブリ２２１２のうちの一方は部品材料フィラメントを含み、他方の消耗アセンブリ２２１２は支持材料フィラメントを含む。各消耗アセンブリ２２１２は、コンテナ部２２１４と、ガイドチューブ２２１６と、プリントヘッド２２１８とを含み、各プリントヘッド２２１８は押出機２２２０を含む。コンテナ部２２１４は、Mannellaらによる米国特許出願公開第２０１３／０１６１４３２号及び第２０１３／０１６１４４２号並びにBatchelderらによる米国特許出願公開第２０１４／０１５８８０２号において論じられるように、消耗フィラメントのスプール、コイル又は他の供給形態を保持することができる。
【０１１８】
ガイドチューブ２２１６はコンテナ部２２１４及びプリントヘッド２２１８を相互接続し、プリントヘッド２２１８の（及び／又はシステム８８の）ドライブ機構が、消耗フィラメントの連続したセグメントを、コンテナ部２２１４から、ガイドチューブ２２１６を通して、押出機２２２０まで引き込む。
【０１１９】
図示されるように、システム８８は、システムハウジング２２２６と、チャンバー２２２８と、プラテン２２３０と、プラテンガントリ２２３２と、ヘッドキャリッジ２２３４と、ヘッドガントリ２２３６とを含む。チャンバー２２２８は、３Ｄ部品２２２２及び支持構造２２２４を印刷するためのプラテン２２３０を含む密閉環境である。プラテンガントリ２２３２は、垂直のｚ軸に沿って（又は実質的に沿って）プラテン２２３０を動かすように構成されるガントリアセンブリである。ヘッドキャリッジ２２３４は、プリントヘッド２２１８を収容するように構成されるユニットであり、ヘッドガントリ２２３６によって支持される。ヘッドキャリッジ２２３４のために適したデバイス及びヘッドキャリッジ２２３４内にプリントヘッド２２１８を保持するための技法の例が、Swansonらによる米国特許第８，４０３，６５８号及び第８，６４７，１０２号において開示されるものを含む。ヘッドガントリ２２３６は、ヘッドキャリッジ２２３４及び保持されるプリントヘッド２２１８をチャンバー２２２８の上方で水平のｘ−ｙ平面において動かすように構成されるベルトドライブガントリアセンブリである。ヘッドガントリ２２３６のために適したガントリアセンブリの例は、Combらによる米国特許出願公開第２０１３／００７８０７３号において開示されるものを含み、ヘッドガントリ２２３６は、チャンバー２２２８のための天井を画定する変形可能バッフル（図示せず）を支持することもできる。
【０１２０】
プリントヘッド２２１８のために適したデバイス、及びプリントヘッド２２１８、ヘッドキャリッジ２２３４、ヘッドガントリ２２３６間の接続の更なる例が、Crumpらによる米国特許第５，５０３，７８５号、Swansonらによる米国特許第６，００４，１２４号、LaBossiereらによる米国特許第７，３８４，２５５号及び第７，６０４，４７０号、Batchelderらによる米国特許第７，８９６，２０９号及び第７，８９７，０７４号、並びにCombらによる米国特許第８，１５３，１８２号において開示されるものを含む。
【０１２１】
また、システム８８は、システム８８の構成要素を動作させるように構成される１つ以上のコンピューターベースシステムであるコントローラーアセンブリ２２３８も含む。コントローラーアセンブリ２２３８は、通信線（複数の場合もある）２２４０を介して、プリントヘッド２２１８、チャンバー２２２８、ヘッドキャリッジ２２３４、プラテンガントリ２２３２及びヘッドガントリ２２３６用のモーター、並びに種々のセンサー、較正デバイス、ディスプレイデバイス及び／又はユーザー入力デバイス等の、システム８８の種々の構成要素と通信することができる。
【０１２２】
さらに、コントローラーアセンブリ２２３８は、通信線７０を介して、コンピューター６６等の外部デバイスと通信することもできる。
【０１２３】
印刷動作中に、コントローラーアセンブリ２２３８は、プラテン２２３０をチャンバー２２２８内の所定の高さまで動かすように、プラテンガントリ２２３２に指示する。コントローラーアセンブリ２２３８は、その後、コンピューター６６によって与えられるツールパスに沿って、ヘッドキャリッジ２２３４及びプリントヘッド２２１８をチャンバー２２２８の上方において水平なｘ−ｙ平面内で動かすように、ヘッドガントリ２２３６に指示する。コントローラーアセンブリ２２３８は、その後、コンテナ部２２１４から、ガイドチューブ２２１６を通して、消耗フィラメントの連続したセグメントをそれぞれ選択的に引き込むように、プリントヘッド２２１８に命令する。各消耗フィラメントの連続したセグメントは、その後、それぞれのプリントヘッド２２１８の押出機２２２０内で溶融され、溶融した材料が生成される。押出機２２２０を出ると、結果として生成された押出物が、３Ｄ部品２２２２又は支持構造２２２４を層ごとに印刷するための一連のロードとしてプラテン２２３０上に堆積される。
【０１２４】
本開示は好ましい実施形態を参照しながら説明されてきたが、本開示の趣旨及び範囲から逸脱することなく、形態及び細部に関して変更を加えることができることが、当業者には認識されよう。
【図１】
2019512408.tif 000015
【図２】
2019512408.tif 000016
【図３】
2019512408.tif 000017
【図４】
2019512408.tif 000018
【図５】
2019512408.tif 000019
【図６】
2019512408.tif 000020
【図７】
2019512408.tif 000021
【図８】
2019512408.tif 000022
【図９】
2019512408.tif 000023
【図１０】
2019512408.tif 000024
【図１１】
2019512408.tif 000025
【図１２】
2019512408.tif 000026
【図１３】
2019512408.tif 000027
【図１４】
2019512408.tif 000028
【図１５】
2019512408.tif 000029
【図１６】
2019512408.tif 000030
【図１７】
2019512408.tif 000031
【図１８】
2019512408.tif 000032
【図１９】
2019512408.tif 000033
【図２０】
2019512408.tif 000034
【図２１】
2019512408.tif 000035
【国際調査報告】
2019512408.tif 000036
2019512408.tif 000037