特許第6858246号(P6858246)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヒューレット−パッカード デベロップメント カンパニー エル.ピー.の特許一覧

<>
  • 特許6858246-三次元物体の表現の直列化 図000003
  • 特許6858246-三次元物体の表現の直列化 図000004
  • 特許6858246-三次元物体の表現の直列化 図000005
  • 特許6858246-三次元物体の表現の直列化 図000006
  • 特許6858246-三次元物体の表現の直列化 図000007
  • 特許6858246-三次元物体の表現の直列化 図000008
  • 特許6858246-三次元物体の表現の直列化 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6858246
(24)【登録日】2021年3月25日
(45)【発行日】2021年4月14日
(54)【発明の名称】三次元物体の表現の直列化
(51)【国際特許分類】
   B29C 64/386 20170101AFI20210405BHJP
   B33Y 50/00 20150101ALI20210405BHJP
   B29C 64/10 20170101ALI20210405BHJP
   B29C 64/20 20170101ALI20210405BHJP
   B33Y 10/00 20150101ALI20210405BHJP
   B33Y 30/00 20150101ALI20210405BHJP
【FI】
   B29C64/386
   B33Y50/00
   B29C64/10
   B29C64/20
   B33Y10/00
   B33Y30/00
【請求項の数】15
【全頁数】18
(21)【出願番号】特願2019-506687(P2019-506687)
(86)(22)【出願日】2016年10月12日
(65)【公表番号】特表2019-524503(P2019-524503A)
(43)【公表日】2019年9月5日
(86)【国際出願番号】US2016056564
(87)【国際公開番号】WO2018071011
(87)【国際公開日】20180419
【審査請求日】2019年2月7日
【前置審査】
(73)【特許権者】
【識別番号】511076424
【氏名又は名称】ヒューレット−パッカード デベロップメント カンパニー エル.ピー.
【氏名又は名称原語表記】Hewlett‐Packard Development Company, L.P.
(74)【代理人】
【識別番号】100087642
【弁理士】
【氏名又は名称】古谷 聡
(74)【代理人】
【識別番号】100082946
【弁理士】
【氏名又は名称】大西 昭広
(74)【代理人】
【識別番号】100195693
【弁理士】
【氏名又は名称】細井 玲
(72)【発明者】
【氏名】アベッロ・ロゼッロ,ルイス
(72)【発明者】
【氏名】ヴィナクア,アルヴァ
(72)【発明者】
【氏名】ブルネト,ペレ
(72)【発明者】
【氏名】コミノ,マルク
(72)【発明者】
【氏名】ゴンザレス・ロゲル,ジョルディ
(72)【発明者】
【氏名】ゴンザレス,セルジオ
(72)【発明者】
【氏名】ギラルト・アドロエル,ホセ
(72)【発明者】
【氏名】コルテス・イ・ヘルムス,セバスチア
(72)【発明者】
【氏名】カルエスコ・ロレンス,アレクス
【審査官】 田代 吉成
(56)【参考文献】
【文献】 特開2006−277562(JP,A)
【文献】 国際公開第2016/122625(WO,A1)
【文献】 米国特許出願公開第2013/0235050(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B29C 64/386
B29C 64/10
B29C 64/20
B33Y 10/00
B33Y 30/00
B33Y 50/00
(57)【特許請求の範囲】
【請求項1】
一層ずつの製造プロセスで製造される物体の少なくとも一部を表すデータをプロセッサで受信し、
前記データから、前記プロセッサを使用して、複数のノードを含む前記物体の少なくとも一部の直列化八分木表現を生成すること
を含み、前記直列化八分木表現を生成することは、
(i)物体生成の意図された順序において先に生成される前記物体の層を含む体積を表すノードが、その後に生成される前記物体の層から構成された体積を表すノードに先行し;
(ii)前記物体の所与の層を含む体積を表すノードが、前記八分木表現内の前記ノードのレベルに基づいて順序付けられ、親ノードが、子孫ノードよりも前に現れ;
(iii)前記物体の所与の層を含む体積を表すノードであって前記八分木表現内で同じレベルにあるものが、位置符号化パターンに従って順序付けられる
ように、前記ノードを順序付けることを含む、方法。
【請求項2】
前記直列化八分木表現を生成することは、前記物体の所与の層を含む体積を表す前記ノードであって前記八分木表現内の同じレベルにあるものを、モートンコードパターンを使用して順序付けることを含む、請求項1に記載の方法。
【請求項3】
前記直列化八分木表現を生成することは、前記直列化八分木表現においてルートノードが最初に現れるように前記ノードを順序付けることを含む、請求項1または請求項2に記載の方法。
【請求項4】
前記直列化八分木表現の各ノードは、8つの体積を、
(i)前記体積の全体にわたって一貫性のある所定の属性を有するもの、
(ii)前記体積の全体にわたって前記所定の属性を有しないもの、及び
(iii)前記体積の一部分に前記所定の属性を有するもの
のうちの1つとして表す、請求項1〜3の何れか一項に記載の方法。
【請求項5】
前記プロセッサを使用して、前記一層ずつの製造プロセスで生成される前記物体の第1の層のデータ表現を生成することを含み、
前記第1の層の前記データ表現を生成することは、
前記直列化八分木表現から前記第1の層の少なくとも一部を含む全てのノードを表すデータを抽出し、
前記抽出されたデータから、前記第1の層の表現を決定すること
を含む、請求項1〜4の何れか一項に記載の方法。
【請求項6】
前記第1の層の前記表現を使用して目的の層を生成することをさらに含む、請求項5に記載の方法。
【請求項7】
前記プロセッサを使用して、前記抽出されたデータと、前記抽出されたデータに含まれない直列化表現内の位置を示すインデックスとを含むデータブロックを決定し、
前記データブロックをメモリに記憶すること
さらに含む、請求項5に記載の方法。
【請求項8】
前記プロセッサを使用して、前記一層ずつの製造プロセスで生成される前記物体の第2の層のデータ表現を生成することを含み、前記第2の層は、前記第1の層よりも後に生成されるものであり、
前記第2の層の前記データ表現を生成することは、
前記抽出されたデータから、前記第2の層の如何なる部分も含まない何れのノードを表すデータも破棄し、
前記インデックスを使用して、前記直列化表現内の開始位置を決定し、
前記直列化表現から、前記第2の層の少なくとも一部を含み、かつ前記開始位置よりも後に現れる全てのノードを表すデータを抽出すること
を含む、請求項7に記載の方法。
【請求項9】
各ノードが、所定の共通の長さのビット列によって表される、請求項1〜8の何れか一項に記載の方法。
【請求項10】
各ビット列は、16ビットのビット列である、請求項9に記載の方法。
【請求項11】
処理回路を含む積層造形装置であって、前記処理回路が、一層ずつの製造プロセスで生成される物体の第1の層のデータ表現を、製造される物体の少なくとも一部の直列化表現から生成するように構成され、
前記直列化表現が、複数のノードを表すデータを含み、前記ノードは、前記物体を第1の体積分解能及び第2の体積分解能で表し、前記ノードは、
(i)物体生成の意図された順序において先に生成される前記物体の層を含む体積を表すノードが、その後に生成される前記物体の層から構成された体積を表すノードに先行し;
(ii)前記物体の所与の層を含む体積を表すノードについては、前記物体をより粗い体積分解能で表すノードが、前記物体をより細かい体積分解能で表すノードよりも前に順序付けられ;
(iii)所与の層を含む体積を表すノードであって同じ分解能であるものが、所定の位置符号化パターンに従って順序付けられる
ように順序付けられており、
前記処理回路は、前記直列化表現から前記第1の層の少なくとも一部を表す全てのノードを表すデータを抽出することによって前記第1の層のデータ表現を生成し、前記抽出されたデータから前記第1の層の表現を生成するように構成される、積層造形装置。
【請求項12】
前記処理回路は、前記抽出されたデータと、前記抽出されたデータに含まれない直列化表現内の位置を示すインデックスとを含むデータブロックを決定するように構成される、請求項11に記載の積層造形装置。
【請求項13】
前記処理回路は、前記一層ずつの製造プロセスで生成される前記物体の第2の層のデータ表現を生成するように構成され、前記第2の層は、前記第1の層よりも後に生成されるものであり、
前記第2の層の前記データ表現を生成することは、
前記データブロック内の前記抽出されたデータから、前記第2の層の如何なる部分も含まない何れのノードを表すデータも破棄し、
前記インデックスを使用して、前記直列化表現内の開始位置を決定し、
前記直列化表現から、前記第2の層の少なくとも一部を表し、かつ前記開始位置よりも後に現れる全てのノードを表すデータを抽出すること
を含む、請求項12に記載の積層造形装置。
【請求項14】
前記データから前記第1の層の表現を決定する際に、前記処理回路は、印刷装置のアドレス可能な分解能で表された複数の体積の各々について、その体積が前記物体の内部にあるか、それとも前記物体の外部にあるかを決定するように構成される、請求項11〜13の何れか一項に記載の積層造形装置。
【請求項15】
一層ずつの製造プロセスで製造される物体の少なくとも一部の表現を含む機械読み取り可能媒体であって、前記表現が、複数のノードを表すデータを含み、前記ノードが、第1の体積分解能、第2の体積分解能、及び第3の体積分解能で表された前記物体の表現を含み、前記第2の体積分解能では、前記第1の体積分解能の体積が、オクタントに細分され、前記第3の体積分解能では、前記第2の体積分解能の体積が、オクタントに細分され、前記ノードは、
(i)物体生成の意図された順序において先に生成される前記物体の層を含む体積を表すノードが、その後に生成される前記物体の層から構成された体積を表すノードに先行し;
(ii)前記物体の所与の層を含む体積を表すノードについては、前記第1の体積分解能のノードが、前記第2の体積分解能のノードに先行し、前記第2の体積分解能のノードが、前記第3の体積分解能のノードに先行し、
(iii)所与の層を含む体積を表すノードであって同じ分解能であるものが、所定の位置符号化パターンに従って順序付けられる
ように順序付けられる、機械読み取り可能媒体。
【発明の詳細な説明】
【背景技術】
【0001】
積層造形技術は、造形材料の固化によって一層ずつ三次元物体を生成することができる。そのような技術の例では、造形材料は層状に供給され、固化方法は、造形材料の層を加熱し、選択された領域に溶融を生じさせることを含む場合がある。他の技術では、化学的固化方法や結合剤のような他の固化方法が使用される場合がある。
【0002】
生成される三次元物体に関するデータが、積層造形装置に提供され、当該データを使用して、三次元物体を生成することができる。
【図面の簡単な説明】
【0003】
添付の図面を参照して、非限定的な例をこれから説明する。
図1】三次元物体を表すデータを配列するための例示的方法を示すフロー図である。
図2】八分木(「オクトツリー」とも呼ばれる)構造を示す概略図である。
図3】物体の種々の層を生成するための例示的方法を示すフロー図である。
図4】例示的コンピュータシステムを示す概略図である。
図5】例示的積層造形装置の例示的概略図を示す概略図である。
図6A】八分木構造の種々の表現を示す概略図である。
図6B】八分木構造の種々の表現を示す概略図である。
【発明を実施するための形態】
【0004】
詳細な説明
積層造形技術は、造形材料の固化によって三次元物体を生成することができる。一部の例では、造形材料は、粉末状の粒状材料である場合があり、これは例えば、プラスチック、セラミック、又は金属粉末である場合がある。生成される物体の性質は、使用される造形材料のタイプや固化メカニズムのタイプによって異なる場合がある。造形材料は、例えばプリントベッド上に堆積され、例えば製造チャンバ内で一層ずつ処理される場合がある。
【0005】
一部の例では、指向性エネルギーの印加によって選択的固化が達成され、これは例えば、指向性エネルギーが印加された場所に造形材料の固化をもたらすレーザー又は電子ビームを使用して達成される。
【0006】
他の例では、少なくとも1つの印刷剤が、造形材料に選択的に付与される場合があり、印刷剤は、付与されるときに液体である場合がある。例えば、融着剤(「合体剤」または「融合助剤」とも呼ばれる)は、造形材料の層の種々の部分の上に、生成される三次元物体のスライスを表すデータ(これは、例えば構造設計データから生成することができる)から導出されたパターンを成すように、選択的に供給される場合がある。融着剤は、エネルギーを吸収する成分を含む場合があり、層にエネルギー(例えば、熱)が印加されると、造形材料は合体して固化し、パターンに従って三次元物体のスライスを形成する。他の例では、合体は、他の態様で達成されてもよい。合体変性剤(変性剤またはディテーリングエージェントとも呼ばれる)は、例えば合体を減少または増加させることによって、あるいは、物体に特定の仕上げまたは外観を生成することを助けることによって、融着剤の効果に変化を与える働きをする。したがって、こうした薬剤は、ディテーリングエージェントとも呼ばれることがあり、一部の例では、印刷剤としても使用される場合がある。例えば染料や顔料を含む着色剤は、一部の例では、融着剤若しくは変性剤として使用される場合があり、及び/又は物体に特定の色を与えるための印刷剤として使用される場合がある。
【0007】
積層造形システムは、構造設計データに基づいて種々の物体を生成することができる。これは、設計者が、例えばコンピュータ支援設計(CAD)アプリケーションを使用して、生成される物体の3次元モデルを生成することを必要とする場合がある。モデルは、物体の種々の立体部分を定義することができる。積層造形システムを使用してモデルから三次元物体を生成するために、モデルデータを処理することにより、モデルの種々の平行平面のスライスを生成することがある。各スライスは、積層造形システムによって固化され、又は合体される造形材料の各層の部分を定義することができる。
【0008】
図1は、ブロック102において、一層ずつの製造プロセスで製造される物体の少なくとも一部の八分木表現を提供するためのデータをプロセッサで受信することを含む方法を示すフロー図であり、この方法は、コンピュータで実施される方法であってもよい。
【0009】
一部の例では、データは、古典的な八分木表現として提供される場合があり、八分木表現では、最大体積を表すノード(「ルート」ノード)が最初に記述され、その後にそのオクタントが続き、その後にそれらのオクタントが続くといった具合である。
【0010】
他の例では、八分木は、物体の他の表現から構築されてもよく、例えばSTLファイル、OBJファイル、DXFファイル、jsonファイル、3mfファイル、vtkファイル等のような設計ファイルから構築される場合がある。物体は、メッシュ(例えば、ポリゴンメッシュ)として表され、又は一連のスライスの形で表される場合がある。一部の例では、表現は、データの印刷分解能表現を含む場合があり、例えば、物体及び/又は周囲体積(例えば、物体を取り囲む立方体)の各「ボクセル」について、少なくとも1つの属性(例えば、有無、色、テクスチャ、透明度、導電率、強度、多孔性、弾力性等)又は印刷材料(例えば、印刷剤又は造形材料の選択)に関する仕様を含む場合がある。ボクセルは、体積ピクセルと考えることができ、各ボクセルは、印刷アドレス可能領域であってもよい。一部の例では、ボクセルは、装置の印刷分解能で定義される。一部の例では、各ボクセルは、同じ形状及び/又はサイズを有し、例えば立方体または同じサイズを含む。ただし、例によっては、ボクセルのサイズ及び/又は形状は、異なっていてもよい。
【0011】
ブロック104は、データから、プロセッサを使用して、物体の直列化八分木表現を生成することを含む。一部の例では、ブロック104は、八分木表現を並べ替えることを含む場合がある。ただし、例によっては、八分木表現は、物体を表すデータから生成されてもよい。八分木表現は、データを、層のような形で表す場合もあれば(例えば、物体の表現は、物体の種々のスライスを表す複数の層に分割されている場合がある)、印刷分解能で表す場合もあれば、何らかの他の形で表す場合もある(ブロック102で取得されたデータは、八分木表現を構築するためのデータを提供するものの、それ自体が八分木表現ではない場合もあることに留意すべきである)。以下で詳しく説明されるように、直列化表現は、ノードを特定の形で順序付けるように構築される。これは、「Z優先」の順序付けと見なされる場合がある。なぜなら、Z座標が物体の高さに関連するXYZ空間を考えたときに、物体が、XY平面に存在する種々の層の形で生成されるからである。明らかになるように、このような順序付けは、種々の層の形で生成される三次元物体に関するデータを処理するのに適している場合がある。
【0012】
この例では、直列化表現は、3つの規則に準拠している。これらの規則を、図2に示した3レベルの八分木に関連して説明する。図2において、ルートノードAは、単一の体積である。次のレベルでは、この体積が、オクタントB1〜B8に分割される。各オクタントは、物理的部分体積を表している。B1、B2、B3及びB4は、体積の下半分の象限を表し、B5、B6、B7及びB8は、体積の上半分に関連している。図2は、次のレベルも示しているが、説明を簡単にするために、これは、B1についてのみ示されている。次のレベルでは、B1が、オクタントC1〜C8に分割される(この表記法は、以下で次のように拡張される:B2は、C1〜C8でラベル付けされたオクタントに分割されることができ、より一般的には、Bは、C1〜C8でラベル付けされたオクタントに分割されることができる)。C1〜C8の各々は、物理的部分体積を表している。この場合も、この例では、n=1〜8の場合のC1〜C4は、各Bの体積の下半分を表している。以下で詳しく説明されるように、各ノードは、物体の少なくとも1つの態様を記述するデータを含むことが理解されるであろう。
【0013】
直列化表現の形成に適用される第1の規則は、物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される前記物体の層から構成された体積を表すノードに先行することである。
【0014】
積層造形では、物体は一般に下から上に構築される。図2を例に挙げれば、このような例において最初に生成される層は、最下層であり、最下層は、n=1〜4の場合のC1〜C4を含む。B1〜B4も、Aと同様にこの層を含む。したがって、この規則は、A及びB1〜B4が、B5〜B6(これらは、第1の層の表現を含まず、その後に生成される層のみから構成される)よりも前に記載されることを意味する。また、この規則は、n=1〜4の場合のC1〜C4が、他のすべてのCノードよりも前に記載されることを意味する。
【0015】
第2の規則は、物体の所与の層を含む体積を表すノードが、八分木表現内のノードのレベルに基づいて順序付けられ、親ノードが、子孫ノードよりも前に現れることである。したがって、第1の層については、Aは、B1〜B4の何れよりも前に記載されることになり、B1〜B4は、n=1〜4の場合のC1〜C4よりも前に記載されることになる。
【0016】
第3の規則は、第1及び第2の規則が適用された後、すなわち、物体の所与の層を含む体積を表すノードであって八分木内で同じレベルにあるものについて、ノードを位置符号化パターンに従って順序付けることである。例えば、これは、空間を通る特定の経路を定義するモートン(Zオーダー)コード等であってよい。モートンコードは、局所性を保ちながら多次元データを一次元にマッピングする関数の一例である。したがって、この例では、位置符号化パターンを使用することにより、B1〜B4の順序、及び、n=1〜4の場合のC1〜C4の順序を決定することができる。
【0017】
上記のように、物体の第1の層については、その結果、A、B1〜B4(位置符号化パターンにより順序付けされる)、n=1〜4の場合のC1〜C4(空間符号化パターンにより順序付けされる)の順序が得られる。これによって、直列化表現の第1の部分が得られる。表現を簡単にするために、位置符号化パターンを角括弧内に示せば、この部分を、
A:[B1〜B4]:[C1〜C4]n=1〜4
のようにまとめることができる。
【0018】
n=1〜4の場合のC1〜C4によって表されないその上の次の層は、n=1〜4の場合のC5〜C8を含む。ただし、この層は、B1〜B4及びAによっても表されるため、この層を表すことは、単に上記のコード部分の最後にn=5〜8の場合のC1〜C4を追加することを意味し、これは、何も規則を破らないので、直列化表現は、
A:[B1〜B4]:[C1〜C4]n=1〜4:[C5〜C8]n=1〜4
のように拡張される。
【0019】
まだ表されていないその上の次の層は、B5〜B8の部分を含み、B5〜B8は、それらの子孫ノードよりも前に含まれなければなない。そのため、この例では、体積Aに含まれる物体の直列化表現は、
A:[B1〜B4]:[C1〜C4]n=1〜4:[C5〜C8]n=1〜4:[B5〜B8]:[C1〜C4]n=5〜8:[C5〜C8]n=5〜8
のようになる。
【0020】
図示されていないが、オクタントに分割された各Cm(ただし、n=1〜8、m=1〜8)体積を含む「D」レベルノードが定義されてもよい。一例では、これらのオクタントは、印刷分解能ボクセルを表す場合がある。このようなDレベルノードは、Z優先の順序付けに従って、直列化表現内のそれらに対応するCレベル表現の後に挿入されることができる。
【0021】
上記の議論は、全ての可能なノードが明示的に表されているという意味で、八分木が完成していることを前提としている。以下で説明されるように、これは、全ての例に当てはまるわけではない。
【0022】
このようなデータ構造は、物体の特定レベルを記述するデータを連続した文字列として連結するため、三次元印刷に非常に適している。これは、レベル順に表されたn個の八分木(これは、「幅優先」の順序付けと呼ばれることがある)とは対照的である。同じ表記法による、幅優先の順序付けでは、物体の記述は、
A:[B1〜B8]:[C1〜C8]:…:[C1〜C8]
のようになる場合がある。
【0023】
データのさらに別の可能な表現は、「深さ優先」の順序付けである。深さ優先の順序付けは、
A:B1:C1〜C8:B2:C1〜C8:B3:C1〜C8…B8:C1〜C
のように表される場合がある。
【0024】
このような表現では、製造される第1の層の記述である、n=1〜4の場合のC1〜C4が、データ全体に分散され、データの読み出しが複雑になる。さらに、以下の説明から明らかになるように、このような表現によれば、ある層に関して読み出されたデータを、後続の層に関するデータの読み出しに役立てることができない。
【0025】
上記の例では、ルートノードAを表すノードは、直列化表現の最初に配列されている。
【0026】
データが直列に配列されることは、データ読み取り器が、データが指定された順序に関連付けられていることを理解できることを意味する。一部の例では、データは、記憶媒体(例えば、ランダムアクセス記憶媒体)上に物理的に分散される場合がある。ただし、データは、ある関係を有するように記憶され、記載されたデータの配列は、その関係に符号化される場合がある。
【0027】
一部の例では、八分木のノードは、ある体積を表し、8つの部分体積を含み、各体積は、(i)体積全体にわたって所定の属性を有する(すなわち、あらゆる部分体積若しくはその領域が、所定の属性を有する)もの;(ii)所定の属性を全く有しない(すなわち、あらゆる部分体積若しくはその領域が、所定の属性を有しない)もの;及び(iii)所定の属性を有する部分領域と、所定の属性を有しない部分領域とを含むもの、のうちの1つに分類される場合がある。
【0028】
一例では、属性は、体積が物体の一部を含むか否かである場合があり、各体積は、
(i)完全に物体の内部にあるもの(「黒」と呼ばれる);
(ii)完全に物体の外部にあるもの(「白」と呼ばれる);及び
(iii)その体積のある部分領域が物体の内部にあり、他の部分領域が外部にあるような、物体境界にまたがるもの(「グレー」と呼ばれる)
のうちの1つに分類される場合がある。
【0029】
グレー、白、及び黒の指定は、他の属性に関しても、同様に使用することができる。この例では、境界にまたがる体積の分類として、2つの分類があり得る。すなわち、「最終グレー」の体積と「中間グレー」の体積である。最終グレーの体積は、その体積が、印刷分解能体積であるとき、又は特定のモデルによって符号化された最小の体積であるときに、符号化される場合がある。そのようなグレーの体積は、中間グレーの体積とは、異なる扱いを受ける場合がある。なぜなら、その体積を黒の体積として扱うか、それとも白の体積として扱うかについて、判断がなされる場合があるからである。すなわち、実際には、その体積は、物体の内部又は外部のいずれかにあるものとして指定される。ただし、一部の例では、そのような最終グレーの体積は、省略されてもよい。
【0030】
【表1】
【0031】
この例では、体積の分類は、次のような2ビットで表される。すなわち、白の体積の場合は00、黒の体積の場合は01、中間グレーの体積の場合は10、及び、最終グレーの体積の場合は11である。
【0032】
各ノードは、そのノードの部分体積を特徴付ける16ビットのビット列で表される。したがって、図1に示した立方体の下側四分の一を例として、もし物体が、立方体の底部を充填するスライスを占めていた場合、「A」ノードは、4つの「グレー」の部分体積、及び4つの白の部分体積を含むであろう。一部の例では、ノードを記述するデータは、体積内の部分体積の位置に基づいて順序付けられる場合がある。例えば、「最下位ビット」、すなわちビット列の最後にあるビットは、より小さいz座標を有する部分体積に関する情報を含み、z座標が等しい場合は、より小さいx座標を有する部分体積が最下位ビットを占めるといった具合である。ただし、任意の他の所定の順序を使用することができる。
【0033】
例えば、Aノードは、その部分体積の観点から、次のような番号順で表されることができる。
【0034】
B1{10}、B2{10}、B3{10}、B4{10}、B5{00}、B6{00}、B7{00}、B8{00}。あるいは、次のように表されてもよい。
【0035】
すなわち、[1010101000000000]である。
【0036】
B1ノードは、上半分に白の体積を有し、下半分に黒の体積(物体に含まれる)を有するため、次のように符号化されることができる。
【0037】
すなわち、[0101010100000000]である。
【0038】
他の例では、別の順序が使用されてもよい。
【0039】
B5体積は、白である。一部の例では、これは、Aノードの符号化によって得られる情報以上にB5体積に関して得られる情報はもう無いことから、B5体積を表すために八分木内に明示的に形成されるノードは無いことを意味する。容易に理解できるように、Bレベル体積が完全に物体の内部にある場合、それに対する下位ノードは何れも、同様に完全に物体の内部にある。したがって、「グレー」のノード、すなわち、ある属性を有する部分領域とその属性を有しない部分領域とを含むノードのみが、記憶される場合がある。換言すれば、一部の例では、体積が白又は黒であれば、その体積は、先行するノードにおいて特徴付けられているため、ノードとして記憶されず、この特徴付けが、すべての子孫に拡張される。例えば、ある物体が体積の下半分を占めている場合、この物体は、zの高い側に4つの白の部分体積を有し、zの低い側に4つ黒の部分体積を有する、単一のノードを有する1レベルの八分木によって、完全に特徴付けられる。例えば、16ビットのビット列は、ルートノード(グレーのノード)を、0000000001010101のように特徴づけることができる。これによって、物体全体を完全に表すことができる。ただし、黒の部分体積と白の部分体積のうちの一方が、そうではなくグレーであった場合、その部分体積のためのさらに別のノードを形成し、その部分体積を特徴付けてもよい。
【0040】
したがって、一部の例では、八分木は、グレーのノードのみを含む場合があり(白と黒のノードは記憶されないため)、ボクセルレベルすなわち印刷分解能レベルで、部分体積が、黒または白として分類される場合がある。他の例では、グレーのノードは、細分された任意のノードであってもよい(たとえ子孫ノードが、すべて属性を有する場合や、属性を有しない場合であっても)。黒又は白のノードは、細分されていないノードである場合がある。
【0041】
そのような符号化は、例えば、特定の色、導電性、弾力性、印刷剤等の有無のような、任意のバイナリ属性を指定するために使用され得る。例えば、各体積は、「赤」若しくは「非赤」若しくは「赤の部分領域と非赤の部分領域とを含むもの」として分類される場合があり、あるいは、「導電性」若しくは「非導電」若しくは「導電性部分領域と非導電性部分領域とを含むもの」として分類される場合がある。他の例では、ハフマン符号化のような他の符号化が使用される場合がある。
【0042】
図3は、一層ずつの製造プロセスで生成される物体の複数の層のデータ表現を生成することを含む方法の一例を示すフロー図であり、この方法は、コンピュータで実施される方法であってもよく、一層ずつの製造プロセスは、図1を参照して上で説明したように構成された直列化八分木表現に対して実行される場合がある。一部の例では、直列化データは、メモリに記憶される場合があり、図3の方法を実施するために、その種々の部分が読み出される場合がある。他の例では、直列化データは、それが形成されたときに処理されてもよい。
【0043】
ブロック302は、直列化八分木表現から、第1の層の少なくとも一部を含む全てのノードを表すデータを抽出することを含む。
【0044】
図2の例を考えると、物体の最下層の一部を含む全てのノードは、単一の連続した文字列に配列され、この文字列は、
A:[B1〜B4]:[C1〜C4]n=1〜4
のように表されることができる。
【0045】
この説明では、すべてのノードB1〜B8及びすべてのCノードが、八分木内にあるものと仮定している。例えば、ある属性を完全に有する体積、又はある属性を全く有しない体積を記述するBノード又はCノードが形成されている場合、これには該当しない(すなわち、上記のように、一部の例では、「グレー」のノードのみが、八分木内に、及び/又はその直列化表現内に、符号化される場合がある)。さらに、この例の説明では、第1の層は、下位レベルのCノードに対応し、第2の層は、上位レベルのCノードに対応しているが、他の例では、これらのノードの各々は、部分体積に分割され、複数の層を表す場合がある。
【0046】
ブロック304は、抽出されたデータから第1の層の表現を決定することを含む。例えばこれは、ノード[C1〜C4]n=1〜4を抽出することを含む場合がある。ノード[C1〜C4]n=1〜4は、(これらのノードが明示的に表されている範囲内で)それらの複数の部分体積の各々に関する情報を提供する。Cノードの何れもが明示的に表されていない場合、第1の層の表現を決定することは、より高いレベルのノード、すなわち、この例ではBノード又はAノード、の内容を考慮することを含む場合がある。一部の例では、第1の層の決定された表現は、物体生成分解能を有する場合がある。最終グレーの体積を含む例では、第1の層の表現を決定することは、各体積を黒の体積又は白の体積として指定することを含む場合がある。一部の例では、第1の層の表現は、積層造形装置のための種々の制御命令を生成するための入力として使用される場合がある。例えば、体積を物体の内部にあるものとして特徴付けることにより、その体積に対応する物理的位置に融着剤を配置するための命令がもたらされる場合がある。体積を完全に物体の外部にあるものとして特徴付けることにより、その体積に対応する物理的位置に、融着剤を配置しないための命令、または、ディテーリングエージェントを配置するための命令がもたらされる場合がある。
【0047】
一部の例では、これらの制御命令は、積層造形装置によって物体を生成するために使用される場合がある。
【0048】
この例では、本方法は、ブロック306において、第1の層の表現を使用して目的の層を生成することをさらに含む。
【0049】
一部の例では、第1の層の表現は、メモリに記憶される場合がある。
【0050】
本方法は、ブロック308において、抽出されたデータと、抽出されたデータに含まれない直列化表現内の位置を示すインデックスとを含むデータブロックを決定し、ブロック310において、そのデータブロックをメモリに記憶することをさらに含む。
【0051】
このデータブロックは、例えば、(とりわけ)Cプログラミング言語で使用される用語で言うところの「構造体」を含む場合がある。
【0052】
このインデックスは、直列化データ内の最後の抽出ノード又は最初の「未抽出」ノードを示すポインタを含む場合がある。
【0053】
そのようなデータブロックは、物体の直列化表現と比較して比較的小さいことがあるため、実際には、大容量又は低速のメモリリソース(例えば、コア外または半導体のメモリリソース)とは対照的に、ローカルメモリ、プロセッサメモリ、又は比較的高速のコア内メモリに保持されてもよい。一部の例では、大容量又は低速のメモリリソースには、物体の直列化表現が記憶される場合がある。
【0054】
ブロック312〜318では、一層ずつの製造プロセスによって生成される物体の第2の層のデータ表現を生成する。この例では、第2の層は、第1の層の直後に生成されることになる(すなわち、第2の層は、物理的に生成される物体内で第1の層の直ぐ上に配置されることになる)。Cレベルノードが2以上の層を表す例では、そのような層を生成するためのデータは、すでに抽出されたデータ内に含まれる場合があり、したがって、この方法は、適当な後続の層に対して実行される場合がある。ただし、この例では、第2の層は、高い方のCノードに対応する。
【0055】
ブロック312は、データブロックを取得することを含む。上述のように、このデータブロックは、比較的小さいため、一部の例では、ローカルの高速メモリに保持される場合がある。これによって、メモリアクセスの遅延を低減することができる場合があり、これは、大きなデータファイルの場合に重要となることがある。ブロック314は、抽出されたデータから、第2の層の如何なる部分も表さない何れのノードを表すデータも破棄することを含む。その結果、この例では、
A:[B1〜B4]
のようなデータが残る。
【0056】
ブロック316は、インデックスを使用して、直列化八分木データ内の開始位置を決定することを含む。この例では、インデックスは、最後に読み出された直列化八分木データ内の位置へのポインタである場合があり、例えば、下記:
A:[B1〜B4]:[C1〜C4]n=1〜4:*Loc*:[C5〜C8]n=1〜4:[B5〜B8]:[C1〜C4]n=5〜8:[C5〜C8]n=5〜8
のような位置「Loc」へのポインタである場合がある。実際には、これは、抽出されたデータ部分の最後、又はまだ抽出されていない後続のデータの最初へのポインタである場合がある。
【0057】
ブロック318は、直列化八分木表現から、第2の層の少なくとも一部を表し、かつ開始位置よりも後に現れる全てのノードを表すデータを抽出することを含む。これは、保持されたデータと共に、第2の層の表現の生成に使用される場合がある。この例では、生成の基礎となるデータは、
A:[B1〜B4]:[C5〜C8]n=1〜4(上記のように、Bノード及び/又はCノードが存在する範囲内に限る)
のようになる。
【0058】
ブロック320では、第2の層の表現を使用して目的の層を生成する。
【0059】
ブロック322では、第1のデータブロックから保持されたデータとブロック318で抽出されたデータとを含む更新されたデータブロックを、新たな位置へのポインタと共に、メモリに記憶する。この例では、ポインタは、下記:
A:[B1〜B4]:[C1〜C4]n=1〜4:[C5〜C8]n=1〜4:*Loc*:[B5〜B8]:[C1〜C4]n=5〜8:[C5〜C8]n=5〜8
のような*Loc*で示される位置へのポインタになるであろう。
【0060】
最後の層に関するデータが得られるまで、このプロセスは、更新されたデータブロックを作成し次の層に対して使用しながら、意図された製造順序で層ごとに繰り返し実行されることができる。この例では、上側の次の層は、領域B5〜B8にあり、領域B1〜B4にはないので、データの廃棄により、先のデータブロックからノードAのみが残されることになり、抽出される次のデータ列は、[B5〜B8]:[C1〜C4]n=5〜8を含むものになるであろう。
【0061】
上述したように、一部の例では、データブロックは、コア内のメモリリソース、又は比較的高速のメモリリソース(例えば、ローカルRAM)に保持される場合があり、比較的効率的に取得されることができる。直列化表現は、半導体メモリリソースのような「コア外」の大容量メモリリソースに保持される場合がある。データアクセス時間に関して比較的遅いことがあるそのような大容量メモリに対するデータ抽出タスクは、種々の層を生成するための処理全体にわたって効果的に分散される。上記の例では、本方法は、物体生成中に実行され、その場合、過度に長くはない実質的に一定の層処理時間の提供に貢献することができる。後続の層についてのデータ処理は、先行する層の生成の進行中に実行されてもよい。一部の例では、複数の層についてのデータ処理が、同時に実行される場合がある。
【0062】
層処理時間の影響を考慮するために、例示的積層造形プロセスは、様々なプロセスを含むことができる。造形材料の層は、プリントベッド又は造形プラットフォーム上に形成されることができる。造形材料の層は、例えば造形材料供給器を使用して形成されることができ、造形材料供給器は、造形材料をプリントベッド上に意図した厚みで堆積させ、拡げることができる。
【0063】
造形材料の層は、例えば赤外線ランプのような放射線源を使用して、又は他の手段によって、予熱されることができる。薬剤供給器により、造形材料の層の上に印刷剤が供給されてもよい。例えば融着ランプ(単数または複数)からの熱のようなエネルギーを造形材料の層に印加することによって、融着剤が付与された造形材料の部分の合体及び固化を引き起こすことができる。さらなる例では、造形材料の層を固めて、冷却させることができる。
【0064】
例示的積層造形法を参照して上で説明した種々のプロセスは、生成される多層物体の各層について繰り返されることがある層処理サイクルの一部を形成する場合がある。層処理サイクルまたは層生成サイクルは、構築される三次元物体のスライスを形成するように造形材料の単一の層に関して実施される一組のプロセスを含むものと見なされ、この造形材料の単一の層に関して一組のプロセスを実施するための時間は、層処理時間または層生成時間であると見なされる場合がある。これには、層を形成する際に使用される種々の命令を生成するための処理時間も含まれる場合があり、例えば、印刷剤の配置や温度等(これらは、物体の表現から抽出されたデータに基づく場合がある)を指定するための処理時間も含まれる場合がある。
【0065】
層処理時間は、生成される物体の全ての層について同一又はほぼ同一であることが意図される場合がある。すなわち、積層造形プロセスにおける各層についての層処理時間は、ほぼ一定又は固定である場合がある。ここで、「同一」という表現は、厳密に同一またはほぼ同一であることを意味することを意図している。
【0066】
生成される物体の全ての層に対して一定又はほぼ一定の層処理時間を維持することは、物体が一貫した層によって生成されることを確保するのに役立つ。
【0067】
データを記載したように直列化された形で記憶することによって、データの読み出しを、データ処理全体を通して有効に「ならす」ことができ、過度に長くない一定の層処理時間を、より容易に達成することができる。一部の例では、後続の層の処理は、先行する層の生成の進行中に開始される場合がある。
【0068】
一部の例では、例えば、生成される物体の種々の部分の層間間隔のような特定の性質の計算を助けるために、複数の層に関するデータブロックが作成され、メモリ内に同時に保持される場合がある。
【0069】
図4は、プロセッサ402、コア外メモリ404、及びコア内メモリ406を含むコンピュータシステムを示す概略図である。コア外メモリ404及びコア内メモリ406は、「リモート」メモリ及び「ローカル」メモリをそれぞれ含む場合があり、これらの用語は、コア内メモリ406はコア外メモリ404よりも迅速にアクセスされることができるといったように、プロセッサのデータ読み出しに関するものとして理解されるべきである。コア外メモリ404は、例えば、データの効率的な大容量記憶のための構造を有する場合がある一方、コア内メモリは、データを実質的にオンデマンドで提供するように構成される場合がある。その目的のために、メモリ404、406は、異なるタイプのものとされる場合がある。例えば、コア外メモリ404は、例えばハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)のような半導体メモリを含む場合がある一方、コア内メモリは、ランダムアクセスメモリ(RAM)を含む場合がある。他の例では、コア外メモリ404は、リードオンリーメモリを含む場合がある。
【0070】
一部の例では、コア内メモリ406は、(より短い信号経路を可能にするために)プロセッサ402の物理的近くにある場合があり、コア外メモリ404よりも物理的に小さい場合がある。一部の例では、プロセッサ402は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットのようなコンピュータネットワークを介してコア外メモリ404に接続される場合がある一方、コア内メモリは、プロセッサ402を含む装置内に、又は当該装置の近くに配置される場合がある。一部の例では、コア内メモリ406は、プロセッサと同じチップ又はダイ上に設けられる場合がある。すなわち、プロセッサは、「プロセッシング・イン・メモリ」のプロセッサである場合がある。一部の例では、メモリ404、406は、実質的に同じ場所に配置されることができる。他の例では、コア内メモリ及びコア外メモリは、ローカルメモリ及びリモートメモリによってそれぞれ置き換えられる場合がある。
【0071】
一部の例では、直列化されたデータは、コア外メモリ404に記憶される場合があり、特定の層に関するデータの種々の部分のみを含むデータブロックが、コア内メモリ406に記憶される場合がある。なお、第1の層のためのデータブロックの構築が一度でも完了すれば、第2の層に関する少なくとも一部のデータは、コア外メモリ404から既に読み出されていることに留意されたい。比較的遅いデータの読み出しは、データの読み出しと処理の全体にわたって(一部の例では、さらに、物体生成練習の全体にわたって)分散される。
【0072】
図5は、処理回路504を含む積層造形装置502を示している。処理回路504は、一層ずつの製造プロセスで生成される物体の第1の層のデータ表現を、製造される物体の少なくとも一部の直列化表現から生成するように構成され、直列化表現は、複数のノードを表すデータを含み、ノードは、物体を第1の体積分解能及び第2の体積分解能で表し、ノードは、次のように順序付けられる。
【0073】
すなわち、物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される物体の層(複数可)から構成された(すなわち、そのような層から完全に作成された)体積を表すノードに先行すること。
【0074】
さらに、物体の所与の層を含む体積を表すノードについては、物体をより粗い体積分解能で表すノードが、物体をより細かい体積分解能で表すノードよりも前に順序付けられること。
【0075】
さらに、所与の層を含む体積を表すノードであって同じ分解能であるものが、所定の位置符号化パターンに従って順序付けられることである。
【0076】
処理回路504は、直列化表現から第1の層の少なくとも一部を表す全てのノードを表す連続したデータ列を抽出することによって第1の層のデータ表現を生成し、そのデータから第1の層の表現を決定するように構成される場合がある。
【0077】
例えば、処理回路504は、図3のブロック302〜304を実行するように構成される場合がある。処理回路504は、第1のメモリリソース(例えば、リモートメモリ)から得られた直列化表現から、データを読み出し、読み出したデータ及び/又は第1の層の表現を第2のメモリリソース(例えば、ローカルメモリ)に記憶するように構成される場合がある。そのような例では、積層造形装置502は、第1のメモリリソース又は第2のメモリリソースを含む場合がある。一部の例では、積層造形装置502は、第2のメモリリソースを含み、同様のネットワークを介して第1のメモリリソースに接続される。
【0078】
処理回路504は、第1の層及び/又は第2の層(及び任意の後続の層)の表現を決定するように構成される場合があり、一部の例では、印刷装置のアドレス可能な分解能で表された複数の体積の各々について、その体積が物体の内部にあるか、それとも物体の外部にあるかを、決定するように構成される場合がある。他の例では、その体積が、特定の属性又は特性を有するように製造されるか、それとも特定の属性又は特性を有しないように製造されるかを、決定する場合がある。
【0079】
処理回路504は、例えばブロック308に関して説明したように、抽出されたデータと、抽出されたデータに含まれない直列化表現内の位置を示すインデックスとを含むデータブロックを決定するように構成される場合がある。
【0080】
処理回路504は、一層ずつの製造プロセスで生成される物体の第2の層のデータ表現を生成するように構成される場合があり、第2のスライスは、第1のスライスの後に生成されるものであり、第2の層のデータ表現を生成することは、抽出されたデータから、第2の層の如何なる部分も含まない何れのノードを表すデータも破棄し;インデックスを使用して、直列化データ内の開始位置を決定し;直列化表現から、第2の層の少なくとも一部を含み、かつ開始位置よりも後に現れる全てのノードを表すデータを抽出することを含む。これは、連続したデータ列を抽出することを含む場合がある。例えば、処理回路504は、図3のブロック312〜318を実行するように構成される場合がある。
【0081】
処理回路504は、図3の任意の他のブロックを実行するように構成される場合がある。
【0082】
処理回路504は、プロセッサ402に関して説明した任意の属性を有することができる。
【0083】
積層造形装置502は、プリントベッド、製造チャンバ、プリントヘッド、1以上のエネルギー源、造形材料の供給源、1以上の印刷剤、又は任意の他の積層造形装置コンポーネントを含む場合があり、あるいは、それらと関連している場合がある。
【0084】
図6Aは、一層ずつの製造プロセスで製造される物体の少なくとも一部の表現の八分木表現を示している。この表現は、円で示された複数のノードを表すデータを含み、ノードは、第1の体積分解能、第2の体積分解能、及び第3の体積分解能で表された物体の種々の表現を含む。第2の体積分解能では、第1の体積分解能の体積が、オクタントに細分され、第3の体積分解能では、第2の体積分解能の体積が、オクタントに細分されている。ここで、第3の体積分解能を表す円は、第2の体積分解能を表す円よりも小さく、第2の体積分解能を表す円は、第1の体積分解能を表す円よりも小さい。
【0085】
この表現は、2次元であり、体積分解能内のZ寸法を示している(すなわち、物体の低い部分を表す所与のサイズのノードは、物体内のより高い部分を表す当該サイズのノードに比べて、紙面上で低い位置に示されている)。ただし、XとYの寸法は、平坦化されている。
【0086】
図6Bは、ノードの直列化表現を示しており、この直列化表現では、物体生成の意図された順序において先に生成される物体の層を含む体積を表すノードが、その後に生成される物体の層から構成された体積を表すノードに先行している。
【0087】
また、物体の所与の層を含む体積を表すノードについては、第1の体積分解能のノードが第2の体積分解能のノードに先行し、第2の体積分解能のノードが、第3の体積分解能のノードに先行している。
【0088】
さらに、所与の層を含む体積を表すノードであって同じ分解能であるものが、所定の位置符号化パターンに従って順序付けられている。図6Bでは、これが、角括弧によって表されている。角括弧の各組内の一組のノードは、モートンオーダー若しくはコード、又はZオーダー若しくはコード等のような任意の位置符号化パターンを使用して、一次元配列に平坦化されることができる。
【0089】
理解されるように、物体は、4以上のレベルの分解能で表現されてもよい。
【0090】
図6Bでは、紙面の制約から、直列化されたコードが2行にわたって示されている。概念的には、これは、データの連続した直列化とみなされるべきである。
【0091】
図6Bに示したデータ構造は、上記のように、積層造形プロセスにおける「ならし」(「償却」とも呼ばれる)データ読み出しに適している。
【0092】
本開示における種々の例は、ソフトウェア、ハードウェア、又はファームウェア等の任意の組み合わせのような、方法、システム、又は機械読み取り可能命令として提供されることができる。そのような機械読み取り可能命令は、コンピュータ読み取り可能プログラムコードを有するコンピュータ読み取り可能記憶媒体(限定はしないが、例えば、ディスク記憶装置、CD?ROM、光記憶装置等を含む)に含まれる場合がある。
【0093】
本開示は、本開示の種々の例による方法、デバイス、及びシステムのフロー図及び/又はブロック図を参照して説明されている。上で説明したフロー図は、特定の実行順序を示しているが、実行順序は、図示したものとは異なっていてもよく、少なくとも一部のプロセスは、並列に実行されてもよい。あるフロー図に関して説明されたブロックが、別のフロー図のブロックと組み合わされてもよい。フロー図における少なくとも一部のフロー、並びに、フロー図及び/又はブロック図におけるフロー及び/又は図の組み合わせは、機械読み取り可能命令によって実現されてもよいものと理解すべきである。
【0094】
本説明及び図に記載した種々の機能を実現するために、機械読み取り可能命令は例えば、汎用コンピュータ、特殊用途コンピュータ、組み込みプロセッサ、又は他のプログラマブルデータ処理装置のプロセッサによって実行される場合がある。特に、プロセッサ又は処理装置は、機械読み取り可能命令を実行することができる。したがって、装置及びデバイスの機能モジュールは、メモリに記憶された機械読み取り可能命令を実行するプロセッサによって実施されてもよいし、又は、論理回路に埋め込まれた種々の命令に従って動作するプロセッサによって実施されてもよい。「プロセッサ」という用語は、CPU、処理装置、ASIC、論理装置、又はプログラマブルゲートアレイ等を含むように、広く解釈されるべきである。本方法及び機能モジュールは、すべて単一のプロセッサによって実行されてもよいし、又は、複数のプロセッサに分割されてもよい。
【0095】
このような機械読み取り可能命令は、コンピュータその他のプログラマブルデータ処理装置を特定のモードで動作するように案内するコンピュータ読み取り可能記憶装置に記憶されてもよい。
【0096】
このような機械読み取り可能命令は、コンピュータその他のプログラマブルデータ処理装置にロードされてもよく、その結果、コンピュータその他のプログラマブルデータ処理装置は、一連の動作を実行することにより、コンピュータで実行される処理を生成することができ、したがって、コンピュータその他のプログラマブルデータ処理装置上で実行された命令は、フロー図のフロー(複数可)及び/又はブロック図のブロック(複数可)に示された種々の機能を実現することができる。
【0097】
さらに、本明細書の教示は、コンピュータソフトウェア製品の形で実施されてもよく、コンピュータソフトウェア製品は、記憶媒体に記憶され、本開示の種々の例に記載された方法をコンピュータ装置に実施させるための複数の命令を含む。
【0098】
本方法、装置、及び関連する態様は、特定の例を参照して説明されているが、本開示の思想から外れることなく、種々の修正、変更、省略、及び置換を行うことができる。したがって、本方法、装置、及び関連する態様は、特許請求の範囲及びそれらの均等物によってのみ限定されることが意図されている。なお、上述の例は、本明細書に記載したことを限定するものではなく例示するものであり、当業者は、添付の特許請求の範囲から外れることなく多数の代替実施形態を設計することができる。一例に関して説明した特徴が、別の例の特徴と組み合わされてもよい。
【0099】
「含む」という語は、請求項に記載した要素以外の要素の存在を排除するものではない。
【0100】
何れの従属請求項の特徴も、独立請求項又は他の従属請求項の何れかの特徴と組み合わせることができる。
図1
図2
図3
図4
図5
図6A
図6B