(57)【要約】一例において、本方法は、一層ずつの製造プロセスで製造される物体の少なくとも一部を表すデータをプロセッサで受信することを含む。データから、物体の少なくとも一部の直列化八分木表現を生成することができる。直列化八分木表現において、ノードは次のように順序付けられる。すなわち、（i）物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される物体の層から構成された体積を表すノードに先行し；（ii）物体の所与の層を含む体積を表すノードが、八分木表現内のノードのレベルに基づいて順序付けられ、親ノードが、子孫ノードよりも前に現れ；(iii）物体の所与の層を含む体積を表すノードであって八分木表現内で同じレベルにあるものが、位置符号化パターンに従って順序付けられる。【選択図】図１
2019524503.tif 000002
【特許請求の範囲】
【請求項１】
一層ずつの製造プロセスで製造される物体の少なくとも一部を表すデータをプロセッサで受信し、
前記データから、前記プロセッサを使用して、複数のノードを含む前記物体の少なくとも一部の直列化八分木表現を生成すること
を含み、前記直列化八分木表現を生成することは、
（i）物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される前記物体の層から構成された体積を表すノードに先行し；
（ii）前記物体の所与の層を含む体積を表すノードが、前記八分木表現内の前記ノードのレベルに基づいて順序付けられ、親ノードが、子孫ノードよりも前に現れ；
（iii）前記物体の所与の層を含む体積を表すノードであって前記八分木表現内で同じレベルにあるものが、位置符号化パターンに従って順序付けられる
ように、前記ノードを順序付けることを含む、方法。
【請求項２】
前記直列化八分木表現を生成することは、前記物体の所与の層を含む体積を表す前記ノードであって前記八分木表現内の同じレベルにあるものを、モートンコードパターンを使用して順序付けることを含む、請求項１に記載の方法。
【請求項３】
前記直列化八分木を生成することは、前記直列化八分木表現においてルートノードが最初に現れるように前記ノードを順序付けることを含む、請求項１に記載の方法。
【請求項４】
前記八分木の各ノードは、８つの体積を、
（i）前記体積の全体にわたって一貫性のある所定の属性を有するもの、
（ii）前記体積の全体にわたって前記所定の属性を有しないもの、及び
（iii）前記体積の一部分に前記所定の属性を有するもの
のうちの１つとして表す、請求項１に記載の方法。
【請求項５】
前記プロセッサを使用して、前記一層ずつの製造プロセスで生成される前記物体の第１の層のデータ表現を生成することを含み、
前記第１の層の前記データ表現を生成することは、
前記直列化八分木表現から前記第１の層の少なくとも一部を含む全てのノードを表すデータを抽出し、
前記抽出されたデータから、前記第１の層の表現を決定すること
を含む、請求項１に記載の方法。
【請求項６】
前記第１の層の前記表現を使用して目的の層を生成することをさらに含む、請求項５に記載の方法。
【請求項７】
前記プロセッサを使用して、前記抽出されたデータと、前記抽出されたデータに含まれない直列化表現内の位置を示すインデックスとを含むデータブロックを決定し、
前記データブロックをメモリに記憶すること
さらに含む、請求項５に記載の方法。
【請求項８】
前記プロセッサを使用して、前記一層ずつの製造プロセスで生成される前記物体の第２の層のデータ表現を生成することを含み、前記第２の層は、前記第１の層よりも後に生成されるものであり、
前記第２の層の前記データ表現を生成することは、
前記抽出されたデータから、前記第２の層の如何なる部分も含まない何れのノードを表すデータも破棄し、
前記インデックスを使用して、前記直列化表現内の開始位置を決定し、
前記直列化表現から、前記第２の層の少なくとも一部を含み、かつ前記開始位置よりも後に現れる全てのノードを表すデータを抽出すること
を含む、請求項７に記載の方法。
【請求項９】
各ノードが、所定の共通の長さのビット列によって表される、請求項１に記載の方法。
【請求項１０】
各ビット列は、１６ビットのビット列である、請求項９に記載の方法。
【請求項１１】
処理回路を含む積層造形装置であって、前記処理回路が、一層ずつの製造プロセスで生成される物体の第１の層のデータ表現を、製造される物体の少なくとも一部の直列化表現から生成するように構成され、
前記直列化表現が、複数のノードを表すデータを含み、前記ノードは、前記物体を第１の体積分解能及び第２の体積分解能で表し、前記ノードは、
（i）物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される前記物体の層から構成された体積を表すノードに先行し；
（ii）前記物体の所与の層を含む体積を表すノードについては、前記物体をより粗い体積分解能で表すノードが、前記物体をより細かい体積分解能で表すノードよりも前に順序付けられ；
（iii）所与の層を含む体積を表すノードであって同じ分解能であるものが、所定の位置符号化パターンに従って直列化される
ように順序付けられており、
前記処理回路は、前記直列化表現から前記第１の層の少なくとも一部を表す全てのノードを表すデータを抽出することによって前記第１の層のデータ表現を生成し、前記抽出されたデータから前記第１の層の表現を生成するように構成される、積層造形装置。
【請求項１２】
前記処理回路は、前記抽出されたデータと、前記抽出されたデータに含まれない直列化表現内の位置を示すインデックスとを含むデータブロックを決定するように構成される、請求項１１に記載の積層造形装置。
【請求項１３】
前記処理回路は、前記一層ずつの製造プロセスで生成される前記物体の第２の層のデータ表現を生成するように構成され、前記第２の層は、前記第１の層よりも後に生成されるものであり、
前記第２の層の前記データ表現を生成することは、
前記データブロック内の前記抽出されたデータから、前記第２の層の如何なる部分も含まない何れのノードを表すデータも破棄し、
前記インデックスを使用して、前記直列化表現内の開始位置を決定し、
前記直列化表現から、前記第２の層の少なくとも一部を表し、かつ前記開始位置よりも後に現れる全てのノードを表すデータを抽出すること
を含む、請求項１２に記載の積層造形装置。
【請求項１４】
前記データから前記第１の層の表現を決定する際に、前記処理回路は、印刷装置のアドレス可能な分解能で表された複数の体積の各々について、その体積が前記物体の内部にあるか、それとも前記物体の外部にあるかを決定するように構成される、請求項１１に記載の積層造形装置。
【請求項１５】
一層ずつの製造プロセスで製造される物体の少なくとも一部の表現を含む機械読み取り可能媒体であって、前記表現が、複数のノードを表すデータを含み、前記ノードが、第１の体積分解能、第２の体積分解能、及び第３の体積分解能で表された前記物体の表現を含み、前記第２の体積分解能では、第１の体積分解能の体積が、オクタントに細分され、第３の体積分解能では、前記第２の体積分解能の体積が、オクタントに細分され、前記ノードは、
（i）物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される前記物体の層から構成された体積を表すノードに先行し；
（ii）前記物体の所与の層を含む体積を表すノードについては、前記第１の体積分解能のノードが、前記第２の体積分解能のノードに先行し、前記第２の体積分解能のノードが、前記第３の体積分解能のノードに先行し、
（iii）所与の層を含む体積を表すノードであって同じ分解能であるものが、所定の位置符号化パターンに従って順序付けられる
ように順序付けられる、機械読み取り可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
積層造形技術は、造形材料の固化によって一層ずつ三次元物体を生成することができる。そのような技術の例では、造形材料は層状に供給され、固化方法は、造形材料の層を加熱し、選択された領域に溶融を生じさせることを含む場合がある。他の技術では、化学的固化方法や結合剤のような他の固化方法が使用される場合がある。
【０００２】
生成される三次元物体に関するデータが、積層造形装置に提供され、当該データを使用して、三次元物体を生成することができる。
【図面の簡単な説明】
【０００３】
添付の図面を参照して、非限定的な例をこれから説明する。
【図１】三次元物体を表すデータを配列するための例示的方法を示すフロー図である。
【図２】八分木（「オクトツリー」とも呼ばれる）構造を示す概略図である。
【図３】物体の種々の層を生成するための例示的方法を示すフロー図である。
【図４】例示的コンピュータシステムを示す概略図である。
【図５】例示的積層造形装置の例示的概略図を示す概略図である。
【図６Ａ】八分木構造の種々の表現を示す概略図である。
【図６Ｂ】八分木構造の種々の表現を示す概略図である。
【発明を実施するための形態】
【０００４】
詳細な説明
積層造形技術は、造形材料の固化によって三次元物体を生成することができる。一部の例では、造形材料は、粉末状の粒状材料である場合があり、これは例えば、プラスチック、セラミック、又は金属粉末である場合がある。生成される物体の性質は、使用される造形材料のタイプや固化メカニズムのタイプによって異なる場合がある。造形材料は、例えばプリントベッド上に堆積され、例えば製造チャンバ内で一層ずつ処理される場合がある。
【０００５】
一部の例では、指向性エネルギーの印加によって選択的固化が達成され、これは例えば、指向性エネルギーが印加された場所に造形材料の固化をもたらすレーザー又は電子ビームを使用して達成される。
【０００６】
他の例では、少なくとも１つの印刷剤が、造形材料に選択的に付与される場合があり、印刷剤は、付与されるときに液体である場合がある。例えば、融着剤（「合体剤」または「融合助剤」とも呼ばれる）は、造形材料の層の種々の部分の上に、生成される三次元物体のスライスを表すデータ（これは、例えば構造設計データから生成することができる）から導出されたパターンを成すように、選択的に供給される場合がある。融着剤は、エネルギーを吸収する成分を含む場合があり、層にエネルギー（例えば、熱）が印加されると、造形材料は合体して固化し、パターンに従って三次元物体のスライスを形成する。他の例では、合体は、他の態様で達成されてもよい。合体変性剤（変性剤またはディテーリングエージェントとも呼ばれる）は、例えば合体を減少または増加させることによって、あるいは、物体に特定の仕上げまたは外観を生成することを助けることによって、融着剤の効果に変化を与える働きをする。したがって、こうした薬剤は、ディテーリングエージェントとも呼ばれることがあり、一部の例では、印刷剤としても使用される場合がある。例えば染料や顔料を含む着色剤は、一部の例では、融着剤若しくは変性剤として使用される場合があり、及び／又は物体に特定の色を与えるための印刷剤として使用される場合がある。
【０００７】
積層造形システムは、構造設計データに基づいて種々の物体を生成することができる。これは、設計者が、例えばコンピュータ支援設計（ＣＡＤ）アプリケーションを使用して、生成される物体の３次元モデルを生成することを必要とする場合がある。モデルは、物体の種々の立体部分を定義することができる。積層造形システムを使用してモデルから三次元物体を生成するために、モデルデータを処理することにより、モデルの種々の平行平面のスライスを生成することがある。各スライスは、積層造形システムによって固化され、又は合体される造形材料の各層の部分を定義することができる。
【０００８】
図１は、ブロック１０２において、一層ずつの製造プロセスで製造される物体の少なくとも一部の八分木表現を提供するためのデータをプロセッサで受信することを含む方法を示すフロー図であり、この方法は、コンピュータで実施される方法であってもよい。
【０００９】
一部の例では、データは、古典的な八分木表現として提供される場合があり、八分木表現では、最大体積を表すノード（「ルート」ノード）が最初に記述され、その後にそのオクタントが続き、その後にそれらのオクタントが続くといった具合である。
【００１０】
他の例では、八分木は、物体の他の表現から構築されてもよく、例えばＳＴＬファイル、ＯＢＪファイル、ＤＸＦファイル、ｊｓｏｎファイル、３ｍｆファイル、ｖｔｋファイル等のような設計ファイルから構築される場合がある。物体は、メッシュ（例えば、ポリゴンメッシュ）として表され、又は一連のスライスの形で表される場合がある。一部の例では、表現は、データの印刷分解能表現を含む場合があり、例えば、物体及び／又は周囲体積（例えば、物体を取り囲む立方体）の各「ボクセル」について、少なくとも１つの属性（例えば、有無、色、テクスチャ、透明度、導電率、強度、多孔性、弾力性等）又は印刷材料（例えば、印刷剤又は造形材料の選択）に関する仕様を含む場合がある。ボクセルは、体積ピクセルと考えることができ、各ボクセルは、印刷アドレス可能領域であってもよい。一部の例では、ボクセルは、装置の印刷分解能で定義される。一部の例では、各ボクセルは、同じ形状及び／又はサイズを有し、例えば立方体または同じサイズを含む。ただし、例によっては、ボクセルのサイズ及び／又は形状は、異なっていてもよい。
【００１１】
ブロック１０４は、データから、プロセッサを使用して、物体の直列化八分木表現を生成することを含む。一部の例では、ブロック１０４は、八分木表現を並べ替えることを含む場合がある。ただし、例によっては、八分木表現は、物体を表すデータから生成されてもよい。八分木表現は、データを、層のような形で表す場合もあれば（例えば、物体の表現は、物体の種々のスライスを表す複数の層に分割されている場合がある）、印刷分解能で表す場合もあれば、何らかの他の形で表す場合もある（ブロック１０２で取得されたデータは、八分木表現を構築するためのデータを提供するものの、それ自体が八分木表現ではない場合もあることに留意すべきである）。以下で詳しく説明されるように、直列化表現は、ノードを特定の形で順序付けるように構築される。これは、「Ｚ優先」の順序付けと見なされる場合がある。なぜなら、Ｚ座標が物体の高さに関連するＸＹＺ空間を考えたときに、物体が、ＸＹ平面に存在する種々の層の形で生成されるからである。明らかになるように、このような順序付けは、種々の層の形で生成される三次元物体に関するデータを処理するのに適している場合がある。
【００１２】
この例では、直列化表現は、３つの規則に準拠している。これらの規則を、図２に示した３レベルの八分木に関連して説明する。図２において、ルートノードＡは、単一の体積である。次のレベルでは、この体積が、オクタントＢ１〜Ｂ８に分割される。各オクタントは、物理的部分体積を表している。Ｂ１、Ｂ２、Ｂ３及びＢ４は、体積の下半分の象限を表し、Ｂ５、Ｂ６、Ｂ７及びＢ８は、体積の上半分に関連している。図２は、次のレベルも示しているが、説明を簡単にするために、これは、Ｂ１についてのみ示されている。次のレベルでは、Ｂ１が、オクタントＣ１１〜Ｃ１８に分割される（この表記法は、以下で次のように拡張される：Ｂ２は、Ｃ２１〜Ｃ２８でラベル付けされたオクタントに分割されることができ、より一般的には、Ｂｎは、Ｃｎ１〜Ｃｎ８でラベル付けされたオクタントに分割されることができる）。Ｃｎ１〜Ｃｎ８の各々は、物理的部分体積を表している。この場合も、この例では、ｎ＝１〜８の場合のＣｎ１〜Ｃｎ４は、各Ｂの体積の下半分を表している。以下で詳しく説明されるように、各ノードは、物体の少なくとも１つの態様を記述するデータを含むことが理解されるであろう。
【００１３】
直列化表現の形成に適用される第１の規則は、物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される前記物体の層から構成された体積を表すノードに先行することである。
【００１４】
積層造形では、物体は一般に下から上に構築される。図２を例に挙げれば、このような例において最初に生成される層は、最下層であり、最下層は、ｎ＝１〜４の場合のＣｎ１〜Ｃｎ４を含む。Ｂ１〜Ｂ４も、Ａと同様にこの層を含む。したがって、この規則は、Ａ及びＢ１〜Ｂ４が、Ｂ５〜Ｂ６（これらは、第１の層の表現を含まず、その後に生成される層のみから構成される）よりも前に記載されることを意味する。また、この規則は、ｎ＝１〜４の場合のＣｎ１〜Ｃｎ４が、他のすべてのＣノードよりも前に記載されることを意味する。
【００１５】
第２の規則は、物体の所与の層を含む体積を表すノードが、八分木表現内のノードのレベルに基づいて順序付けられ、親ノードが、子孫ノードよりも前に現れることである。したがって、第１の層については、Ａは、Ｂ１〜Ｂ４の何れよりも前に記載されることになり、Ｂ１〜Ｂ４は、ｎ＝１〜４の場合のＣｎ１〜Ｃｎ４よりも前に記載されることになる。
【００１６】
第３の規則は、第１及び第２の規則が適用された後、すなわち、物体の所与の層を含む体積を表すノードであって八分木内で同じレベルにあるものについて、ノードを位置符号化パターンに従って直列化することである。例えば、これは、空間を通る特定の経路を定義するモートン（Ｚオーダー）コード等であってよい。モートンコードは、局所性を保ちながら多次元データを一次元にマッピングする関数の一例である。したがって、この例では、位置符号化パターンを使用することにより、Ｂ１〜Ｂ４の順序、及び、ｎ＝１〜４の場合のＣｎ１〜Ｃｎ４の順序を決定することができる。
【００１７】
上記のように、物体の第１の層については、その結果、Ａ、Ｂ１〜Ｂ４（位置符号化パターンにより順序付けされる）、ｎ＝１〜４の場合のＣｎ１〜Ｃｎ４（空間符号化パターンにより順序付けされる）の順序が得られる。これによって、直列化表現の第１の部分が得られる。表現を簡単にするために、位置符号化パターンを角括弧内に示せば、この部分を、
Ａ：［Ｂ１〜Ｂ４］：［Ｃｎ１〜Ｃｎ４］ｎ＝１〜４
のようにまとめることができる。
【００１８】
ｎ＝１〜４の場合のＣｎ１〜Ｃｎ４によって表されないその上の次の層は、ｎ＝１〜４の場合のＣｎ５〜Ｃｎ８を含む。ただし、この層は、Ｂ１〜Ｂ４及びＡによっても表されるため、この層を表すことは、単に上記のコード部分の最後にｎ＝５〜８の場合のＣｎ１〜Ｃｎ４を追加することを意味し、これは、何も規則を破らないので、直列化表現は、
Ａ：［Ｂ１〜Ｂ４］：［Ｃｎ１〜Ｃｎ４］ｎ＝１〜４：［Ｃｎ５〜Ｃｎ８］ｎ＝１〜４
のように拡張される。
【００１９】
まだ表されていないその上の次の層は、Ｂ５〜Ｂ８の部分を含み、Ｂ５〜Ｂ８は、それらの子孫ノードよりも前に含まれなければなない。そのため、この例では、体積Ａに含まれる物体の直列化表現は、
Ａ：［Ｂ１〜Ｂ４］：［Ｃｎ１〜Ｃｎ４］ｎ＝１〜４：［Ｃｎ５〜Ｃｎ８］ｎ＝１〜４：［Ｂ５〜Ｂ８］：［Ｃｎ１〜Ｃｎ４］ｎ＝５〜８：［Ｃｎ５〜Ｃｎ８］ｎ＝５〜８
のようになる。
【００２０】
図示されていないが、オクタントに分割された各Ｃｎｍ（ただし、ｎ＝１〜８、ｍ＝１〜８）体積を含む「Ｄ」レベルノードが定義されてもよい。一例では、これらのオクタントは、印刷分解能ボクセルを表す場合がある。このようなＤレベルノードは、Ｚ優先の順序付けに従って、直列化表現内のそれらに対応するＣレベル表現の後に挿入されることができる。
【００２１】
上記の議論は、全ての可能なノードが明示的に表されているという意味で、八分木が完成していることを前提としている。以下で説明されるように、これは、全ての例に当てはまるわけではない。
【００２２】
このようなデータ構造は、物体の特定レベルを記述するデータを連続した文字列として連結するため、三次元印刷に非常に適している。これは、レベル順に表されたｎ個の八分木（これは、「幅優先」の順序付けと呼ばれることがある）とは対照的である。同じ表記法による、幅優先の順序付けでは、物体の記述は、
Ａ：［Ｂ１〜Ｂ８］：［Ｃ１１〜Ｃ１８］：…：［Ｃ８１〜Ｃ８８］
のようになる場合がある。
【００２３】
データのさらに別の可能な表現は、「深さ優先」の順序付けである。深さ優先の順序付けは、
Ａ：Ｂ１：Ｃ１１〜Ｃ１８：Ｂ２：Ｃ２１〜Ｃ２８：Ｂ３：Ｃ３１〜Ｃ３８…Ｂ８：Ｃ８１〜Ｃ８８
のように表される場合がある。
【００２４】
このような表現では、製造される第１の層の記述である、ｎ＝１〜４の場合のＣｎ１〜Ｃｎ４が、データ全体に分散され、データの読み出しが複雑になる。さらに、以下の説明から明らかになるように、このような表現によれば、ある層に関して読み出されたデータを、後続の層に関するデータの読み出しに役立てることができない。
【００２５】
上記の例では、ルートノードＡを表すノードは、直列化表現の最初に配列されている。
【００２６】
データが直列に配列されることは、データ読み取り器が、データが指定された順序に関連付けられていることを理解できることを意味する。一部の例では、データは、記憶媒体（例えば、ランダムアクセス記憶媒体）上に物理的に分散される場合がある。ただし、データは、ある関係を有するように記憶され、記載されたデータの配列は、その関係に符号化される場合がある。
【００２７】
一部の例では、八分木のノードは、ある体積を表し、８つの部分体積を含み、各体積は、（i）体積全体にわたって所定の属性を有する（すなわち、あらゆる部分体積若しくはその領域が、所定の属性を有する）もの；（ii）所定の属性を全く有しない（すなわち、あらゆる部分体積若しくはその領域が、所定の属性を有しない）もの；及び（iii）所定の属性を有する部分領域と、所定の属性を有しない部分領域とを含むもの、のうちの１つに分類される場合がある。
【００２８】
一例では、属性は、体積が物体の一部を含むか否かである場合があり、各体積は、
（i）完全に物体の内部にあるもの（「黒」と呼ばれる）；
（ii）完全に物体の外部にあるもの（「白」と呼ばれる）；及び
（iii）その体積のある部分領域が物体の内部にあり、他の部分領域が外部にあるような、物体境界にまたがるもの（「グレー」と呼ばれる）
のうちの１つに分類される場合がある。
【００２９】
グレー、白、及び黒の指定は、他の属性に関しても、同様に使用することができる。この例では、境界にまたがる体積の分類として、２つの分類があり得る。すなわち、「最終グレー」の体積と「中間グレー」の体積である。最終グレーの体積は、その体積が、印刷分解能体積であるとき、又は特定のモデルによって符号化された最小の体積であるときに、符号化される場合がある。そのようなグレーの体積は、中間グレーの体積とは、異なる扱いを受ける場合がある。なぜなら、その体積を黒の体積として扱うか、それとも白の体積として扱うかについて、判断がなされる場合があるからである。すなわち、実際には、その体積は、物体の内部又は外部のいずれかにあるものとして指定される。ただし、一部の例では、そのような最終グレーの体積は、省略されてもよい。
【００３０】
【表１】
2019524503.tif 000003
【００３１】
この例では、体積の分類は、次のような２ビットで表される。すなわち、白の体積の場合は００、黒の体積の場合は０１、中間グレーの体積の場合は１０、及び、最終グレーの体積の場合は１１である。
【００３２】
各ノードは、そのノードの部分体積を特徴付ける１６ビットのビット列で表される。したがって、図１に示した立方体の下側四分の一を例として、もし物体が、立方体の底部を充填するスライスを占めていた場合、「Ａ」ノードは、４つの「グレー」の部分体積、及び４つの白の部分体積を含むであろう。一部の例では、ノードを記述するデータは、体積内の部分体積の位置に基づいて順序付けられる場合がある。例えば、「最下位ビット」、すなわちビット列の最後にあるビットは、より小さいｚ座標を有する部分体積に関する情報を含み、ｚ座標が等しい場合は、より小さいｘ座標を有する部分体積が最下位ビットを占めるといった具合である。ただし、任意の他の所定の順序を使用することができる。
【００３３】
例えば、Ａノードは、その部分体積の観点から、次のような番号順で表されることができる。
【００３４】
Ｂ１｛１０｝、Ｂ２｛１０｝、Ｂ３｛１０｝、Ｂ４｛１０｝、Ｂ５｛００｝、Ｂ６｛００｝、Ｂ７｛００｝、Ｂ８｛００｝。あるいは、次のように表されてもよい。
【００３５】
すなわち、［１０１０１０１０００００００００］である。
【００３６】
Ｂ１ノードは、上半分に白の体積を有し、下半分に黒の体積（物体に含まれる）を有するため、次のように符号化されることができる。
【００３７】
すなわち、［０１０１０１０１００００００００］である。
【００３８】
他の例では、別の順序が使用されてもよい。
【００３９】
Ｂ５体積は、白である。一部の例では、これは、Ａノードの符号化によって得られる情報以上にＢ５体積に関して得られる情報はもう無いことから、Ｂ５体積を表すために八分木内に明示的に形成されるノードは無いことを意味する。容易に理解できるように、Ｂレベル体積が完全に物体の内部にある場合、それに対する下位ノードは何れも、同様に完全に物体の内部にある。したがって、「グレー」のノード、すなわち、ある属性を有する部分領域とその属性を有しない部分領域とを含むノードのみが、記憶される場合がある。換言すれば、一部の例では、体積が白又は黒であれば、その体積は、先行するノードにおいて特徴付けられているため、ノードとして記憶されず、この特徴付けが、すべての子孫に拡張される。例えば、ある物体が体積の下半分を占めている場合、この物体は、ｚの高い側に４つの白の部分体積を有し、ｚの低い側に４つ黒の部分体積を有する、単一のノードを有する１レベルの八分木によって、完全に特徴付けられる。例えば、１６ビットのビット列は、ルートノード（グレーのノード）を、０００００００００１０１０１０１のように特徴づけることができる。これによって、物体全体を完全に表すことができる。ただし、黒の部分体積と白の部分体積のうちの一方が、そうではなくグレーであった場合、その部分体積のためのさらに別のノードを形成し、その部分体積を特徴付けてもよい。
【００４０】
したがって、一部の例では、八分木は、グレーのノードのみを含む場合があり（白と黒のノードは記憶されないため）、ボクセルレベルすなわち印刷分解能レベルで、部分体積が、黒または白として分類される場合がある。他の例では、グレーのノードは、細分された任意のノードであってもよい（たとえ子孫ノードが、すべて属性を有する場合や、属性を有しない場合であっても）。黒又は白のノードは、細分されていないノードである場合がある。
【００４１】
そのような符号化は、例えば、特定の色、導電性、弾力性、印刷剤等の有無のような、任意のバイナリ属性を指定するために使用され得る。例えば、各体積は、「赤」若しくは「非赤」若しくは「赤の部分領域と非赤の部分領域とを含むもの」として分類される場合があり、あるいは、「導電性」若しくは「非導電」若しくは「導電性部分領域と非導電性部分領域とを含むもの」として分類される場合がある。他の例では、ハフマン符号化のような他の符号化が使用される場合がある。
【００４２】
図３は、一層ずつの製造プロセスで生成される物体の複数の層のデータ表現を生成することを含む方法の一例を示すフロー図であり、この方法は、コンピュータで実施される方法であってもよく、一層ずつの製造プロセスは、図１を参照して上で説明したように構成された直列化八分木表現に対して実行される場合がある。一部の例では、直列化データは、メモリに記憶される場合があり、図３の方法を実施するために、その種々の部分が読み出される場合がある。他の例では、直列化データは、それが形成されたときに処理されてもよい。
【００４３】
ブロック３０２は、直列化八分木表現から、第１の層の少なくとも一部を含む全てのノードを表すデータを抽出することを含む。
【００４４】
図２の例を考えると、物体の最下層の一部を含む全てのノードは、単一の連続した文字列に配列され、この文字列は、
Ａ：［Ｂ１〜Ｂ４］：［Ｃｎ１〜Ｃｎ４］ｎ＝１〜４
のように表されることができる。
【００４５】
この説明では、すべてのノードＢ１〜Ｂ８及びすべてのＣノードが、八分木内にあるものと仮定している。例えば、ある属性を完全に有する体積、又はある属性を全く有しない体積を記述するＢノード又はＣノードが形成されている場合、これには該当しない（すなわち、上記のように、一部の例では、「グレー」のノードのみが、八分木内に、及び／又はその直列化表現内に、符号化される場合がある）。さらに、この例の説明では、第１の層は、下位レベルのＣノードに対応し、第２の層は、上位レベルのＣノードに対応しているが、他の例では、これらのノードの各々は、部分体積に分割され、複数の層を表す場合がある。
【００４６】
ブロック３０４は、抽出されたデータから第１の層の表現を決定することを含む。例えばこれは、ノード［Ｃｎ１〜Ｃｎ４］ｎ＝１〜４を抽出することを含む場合がある。ノード［Ｃｎ１〜Ｃｎ４］ｎ＝１〜４は、（これらのノードが明示的に表されている範囲内で）それらの複数の部分体積の各々に関する情報を提供する。Ｃノードの何れもが明示的に表されていない場合、第１の層の表現を決定することは、より高いレベルのノード、すなわち、この例ではＢノード又はＡノード、の内容を考慮することを含む場合がある。一部の例では、第１の層の決定された表現は、物体生成分解能を有する場合がある。最終グレーの体積を含む例では、第１の層の表現を決定することは、各体積を黒の体積又は白の体積として指定することを含む場合がある。一部の例では、第１の層の表現は、積層造形装置のための種々の制御命令を生成するための入力として使用される場合がある。例えば、体積を物体の内部にあるものとして特徴付けることにより、その体積に対応する物理的位置に融着剤を配置するための命令がもたらされる場合がある。体積を完全に物体の外部にあるものとして特徴付けることにより、その体積に対応する物理的位置に、融着剤を配置しないための命令、または、ディテーリングエージェントを配置するための命令がもたらされる場合がある。
【００４７】
一部の例では、これらの制御命令は、積層造形装置によって物体を生成するために使用される場合がある。
【００４８】
この例では、本方法は、ブロック３０６において、第１の層の表現を使用して目的の層を生成することをさらに含む。
【００４９】
一部の例では、第１の層の表現は、メモリに記憶される場合がある。
【００５０】
本方法は、ブロック３０８において、抽出されたデータと、抽出されたデータに含まれない直列化表現内の位置を示すインデックスとを含むデータブロックを決定し、ブロック３１０において、そのデータブロックをメモリに記憶することをさらに含む。
【００５１】
このデータブロックは、例えば、（とりわけ）Ｃプログラミング言語で使用される用語で言うところの「構造体」を含む場合がある。
【００５２】
このインデックスは、直列化データ内の最後の抽出ノード又は最初の「未抽出」ノードを示すポインタを含む場合がある。
【００５３】
そのようなデータブロックは、物体の直列化表現と比較して比較的小さいことがあるため、実際には、大容量又は低速のメモリリソース（例えば、コア外または半導体のメモリリソース）とは対照的に、ローカルメモリ、プロセッサメモリ、又は比較的高速のコア内メモリに保持されてもよい。一部の例では、大容量又は低速のメモリリソースには、物体の直列化表現が記憶される場合がある。
【００５４】
ブロック３１２〜３１８では、一層ずつの製造プロセスによって生成される物体の第２の層のデータ表現を生成する。この例では、第２の層は、第１の層の直後に生成されることになる（すなわち、第２の層は、物理的に生成される物体内で第１の層の直ぐ上に配置されることになる）。Ｃレベルノードが２以上の層を表す例では、そのような層を生成するためのデータは、すでに抽出されたデータ内に含まれる場合があり、したがって、この方法は、適当な後続の層に対して実行される場合がある。ただし、この例では、第２の層は、高い方のＣノードに対応する。
【００５５】
ブロック３１２は、データブロックを取得することを含む。上述のように、このデータブロックは、比較的小さいため、一部の例では、ローカルの高速メモリに保持される場合がある。これによって、メモリアクセスの遅延を低減することができる場合があり、これは、大きなデータファイルの場合に重要となることがある。ブロック３１４は、抽出されたデータから、第２の層の如何なる部分も表さない何れのノードを表すデータも破棄することを含む。その結果、この例では、
Ａ：［Ｂ１〜Ｂ４］
のようなデータが残る。
【００５６】
ブロック３１６は、インデックスを使用して、直列化八分木データ内の開始位置を決定することを含む。この例では、インデックスは、最後に読み出された直列化八分木データ内の位置へのポインタである場合があり、例えば、下記：
Ａ：［Ｂ１〜Ｂ４］：［Ｃｎ１〜Ｃｎ４］ｎ＝１〜４：＊Ｌｏｃ＊：［Ｃｎ５〜Ｃｎ８］ｎ＝１〜４：［Ｂ５〜Ｂ８］：［Ｃｎ１〜Ｃｎ４］ｎ＝５〜８：［Ｃｎ５〜Ｃｎ８］ｎ＝５〜８
のような位置「Ｌｏｃ」へのポインタである場合がある。実際には、これは、抽出されたデータ部分の最後、又はまだ抽出されていない後続のデータの最初へのポインタである場合がある。  
【００５７】
ブロック３１８は、直列化八分木表現から、第２の層の少なくとも一部を表し、かつ開始位置よりも後に現れる全てのノードを表すデータを抽出することを含む。これは、保持されたデータと共に、第２の層の表現の生成に使用される場合がある。この例では、生成の基礎となるデータは、
Ａ：［Ｂ１〜Ｂ４］：［Ｃｎ５〜Ｃｎ８］ｎ＝１〜４（上記のように、Ｂノード及び／又はＣノードが存在する範囲内に限る）
のようになる。
【００５８】
ブロック３２０では、第２の層の表現を使用して目的の層を生成する。
【００５９】
ブロック３２２では、第１のデータブロックから保持されたデータとブロック３１８で抽出されたデータとを含む更新されたデータブロックを、新たな位置へのポインタと共に、メモリに記憶する。この例では、ポインタは、下記：
Ａ：［Ｂ１〜Ｂ４］：［Ｃｎ１〜Ｃｎ４］ｎ＝１〜４：［Ｃｎ５〜Ｃｎ８］ｎ＝１〜４：＊Ｌｏｃ＊：［Ｂ５〜Ｂ８］：［Ｃｎ１〜Ｃｎ４］ｎ＝５〜８：［Ｃｎ５〜Ｃｎ８］ｎ＝５〜８
のような＊Ｌｏｃ＊で示される位置へのポインタになるであろう。
【００６０】
最後の層に関するデータが得られるまで、このプロセスは、更新されたデータブロックを作成し次の層に対して使用しながら、意図された製造順序で層ごとに繰り返し実行されることができる。この例では、上側の次の層は、領域Ｂ５〜Ｂ８にあり、領域Ｂ１〜Ｂ４にはないので、データの廃棄により、先のデータブロックからノードＡのみが残されることになり、抽出される次のデータ列は、［Ｂ５〜Ｂ８］：［Ｃｎ１〜Ｃｎ４］ｎ＝５〜８を含むものになるであろう。
【００６１】
上述したように、一部の例では、データブロックは、コア内のメモリリソース、又は比較的高速のメモリリソース（例えば、ローカルＲＡＭ）に保持される場合があり、比較的効率的に取得されることができる。直列化表現は、半導体メモリリソースのような「コア外」の大容量メモリリソースに保持される場合がある。データアクセス時間に関して比較的遅いことがあるそのような大容量メモリに対するデータ抽出タスクは、種々の層を生成するための処理全体にわたって効果的に分散される。上記の例では、本方法は、物体生成中に実行され、その場合、過度に長くはない実質的に一定の層処理時間の提供に貢献することができる。後続の層についてのデータ処理は、先行する層の生成の進行中に実行されてもよい。一部の例では、複数の層についてのデータ処理が、同時に実行される場合がある。
【００６２】
層処理時間の影響を考慮するために、例示的積層造形プロセスは、様々なプロセスを含むことができる。造形材料の層は、プリントベッド又は造形プラットフォーム上に形成されることができる。造形材料の層は、例えば造形材料供給器を使用して形成されることができ、造形材料供給器は、造形材料をプリントベッド上に意図した厚みで堆積させ、拡げることができる。
【００６３】
造形材料の層は、例えば赤外線ランプのような放射線源を使用して、又は他の手段によって、予熱されることができる。薬剤供給器により、造形材料の層の上に印刷剤が供給されてもよい。例えば融着ランプ（単数または複数）からの熱のようなエネルギーを造形材料の層に印加することによって、融着剤が付与された造形材料の部分の合体及び固化を引き起こすことができる。さらなる例では、造形材料の層を固めて、冷却させることができる。
【００６４】
例示的積層造形法を参照して上で説明した種々のプロセスは、生成される多層物体の各層について繰り返されることがある層処理サイクルの一部を形成する場合がある。層処理サイクルまたは層生成サイクルは、構築される三次元物体のスライスを形成するように造形材料の単一の層に関して実施される一組のプロセスを含むものと見なされ、この造形材料の単一の層に関して一組のプロセスを実施するための時間は、層処理時間または層生成時間であると見なされる場合がある。これには、層を形成する際に使用される種々の命令を生成するための処理時間も含まれる場合があり、例えば、印刷剤の配置や温度等（これらは、物体の表現から抽出されたデータに基づく場合がある）を指定するための処理時間も含まれる場合がある。
【００６５】
層処理時間は、生成される物体の全ての層について同一又はほぼ同一であることが意図される場合がある。すなわち、積層造形プロセスにおける各層についての層処理時間は、ほぼ一定又は固定である場合がある。ここで、「同一」という表現は、厳密に同一またはほぼ同一であることを意味することを意図している。
【００６６】
生成される物体の全ての層に対して一定又はほぼ一定の層処理時間を維持することは、物体が一貫した層によって生成されることを確保するのに役立つ。
【００６７】
データを記載したように直列化された形で記憶することによって、データの読み出しを、データ処理全体を通して有効に「ならす」ことができ、過度に長くない一定の層処理時間を、より容易に達成することができる。一部の例では、後続の層の処理は、先行する層の生成の進行中に開始される場合がある。
【００６８】
一部の例では、例えば、生成される物体の種々の部分の層間間隔のような特定の性質の計算を助けるために、複数の層に関するデータブロックが作成され、メモリ内に同時に保持される場合がある。
【００６９】
図４は、プロセッサ４０２、コア外メモリ４０４、及びコア内メモリ４０６を含むコンピュータシステムを示す概略図である。コア外メモリ４０４及びコア内メモリ４０６は、「リモート」メモリ及び「ローカル」メモリをそれぞれ含む場合があり、これらの用語は、コア内メモリ４０６はコア外メモリ４０４よりも迅速にアクセスされることができるといったように、プロセッサのデータ読み出しに関するものとして理解されるべきである。コア外メモリ４０４は、例えば、データの効率的な大容量記憶のための構造を有する場合がある一方、コア内メモリは、データを実質的にオンデマンドで提供するように構成される場合がある。その目的のために、メモリ４０４、４０６は、異なるタイプのものとされる場合がある。例えば、コア外メモリ４０４は、例えばハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）のような半導体メモリを含む場合がある一方、コア内メモリは、ランダムアクセスメモリ（ＲＡＭ）を含む場合がある。他の例では、コア外メモリ４０４は、リードオンリーメモリを含む場合がある。
【００７０】
一部の例では、コア内メモリ４０６は、（より短い信号経路を可能にするために）プロセッサ４０２の物理的近くにある場合があり、コア外メモリ４０４よりも物理的に小さい場合がある。一部の例では、プロセッサ４０２は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットのようなコンピュータネットワークを介してコア外メモリ４０４に接続される場合がある一方、コア内メモリは、プロセッサ４０２を含む装置内に、又は当該装置の近くに配置される場合がある。一部の例では、コア内メモリ４０６は、プロセッサと同じチップ又はダイ上に設けられる場合がある。すなわち、プロセッサは、「プロセッシング・イン・メモリ」のプロセッサである場合がある。一部の例では、メモリ４０４、４０６は、実質的に同じ場所に配置されることができる。他の例では、コア内メモリ及びコア外メモリは、ローカルメモリ及びリモートメモリによってそれぞれ置き換えられる場合がある。
【００７１】
一部の例では、直列化されたデータは、コア外メモリ４０４に記憶される場合があり、特定の層に関するデータの種々の部分のみを含むデータブロックが、コア内メモリ４０６に記憶される場合がある。なお、第１の層のためのデータブロックの構築が一度でも完了すれば、第２の層に関する少なくとも一部のデータは、コア外メモリ４０４から既に読み出されていることに留意されたい。比較的遅いデータの読み出しは、データの読み出しと処理の全体にわたって（一部の例では、さらに、物体生成練習の全体にわたって）分散される。
【００７２】
図５は、処理回路５０４を含む積層造形装置５０２を示している。処理回路５０４は、一層ずつの製造プロセスで生成される物体の第１の層のデータ表現を、製造される物体の少なくとも一部の直列化表現から生成するように構成され、直列化表現は、複数のノードを表すデータを含み、ノードは、物体を第１の体積分解能及び第２の体積分解能で表し、ノードは、次のように順序付けられる。
【００７３】
すなわち、物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される物体の層（複数可）から構成された（すなわち、そのような層から完全に作成された）体積を表すノードに先行すること。
【００７４】
さらに、物体の所与の層を含む体積を表すノードについては、物体をより粗い体積分解能で表すノードが、物体をより細かい体積分解能で表すノードよりも前に順序付けられること。
【００７５】
さらに、所与の層を含む体積を表すノードであって同じ分解能であるものが、所定の位置符号化パターンに従って直列化されることである。
【００７６】
処理回路５０４は、直列化表現から第１の層の少なくとも一部を表す全てのノードを表す連続したデータ列を抽出することによって第１の層のデータ表現を生成し、そのデータから第１の層の表現を決定するように構成される場合がある。
【００７７】
例えば、処理回路５０４は、図３のブロック３０２〜３０４を実行するように構成される場合がある。処理回路５０４は、第１のメモリリソース（例えば、リモートメモリ）から得られた直列化表現から、データを読み出し、読み出したデータ及び／又は第１の層の表現を第２のメモリリソース（例えば、ローカルメモリ）に記憶するように構成される場合がある。そのような例では、積層造形装置５０２は、第１のメモリリソース又は第２のメモリリソースを含む場合がある。一部の例では、積層造形装置５０２は、第２のメモリリソースを含み、同様のネットワークを介して第１のメモリリソースに接続される。
【００７８】
処理回路５０４は、第１の層及び／又は第２の層（及び任意の後続の層）の表現を決定するように構成される場合があり、一部の例では、印刷装置のアドレス可能な分解能で表された複数の体積の各々について、その体積が物体の内部にあるか、それとも物体の外部にあるかを、決定するように構成される場合がある。他の例では、その体積が、特定の属性又は特性を有するように製造されるか、それとも特定の属性又は特性を有しないように製造されるかを、決定する場合がある。
【００７９】
処理回路５０４は、例えばブロック３０８に関して説明したように、抽出されたデータと、抽出されたデータに含まれない直列化表現内の位置を示すインデックスとを含むデータブロックを決定するように構成される場合がある。
【００８０】
処理回路５０４は、一層ずつの製造プロセスで生成される物体の第２の層のデータ表現を生成するように構成される場合があり、第２のスライスは、第１のスライスの後に生成されるものであり、第２の層のデータ表現を生成することは、抽出されたデータから、第２の層の如何なる部分も含まない何れのノードを表すデータも破棄し；インデックスを使用して、直列化データ内の開始位置を決定し；直列化表現から、第２の層の少なくとも一部を含み、かつ開始位置よりも後に現れる全てのノードを表すデータを抽出することを含む。これは、連続したデータ列を抽出することを含む場合がある。例えば、処理回路５０４は、図３のブロック３１２〜３１８を実行するように構成される場合がある。
【００８１】
処理回路５０４は、図３の任意の他のブロックを実行するように構成される場合がある。
【００８２】
処理回路５０４は、プロセッサ４０２に関して説明した任意の属性を有することができる。
【００８３】
積層造形装置５０２は、プリントベッド、製造チャンバ、プリントヘッド、１以上のエネルギー源、造形材料の供給源、１以上の印刷剤、又は任意の他の積層造形装置コンポーネントを含む場合があり、あるいは、それらと関連している場合がある。
【００８４】
図６Ａは、一層ずつの製造プロセスで製造される物体の少なくとも一部の表現の八分木表現を示している。この表現は、円で示された複数のノードを表すデータを含み、ノードは、第１の体積分解能、第２の体積分解能、及び第３の体積分解能で表された物体の種々の表現を含む。第２の体積分解能では、第１の体積分解能の体積が、オクタントに細分され、第３の体積分解能では、第２の体積分解能の体積が、オクタントに細分されている。ここで、第３の体積分解能を表す円は、第２の体積分解能を表す円よりも小さく、第２の体積分解能を表す円は、第１の体積分解能を表す円よりも小さい。
【００８５】
この表現は、２次元であり、体積分解能内のＺ寸法を示している（すなわち、物体の低い部分を表す所与のサイズのノードは、物体内のより高い部分を表す当該サイズのノードに比べて、紙面上で低い位置に示されている）。ただし、ＸとＹの寸法は、平坦化されている。
【００８６】
図６Ｂは、ノードの直列化表現を示しており、この直列化表現では、物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される物体の層から構成された体積を表すノードに先行している。
【００８７】
また、物体の所与の層を含む体積を表すノードについては、第１の体積分解能のノードが第２の体積分解能のノードに先行し、第２の体積分解能のノードが、第３の体積分解能のノードに先行している。
【００８８】
さらに、所与の層を含む体積を表すノードであって同じ分解能であるものが、所定の位置符号化パターンに従って直列化されている。図６Ｂでは、これが、角括弧によって表されている。角括弧の各組内の一組のノードは、モートンオーダー若しくはコード、又はＺオーダー若しくはコード等のような任意の位置符号化パターンを使用して、一次元配列に平坦化されることができる。
【００８９】
理解されるように、物体は、４以上のレベルの分解能で表現されてもよい。
【００９０】
図６Ｂでは、紙面の制約から、直列化されたコードが２行にわたって示されている。概念的には、これは、データの連続した直列化とみなされるべきである。
【００９１】
図６Ｂに示したデータ構造は、上記のように、積層造形プロセスにおける「ならし」（「償却」とも呼ばれる）データ読み出しに適している。
【００９２】
本開示における種々の例は、ソフトウェア、ハードウェア、又はファームウェア等の任意の組み合わせのような、方法、システム、又は機械読み取り可能命令として提供されることができる。そのような機械読み取り可能命令は、コンピュータ読み取り可能プログラムコードを有するコンピュータ読み取り可能記憶媒体（限定はしないが、例えば、ディスク記憶装置、ＣＤ?ＲＯＭ、光記憶装置等を含む）に含まれる場合がある。
【００９３】
本開示は、本開示の種々の例による方法、デバイス、及びシステムのフロー図及び／又はブロック図を参照して説明されている。上で説明したフロー図は、特定の実行順序を示しているが、実行順序は、図示したものとは異なっていてもよく、少なくとも一部のプロセスは、並列に実行されてもよい。あるフロー図に関して説明されたブロックが、別のフロー図のブロックと組み合わされてもよい。フロー図における少なくとも一部のフロー、並びに、フロー図及び／又はブロック図におけるフロー及び／又は図の組み合わせは、機械読み取り可能命令によって実現されてもよいものと理解すべきである。
【００９４】
本説明及び図に記載した種々の機能を実現するために、機械読み取り可能命令は例えば、汎用コンピュータ、特殊用途コンピュータ、組み込みプロセッサ、又は他のプログラマブルデータ処理装置のプロセッサによって実行される場合がある。特に、プロセッサ又は処理装置は、機械読み取り可能命令を実行することができる。したがって、装置及びデバイスの機能モジュールは、メモリに記憶された機械読み取り可能命令を実行するプロセッサによって実施されてもよいし、又は、論理回路に埋め込まれた種々の命令に従って動作するプロセッサによって実施されてもよい。「プロセッサ」という用語は、ＣＰＵ、処理装置、ＡＳＩＣ、論理装置、又はプログラマブルゲートアレイ等を含むように、広く解釈されるべきである。本方法及び機能モジュールは、すべて単一のプロセッサによって実行されてもよいし、又は、複数のプロセッサに分割されてもよい。
【００９５】
このような機械読み取り可能命令は、コンピュータその他のプログラマブルデータ処理装置を特定のモードで動作するように案内するコンピュータ読み取り可能記憶装置に記憶されてもよい。
【００９６】
このような機械読み取り可能命令は、コンピュータその他のプログラマブルデータ処理装置にロードされてもよく、その結果、コンピュータその他のプログラマブルデータ処理装置は、一連の動作を実行することにより、コンピュータで実行される処理を生成することができ、したがって、コンピュータその他のプログラマブルデータ処理装置上で実行された命令は、フロー図のフロー（複数可）及び／又はブロック図のブロック（複数可）に示された種々の機能を実現することができる。
【００９７】
さらに、本明細書の教示は、コンピュータソフトウェア製品の形で実施されてもよく、コンピュータソフトウェア製品は、記憶媒体に記憶され、本開示の種々の例に記載された方法をコンピュータ装置に実施させるための複数の命令を含む。
【００９８】
本方法、装置、及び関連する態様は、特定の例を参照して説明されているが、本開示の思想から外れることなく、種々の修正、変更、省略、及び置換を行うことができる。したがって、本方法、装置、及び関連する態様は、特許請求の範囲及びそれらの均等物によってのみ限定されることが意図されている。なお、上述の例は、本明細書に記載したことを限定するものではなく例示するものであり、当業者は、添付の特許請求の範囲から外れることなく多数の代替実施形態を設計することができる。一例に関して説明した特徴が、別の例の特徴と組み合わされてもよい。
【００９９】
「含む」という語は、請求項に記載した要素以外の要素の存在を排除するものではない。
【０１００】
何れの従属請求項の特徴も、独立請求項又は他の従属請求項の何れかの特徴と組み合わせることができる。
【図１】
2019524503.tif 000004
【図２】
2019524503.tif 000005
【図３】
2019524503.tif 000006
【図４】
2019524503.tif 000007
【図５】
2019524503.tif 000008
【図６Ａ】
2019524503.tif 000009
【図６Ｂ】
2019524503.tif 000010
【国際調査報告】
2019524503.tif 000011