(57)【要約】オブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に低減するためのシステムおよび方法であり、当該シミュレートモデルは付加製造を用いたオブジェクトのシミュレート構築を表す。
2021530779.tif 000002
【特許請求の範囲】
【請求項１】
付加製造のための構築シミュレーション中に有限要素モデルによって経験される剛体運動を低減するために、３Ｄオブジェクトの有限要素モデルを修正するためのコンピュータにより実施される方法であって、
前記有限要素モデルを取得するステップであって、前記有限要素モデルは複数のノードと複数の要素とを含み、前記複数のノードのうちの１つ以上のノードは前記複数の要素のうちの２つ以上の要素に関連付けられている、ステップと、；
前記複数の要素の複数のボトムノードを識別するステップと、；
前記複数のボトムノードのそれぞれに関連するいくつかの要素を決定するステップと、；
１つ以上の浮動ノードとして１つの要素のみに関連する前記複数のボトムノードのうちの１つ以上のボトムノードを識別するステップと、；
前記１つ以上の浮動ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正するステップと、；
前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを使用して前記オブジェクトの構築をシミュレートするステップと、
を含む方法。
【請求項２】
前記有限モデルのためのノード対要素マップを取得するステップをさらに含み、前記ノード対要素マップは前記複数のノードのそれぞれと前記複数の要素との関連性を示し、前記ノード対要素マップに基づいて前記複数のボトムノードのそれぞれに関連する要素の数が決定する、請求項１に記載の方法。
【請求項３】
前記複数の要素のそれぞれが、キューブの角にノードを有する前記キューブを含む、請求項１に記載の方法。
【請求項４】
要素のボトムノードが、前記要素と交差する構築プラットフォームに最も近い平行平面である前記要素の平面内の前記要素のノードを含む、請求項１に記載の方法。
【請求項５】
１つ以上の浮遊ノードとして、１つの要素のみに関連する前記複数のボトムノードのうちの１つ以上のボトムノードを識別するステップは、：
１つの要素のみに関連付けられた少なくとも２つのボトムノードを有する、前記複数の要素のうちの１つ以上の要素を識別するステップと、
前記１つ以上の要素のそれぞれの前記少なくとも２つのボトムノードを前記１つ以上の浮動ノードとして識別するステップと、
を含むこと請求項１に記載の方法。
【請求項６】
前記１つ以上の安定要素は１つ以上のスプリングを含み、
前記１つ以上の浮動ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正するステップは:
前記１つ以上のスプリングのそれぞれが、一方の端部で浮動ノードに結合され、他方の端部で構築プラットフォームに結合されるようにモデル化するステップ
を含む請求項１に記載の方法。
【請求項７】
前記１つ以上のスプリングのそれぞれが、一方の端部で浮遊ノードに結合され、他方の端部で構築プラットフォームに結合されるようにモデル化するステップは、前記浮遊ノードに垂直な前記構築プラットフォーム上のポイントで前記構築プラットフォームに結合されるように前記１つ以上のスプリングのそれぞれをモデル化するステップを含む、請求項６に記載の方法。
【請求項８】
前記１つ以上の安定要素は１つ以上のスプリングを含み、前記１つ以上の浮動ノードに１つ以上のスプリングを含むように前記有限要素モデルを修正するステップは、前記有限要素モデル内の前記１つ以上のスプリングのそれぞれを、前記オブジェクトを構築するために使用される材料に基づいたばね定数を有するものとしてモデル化するステップを含む、請求項１に記載の方法。
【請求項９】
前記１つ以上の安定要素は１つ以上の１次元要素を含み、前記１つ以上の浮動ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正するステップは、：
前記１つ以上の浮動ノードに結合する１つ以上の対角ノード対を識別するステップと、
前記１つ以上の対角ノード対を前記１つ以上の１次元オブジェクトとして含むステップと、を含む請求項１に記載の方法。
【請求項１０】
前記１つ以上の対角ノード対のそれぞれは、所定の要素の所定の浮動ノードと、前記所定の要素よりも構築プラットフォームに近い別の所定の要素の所定のノードと、に結合する、請求項９に記載の方法。
【請求項１１】
付加製造のための構築シミュレーション中に有限要素モデルによって経験される剛体運動を低減するために、３Ｄオブジェクトの有限要素モデルを修正するためのコンピュータにより実施される方法であって、
前記有限要素モデルを取得するステップであって、前記有限要素モデルは複数のノードと複数の要素とを含み、前記複数のノードのうちの１つ以上のノードは前記複数の要素のうちの２つ以上の要素に関連付けられ、前記複数の要素のそれぞれは前記要素の中心に対応する重心を含む、ステップと；
前記複数の要素の隣りに位置する要素のペアの重心間の重心対距離を計算するステップであって、要素のペアは、少なくとも１つのノードを共有する場合、互いに隣りに位置する要素である、ステップと；
閾値長以下の１つ以上の重心対距離の経路を介して対応する隣りに位置する要素に結合しない、前記複数の要素のうちの任意の要素を不安定要素と判定するステップと、；
任意の不安定要素に結合された１つ以上の追加要素を含むように前記有限要素モデルを修正するステップと、
前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを使用してオブジェクトの構築をシミュレートするステップと、
を含む方法。
【請求項１２】
前記閾値長は、前記複数の要素のそれぞれの辺長である請求項１１に記載の方法。
【請求項１３】
前記複数の要素のそれぞれが、キューブの角にノードを有する前記キューブを含む、請求項１１に記載の方法。
【請求項１４】
各不安定要素について、前記不安定要素と１つ以上の隣りに位置する要素との間に閾値長以下の１つ以上の重心対距離の少なくとも１つの経路があるように、前記不安定要素および前記１つ以上の隣りに位置する要素に結合されるように少なくとも１つの追加要素が追加される、請求項１１に記載の方法。
【請求項１５】
付加製造のための構築シミュレーション中にオブジェクトの有限要素モデルを使用するためのコンピュータにより実施される方法であって、：
前記有限要素モデルを取得するステップであって、前記有限要素モデルはシミュレートされた付加製造装置のシミュレートされた構築プラットフォームに平行でない底面を有する第１の要素を含む複数の要素を含む、ステップと、
前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを用いて前記オブジェクトの構築をシミュレートするステップと、を含む方法。
【請求項１６】
前記複数の要素のそれぞれが、キューブの角にノードを有する前記キューブを含む、請求項１５に記載の方法。
【請求項１７】
前記複数の要素は、前記シミュレートされた構築プラットフォームに平行な底面を有する第２の要素を含む、請求項１５に記載の方法。
【請求項１８】
前記複数の要素は、前記シミュレートされた構築プラットフォームに対して、前記第１の要素の前記底面とは異なる角度で底面を有する第２の要素を含む、請求項１５に記載の方法。
【請求項１９】
コンピュータが実行可能な指示が保存された、非一過性コンピュータ読み取り可能媒体であって、コンピューティングデバイスのプロセッサによって実行されるとき、前記コンピューティングデバイスに請求項１〜１８のいずれか１項に記載の方法を実行させる非一過性コンピュータ読み取り可能媒体。
【請求項２０】
コンピューティングデバイスであって、：
メモリおよび
請求項１〜１８のいずれか１項に記載の方法を実行するように構成されたプロセッサを備えているコンピューティングデバイス。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
〔関連出願の相互参照〕
本出願は、２０１８年７月１０日に出願された米国仮特許出願第６２／６９６，２３７号の利益を主張し、参照により、その内容の全てが本書に含まれる。
【０００２】
〔本願発明の背景〕
（本願発明の分野）
本出願は、付加製造に関する。より詳細には、本出願は、付加製造を使用したオブジェクトの構築をシミュレートするためのシステムおよび方法に関する。
【０００３】
（従来の技術）
付加製造の分野では、３次元ソリッドオブジェクトがデジタルモデルから形成される。付加製造は、製造されるオブジェクトが３次元であるため、一般に３次元（「３Ｄ」）プリンティングと呼ばれる。付加製造のためのいくつかの技術は選択的レーザ焼結（ＬＳ）製造および金属焼結を含む。これらの技術は所望の３次元（３Ｄ）オブジェクトを生成するために使用される構築材料の層を重合または凝固させるために、レーザビームを特定の位置に導く。３Ｄオブジェクトは、構築材料の層を凝固させることによって、層ごとに構築される。
【０００４】
設計段階では、特定の設計されたオブジェクトがうまく（例えば、エラーなしに、許容範囲内で、など）構築され得るかどうかを知ることは困難になり得る。したがって、オブジェクトの構築は、付加製造のプロセス中に失敗することがある。付加製造のプロセス中にオブジェクトの構築が失敗した場合、部分的に構築されたオブジェクトを廃棄し、オブジェクトを再設計し、次いでオブジェクトの実際の付加製造を再び開始する必要があり得る。時間および材料を費やす実際のオブジェクトの付加製造中に、構築が数回失敗する可能性がある。
【０００５】
例えば、構築材料の原料を加工するためにエネルギー源を使用する付加製造の技術は、製造プロセス中に熱的および機械的応力（stress）、並びに、歪みを生じる傾向がある。これらの応力および歪みは、例えば、構築材料の原料の加熱および冷却によって引き起こされ得る。構築材料の原料の加熱及び冷却は、製造中の構築材料の膨張及び収縮につながる。例えば、レーザまたは他のエネルギー源を使用して金属および金属粉末から一部を製造する場合、高い応力および歪みが生じ得る。製造中または製造後に、オブジェクトにかかる応力および歪みは、オブジェクトを変形させる可能性があり、または製造中においては、構築プロセスが継続するのを止め得る、それによって構築不良を生じさせる。
【０００６】
オブジェクトを構築しようと試みることから生じる時間および／または材料の浪費、および付加製造プロセスが失敗すること、または結果として生じるオブジェクトが設計されたオブジェクトに適合しないことを回避するために、演算装置（computing devices）は、付加製造を使用したオブジェクトの構築をシミュレートするために使用され得る。このようなシミュレートされたオブジェクトの構築は、オブジェクトのデジタルシミュレートモデルをもたらすことができる。オブジェクトのシミュレートモデルがオブジェクトの元の設計に適合しない場合、または他のエラーが検出された場合、オブジェクトの設計および／またはオブジェクトを構築するためのパラメータを変更することができ、構築のシミュレーションを再び実行して、オブジェクトの新しいシミュレートモデルを生成することができる。オブジェクトのこのようなシミュレート構築は、結果として得られるオブジェクトのシミュレートモデルが設計されたオブジェクトにうまく適合するまで、および／またはエラーが検出されなくなるまで、反復的に実行されてもよい。その後、実際のオブジェクトは、付加製造を使用して構築されてもよい。反復してオブジェクトを実際に構築しようとする代わりに、反復してオブジェクトの構築をシミュレートすることによって、構築が失敗するために浪費される時間および材料が低減される。
【０００７】
しかしながら、場合によっては、オブジェクト全体のシミュレートモデルが生成される前に、オブジェクトのシミュレート構築が失敗し、中断となることがある。したがって、シミュレートモデルは、オブジェクトの一部のみを含む可能性がある。そのため、設計者はシミュレーション中断のために、シミュレートされたモデル内のオブジェクトの一部にアクセスすることしかできず、これは、なぜ構築が失敗したかに関して限定された情報のみを設計者に提供することになり得る。そのような限定された情報は、設計者がオブジェクトを適切に再設計すること、または適切に構築のパラメータを調整することをより困難にし得る。
【０００８】
本発明者によって確認されたこれらの問題および他の問題を考慮して、付加製造を使用して構築されるオブジェクトのシミュレーション構築を改善するシステムおよび方法が、本明細書に記載される。
【０００９】
〔発明の概要〕
一実施形態は付加製造のための構築シミュレーション中に有限要素モデルによって経験される剛体運動を低減するために、３Ｄオブジェクトの有限要素モデルを修正するためのコンピュータにより実施される方法を提供する。この方法は有限要素モデルを取得することを含み、前記有限要素モデルは複数のノードと複数の要素とを含み、前記複数のノードのうちの１つ以上のノードは、前記複数の要素のうちの２つ以上の要素に関連付けられる。この方法は、複数の要素の複数のボトムノードを識別することを含む。この方法は、前記複数のボトムノードのそれぞれに関連するいくつかの要素を決定することを含む。この方法は、１つ以上の浮動ノードとして、１つの要素のみに関連する前記複数のボトムノードのうちの１つ以上のボトムノードを識別することを含む。この方法は、前記１つ以上の浮遊ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正することを含む。この方法は、前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを使用してオブジェクトの構築をシミュレートすることを含む。
【００１０】
別の実施形態は付加製造のための構築シミュレーション中に有限要素モデルによって経験される剛体運動を低減するために、３Ｄオブジェクトの有限要素モデルを修正するためのコンピュータにより実施される方法を提供する。この方法は有限要素モデルを取得することを含み、前記有限要素モデルは複数のノードおよび複数の要素を含み、前記複数のノードのうちの１つ以上のノードは前記複数の要素のうちの２つ以上の要素に関連付けられ、前記複数の要素のそれぞれは前記要素の中心に対応する重心を含む。この方法は前記複数の要素の隣りに位置する要素のペアの重心間の重心対距離を計算することをさらに含み、要素のペアは、少なくとも１つのノードを共有する場合、互いに隣りに位置する要素である。この方法はさらに、閾値長以下の１つ以上の重心対距離の経路を介して、対応する隣りに位置する要素に結合しない、前記複数の要素のうちの任意の要素を不安定要素と判定することを含む。この方法は、任意の不安定要素に結合された１つ以上の追加要素を含むように前記有限要素モデルを修正することを含む。この方法はさらに、オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを使用してオブジェクトの構築をシミュレートすることを含む。
【００１１】
別の実施形態は、付加製造のための構築シミュレーション中にオブジェクトの有限要素モデルを使用するためのコンピュータにより実施される方法を提供する。この方法は前記有限要素モデルを取得することを含み、前記有限要素モデルは、シミュレートされた付加製造装置のシミュレートされた構築プラットフォームに平行でない底面を有する第１の要素を含む複数の要素を含む。この方法はさらに、前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを用いてオブジェクトの構築をシミュレートすることを含む。
【００１２】
特定の実施形態は、コンピュータが実行可能な指示が保存された、非一過性コンピュータ読み取り可能媒体を提供し、それは、コンピューティングデバイスのプロセッサによって実行されるとき、前記コンピューティングデバイスに、前記記載された方法のうちの１つ以上を実行させる。
【００１３】
特定の実施形態は、メモリおよび前記記載された方法の１つ以上を実行するように構成されたプロセッサを備えるコンピューティングデバイスを提供する。
【００１４】
〔図面の簡単な説明〕
図１は、３Ｄオブジェクトを設計および製造するためのシステムの一例である。
【００１５】
図２は、図１に示すコンピュータの一例の機能ブロック図を示す。
【００１６】
図３は、使用する３Ｄオブジェクトを製造するための高レベルプロセスを示す。
【００１７】
図４Ａは、リコート機構を有する付加製造装置の例である。
【００１８】
図４Ｂは、リコート機構を有する付加製造装置の別の例である。
【００１９】
図５は、オブジェクトの有限要素モデルの一例を示す。
【００２０】
図５Ａは、有限要素モデルのための２つの要素の例を示す。
【００２１】
図５Ｂは、図５Ａの要素に対するノード対要素マップ（node to element map）の例を示す。
【００２２】
図６Ａおよび図６Ｂは、図５の有限要素モデルによって表されるオブジェクトの構築の例示的なシミュレーションの結果として生じる例示的なシミュレートモデルを示す図である。
【００２３】
図７は、付加製造を用いて、構築されるオブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に減少させるための例示的プロセスのフローチャートである。
【００２４】
図８は、図５の有限要素モデルのノードに配置された例示的なスプリングを示す図である。
【００２５】
図９は、図５の有限要素モデルに配置された追加の要素の一例を示す図である。
【００２６】
図１０は、図５の有限要素に配置された１次元要素（one dimensional element）の一例を示す図である。
【００２７】
図１１は、図５の有限要素モデルのノードに配置された制約（constraint）の例を示す。
【００２８】
図１２Ａおよび１２Ｂは、図８〜１１のうちの１つの修正された有限要素モデルによって表されるオブジェクトの構築の例示的シミュレーションの結果として生じるシミュレートモデルの一例を示す。
【００２９】
図１３はオブジェクトの有限要素モデルにスプリングを含めることにより、付加製造を用いて構築されるオブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に低減するためのプロセスの一例のフローチャートである。
【００３０】
図１３Ａは、オブジェクトの有限要素モデルの一例を示す。
【００３１】
図１３Ｂは、図１３Ａの有限要素モデルのノード対要素マップの一例を示す。
【００３２】
図１３Ｃは、図１３Ａの有限要素モデルの浮動ノード（floating nodes）を識別する表を示す。
【００３３】
図１４は、オブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に減少させるための例示的なプロセスのフローチャートである。当該オブジェクトは、オブジェクトの有限要素モデルに１つ以上の追加の要素を含めることによって、付加製造を使用して構築されることになる。
【００３４】
図１４Ａは、オブジェクトの有限要素モデルの一例を示す。
【００３５】
図１５は、オブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に減少させるための例示的なプロセスのフローチャートである。当該オブジェクトは、オブジェクトの有限要素モデルに１次元要素を含めことによって、付加製造を用いて構築されることになる。
【００３６】
図１５Ａは、オブジェクトの有限要素モデルの一例を示す。
【００３７】
図１６Ａは、要素を含むオブジェクトの有限要素モデルを示し、その要素全てがシミュレートされた構築プラットフォームの平面に平行な底面を有する。
【００３８】
図１６Ｂは、要素を含むオブジェクトの有限要素モデルを示し、当該要素の全てが、シミュレートされた構築プラットフォームの平面に平行である底面を有するとは限らない。
【００３９】
図１６Ｃは、要素を含むオブジェクトの有限要素モデルを示し、その要素の全てが、シミュレートされた構築プラットフォームの平面に平行である底面を有するとは限らない。
【００４０】
図１７は、オブジェクトのデジタルシミュレートモデルにおいて、互いに異なる角度であり、且つ／又は、付加製造を使用して構築されるオブジェクトのデジタルシミュレートモデルにおけるシミュレートされた構築プラットフォームに平行でない要素を含む有限要素モデルを使用するためのプロセスの一例のフローチャートである。
【００４１】
〔発明の実施形態の詳細な説明〕
本明細書に開示されるシステム及び方法はオブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に減少させるための技術を含み、シミュレートモデルは、付加製造を用いたオブジェクトのシミュレート構築を表す。
【００４２】
本明細書に記載されるいくつかの実施形態は特定の構築材料（例えば、金属）を使用する特定の付加製造の技術に関して記載されるが、記載されるシステムおよび方法は、また、当業者によって理解されるように、特定の他の付加製造の技術および／または特定の他の構築材料とともに使用されてもよい。
【００４３】
上述したように、演算装置を使用して、付加製造を使用してオブジェクトの構築をシミュレートすることができる。そのようなオブジェクトのシミュレート構築は、オブジェクトのシミュレートモデルをもたらす。オブジェクトのシミュレートモデルに含まれる情報は、付加製造のためにオブジェクトをより良く設計するための助力に使用することができる。例えば、シミュレートモデルは構築プロセス中のオブジェクトにおける特定の変形、及び／又はオブジェクトにおける応力、歪み等、又はオブジェクトの設計を改善するためにオブジェクトの設計を修正するために使用することができる他の情報を示すことができ、その結果、付加製造を使用して、首尾よく、構築することができる。
【００４４】
しかしながら、上述したように、ある場合には、オブジェクトのシミュレート構築が失敗し、中断することがあり、その結果、オブジェクトの不完全なシミュレートモデルが生じる。例えば、シミュレーションにおける数値的な不安定性（剛体運動とも呼ばれる）は、シミュレーションを中断させる可能性がある。それは、当該数値的な不安定性が、さらなるシミュレーションを不可能にするためである。従って、本明細書に開示されるシステム及び方法は、オブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に減少させ、それによってオブジェクトの完全なシミュレートモデルを生成することを可能にするための技術を含む。さらに、オブジェクトのモデル（例えば、有限要素モデル（ＦＥＭ））において、構築領域に対して垂直でない要素（例えば、ボクセル（voxel）または立方体）を利用するための技術、および／または互いに対してすべて同じ角度ではない要素（例えば、傾斜要素、傾斜ボクセル（tilted voxels）、傾斜六角要素（tilted hex elements）、ピラミッド要素（pyramidal elements）など）を利用するための技術、および（例えば、減少された剛体運動を伴う）オブジェクトのデジタルシミュレートモデルを生成するためにそのようなモデルを使用するための技術も本明細書に開示される。これにより、オブジェクトの完全なシミュレートモデルを生成することができる。このような実施形態は、シミュレーションに数値的な不安定性がある場合に、付加製造を使用して構築されるオブジェクトのためのシミュレートモデルをどのように生成するかという付加製造における技術的課題に対する技術的解決策を有益に提供する。また、このような実施形態はオブジェクト設計および構築プロセスを強化し、オブジェクトの構築失敗の可能性を低減するために使用することができ、より強固なシミュレートモデルを提供することによって、付加製造の分野をさらに改善する。さらに、このような技術はシミュレーションにおける数値的な不安定性のために、以前の演算装置が生成できなかったシミュレートモデルを生成することを可能にすることによって、シミュレートモデルを生成するために使用される演算装置の機能を改善し得る。さらに、このような技術は、計算の複雑さが低くなり得る。したがって、このような技術は数値的な不安定性を低減することを首尾よく決定し、オブジェクトのシミュレートモデルを生成するために、演算装置によって実行される必要があるコンピューティングサイクル（たとえば、平衡反復（equilibrium iterations））の数を低減することができる。その結果、演算装置自体の効率および機能性を改善することが可能である。
【００４５】
本発明の実施形態は、３Ｄオブジェクトを設計、シミュレーション、及び製造するためのシステム内で実行され得る。図１を参照すると、３Ｄオブジェクトの設計、構築シミュレーション、および製造の実装に適したコンピュータ環境の実施例が示されている。当該環境は、システム１００を含む。システム１００は、１つ以上のコンピュータ１０２ａ−１０２ｄを含む。コンピュータ１０２ａ−１０２ｄは例えば、情報を処理できる任意のワークステーション、サーバ、またはその他の演算装置であってもよい。いくつかの実施形態において、コンピュータ１０２ａ−１０２ｄのそれぞれは適切な通信技術（例えば、インターネットプロトコール）によって、ネットワーク１０５（例えば、インターネット）に接続することができる。したがって、コンピュータ１０２ａ〜１０２ｄはネットワーク１０５を介して互いに情報（例えば、ソフトウェア、３Ｄオブジェクトのデジタル表示、付加製造装置を動作させるためのコマンドまたは命令など）を送受信することができる。
【００４６】
システム１００はさらに、１つ以上の付加製造装置（例えば、３Ｄプリンタ）１０６ａ〜１０６ｂを含む。図示のように、付加製造装置１０６ａは、（ネットワーク１０５を介してコンピュータ１０２ａ〜１０２ｃに接続されたコンピュータ１０２ｄを介して）コンピュータ１０２ｄに直接接続されている。図示のように、付加製造装置１０６ｂは、ネットワーク１０５を介してコンピュータ１０２ａ〜１０２ｄに接続されている。したがって、付加製造装置１０６をコンピュータ１０２に直接接続してもよいし、ネットワーク１０５を介してコンピュータ１０２に接続してもよいし、および／または別のコンピュータ１０２およびネットワーク１０５を介してコンピュータ１０２に接続されてもよいことを、当業者は理解するであろう。
【００４７】
注意すべきは、システム１００はネットワークおよび１つ以上のコンピュータに関して記載されているが、本明細書に記載の技術は付加製造装置１０６に直接接続することができる単一のコンピュータ１０２にも適用されてもよい。
【００４８】
図２は図１のコンピュータの一例の機能ブロック図を示したものである。コンピュータ１０２ａは、メモリ２２０とのデータ通信におけるプロセッサ２１０、入力装置２３０、及び出力装置２４０を含んでいる。いくつかの実施形態では、当該プロセッサは、任意のネットワークインターフェースカード２６０とさらにデータ通信する。別々に記載されているが、コンピュータ１０２ａに関して記載されている機能ブロックは別々の構造上の部材である必要はないことが理解されるはずである。例えば、プロセッサ２１０およびメモリ２２０は、単一チップで実施可能である。
【００４９】
プロセッサ２１０は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリート・ゲートまたはトランジスタロジック、ディスクリート・ハードウェアコンポーネント、または本明細書で説明される機能を実行するように設計されたそれらの任意の適切な組合せとすることができる。また、例えば、ＤＳＰ及びマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと結合した１又はそれ以上のマイクロプロセッサ、又は他のこのような構成といった演算装置の組み合わせとして、プロセッサを実施してもよい。
【００５０】
プロセッサ２１０は、１つ以上のバスを介して、メモリ２２０から情報を読み出すか、または情報をメモリに書き込むように結合され得る。プロセッサは、さらにに、または代替的に、プロセッサレジスタなどのメモリを含むことができる。メモリ２２０は、プロセッサキャッシュを含み得る。当該プロセッサキャッシュは、異なるレベルにおいて異なるキャパシティ及びアクセス速度を有するマルチレベル階層キャッシュを含む。メモリ２２０はまた、ランダム・アクセス・メモリ(RAM)、他の揮発性記憶装置、または不揮発性記憶装置を含むことができる。当該記憶装置は、ハードドライブ、フラッシュメモリなどを含むことができる。メモリ２２０は、プロセッサ２１０によって実行されたときに、プロセッサ２１０に、本明細書で説明される方法および／または技術のうちの１つ以上を実行させる命令を記憶することができる。
【００５１】
プロセッサ２１０はまた、それぞれ、コンピュータ１０２ａのユーザから入力を受信し、出力を提供するために、入力装置２３０及び出力装置２４０に連結されることができる。適切な入力装置には、キーボード、ボタン、キー、スイッチ、ポインティングデバイス、マウス、ジョイスティック、遠隔制御装置、赤外線検出器、バーコードリーダ、スキャナ、ビデオカメラ（例えば、手のジェスチャまたは顔のジェスチャを検出するためにビデオ処理ソフトウェアと結合される）、モーション検出器、またはマイクロフォン（例えば、音声コマンドを検出するためにオーディオ処理ソフトウェアと結合される）が含まれる。しかしながら、適切な入力装置はこれらに限定されない。適切な出力装置は、ディスプレイおよびプリンタを含む視覚出力装置、スピーカー、ヘッドホン、イヤフォンおよび警報を含む音声出力装置、付加製造装置、および触覚出力装置を含む。しかしながら、適切な出力装置はこれらに限定されない。
【００５２】
プロセッサ２１０はさらに、ネットワークインターフェースカード２６０に結合されてもよい。ネットワークインターフェースカード２６０は、プロセッサ２１０によって生成されたデータを、１つ以上のデータ伝送プロトコルに従ってネットワークを介して伝送するために準備する。ネットワークインターフェースカード２６０はまた、１つ以上のデータ伝送プロトコルに従って、ネットワークを介して受信されたデータを復号する。ネットワークインターフェースカード２６０は、送信機、受信機、またはその両方を含むことができる。他の実施形態では、送信機及び受信機を２つの別々の構成部材とすることができる。ネットワークインターフェースカード２６０は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または他のプログラマブルロジックデバイス、ディスクリート・ゲートまたはトランジスタロジック、ディスクリート・ハードウェア・コンポーネント、または本明細書で説明する機能を実行するように設計されたそれらの任意の適切な組合せとして実施することができる。
【００５３】
図３は、３Ｄオブジェクトまたはデバイスを製造するためのプロセス３００を示す。図示のように、ステップ３０５では、コンピュータ１０２ａなどのコンピュータを使用して、オブジェクトのデジタル表示が設計される。例えば、２−Ｄまたは３−Ｄデータは３−Ｄオブジェクトのデジタル表示を設計することを援助するために、コンピュータ１０２ａに入力されてもよい。引き続きステップ３１０において、情報がコンピュータ１０２ａから付加製造装置１０６のような付加製造装置に送信され、装置１０６は受信した情報に従って製造プロセスを開始する。ステップ３１５において、付加製造装置１０６は、ポリマー又は金属粉末のような任意の適切な材料を用いて３次元オブジェクトの製造を続ける。さらに、ステップ３２０において、３Ｄオブジェクトが生成される。
【００５４】
図４Ａは、３次元（３−Ｄ）オブジェクトを生成するための例示的な付加製造装置４００を示す。この実施例において、付加製造装置４００は、レーザ焼結装置である。レーザ焼結装置４００は、１つ以上の３Ｄオブジェクトを層ごとに生成するために使用されてもよい。例えば、レーザ焼結装置４００は、構築プロセスの一環として、同時に層を構築するために、粉体４１４などの粉体（例えば、金属、ポリマーなど）を利用してもよい。
【００５５】
連続する粉体の層は例えばリコート機構４１５Ａ（例えば、リコーターブレード）を使用して、互いの層の上に散布される。リコート機構４１５Ａは、例えば、図示された方向に、又は、構築物の別の層などのためにリコート機構４１５Ａが構築領域のもう一方の側から開始する場合、反対の方向に、構築領域に亘って移動しながら、層のための粉体を堆積させる。堆積後に、コンピュータ制御されたＣＯ２レーザビームが表面を走査し、生成物の対応する断面の粉体粒子を選択的に互いに結合する。いくつかの実施形態では、レーザ走査装置４１２がＸ−Ｙ可動赤外レーザ源である。従って、レーザ源はそのビームを粉体の最上層の特定の位置に向けるために、Ｘ軸に沿って、かつＹ軸に沿って移動させることができる。あるいは、いくつかの実施形態ではレーザ走査装置４１２がレーザスキャナを含んでもよい。レーザスキャナは静止したレーザ源からレーザビームを受け取り、移動可能なミラー上で偏向させて、ビームを装置の作業領域内の指定位置に向ける。レーザ露光中、紛体の温度は材料（例えば、ガラス、ポリマー、金属）の転移点を超えて上昇し、その後、隣接した粒子は互いに流動し、３Ｄオブジェクトを生成する。また、装置４００は任意に、放射ヒータ（例えば、赤外線ランプ）および／または空気制御装置（atmosphere control device）４１６を含んでもよい。放射ヒータは、新しい粉体の層のリコートと、その層のスキャンとのあいだに、粉体を予め温めるために使用されてもよい。いくつかの実施形態では、放射ヒータは省略されてもよい。空気制御装置は例えば紛体の酸化のような望ましくないシナリオを回避するために、プロセス全体にわたって使用されてもよい。
【００５６】
いくつかの他の実施形態では、図４Ｂに示されるように、リコート機構４１５Ａの代わりに、リコート機構４１５Ｂ（例えば、レベリングドラム／レベリングローラー）を使用してもよい。従って、粉体容器４２８（ａ）及び４２８（ｂ）から、形成されたオブジェクト４２４を保持するリザーバ４２６に、粉体を押し出す１つ以上の移動可能なピストン４１８（ａ）及び４１８（ｂ）を使用して、粉体は分散されてもよい。次に、リザーバの深さは可動ピストン４２０によって制御される。可動ピストン４２０は追加の紛体が紛体容器４２８（ａ）および４２８（ｂ）からリザーバ４２６に移動されるときに、下方への動作を介してリザーバ４２６の深さを増大させる。リコート機構４１５Ｂは、紛体容器４２８（ａ）および４２８（ｂ）からリザーバ４２６内に紛体を押し込むか、または転がし込む。図４Ａに示される実施形態と同様に、図４Ｂの実施形態は層のリコートと、その層のスキャンとのあいだに放射ヒータが粉体を予め温めるために単独で使用されてもよい。
【００５７】
特定の実施形態では、コンピュータ１０２などの適切な演算装置が付加製造を使用して構築されるオブジェクトの構築をシミュレートする。例えば、特定の実施形態では、演算装置が層ごとにおけるオブジェクトの構築の数値（例えば、有限要素法（ＦＥＭ）または有限要素解析（ＦＥＡ））シミュレーション（例えば、四面体またはボクセル／六角メッシュシミュレーションベースのマクロ層）を使用する。その結果、付加製造技術を使用してオブジェクトを実際に製造するときに生じ得るオブジェクトの潜在的な層ベースの変形を決定することが可能となる。例えば、本明細書に示されるようなオブジェクトの構築をシミュレートすることは、上述のような数値シミュレーションを用いて実行され、オブジェクトのシミュレートモデルが生成されてもよい。
【００５８】
例えば、オブジェクトのデジタル有限要素モデル（例えば、ＦＥＭモデル）は演算装置上で実行されるシミュレーションプログラム（例えば、Ｓｉｍｕｆａｃｔ、Ａｂａｑｕｓ、Ａｍｐｈｙｏｎ等のＦＥＭを使用する既知のシミュレーションプログラム）に入力される。デジタル有限要素モデルは記憶装置から取得されてもよく、ユーザによって生成されてもよく、またはシミュレーションプログラムから生成されてもよく、例えば、オブジェクトの異なるデジタルモデル／表示（例えば、ＣＡＤファイル、ＳＴＬファイルなど）をシミュレーションプログラムに入力することによって生成されてもよく、シミュレーションプログラムは次いで、有限要素モデルを生成する。シミュレーションプログラムは、有限要素モデルを使用して、オブジェクトの構築のＦＥＭシミュレーションを実行する。図５は、オブジェクトの有限要素モデル５００の一例を示す。
【００５９】
図示されるように、有限要素モデル５００は、立方体として示される複数の要素５０２を含む。複数の要素５０２はオブジェクトを表す。要素は当技術分野で知られているように、ＦＥＭを実行するための有限要素モデルの基本的な構築ブロックである。要素５０２は有限要素モデル５００のドメインをより小さいサブドメインに分割して、所望のフィールド／パラメータ（例えば、収縮（shrinkage）量、変位（displacement）量、反力（reaction force）、応力、歪み（strains）など）を計算する。特定の実施形態では、要素がキューブの角にノードを有するキューブを含む。ある態様において、要素としてキューブを使用することが本明細書で説明されるが、他の適切な要素が、本明細書で説明される実施形態に従って同様に使用され得ることに留意されたい。特定の実施形態では、各要素５０２はボクセルに対応する。
【００６０】
図５Ａは、有限要素モデルのための２つの要素５０２ａおよび５０２ｂを例示する。図示のように、要素５０２ａおよび５０２ｂのそれぞれは、要素５０２を形成する辺によって接続された複数のノードを含む。特に要素５０２ａには、１〜８（ノードＩＤ１〜８に対応）の番号が付された８つのノードが含まれる。また、要素５０２ｂは、５〜１２の番号が付けられた８つのノードを含む（ノードＩＤ５〜１２に対応する）。図示するように、異なる要素がノードを共有することがある（例えば、ノード５〜８が要素５０２ａと５０２ｂとの間で共有されるとして示される）。ノードは、空間内の座標位置に対応する。したがって、有限要素モデル内のノードは、オブジェクトに対応する空間内の座標位置に対応する。
【００６１】
各要素および各ノードは、それぞれ要素識別子（ＩＤ）およびノード識別子（ＩＤ）を含む識別子に関連付けることができる。例えば、要素５０２ａは要素ＩＤ１に関連付けられて示され、要素５０２ｂは要素ＩＤ２に関連付けられて示される。さらに、各要素はその要素ＩＤおよびそのノードのノードＩＤによって定義され得る。例えば、要素５０２ａはノードＩＤ１〜８に接続された要素ＩＤ１として定義され、要素５０２ｂはノードＩＤ５〜１２に接続された要素ＩＤ２として定義される。
【００６２】
ノード対要素マップが、有限要素モデル内のノードに対してさらに定義されてもよい。例えば、ノード対要素マップは、各ノードＩＤを、そのノードを含む要素の要素ＩＤに関連付けることができる。図５Ａの要素５０２ａおよび５０２ｂに関して、ノード対要素マップ５０４は図５Ｂに示されるように定義されてもよい。ノードＩＤ１−４は要素ＩＤ１に関連付けられ、ノードＩＤ５−８は要素ＩＤ１−２に関連付けられ、ノードＩＤ９−１２は要素ＩＤ２に関連付けられる。
【００６３】
上述のオブジェクトの有限要素モデルに基づいて、シミュレーションプログラムはオブジェクトの構築のＦＥＭシミュレーションを実行し、オブジェクトの各層の異なるノードまたは領域に対するパラメータを含む層のシミュレーションを含むオブジェクトのシミュレートモデルを出力する。上述のパラメータは、例えば、収縮量、変位量、反力、応力、歪み等である。上述の領域は、例えば、層に対応するＸ−Ｙ平面の異なるＸ−Ｙ座標である。しかしながら、上述のように、シミュレーションプログラムは構築のシミュレーション中に、層のうちの１つで中断し得る。例えば、剛体運動として知られる、シミュレーションにおける数値的な不安定性は、シミュレーションプログラムの失敗および中断を引き起こし得る。例えば、シミュレーションプログラムは、オブジェクトの構築をシミュレートする一環として、オブジェクトの幾何学のボクセル近似（voxel approximation of the geometry）を実行してもよい。ボクセル近似は構造内の前の層ではサポートできない有限要素モデルにおいて張り出し（overhanging）要素を生成し、シミュレーションプログラムを中断させる数値的な不安定性に導く可能性がある。特に、層間のポイントの間の変形が大きすぎる場合があり、２つのポイントが互いに安定であると仮定される剛体のパラメータを超えてしまう場合がある。
【００６４】
従って、シミュレーションプログラムが中断されると、シミュレーションプログラムが中断される層の後の任意の層は、シミュレーションプログラムによって生成されるオブジェクトのシミュレートモデルに含まれない場合がある。したがって、オブジェクトの一部のみがシミュレートモデルによって表され得る。図６Ａおよび図６Ｂは、有限要素モデル５００によって表されるオブジェクトの構築の例示的シミュレーションの結果として生じるシミュレートモデル示す。図示されるように、図６Ａおよび６Ｂに示されるシミュレートモデルは、有限要素モデル５００によって表されるオブジェクト全体の表示を含まず、シミュレーションにおける数値的な不安定性のために中断されるシミュレーションプログラムによるオブジェクトの一部のみを含む。
【００６５】
図６Ａのシミュレートモデルはシミュレート構築中にオブジェクトの異なる位置（例えば、ノード）で生じるシミュレートされた変位を表す。例えば、シミュレーションプログラムはノードが製造されたとき（例えば、設計位置）にオブジェクト内にあると想定される場所（例えば、付加製造装置の構築プラットフォームに対する）と、製造されたときにノードがシミュレートされる場所（例えば、シミュレーション位置）との間の空間におけるそのノードの変位を示す、ノードごとの変位ベクトルＵｘｙｚを示してもよい。変位ベクトルＵｘｙｚは、ｚ成分とｘ成分およびｙ成分を含んでもよい。ｚ成分は例えば、構築プラットフォームに垂直であり、後続の層の方向と平行な成分である。ｘ成分およびｙ成分は、例えば、構築プラットフォームに平行な平面、特に層自体の平面内の成分である。変位はオブジェクトの部分がオブジェクトにおいて正しい位置に位置していないことを意味し、変形をもたらし得る。各ノードの変位ベクトルは、異なる色、陰影、または数によって表されてもよい。
【００６６】
同様に、図６Ｂのシミュレートモデルはシミュレート構築中にオブジェクトの異なる位置（例えば、ノード）で生じるシミュレートされた応力を表す。例えば、シミュレーションプログラムは各ノードにおける応力または力を示し、そのノードにおける応力を示すことができる。応力が高すぎる場合（構築材料の応力許容値より高い場合など）、オブジェクトが変形したり、破損したりすることがある。各ノードに対する応力は、異なる色、陰影、または数によって表されてもよい。
【００６７】
図６Ａおよび図６Ｂから分かるように、シミュレーションプログラムの中断により、シミュレートモデルにおける情報（例えば、変位、応力など）は中断前にシミュレートされたオブジェクトのノードまたは部分に限定され、シミュレートモデルはオブジェクトの他の部分に関する情報を含まない。そのような他の情報がなければ、オブジェクトのシミュレート構築が成功し、最終的にオブジェクトの実際の構築が成功するように、オブジェクトの設計を（例えば、オブジェクトのデジタルモデルにおいて）どのように調整するかを決定することは困難になり得る。
【００６８】
従って、本明細書のある態様は有限要素モデルを使用するシミュレーションプログラムによってオブジェクトの構築のシミュレーションを実行する前に、オブジェクトの有限要素モデルを修正するシステムおよび方法を提供する。その結果、シミュレーションにおける数値的な不安定性を低減することが可能となる。このように、修正された有限要素モデルが、シミュレートプログラムに入力されると、オブジェクト全体を含むシミュレートモデルが生成される。
【００６９】
図７は、付加製造を使用して、構築されるオブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に低減するための例示的なプロセス７００のフローチャートである。プロセス７００は、コンピュータ１０２などの適切な演算装置によって実行することができる。
【００７０】
ブロック７０２において、演算装置は、オブジェクトの有限要素モデルを取得する。有限要素モデルは要素を含み、そのすべてがシミュレートされた構築プラットフォームの平面に平行な底面を有するものであってもよい。代替的に、有限要素モデルは要素を含み、それらは互いに異なる角度で、かつ／または、付加製造を使用して構築されるオブジェクトのデジタルシミュレートモデルにおけるシミュレートされた構築プラットフォームに平行でない要素を含むものであってもよい。ブロック７０４で、演算装置は、有限要素モデルの１つ以上の要素に何らかの不安定性があるかどうかを判定する。
【００７１】
オブジェクトの有限要素モデルにおいて不安定性を有する要素が検出されない場合、演算装置はオブジェクトの有限要素モデル全体のシミュレーション構築が実行可能であると判断し、演算装置はシミュレーションを実行し、ブロック７０６においてオブジェクトのシミュレートモデルを生成する。
【００７２】
不安定性を有する１つ以上の要素が検出された場合、演算装置はオブジェクトの有限要素モデル全体のシミュレート構築を実行することができないと判定し、ブロック７０８に進む。
【００７３】
ブロック７０８で、演算装置は、有限要素モデルを修正する。特定の実施形態では、演算装置が１つ以上の安定要素（例えば、１つ以上のスプリング、追加の要素、１次元要素、制約など）を追加して、不安定性を有する１つ以上の要素を支持する。例えば、特定の実施形態では、演算装置が不安定性を有する１つ以上の要素を支持するために、１つ以上のスプリングを示す情報を追加する。当該情報は、オブジェクトの有限要素モデル内において、不安定性を有する１つ以上の要素に対して位置決めされた１つ以上のスプリングのシミュレートを含んでもよい。例えば、そのようなスプリングの一端は不安定性を有する１つ以上の要素に対応するノード（例えば、本明細書でさらに説明されるような浮動ノード）上に配置されてもよい。また、そのようなスプリングの他の一端は有限要素モデルにおける付加製造装置の構築プラットフォームに対応する領域／平面上のポイント、またはオブジェクト上の別のポイントに配置されてもよい。特に、構築プラットフォームに対応する領域上のポイントは構築プラットフォームに対応する領域と、構築プラットフォームに垂直な（例えば、ｚ軸に平行である）ノードを通る線との間の交点に対応してもよい。あるいは、オブジェクト上の点がｚ軸に沿ったノードの下のオブジェクトの別の表面と、構築プラットフォームに垂直な（例えば、ｚ軸に平行である）ノードを通る線との間の交点に対応してもよい。スプリングは、オブジェクトの実際の構築中に構築プラットフォームに存在する紛体を示すばね定数を有してもよい。例えば、オブジェクトの実際の構築中において、構築されているオブジェクトの領域は、上述のように構築されたオブジェクトの一部ではない構築領域に依然として存在する構築材料の先の層の部分によって支持されてもよい。そのような紛体の一部はスプリングによって表すことができる力を提供し得る、したがって、そのようなスプリングの力を有限要素モデルに加えて、そのような支持をシミュレートすることができる。
【００７４】
１つ以上のスプリングは、スプリングの力によって変形の力に対抗することによって、オブジェクトの有限要素モデルの構築をシミュレートする間の数値的な不安定性を低減するＺ方向の力を提供することができる。さらに、そのようなスプリングは、オブジェクトを構築する際に遭遇する実際の現実の状況をシミュレートすることができるので、オブジェクトの正確なシミュレートモデルを提供することができる。従って、スプリングにより、オブジェクトの構築をシミュレートするときにシミュレーションプログラムは、もはや中断されず、完全なシミュレートモデルを生成することができる。図８は、上述したような、有限要素モデル５００のノードに配置されたスプリング８００を図示する。図示されていないが、他のスプリングが追加的に配置されてもよい。スプリングを含むための有限要素モデルの修正に関するさらなる詳細は、図１３に関して説明される。
【００７５】
代替的または追加的に、特定の実施形態では、１つ以上の余分（extra）／追加の要素が不安定性を有する１つ以上の要素を支持するために有限要素モデルに配置される。例えば、不安定性を有する１つ以上の要素に対する支持を提供するために、不安定性を有する１つ以上の要素と、不安定性を有さない他の要素とに結合する１つ以上の要素が追加される。したがって、１つ以上の追加の要素は、支持されていない張り出し等のための変形の力に対抗することによって、オブジェクトの有限要素モデルの構築をシミュレートする間の数値的な不安定性を低減する、１つ以上の空間方向における支持を提供することができる。したがって、追加の要素を用いて、シミュレーションプログラムは、オブジェクトの構築をシミュレートするときにもはや中断されず、完全なシミュレートモデルを生成することができる。図９は、上述したような、有限要素モデル５００内に配置された付加的な要素９００を図示する。１つ以上の追加要素を含むための、有限要素モデルの修正に関するさらなる詳細は、図１４に関して説明される。
【００７６】
代替的または追加的に、特定の実施形態では、１つ以上の１次元要素を有限要素モデルに含めて、不安定な１つ以上の要素を支持することができる。例えば、各１次元要素は不安定性を有する要素に対応するノード（例えば、浮動ノード）に一端で結合し、不安定性を有する要素を安定化するための支持を提供するために、有限要素モデルの別のノードに別の端で結合する。従って、１次元要素は、支持されていない張り出し等のための変形の力に対抗することによって、オブジェクトのデジタルモデルの構築をシミュレートする間の数値的な不安定性を低減する、１つ以上の空間的方向における支持を提供することができる。したがって、１つ以上の１次元要素を用いて、オブジェクトの構築をシミュレートするときにシミュレーションプログラムが中断されなくなり、完全なシミュレートモデルを生成することができる。図１０は、上述したような、有限要素モデル５００に配置された１次元要素１０００を示す。図示されていないが、他の１次元要素を追加的に配置してもよい。１つ以上の１次元要素を含むための、有限要素モデルの修正に関するさらなる詳細は、図１５に関して説明される。
【００７７】
代替的にまたは追加的に、特定の実施形態では、有限要素モデルが不安定性を有する１つ以上の要素に関連する１つ以上のノード（例えば、本明細書でさらに説明する１つ以上の浮動ノード）における移動が制約されてもよい。例えば、１つ以上のノードにおける変位（例えば、割り当てられる変位）は、シミュレーションプログラムにおける任意の他の計算にかかわらず、ゼロに設定されてもよい。従って、オブジェクトの有限要素モデルの構築をシミュレートする間の数値的な不安定性は、不安定性を生じさせたシミュレートモデルから誤変位（errant displacement）を除去することによって除去されてもよい。したがって、制約により、シミュレーションプログラムは、オブジェクトの構築をシミュレートするときにもはや中断されず、完全なシミュレートモデルを生成することができる。図示されていないが、他の制約が追加的に配置されてもよい。図１１は、上述のような、有限要素モデル５００のノードに配置された制約１１００を示す。特定の実施形態では、制約を追加することは浮遊ノードにおける変位のブルートフォース割り当て（brute force assignment）によって、シミュレーションの結果に影響を与える。したがって、特定の実施形態では、浮遊ノードにおけるそのような制約の追加が回避される。
【００７８】
その後、プロセス７００は、演算装置がシミュレーションを実行し、オブジェクトのシミュレートモデルを生成する７０６に続く。図１２Ａ（シミュレートされた変位）および１２Ｂ（シミュレートされた応力）は、修正後の有限要素モデル５００のオブジェクトの構築の例示的なシミュレーションの結果としてのシミュレートモデルを示す。図示されるように、図６Ａおよび６Ｂとは異なり、シミュレートにおける数値的な不安定性が低減されるため、図１２Ａおよび１２Ｂに示されるシミュレートモデルは、オブジェクト全体の表示を含む。
【００７９】
図１３は、オブジェクトの有限要素モデルにスプリングを含めることによって、付加製造を使用して構築されるオブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に低減するための例示的プロセス１３００のフローチャートである。プロセス１３００は、コンピュータ１０２などの適切な演算装置によって実行されてもよい。プロセス１３００は後述するように、プロセス７００の一部として実行されてもよい。
【００８０】
例示目的のために、プロセス１３００の特定の態様が図１３Ａに示されるように、オブジェクトの有限要素モデル１３５０に関して説明される。図示のように、有限要素モデル１３５０は、図示のように対応するノード１〜３０を有する要素１〜６を含む。図１３Ｂは、上述した、有限要素モデル１３５０のための、ノード対要素マップ１３５５を示す。
【００８１】
ブロック１３０２において、演算装置はオブジェクトの要素およびノードに関する情報を含む、オブジェクトの有限要素モデル（例えば、有限要素モデル１３５０）を取得する。例えば、演算装置は要素のノードのノードＩＤに対応付けられた要素毎に、要素ＩＤを含むオブジェクトの要素の定義を取得する。ブロック１３０２は、ブロック７０２に対応してもよい。ブロック１３０４で、演算装置は有限要素モデルのノード対要素マップ（例えば、ノード対要素マップ１３５５）を取得する（例えば、オブジェクトの要素およびノードに関する情報に基づいてノード対要素マップを生成する）。
【００８２】
ブロック１３０６で、演算装置は有限要素モデルの各要素（例えば、構築プラットフォームと接触している要素以外の）のボトムノードを識別する。例えば、構築プラットフォームに接触するノードは有限要素モデルにおいて既に制約されている可能性がある。したがって、評価される必要はない。ボトムノードは有限要素モデル内の構築プラットフォームに最も近い要素のノード（すなわち、構築プラットフォームからｚ軸に沿った最下位ノード）に対応する。したがって、要素のボトムノードは、当該要素と相交わる（intersecting）構築プラットフォームに最も近い平行平面である要素の平面内の要素のノードを含む。例えば、要素が立方体である場合、要素は、各要素の底面が構築プラットフォームの平面に平行になるように配向されてもよい。例えば、図５Ａでは、構築プラットフォームがノード１〜４に対応する平面内にあってもよい。したがって、要素５０２ａのボトムノードは、ノード１〜４に対応し、それらノードは構築プラットフォームの平面に対する要素５０２ａの立方体の底面のノードである。同様に、要素５０２ｂのボトムノードは、ノード６〜８に対応する。例示的な有限要素モデル１３５０では、各要素のボトムノードが図１３Ｃに示すテーブル１３６０で識別される。
【００８３】
ブロック１３０８で、演算装置はブロック１３０４で得られたノード対要素マップを使用することなどによって、ボトムノードが関連付けられるいくつかの要素（例えば、構築プラットフォームと接触している要素以外のすべての要素）を識別する。例えば、各ボトムノードに対して、演算装置は、ボトムノードに対応するノードＩＤに関連する要素ＩＤの数を決定する。ノードＩＤに関連付けられている要素ＩＤの数は、ボトムノードが関連付けられている要素の数を示す。例えば、テーブル１３６０は、有限要素モデル１３５０の各ボトムノードが関連付けられる要素を示す。
【００８４】
ブロック１３１０で、演算装置は単一の要素のみに関連付けられた２つ以上のボトムノードを有する任意の要素（例えば、構築プラットフォームと接触している要素以外の）を不安定な要素として識別する。ブロック１３１０において、演算装置は、単一要素のみに関連するこのようなボトムノードを浮動ノードとして識別する。例えば、ブロック１３０４〜１３１０は、１つ以上の要素の不安定性を決定するために実行されてもよく、ブロック７０４に対応してもよい。
【００８５】
表１３６０は、単一の要素のみによって共有される各要素に対する有限要素モデル１３５０のボトムノードの数を示す。示されるように、有限要素モデル１３５０の要素１、２、５、および６は単一の要素によって共有される２つのボトムノードを含む。したがって、それら要素は、潜在的に不安定な要素である。しかしながら、上述したように、要素１および２は構築プラットフォームに接触する、したがって不安定な要素とはみなされず、さらに、対応する潜在的な浮遊ノード１、２、５、および６は浮遊ノードとみなされない。したがって、要素５および６は、不安定な要素と見なすことができる。さらに、ボトムノード１５、１６、２５および２６は、単一要素のみに関連するボトムノードに対応するものとして浮動ノードと見なされる。
【００８６】
ブロック１３１２において、演算装置は、浮動ノードが識別されたか否かを判定する。浮動ノードが識別されていない場合、有限要素モデルは不安定要素を含まず、有限要素モデルは、ブロック７０６に関して説明したように、オブジェクトのシミュレートモデルを生成するために使用されてもよい。これにより、プロセス１３００は終了する。
【００８７】
浮遊ノードが識別されている場合、プロセス１３００はブロック１３１４に進む。ブロック１３１４では、ブロック７０８に関して説明したように、有限要素モデルを修正するために、スプリングの端部が１つ以上の浮動ノードのそれぞれに配置される。修正された有限要素モデルは、ブロック７０６に関して説明したように、オブジェクトのシミュレートモデルを生成するために使用されてもよい。これにより、プロセス１３００は終了する。
【００８８】
図１４は、オブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に低減するための例示的プロセス１４００のフローチャートである。オブジェクトは、オブジェクトの有限要素モデルに１つ以上の追加の要素を含めることによって、付加製造を使用して構築されることになる。プロセス１４００は、コンピュータ１０２などの適切な演算装置によって実行することができる。プロセス１４００は後述するように、プロセス７００の一部として実行してもよい。
【００８９】
ブロック１４０２で、演算装置は、オブジェクトの要素およびノードに関する情報を含む、オブジェクトの有限要素モデルを取得する。ブロック１４０２は、ブロック７０２に対応してもよい。ブロック１４０４において、演算装置は有限要素モデルのすべての要素（例えば、構築プラットフォームと接触している要素以外の要素）のすべての隣りに位置する要素に対する重心対距離（centroid pair distances）を計算する。
【００９０】
例えば、図１４Ａは、要素１４５２を含むオブジェクトの有限要素モデル１４５０を示す。図示のように、各要素１４５２の重心１４５４が定義される。要素１４５２の重心１４５４は要素１４５２の中心（例えば、ｘ、ｙ、ｚ座標）に対応する。要素の重心対距離は、要素の重心と隣りに位置する要素の重心との間の距離に対応する。指定された要素に対する隣りに位置する要素は、指定された要素と少なくとも１つのノードを共有する任意の要素として定義される。
【００９１】
ブロック１４０６で、演算装置は、任意の要素が閾値長以下である１つ以上の重心対距離の経路を介して、隣りに位置する要素との結合を有していないかどうかを判定する。当該閾値長は、要素の辺長であってもよい。例えば、上述したように、有限要素モデルの各要素は、立方体のノード間に等しい長さの辺を有する立方体である。要素の辺長は、要素を定義する立方体の辺の長さである。要素は、それらが一つ以上のノードを共有する場合、「結合」される得る。さらに、要素は要素の経路を介して結合されてもよく、経路に沿った各要素は経路に沿った前（previous）の要素と少なくとも１つのノードを共有する。
【００９２】
例えば、図１４Ａでは、要素１４５２ａは隣りに位置する要素１４５２ｂ〜１４５２ｅを有する。図示のように、要素１４５２ａは、隣りに位置する要素１４５２ｂおよび１４５２ｃのそれぞれと要素の辺長に等しい重心対距離を有する。さらに、隣りに位置する要素１４５２ｄおよび１４５２ｅのそれぞれと要素１４５２との重心対距離は要素の辺長よりも長いが、隣りに位置する要素１４５２ｄおよび１４５２ｅはそれぞれ、要素１４５２ｂおよび１４５２ｃと結合している。要素１４５２ｄと１４５２ｂとの間の重心対距離および要素１４５２ｅと１４５２ｃとの間の重心対距離は、いずれも要素の辺長に等しい。したがって、要素１４５２ｃを介して要素１４５２ａと１４５２ｅとの間に経路があり、経路に沿った要素間の重心対距離は、要素の辺長以下である。さらに、要素１４５２ａと１４５２ｄとの間には要素１４５２ｂを介する経路があり、経路に沿った要素間の重心対距離は要素の辺長以下である。したがって、要素１４５２ａは、閾値長以下の１つ以上の重心対距離の経路を介して、その隣りに位置する要素のそれぞれに結合する。
【００９３】
対照的に、要素１４５２ｆは隣りに位置する要素１４５２ｇを有する。要素１４５２ｆと１４５２ｇとの間の重心対距離は、要素の辺長よりも長い。さらに、要素１４５２ｆと１４５２ｇとの間には、閾値長以下の１つ以上の重心対距離の経路がない。
【００９４】
特定の実施形態では、閾値長以下の１つ以上の重心対距離の経路を介して隣りに位置する要素に結合しない任意の要素が不安定要素であると判定される。例えば、要素１４５２ｆおよび１４５２ｇは、不安定な要素と考えることができる。例えば、ブロック１４０４〜１４０６は、１つ以上の要素の不安定性を決定するために実行されてもよく、ブロック７０４に対応してもよい。
【００９５】
閾値長以下の１つ以上の重心対距離の経路（重心対距離の要件を満たす経路とも呼ばれる）を介して隣りに位置する要素との結合を有していない要素がない場合、有限要素モデルは不安定要素を含んでおらず、ブロック７０６に関して説明したように、有限要素モデルを使用して、オブジェクトのシミュレートモデルを生成することができる。これにより、プロセス１４００は終了する。
【００９６】
少なくとも１つの要素が、閾値長以下である１つ以上の重心対距離の経路を介した隣りに位置する要素との結合を有さない場合、プロセス１４００は１４０８に進む。
【００９７】
ブロック１４０８では、ブロック７０８に関して説明したように、１つ以上の追加の要素が、有限要素モデルを修正するために、少なくとも１つの要素に結合されるように配置される。例えば、１つ以上の追加の要素はそれが重心対距離の要件を満たす経路を有さない少なくとも１つの要素および隣りに位置する要素のそれぞれに結合されるように追加され、その結果、１つ以上の追加の要素で、少なくとも１つの要素および隣りに位置する要素が重心対距離要件を満たす経路を有する。図１４Ａは、不安定な要素１４５２ｆおよび１４５２ｇを支持するためにそのような要素が追加され得る位置を示す。ブロック７０６に関して説明したように、修正された有限要素モデルは、オブジェクトのシミュレートモデルを生成するために使用されてもよい。これにより、プロセス１４００は終了する。
【００９８】
図１５は、オブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に低減するための例示的プロセス１５００のフローチャートである。当該オブジェクトは、オブジェクトの有限要素モデルにおいて１次元要素を含めることによる付加製造を用いて構築される。プロセス１５００は、コンピュータ１０２などの適切な演算装置によって実行されてもよい。プロセス１５００は後述するように、プロセス７００の一部として実行されてもよい。
【００９９】
ブロック１５０２で、演算装置は、オブジェクトの要素およびノードに関する情報を含む、オブジェクトの有限要素モデルを取得する。例えば、演算装置は、要素のノードのノードＩＤに対応付けられた各要素に対する要素ＩＤを含むオブジェクトの要素の定義を取得する。ブロック１５０２は、ブロック７０２に対応し得る。ブロック１５０４で、演算装置は有限要素モデルのノード対要素マップを取得する（例えば、オブジェクトの要素およびノードに関する情報に基づいてノード対要素マップを生成する）。
【０１００】
ブロック１５０６で、演算装置は有限要素モデルの各要素（例えば、構築プラットフォームと接触している要素以外の）のボトムノードを識別する。
【０１０１】
ブロック１５０８で、演算装置はブロック１５０４で得られたノード対要素マップを使用することなどによって、ボトムノードが関連付けられるいくつかの要素（例えば、構築プラットフォームと接触している要素以外のすべての要素）を識別する。例えば、各ボトムノードに対して、演算装置は、ボトムノードに対応するノードＩＤに関連する要素ＩＤの数を決定する。ノードＩＤに関連付けられている要素ＩＤの数は、ボトムノードが関連付けられている要素の数を示す。
【０１０２】
ブロック１５１０において、演算装置は単一要素のみに関連する２つ以上のボトムノードを持つ任意の要素（例えば、構築プラットフォームと接触している要素以外）を、不安定な要素として識別し、単一要素のみに関連するそのようなボトムノードを浮動ノードとして識別する。例えば、ブロック１５０４〜１５１０は、１つ以上の要素の不安定性を決定するために実行されてもよく、ブロック７０４に対応させてもよい。
【０１０３】
ブロック１５１２で、演算装置は、浮遊ノードが識別されたかどうかを判定する。浮動ノードが識別されていない場合、有限要素モデルは不安定要素を含まず、有限要素モデルは、ブロック７０６に関して上述したように、オブジェクトのシミュレートモデルを生成するために使用され得る。これにより、プロセス１５００は終了する。
【０１０４】
浮遊ノードが識別されている場合、プロセス１５００はブロック１５１４に進む。ブロック１５１４で、浮遊ノードに結合し、ブロック７０８に関して説明したように、有限要素モデルを修正するために有限要素モデル内に１つ以上の１次元要素として含まれる１つ以上の対角ノード対（diagonal nodal pairs）が識別される。特に、１つ以上の対角ノード対のそれぞれは浮動ノードと、浮動ノードを有する要素よりも構築プラットフォームに（例えば、Ｚ方向に）近い要素のノードとに結合し得る。例えば、対角ノード対は、同じ要素に属していない２つのノード間の面内（例えば、ＸＺ平面内）対角接続（diagonal connection）である。対角ノード対は特徴的な長さ（例えば、要素の辺長＊ｓｑｒｔ（２））を有する。図１５Ａは、いくつかの対角ノード対１５５４を含む、有限要素モデル１５５０を図示する。図示のように、対角ノード対１５５４ａは、浮動ノード１５５６を含む要素１５５８よりも構築プラットフォームに近い要素１５５２上のノードに浮動ノード１５５６を結合する。
【０１０５】
修正された有限要素モデルは、ブロック７０６に関して説明したように、オブジェクトのシミュレートモデルを生成するために使用されてもよい。これにより、プロセス１５００は終了する。
【０１０６】
したがって、本明細書の特定の実施形態はオブジェクトのデジタルシミュレートモデルにおける剛体運動を低減するための自動化されたプロセスを提供し、当該シミュレートモデルは、付加製造を使用してオブジェクトのシミュレート構築を表す。
【０１０７】
ある場合には、オブジェクトのシミュレート構築における数値的な不安定性が有限要素モデルにおける要素の位置と配向によって生じることがある。例えば、５〜１５Ａに関して説明した例に示されているように、有限要素モデル内の全ての要素は、シミュレートされた構築プラットフォームの平面に平行な底面を有する。したがって、立方体または他の特定の形状によって表される場合など、有限要素モデル内の要素は、シミュレートされた構築プラットフォームに平行または垂直でない角度に沿って互いに良好な接触を有さない場合がある。したがって、すべてが同じ角度であり（例えば、シミュレートされた構築プラットフォームの平面に対して平行のような同じ角度で底面を有する）、そのためそれらの間に十分な接触を有していない要素を含む有限要素モデルのために、数値的な不安定性が生じる可能性がある。
【０１０８】
したがって、本明細書の特定の実施形態は互いに異なる角度で（例えば、互いに異なる角度で底面を有する）、および／またはシミュレートされた構築プラットフォームに平行でない（例えば、シミュレートされた構築プラットフォームに平行でない底面を有する）要素を有する有限要素モデル（例えば、有限要素モデルを生成すること）を提供する。このような有限要素モデルは（例えば、隣りに位置する）要素間の接触を増加させ、それによって、オブジェクトのシミュレート構築を実行するために使用される場合に数値的な不安定性を低減させ得る。
【０１０９】
例えば、図１６Ａは要素を含むオブジェクトの有限要素モデル１６００を示し、その要素の全てがシミュレートされた構築プラットフォームの平面に平行な底面を有する。図示のように、要素１６０２と１６０４との間には良好な接触は存在せず、それは、有限要素モデル１６００がオブジェクトのシミュレート構築を実行するために使用される場合に、数値的な不安定性をもたらし得る。
【０１１０】
対照的に、図１６Ｂは要素を含む有限要素モデル１６００Ｂを示し、その要素の全てが、シミュレートされた構築プラットフォームの平面に平行である底面を有するとは限らない。図示されるように、要素１６０２および１６０４は要素１６０２Ｂに置き換えられ、有限要素モデル１６００Ｂ内の要素間の良好な接触を保証し、有限要素モデル１６００Ｂがオブジェクトのシミュレート構築を実行するために使用される場合、有限要素モデル１６００Ａと比較して、数値的な不安定性を低減し得る。
【０１１１】
図１６Ｃは、要素を含むオブジェクトの別の実施例の有限要素モデル１６００Ｃを示し、その要素の全てが、シミュレートされた構築プラットフォームの平面に平行である底面を有するとは限らない。
【０１１２】
図１７は、互いに異なる角度で、および／または付加製造を使用して構築されるオブジェクトのデジタルシミュレートモデルビルドプラットフォームに平行でない要素を有する有限要素モデルを使用するための、例示的プロセス１７００のフローチャートである。プロセス１７００は、コンピュータ１０２などの適切な演算装置によって実行されてもよい。
【０１１３】
ブロック１７０２で、演算装置は、オブジェクトの有限要素モデルを取得する。有限要素モデルは、互いに異なる角度を有する要素および／または付加製造を用いて構築されるオブジェクトのデジタルシミュレートモデルにおけるシミュレートされた構築プラットフォームに平行でない要素を含む。
【０１１４】
ブロック１７０６では、演算装置がシミュレーションを実行し、有限要素モデルを使用して、オブジェクトのシミュレートモデルを生成する。
【０１１５】
特定の態様において、有限要素モデルは、シミュレートされた付加製造装置のシミュレートされた構築プラットフォームに平行でない底面を有する第１の要素を含む複数の要素を含む。特定の態様において、複数の要素は、シミュレートされた構築プラットフォームに平行な底面を有する別の要素を含む。特定の態様において、複数の要素は、シミュレートされた構築プラットフォームに対して、第１の要素の底面とは異なる角度で底面を有する別の要素を含む。特定の態様では、複数の要素のそれぞれがキューブの角にノードを有するキューブを含む。
【０１１６】
本明細書に開示される様々な実施形態は、コンピュータ機制御システムの使用を提供する。当業者は、汎用コンピューティングシステム環境若しくは構成、及び／又は、専用コンピューティングシステム環境若しくは構成、の両方を含む非常に多くの種々のタイプのコンピューティングデバイスを使用して、これらの実施形態を実行してもよいことを容易に理解するであろう。上述の実施形態に関連した使用に適している可能性のある、既知のコンピューティングシステム、コンピューティング環境及び／又はコンピューティング構成の例は、パーソナルコンピュータ、サーバコンピュータ、携帯用デバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサに基づいたシステム、プログラマブルコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又はデバイスの何れかを含む分散コンピューティング環境などを含んでもよいが、これらに限定されない。これらのデバイスは、保存された指示を含んでもよく、当該指示は、コンピューティングデバイスにおけるマイクロプロセッサによって実行された場合、当該指示を実行するために、コンピュータデバイスに特定の動作を行わせる。本願明細書で用いられるように、指示は、システムにおいて情報を処理するための、コンピュータによって実行されるステップを示す。指示は、ソフトウェア、ファームウェア又はハードウェアにおいて実行され、システムの構成要素によって引き受けられた任意のタイプのプログラム化されたステップを含み得る。
【０１１７】
マイクロプロセッサは、Ｐｅｎｔｉｕｍ（登録商標）プロセッサ、Ｐｅｎｔｉｕｍ（登録商標）Ｐｒｏプロセッサ、８０５１プロセッサ、ＭＩＰＳ（登録商標）プロセッサ、ＰｏｗｅｒＰＣ（登録商標）プロセッサ、又はＡｌｐｈａ（登録商標）プロセッサなどの、任意の従来の汎用シングルチップマイクロプロセッサ又は汎用マルチチップマイクロプロセッサであってもよい。さらに、マイクロプロセッサは、デジタルシグナルプロセッサまたはグラフィックプロセッサなどの任意の従来の専用マイクロプロセッサであってもよい。マイクロプロセッサは、通常、従来のアドレスライン、従来のデータライン、および１つ以上の従来の制御ラインを有する。
【０１１８】
本願明細書に開示された発明の態様及び実施形態は、ソフトウェア、ファームウェア、ハードウェア又はこれらの任意の組み合わせを生成する標準プログラミング又は標準エンジニアリング技術を用いた方法、装置又は製品として実施されてもよい。本明細書で使用される「製品」は、光学記憶装置などのハードウェア又は非一過性コンピュータ読み取り可能媒体、及び揮発性メモリ装置又は不揮発性メモリ装置、信号、搬送波などの一過性コンピュータ読み取り可能媒体において実装されるコード又はロジックを示す。そのようなハードウェアはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、複合プログラマブルロジックデバイス（ＣＰＬＤ）、プログラマブルロジックアレイ（ＰＬＡ）、マイクロプロセッサ、または他の同様の処理装置を含むことができるが、これらに限定されない。
【図面の簡単な説明】
【０１１９】
【図１】図１は、３Ｄオブジェクトを設計および製造するためのシステムの一例を示す図である。
【図２】図２は、図１に示すコンピュータの一例の機能ブロック図を示す図である。
【図３】図３は、使用する３Ｄオブジェクトを製造するための高レベルプロセスを示す図である。
【図４Ａ】図４Ａは、リコート機構を有する付加製造装置の例を示す図である。
【図４Ｂ】図４Ｂは、リコート機構を有する付加製造装置の別の例を示す図である。
【図５】図５は、オブジェクトの有限要素モデルの一例を示す図である。
【図５Ａ】図５Ａは、有限要素モデルのための２つの要素の例を示す図である。
【図５Ｂ】図５Ｂは、図５Ａの要素に対するノード対要素マップ（node to element map）の例を示す図である。
【図６Ａ】図６Ａは、図５の有限要素モデルによって表されるオブジェクトの構築の例示的なシミュレーションの結果として生じる例示的なシミュレートモデルを示す図である。
【図６Ｂ】図６Ｂは、図５の有限要素モデルによって表されるオブジェクトの構築の例示的なシミュレーションの結果として生じる例示的なシミュレートモデルを示す図である。
【図７】図７は、付加製造を用いて、構築されるオブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に減少させるための例示的プロセスのフローチャートである。
【図８】図８は、図５の有限要素モデルのノードに配置された例示的なスプリングを示す図である。
【図９】図９は、図５の有限要素モデルに配置された追加の要素の一例を示す図である。
【図１０】図１０は、図５の有限要素に配置された１次元要素の一例を示す図である。
【図１１】図１１は、図５の有限要素モデルのノードに配置された制約の例を示す図である。
【図１２Ａ】図１２Ａは、図８〜１１のうちの１つの修正された有限要素モデルによって表されるオブジェクトの構築の例示的シミュレーションの結果として生じるシミュレートモデルの一例を示す図である。
【図１２Ｂ】図１２Ｂは、図８〜１１のうちの１つの修正された有限要素モデルによって表されるオブジェクトの構築の例示的シミュレーションの結果として生じるシミュレートモデルの一例を示す図である。
【図１３】図１３はオブジェクトの有限要素モデルにスプリングを含めることにより、付加製造を用いて構築されるオブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に低減するためのプロセスの一例のフローチャートである。
【図１３Ａ】図１３Ａは、オブジェクトの有限要素モデルの一例を示す図である。
【図１３Ｂ】図１３Ｂは、図１３Ａの有限要素モデルのノード対要素マップの一例を示す図である。
【図１３Ｃ】図１３Ｃは、図１３Ａの有限要素モデルの浮動ノードを識別する表を示す図である。
【図１４】図１４は、オブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に減少させるための例示的なプロセスのフローチャートである。当該オブジェクトは、オブジェクトの有限要素モデルに１つ以上の追加の要素を含めることによって、付加製造を使用して構築されることになる。
【図１４Ａ】図１４Ａは、オブジェクトの有限要素モデルの一例を示す図である。
【図１５】図１５は、オブジェクトのデジタルシミュレートモデルにおける剛体運動を自動的に減少させるための例示的なプロセスのフローチャートである。当該オブジェクトは、オブジェクトの有限要素モデルに１次元要素を含めことによって、付加製造を用いて構築されることになる。
【図１５Ａ】図１５Ａは、オブジェクトの有限要素モデルの一例を示す図である。
【図１６Ａ】図１６Ａは、要素を含むオブジェクトの有限要素モデルを示す図であり、その要素全てがシミュレートされた構築プラットフォームの平面に平行な底面を有する。
【図１６Ｂ】図１６Ｂは、要素を含むオブジェクトの有限要素モデルを示す図であり、当該要素の全てが、シミュレートされた構築プラットフォームの平面に平行である底面を有するとは限らない。
【図１６Ｃ】図１６Ｃは、要素を含むオブジェクトの有限要素モデルを示す図であり、その要素の全てが、シミュレートされた構築プラットフォームの平面に平行である底面を有するとは限らない。
【図１７】図１７は、オブジェクトのデジタルシミュレートモデルにおいて、互いに異なる角度であり、且つ／又は、付加製造を使用して構築されるオブジェクトのデジタルシミュレートモデルにおけるシミュレートされた構築プラットフォームに平行でない要素を含む有限要素モデルを使用するためのプロセスの一例のフローチャートである。
【図１】
2021530779.tif 000003
【図２】
2021530779.tif 000004
【図３】
2021530779.tif 000005
【図４Ａ】
2021530779.tif 000006
【図４Ｂ】
2021530779.tif 000007
【図５】
2021530779.tif 000008
【図５Ａ】
2021530779.tif 000009
【図５Ｂ】
2021530779.tif 000010
【図６Ａ】
2021530779.tif 000011
【図６Ｂ】
2021530779.tif 000012
【図７】
2021530779.tif 000013
【図８】
2021530779.tif 000014
【図９】
2021530779.tif 000015
【図１０】
2021530779.tif 000016
【図１１】
2021530779.tif 000017
【図１２Ａ】
2021530779.tif 000018
【図１２Ｂ】
2021530779.tif 000019
【図１３】
2021530779.tif 000020
【図１３Ａ】
2021530779.tif 000021
【図１３Ｂ】
2021530779.tif 000022
【図１３Ｃ】
2021530779.tif 000023
【図１４】
2021530779.tif 000024
【図１４Ａ】
2021530779.tif 000025
【図１５】
2021530779.tif 000026
【図１５Ａ】
2021530779.tif 000027
【図１６Ａ】
2021530779.tif 000028
【図１６Ｂ】
2021530779.tif 000029
【図１６Ｃ】
2021530779.tif 000030
【図１７】
2021530779.tif 000031
【手続補正書】
【提出日】令和3年3月9日(2021.3.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
付加製造のための構築シミュレーション中に有限要素モデルによって経験される剛体運動を低減するために、３Ｄオブジェクトの有限要素モデルを修正するためのコンピュータにより実施される方法であって、
前記有限要素モデルを取得するステップであって、前記有限要素モデルは複数のノードと複数の要素とを含み、前記複数のノードのうちの１つ以上のノードは前記複数の要素のうちの２つ以上の要素に関連付けられている、ステップと、；
前記複数の要素の複数のボトムノードを識別するステップと、；
前記複数のボトムノードのそれぞれに関連するいくつかの要素を決定するステップと、；
１つ以上の浮動ノードとして１つの要素のみに関連する前記複数のボトムノードのうちの１つ以上のボトムノードを識別するステップと、；
前記１つ以上の浮動ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正するステップと、；
前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを使用して前記オブジェクトの構築をシミュレートするステップと、
を含む方法。
【請求項２】
前記有限モデルのためのノード対要素マップを取得するステップをさらに含み、前記ノード対要素マップは前記複数のノードのそれぞれと前記複数の要素との関連性を示し、前記ノード対要素マップに基づいて前記複数のボトムノードのそれぞれに関連する要素の数が決定する、請求項１に記載の方法。
【請求項３】
前記複数の要素のそれぞれが、キューブの角にノードを有する前記キューブを含む、請求項１に記載の方法。
【請求項４】
要素のボトムノードが、前記要素と交差する構築プラットフォームに最も近い平行平面である前記要素の平面内の前記要素のノードを含む、請求項１に記載の方法。
【請求項５】
１つ以上の浮遊ノードとして、１つの要素のみに関連する前記複数のボトムノードのうちの１つ以上のボトムノードを識別するステップは、：
１つの要素のみに関連付けられた少なくとも２つのボトムノードを有する、前記複数の要素のうちの１つ以上の要素を識別するステップと、
前記１つ以上の要素のそれぞれの前記少なくとも２つのボトムノードを前記１つ以上の浮動ノードとして識別するステップと、
を含むこと請求項１に記載の方法。
【請求項６】
前記１つ以上の安定要素は１つ以上のスプリングを含み、
前記１つ以上の浮動ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正するステップは:
前記１つ以上のスプリングのそれぞれが、一方の端部で浮動ノードに結合され、他方の端部で構築プラットフォームに結合されるようにモデル化するステップ
を含む請求項１に記載の方法。
【請求項７】
前記１つ以上のスプリングのそれぞれが、一方の端部で浮遊ノードに結合され、他方の端部で構築プラットフォームに結合されるようにモデル化するステップは、前記浮遊ノードに垂直な前記構築プラットフォーム上のポイントで前記構築プラットフォームに結合されるように前記１つ以上のスプリングのそれぞれをモデル化するステップを含む、請求項６に記載の方法。
【請求項８】
前記１つ以上の安定要素は１つ以上のスプリングを含み、前記１つ以上の浮動ノードに１つ以上のスプリングを含むように前記有限要素モデルを修正するステップは、前記有限要素モデル内の前記１つ以上のスプリングのそれぞれを、前記オブジェクトを構築するために使用される材料に基づいたばね定数を有するものとしてモデル化するステップを含む、請求項１に記載の方法。
【請求項９】
前記１つ以上の安定要素は１つ以上の１次元要素を含み、前記１つ以上の浮動ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正するステップは、：
前記１つ以上の浮動ノードに結合する１つ以上の対角ノード対を識別するステップと、
前記１つ以上の対角ノード対を前記１つ以上の１次元オブジェクトとして含むステップと、を含む請求項１に記載の方法。
【請求項１０】
前記１つ以上の対角ノード対のそれぞれは、所定の要素の所定の浮動ノードと、前記所定の要素よりも構築プラットフォームに近い別の所定の要素の所定のノードと、に結合する、請求項９に記載の方法。
【請求項１１】
付加製造のための構築シミュレーション中に有限要素モデルによって経験される剛体運動を低減するために、３Ｄオブジェクトの有限要素モデルを修正するためのコンピュータにより実施される方法であって、
前記有限要素モデルを取得するステップであって、前記有限要素モデルは複数のノードと複数の要素とを含み、前記複数のノードのうちの１つ以上のノードは前記複数の要素のうちの２つ以上の要素に関連付けられ、前記複数の要素のそれぞれは前記要素の中心に対応する重心を含む、ステップと；
前記複数の要素の隣りに位置する要素のペアの重心間の重心対距離を計算するステップであって、要素のペアは、少なくとも１つのノードを共有する場合、互いに隣りに位置する要素である、ステップと；
閾値長以下の１つ以上の重心対距離の経路を介して対応する隣りに位置する要素に結合しない、前記複数の要素のうちの任意の要素を不安定要素と判定するステップと、；
すべての不安定要素に結合された１つ以上の追加要素を含むように前記有限要素モデルを修正するステップと、
前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを使用してオブジェクトの構築をシミュレートするステップと、
を含む方法。
【請求項１２】
前記閾値長は、前記複数の要素のそれぞれの辺長である請求項１１に記載の方法。
【請求項１３】
前記複数の要素のそれぞれが、キューブの角にノードを有する前記キューブを含む、請求項１１に記載の方法。
【請求項１４】
各不安定要素について、前記不安定要素と１つ以上の隣りに位置する要素との間に閾値長以下の１つ以上の重心対距離の少なくとも１つの経路があるように、前記不安定要素および前記１つ以上の隣りに位置する要素に結合されるように少なくとも１つの追加要素が追加される、請求項１１に記載の方法。
【請求項１５】
付加製造のための構築シミュレーション中にオブジェクトの有限要素モデルを使用するためのコンピュータにより実施される方法であって、：
前記有限要素モデルを取得するステップであって、前記有限要素モデルはシミュレートされた付加製造装置のシミュレートされた構築プラットフォームに平行でない底面を有する第１の要素を含む複数の要素を含み、前記複数の要素のそれぞれが、キューブの角にノードを有する前記キューブを含む、ステップと、
前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを用いて前記オブジェクトの構築をシミュレートするステップと、を含む方法。
【請求項１６】
前記複数の要素は、前記シミュレートされた構築プラットフォームに平行な底面を有する第２の要素を含む、請求項１５に記載の方法。
【請求項１７】
前記複数の要素は、前記シミュレートされた構築プラットフォームに対して、前記第１の要素の前記底面とは異なる角度で底面を有する第２の要素を含む、請求項１５に記載の方法。
【請求項１８】
コンピュータが実行可能な指示が保存された、非一過性コンピュータ読み取り可能媒体であって、コンピューティングデバイスのプロセッサによって実行されるとき、前記コンピューティングデバイスに付加製造のための構築シミュレーション中に有限要素モデルによって経験される剛体運動を低減するために、３Ｄオブジェクトの有限要素モデルを修正するための方法を実行させ、
前記方法は、
前記有限要素モデルを取得するステップであって、前記有限要素モデルは複数のノードと複数の要素とを含み、前記複数のノードのうちの１つ以上のノードは前記複数の要素のうちの２つ以上の要素に関連付けられている、ステップと、；
前記複数の要素の複数のボトムノードを識別するステップと、；
前記複数のボトムノードのそれぞれに関連するいくつかの要素を決定するステップと、；
１つ以上の浮動ノードとして１つの要素のみに関連する前記複数のボトムノードのうちの１つ以上のボトムノードを識別するステップと、；
前記１つ以上の浮動ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正するステップと、；
前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを使用して前記オブジェクトの構築をシミュレートするステップと、
を含む
非一過性コンピュータ読み取り可能媒体。
【請求項１９】
コンピューティングデバイスであって、：
メモリ;および
付加製造のための構築シミュレーション中に有限要素モデルによって経験される剛体運動を低減するために、３Ｄオブジェクトの有限要素モデルを修正するための方法を実行するように構成されたプロセッサを備えており、
前記方法は、
前記有限要素モデルを取得するステップであって、前記有限要素モデルは複数のノードと複数の要素とを含み、前記複数のノードのうちの１つ以上のノードは前記複数の要素のうちの２つ以上の要素に関連付けられている、ステップと、；
前記複数の要素の複数のボトムノードを識別するステップと、；
前記複数のボトムノードのそれぞれに関連するいくつかの要素を決定するステップと、；
１つ以上の浮動ノードとして１つの要素のみに関連する前記複数のボトムノードのうちの１つ以上のボトムノードを識別するステップと、；
前記１つ以上の浮動ノードに１つ以上の安定要素を含めるように前記有限要素モデルを修正するステップと、；
前記オブジェクトのシミュレートモデルを生成するために、前記修正された有限要素モデルを使用して前記オブジェクトの構築をシミュレートするステップと、
を含む
コンピューティングデバイス。
【請求項２０】
前記オブジェクトの前記シミュレートモデルに基づいて前記オブジェクトを修正するステップと：
付加製造を用いて前記修正されたオブジェクトを構築するステップと
をさらに含む請求項１に記載の方法。
【国際調査報告】
2021530779.tif 000032
2021530779.tif 000033