<単位セル>
インクジェット方式で造形を行う3Dプリンタでは融けた状態の材料(例えば樹脂)を、形状を構成する対象部位に噴射し、例えば紫外線等の硬化用エネルギーを照射してその材料を硬化させることで造形を行う。造形は層単位で行われ、一層分の造形が完了するごとに次の層の造形が行われる。複数のノズルから物性(例えば強度やヤング率等の機械的性質)の異なる材料を噴射させることで、複数の材料により造形することが可能である。造形対象の物体をボクセル単位で表現するモデルを用い、ボクセルごとにそのボクセルを構成する材料を指定しておく(例えばボクセルの材料属性にその材料の識別名を持たせる)ことで、造形装置はそのモデルに従ってボクセルごとに個別に材料を噴射して造形を行うことが可能になる。以下では、造形される物体のことを造形物と呼び、その造形物をボクセルの集まりで表現したモデルのことを造形物データと呼ぶ。造形物データにおいて、ボクセルごとに材料を指定することで、造形物の各部分ごとにそれぞれ個別に所望の機械的性質を持たせることが可能になる。
ここで、噴射され対象部位(すなわちボクセル位置)に付着した材料が硬化するまでにはある程度の時間がかかる。この時間に、その部位の材料が同じ層内の隣の部位に付着した材料と幾分混じり合う。隣り合う材料が同一であれば問題はないが、異なる材料同士である場合、混じり合った部分の物性は元の各々の材料の物性と異なったものとなる。
また、一層ごとの造形にはある程度時間がかかるので、ノズルから材料を対象部位に噴射した時点では、その材料の下の層のボクセルの材料は、混じり合いが生じない程度に硬化している。ただし、その硬化した材料とその上に噴射された材料との接着度合いがどの程度になるかは、上下の材料の組合せにより変わってくる。
また、噴射され対象部位に付着した材料には、紫外線等の硬化用エネルギーが照射され、これによりその材料の硬化が促進される。ここで、照射源から発せられた硬化用エネルギーは材料の層の上から照射されるが、材料の表面から深く進むにつれて減衰し、これに応じて硬化作用も減衰する。このため、造形された1つのボクセルの内部でも、深さに応じて硬化度合いが異なることとなる。
例えば、ボクセルごとに材料が指定された造形物データをもとに造形物の構造解析を行う場合、上述の各種の事情から、個々のボクセルがそれぞれ対応する材料で均一に構成されていると仮定したのでは、妥当な解析結果が得られない。これに対し、造形物モデルの個々のボクセルについて、上述した隣接ボクセル間での材料の混じり合い、層間での接着度合い、層内での深さに応じた硬化度合いを考慮に入れた構造解析モデルを構成すれば、精度のよい解析が行える。しかし、構造解析モデルが複雑になるため、解析に要する時間が膨大になってしまう。
また、造形物データと造形装置とで解像度が異なる場合、すなわち造形物データのボクセルと造形装置のボクセルとのサイズが異なる場合、その造形装置で造形物データが示す造形物を完全に正確に造形できない場合がある。特に造形物データの解像度の方が造形装置の解像度より精細である場合、造形物データ内でボクセルごとに材料が異なる部分はその造形装置では原理上正確に再現できない。なお、造形装置における「ボクセル」とは、その造形装置の造形における最小単位の立体である。
しかし、互いに近接した複数のボクセルからなる塊を単位とすれば、造形物データ内のその塊の物性(例えば機械的特性)と同等の物性を持つボクセル又はボクセル塊を造形装置で再現することは可能である。すなわち、塊の物性は、その塊を構成する各ボクセルの材料、それらボクセル間での混じり合い、層間の接着、層内での硬化度合いの深さ方向分布からほぼ決まる。造形物データにおけるボクセル塊の物性値を求め、そのボクセル塊を造形装置のボクセルで再現する場合、ボクセル塊としてその物性値と同等の物性値を持つよう個々のボクセルの材料を決めれば、ボクセル塊単位で造形物データの物性を再現した造形物が形成される。
以上のようないくつかの理由から、この実施形態では、互いに近接する複数のボクセルからなる「単位セル」を導入する。単位セルは、互いに隣接する複数個のボクセルから構成された立方体又は直方体である。例えば、図1に示す互いに隣接する2×2×2(すなわち縦に2個、横に2個、奥行き方向に2個)の合計8個のボクセル10からなる単位セル20が考えられる。この例では単位セル20は、一辺2ボクセルの立方体である。図では、各ボクセルの材料の違いを、図におけるボクセルの色の違いで表現している。
また、互いに隣接する3×3×3=27個のボクセルからなる単位セルや、4×4×4=64個のボクセルからなる単位セルなど、より大きな単位セルを用いてもよい。ただし、単位セルを構成するボクセル数が多くなるほど、単位セルを構成するボクセルの材料の組合せは多くなるため、組合せ毎に物性値を求めるための計算時間は膨大なものとなっていく。
本実施形態では、例えば、単位セルを構造解析の単位としたり、造形物データの単位セルを同等の物性値を造形装置の単位セルに置き換えたりすることで、上述の問題に対処する。
<単位セルの物性値>
本実施形態の手法では、単位セルの利用のために、実験又はシミュレーション計算又はこれらの組合せにより、単位セルの物性値を求める。単位セルの物性値は、以下の3つの要素の組合せから求める。
(1)同一層内の隣接ボクセル間の材料の混じり合い
図2の(a)に例示する、同一層内で2つの隣り合うボクセル10a及び10bを考える。2つのボクセル10a及び10bの材料は異なるものとする。また、これら2つのボクセル10を構成する個々の材料は、インクジェットのノズル又はノズル群から、同時に、又は先に噴射された材料が後の材料と混じり合わなくなる程度に硬化するまでの短い時間の間に、それぞれのボクセル位置に噴射されたものとする。
この場合、(b)に示すように、隣り合うボクセル10a及び10bの位置にそれぞれ付着した液状の材料12a及び12bは、互いに接する部分から混じり、混じり合い領域14を形成する。この混じり合い領域14では、材料12a及び12bが混じり合っており、厳密には混じり合いの度合いは場所ごとに異なる。
このような混じり合いを含む隣接2ボクセルの物性値を求めるために、(c)に示すように、隣接する2つのボクセル10aと10bに対して、中央に混じり合い領域34を設定した構造解析モデル30を構成する。図示例では、構造解析モデル30は、材料12aのみの領域32a、材料12bのみの領域32b、それら両者の間の、両材料が混じり合った混じり合い領域34、の3つの領域から構成される。混じり合い領域34の幅(隣接する2ボクセル10a及び10bの配列方向についての幅)や混じり合い領域34の物性値(強度、ヤング率、ポアソン比等)は、実験又は数値シミュレーションにより求める。
例えば実験の場合は、三次元物体を造形する造形装置(例えば3Dプリンタ)の解像度で異なる材料を例えば同時に隣り合わせに噴射して造形し、その造形結果の微細構造を電子顕微鏡等で観察することで、混じり合い領域を特定する。また、混じり合い領域の強度その他の物性値を測定してもよい。数値シミュレーションの場合は、造形装置の解像度に対応するボクセルのサイズで異なる材料を隣り合わせに造形したときの解析モデルを構成し、この解析モデルをVOF(Volume Of Fluid)法やMPS(Moving Particle Semi- implicit)法等の混相流解析手法を用いて解析することで、混じり合い領域を特定する。そして、このように特定した混じり合い領域の情報から、図2(c)のようにモデル化した場合の混じり合い領域14の幅を決定する。
図示例では、元の材料12a及び12bのみの領域32a及び32bの間、単一の混じり合い領域34を設けたモデルであったが、ボクセル10a及び10bの配列方向に沿って混じり合いの比率が異なる複数の混じり合い領域を設けてもよい。
例えば、これら2つのボクセル10a及び10bから構成される1つのセルを考えて、その構造解析モデル30を用いて均質化解析(均質化法とも呼ばれる)を行えば、そのセルが単一の材料で構成されるとみなしたときの物性値が計算できる。均質化解析では、境界条件を設定しつつ構造解析モデルを周期的に配置し、それら周期的に配置された構造解析モデルに対して数値シミュレーションを行うことで、そのモデルが示す構造が示す物性を単一材料で構成した場合の物性値(以下「等価材料物性値」ともいう)を算出する。
隣接するボクセル10aと10bの材料が同じである場合、材料同士が混合しても物性値は変わらない。したがって、材料の混合を考慮した構造解析モデル30又はそのモデルに対する均質化解析結果の物性値は、異なる2材料の組合せ毎に生成すればよい。
図2は、隣接する2ボクセルの場合を示したが、1方向に隣接する3つのボクセル、又は図1に示した単位セル20の1つの層に該当する2×2の4ボクセル等のように、他の配列構成の隣接ボクセル群について、同様の手法で構造解析モデルや等価材料物性値を求めてもよい。
(2)層間の隣接ボクセルの接着
隣接する2つの層の間で隣り合うボクセル同士の接着情報を、実験又は数値シミュレーションで求める。
実験では、例えば、2つの材料の組合せごとに、第1層の材料の液滴を噴射して硬化させた後、第2層の材料の液滴をその上に噴射し、硬化させてサンプルを形成する。そして、そのサンプルに対して機械的試験を行うことで、層間の剥離強度又は剪断強度あるいはその両方等の接着性評価指標を測定する。
数値シミュレーションでは、硬化した第1層の材料とその上に付着して硬化した第2層の材料との接着状態を分子動力学法やナノシミュレーション等の手法で解析し、この解析結果から接着性評価指標を求める。
上述した同一層内の隣接ボクセル間の材料の混じり合いの解析では、異なる材料の組合せのみを調べたが、層間の隣接ボクセルの接着状態の指標については、同一材料同士についても調べる。
(3)深さによる硬化度合いの違い
前述のように、材料の硬化度合いは、紫外線等の硬化用エネルギーが当たる表面からの深さ(すなわち硬化用エネルギーの進行方向に沿った距離)によって異なる。そこで、材料ごとに、実験又は数値シミュレーションにより、図3に示すように、ボクセル10の硬化用エネルギー源側の表面から造形の積層方向に沿った深さ範囲毎の硬化度合い、すなわち深さ方向についての硬化度の分布、を求める。
例えば、実験により、材料ごとに、硬化用エネルギーの量と硬化度(反応率とも呼ばれる)との関係を、FT-IR(フーリエ変換赤外分光光度計)による赤外スペクトル測定などにより計測する。ボクセル内の表面からの深さごとの硬化エネルギーの量(例えば紫外線の光量)は、ランバート・ベールの法則等に従って求められるので、計測結果と深さごとのエネルギー量から、深さごとの硬化度が求められる。
単位セルの物性値は、単位セルを構成する複数のボクセル同士が結合した状態を示す構造解析モデルを用いて計算する。この構造解析モデルには、上述した3つの要素を反映させる。
例えば、図1に例示した2×2×2のボクセルからなる単位セルの場合を考える。造形装置による層内の造形が1ボクセル幅で進行する方式ならば、その造形の進行方向に沿った2つの隣接するボクセルについて上記(1)の隣接する2ボクセル間での材料の混合を考慮した構造解析モデル(図2の(c))を当てはめる。造形進行方向に隣接する2ボクセルが同一材料の場合は、それら2ボクセルについては同一材料からなる構造解析モデルを当てはめる。合計4つの構造解析モデルの組ができる。更に、この構造解析モデルの組の各ボクセルの領域を、ボクセルの表面からの深さ範囲ごとに細分化する。そして個々のボクセルの各深さ範囲の領域に対して、そのボクセルの材料とその深さ範囲との組合せに対応する硬化度を設定する(上述の(3))。このように細分化された構造解析モデルに対して、更に、層間で隣り合うボクセル同士、及び同一層内の行間で隣り合うボクセル同士のそれぞれについて、それら隣り合うボクセル同士の材料の組合せに応じた接着情報(すなわち、剥離強度や剪断強度等)を境界条件として設定する(上述の(2))。行間で隣接するボクセルのうち前に造形された方は、後の方が造形される時点ではある程度硬化が進んでおり、それらボクセル間では材料の混じり合いは生じないとみなしてよいので、層間で隣接する2つのボクセルと同様に取り扱う。このようにして単位セルの構造解析モデルを構成する。厳密には、硬化度の深さ分布や隣接ボクセル間の接着情報は、隣り合うボクセルの異なる材料の混じり合いの影響を受けるが、混じり合う前の元の材料での値は実用的に問題ない程度の近似値として利用できる。
このように構成した単位セルの構造解析モデルに対して均質化解析を行うことで、単位セルの等価材料物性値を計算する。
なお、上述のように単位セルのサイズは2×2×2に限らず、例えば3×3×3や5×5×5等のようにより大きいサイズとしてもよいが、そのようにサイズを大きくすると、単位セルの構造解析モデルが複雑なものとなるため、構造解析に要する計算量(例えば計算時間)が膨大になる。
<高次セル>
ボクセル群を上に例示した2×2×2の単位セルに置き換えれば、造形物の構成要素の数が約1/8に減る。しかし、これでもまだ構成要素数が多すぎる場合がある。
これに対し、単位セルのサイズを例えば5×5×5や8×8×8等と大きくすれば、造形物の構成要素の数を減らすことができるが、前述したとおり、単位セルのサイズを大きくすると、単位セルの物性値を計算するのに要する計算量が膨大になる。
そこで、「高次セル」を導入する。高次セルは、隣接する複数の単位セルからなるセルである。例えば、隣接する2×2×2個の単位セルからなるセルを、レベル1(すなわち1次)セルとする。単位セルは、いわばレベル0(すなわち0次)セルである。同様の規則で、隣接する2×2×2個のレベル1セルからなるレベル2セル、隣接する2×2×2個のレベル2セルからなるレベル3セルというように、再帰的により高レベルのセルを導入してもよい。
レベル1セルの物性値は、それを構成する単位セル群から構成した構造解析モデルを用いて求める。このモデルの各単位セルには、それぞれ当該単位セルの等価材料物性値を設定する。そして、その構造解析モデルに均質化解析を行うことで、レベル1セルの等価材料物性値を求める。同様に、レベルkセル(kは1以上の整数)の物性値は、それを構成するレベル(k-1)セル群から構成した構造解析モデルを用いて均質化解析を行い計算する。
なお、造形物データに対して適用するセルのレベルの上限は、その造形物データが表す造形物のサイズに対してセルがミクロ構造とみなせる範囲、すなわちセルが造形物の対応領域に十分多く(すなわちあらかじめ定める閾値以上の個数)繰り返し配置できる範囲内とする。
<解像度変換>
単位セルを利用した造形物データ処理装置100の構成の一例を図4に示す。この例は、造形物データを、造形装置200の解像度のデータ(造形可能データと呼ぶ)に変換する装置である。以下では、造形装置200の解像度で造形物を表現したデータのことを造形可能データと呼ぶ。造形可能データは、造形装置におけるボクセルを単位として造形物を表現する。造形装置200は複数の材料を用いて造形を行うインクジェット方式の3次元造形装置である。造形装置200は、造形に用いる材料ごとに例えば別々のノズルを備え、それらノズルからそれぞれ対応する材料を噴射して造形を行う。なお、造形装置200は、造形物データ処理装置100における解像度変換のターゲットとなる装置であるが、必ずしも図示のように造形物データ処理装置100に接続されていなくてもよい。造形物データ処理装置100は、仮想的な造形装置200をターゲットとして解像度変換を行ってもよい。
造形物データ処理装置100において、基礎データ記憶部102は、単位セルの物性値を求めるための材料となる基礎データを記憶する。記憶される基礎データには、前述した3つの要素(すなわち層内の材料の混じり合い、層間の接着、深さに応じた硬化情報)のデータが含まれる。3つの要素についての基礎データの例を図5~図7に示す。
図5には、ボクセル同士の材料の混じり合いを考慮に入れた隣接2ボクセルの構造解析モデルを規定する情報(以下「層内混合情報」と呼ぶ)が例示される。この例では、文字A、B、C、・・・が材料の識別名を示し、2文字からなる文字列AB、AC等が2つの材料の組合せを示す。例えばABは、互いに隣り合う材料Aのボクセルと材料Bのボクセルの組合せを示している。また領域情報は、それら2つのボクセルにおける材料の混ざり合い度合いごとの領域の幅を示す情報である。図示例では、図2と同様、2つのボクセルをその並び方向に沿って、一方の材料のみの領域、両者が均等に混合した領域、他方の材料のみの領域の3つの領域に区分したモデルを想定している。領域情報には、それら各領域の幅を、ボクセルの幅を1としたときの値で示している。この領域情報から、単位ボクセルの構造解析モデルを生成する際の、同一層内の造形の進行方向に沿った領域の区切りと、その領域の物性が決まる。領域の物性は、その領域を構成する材料によって決まる。なお、図5の例では2つのボクセルを3つの領域に分けたが、もっと多くの領域に分けてもよい。
図6には、層間及び同一層内の行間の接着情報の例が示される。この接着情報には、2つの材料の組合せ(同一材料同士の組合せも含む)ごとに、その組合せに該当するボクセル同士の間の剥離強度、剪断強度等の物性値が示される。
図7には、層内の深さに応じた硬化情報が例示される。この硬化情報には、材料ごとに、ボクセルの硬化用エネルギー源からの表面からの各深さ範囲における硬化度の値のリストが示される。
基礎データ記憶部102には、様々な造形装置200で用いられる様々な材料の組合せについて実験等で求めた情報が記憶される。なお、上述した3つの要素の情報は、ボクセルのサイズによって変わることもあり得るので、そのような場合には、異なるいくつかのサイズ範囲毎にそれら3要素の情報を実験等で求め、基礎データ記憶部102に登録しておいてもよい。
図4の説明に戻る。造形装置情報入力部104は、解像度変換のターゲットである造形装置200の情報の入力を受け付ける。入力される情報には、造形装置200の解像度と、造形装置200が造形に用いる複数の材料を表す情報(例えば材料名のリスト)とが含まれる。
セル情報計算部106は、造形装置情報入力部104から入力された造形装置200が用いる材料の情報と、基礎データ記憶部102に記憶された基礎データから、造形装置200が用いる材料により造形可能な単位セルと、それら単位セルから構成可能な高次セルの物性値等の情報を計算する。すなわち、セル情報計算部106は、それら材料から構成可能な単位セルのそれぞれについて、上述の3要素の情報を用いてその単位セルの構造解析モデルを構成し、そのモデルを用いた解析により、それら個々の単位セル(すなわちレベル1セル)の物性値を求める。なお、基礎データ記憶部102が、ボクセルのサイズ範囲ごとに上述の3要素の情報を保持している場合は、セル情報計算部106は、造形装置200の解像度に対応するサイズ範囲の3要素の情報を用いて単位セルの物性値を計算する。
また、セル情報計算部106は、このように求めた単位セルの情報に基づいて、上述のようにしてそれら単位セルの組合せにより構成可能なすべてのレベル2セルの物性値を求める。また、レベル2セルの情報から、構成可能なすべてのレベル3セルの物性値を計算する。このようにして、使用する可能性のあるレベルまで、高次セルの物性値を求める。求めた単位セル及び高次セルの情報はセル情報DB(データベース)108に保存される。
図8に、セル情報DB108に保持されるセル情報の例を示す。図示の例では、レベルごとに、そのレベルに属する各セルのID(すなわち識別情報)に対応付けて、そのセルの物性値と、そのセルを構成する構成要素のリストとが保持される。セルの物性値には、ヤング率、ポアソン比、強度等、1以上の項目の値が含まれる。構成要素のリストは、そのセルを構成する1レベル下のセルのIDが所定の順序で配列したものである。例えば、図1に例示したように、あるレベルのセル(図1の例では単位セル=レベル1セル)が2×2×2の8つの下位セル(図1の例ではボクセル=レベル0セル)から構成される場合、その8つの下位セルに対してあらかじめ定めた順序を設定しておき、それら各下位セルのIDをその順序で並べたものが、上述の構成要素のリストである。なお、レベル0セル(すなわちボクセル)のIDは、材料を識別するIDである。すなわち、4つの材料を用いる造形装置200の場合、レベル0セルは4種類であり、それら4種類を識別するIDをレベル0セルのIDとして用いる。例えばセルID=αの単位セルの構成要素のリストは、材料がそれぞれA、B、C、Dである造形ボクセルを、単位セルを構成する8個のボクセルに対して設定された所定の順序で配列した列「ABCDABCD」である。
図8では、「レベル1造形セル」等と「造形セル」という名称を用いているが、これは造形装置200の解像度のボクセルから構成されるセル(すなわち単位セル及び各レベルの高次セル)であることを示す。解像度変換の対象である造形物データについても、ボクセル(このボクセルは、造形装置200のボクセルと同サイズとは限らない)を元に単位セルや高次セルを構成するので、これと区別するために造形装置200のボクセルに基づくセルを「造形セル」と呼び分ける。これに対して、造形物データのボクセルに基づくセルを「データセル」と呼ぶこととする。
以上では、ターゲットとなる造形装置200の情報からセル情報計算部106が基礎データ記憶部102内の情報を用いて動的に各レベルの造形セルの情報を求めたが、これは一例に過ぎない。この代わりに造形装置200の機種ごとに、その機種についての造形セルの情報をあらかじめ求め、その情報を機種IDに対応付けてセル情報DB108に登録しておいてもよい。
図4の説明に戻ると、造形物データ入力部110は、解像度変換の対象である造形物データの入力を受け付ける。造形物データは、ネットワーク経由で、或いは可搬型の記録媒体に記録された状態で、造形物データ入力部110に入力される。
セル置換部112は、造形物データのボクセル又はこれらボクセルから構成される単位セル又は高次セル(すなわちデータセル)を、造形セルに置換する。これにより、造形物データは、造形物を造形セルの集まりで表現したものとなる。
解像度変換部114は、造形物データを構成する個々の造形セルを、造形装置200のボクセルの集まりに変換する。これにより、造形物データは、造形装置200の解像度のデータとなる。解像度変換部114の変換結果は、造形装置200に入力される。
以上、造形物データ処理装置100の構成の一例を説明した。次に、この装置が行う処理の例を説明する。
図9は、造形物データ処理装置100が行う全体的な処理の手順を例示する。この手順では、まず造形物データ処理装置100は、処理の対象となる造形物データを取得する(S10)。次に、セル置換部112により、ボクセルの集まりとして表現されている造形物データの各部を単位セル又は高次セルに置換する(S100)。そして、その置換結果のデータに対して、応用処理を実行する(S200)。解像度変換部114が行う解像度変換処理は、応用処理(S200)の一例である。
次に、図10及び図11を参照して、応用処理(S200)の一例である解像度変換のためのセル置換処理(S100)の手順の例を説明する。この手順は、入力された造形物データに対して解像度変換を必要とする処理(例えば造形装置200への出力)が指示された場合に実行される。造形物データには、当該データの解像度の情報が含まれている。解像度の情報から、造形物データにおけるボクセル(以下「データボクセル」と呼ぶ)のサイズがわかる。各レベルのセル(すなわち単位セル、及びレベル2、3、4・・・の高次セル)は、1レベル下位のセルを例えば2×2×2個で構成する、というようにセルの構成規則が決まっているので、データボクセルのサイズが分かれば、各レベルのセルのサイズも計算できる。
この手順では、セル置換部112は、まず造形装置情報入力部104から、造形装置200の造形ボクセルのサイズの情報を取得する(S102)。そして、データボクセルと、造形ボクセルとのサイズを比較する(S104)。データボクセルが造形ボクセル以上の大きさである場合、セル置換部112は、造形ボクセルから構成される各レベルの造形セルのうち、データボクセルと同サイズになる造形セルのレベルk(kは1以上の整数)を求める(S106)。また、ここで説明を簡単にするために、本来はレベル0であるデータボクセルのレベルをkとみなす(S108)。
次にセル置換部112は、造形物データを構成するレベルkデータセル(これは最初の処理ループではデータボクセルそのもの)のそれぞれについて、当該レベルkデータセルの物性値と同じ物性値を持つレベルkの造形セルをセル情報DB106から探す(S110)。セル置換部112は、造形物データをレベルkデータセルのサイズごとに分割し、これにより得られた各レベルkデータセルについて、S110の処理を行う。
ここで、レベルkデータセルの物性値は、造形物データの各データボクセルに材料名が設定されている場合は、セル情報計算部106により、上述した造形セルの単位セル、及び各レベルの高次セルの場合と同様の方法で計算すればよい。この場合、基礎データ記憶部102に層内混合情報(図5参照)等の3要素の基礎データがボクセルのサイズ範囲毎に用意されていれば、データボクセルのサイズに対応する基礎データを用いて各レベルのデータセルの属性値を計算する。また、データボクセルに材料名の代わりに物性値が設定されている場合、各ボクセルの物性値を用いて、上述した造形セルの単位セル、及び各レベルの高次セルの場合と同様の方法で計算すればよい。
S110では、レベルkデータセルと完全に同じ物性値を持つレベルk造形セルがない場合は、許容範囲内で最も近い物性値を持つレベルk造形セルを、同等の物性値を持つものとして探す。例えば強度、ヤング率、ポアソン比等の個々の物性値の項目ごとに許容範囲を定めておき、全ての項目についてレベルkデータセルの物性値から許容範囲内の物性値を持つレベルk造形セルを抽出し、抽出した中から最もレベルkデータセルの物性値に近い物性値を持つものを特定する。なお、レベルkデータセルの物性値から許容範囲内の物性値を持つレベルk造形セルが見つからなかった場合は、そのレベルkデータセルは造形セルに置換できない。
次にセル置換部112は、S110にて、造形物データを構成する全てのレベルkデータセルに対して、同等の物性値を持つレベルk造形セルが見つかったかどうかを判定する(S112)。この判定の結果がNoの場合、造形物データをレベル(k+1)データセルのサイズごとに分割し(すなわち、造形物内の隣り合うレベルkデータセル群からレベル(k+1)データセルを構成し)、セル情報計算部106により各レベル(k+1)データセルの物性値を計算する(S114)。そして、レベル数kを1増加させて(S116)、S110の処理に戻る。
S112の判定の結果がYesの場合、セル置換部112は、各レベルkデータセルを、それぞれ見つかった同等の物性値を持つレベルk造形セルに置き換える(S118)。すなわち、造形物データを構成する各レベルkデータセルに対して、置換先のレベルk造形セルのIDを対応付ける。これで、セル置換部112の処理は終了する。
S104の判定結果がNoの場合、セル置換部112は、図11に示すように、造形ボクセルと同サイズとなるデータセルのレベルkを求める(S120)。次に造形物データをレベルkデータセルのサイズごとに分割し(S122)、セル情報計算部106によりそれら各レベルkデータセルの物性値を計算する(S124)。セル置換部112は、造形ボクセルをレベルk造形セルとみなし、セル情報DB108内の造形セルの各レベルmを、レベル(k+m)に読み替える(S126)。
次にセル置換部112は、造形物データを構成するレベルkデータセルのそれぞれについて、当該レベルkデータセルの物性値と同等の物性値を持つレベルkの造形セルをセル情報DB108から探す(S128)。S128にて、造形物データを構成する全てのレベルkデータセルに対して、同等の物性値を持つレベルk造形セルが見つかったかどうかを判定する(S130)。この判定の結果がNoの場合、造形物データをレベル(k+1)データセルのサイズごとに分割し、セル情報計算部106により各レベル(k+1)データセルの物性値を計算する(S132)。そして、レベル数kを1増加させて(S134)、S128の処理に戻る。
S130の判定の結果がYesの場合、セル置換部112は、各レベルkデータセルを、それぞれ見つかった同等の物性値を持つレベルk造形セルに置き換える(S136)。これで、セル置換部112の処理は終了する。
S136の置換により、元々データボクセルから構成されていた造形物データの各部分が、同等の物性値を持つ造形ボクセル由来の造形セルに置き換えられる。
図10のS106ではデータボクセルと同サイズとなる造形セルのレベルkを求め、図11のS120では造形ボクセルと同サイズとなるデータセルのレベルkを求めた。しかし、例えばデータボクセルのサイズ、すなわち一辺の長さが造形ボクセルのそれの1.5倍である場合には、レベル1造形セルのサイズの長さは造形ボクセルの2倍となり、データボクセルのサイズと無視できない差がある。このように、データボクセルと造形ボクセルのサイズ関係によっては、S106及びS120の処理が実行できない場合がある。このような場合を考慮して、S106及びS120を以下のように改良してもよい。
すなわち、この例では、データボクセルと造形ボクセルの一辺の長さの最小公倍数のサイズを求める。そして、データボクセル及び造形セルのそれぞれについて、この最小公倍数のサイズを持つ単位セルを構成する。例えばデータボクセルと造形ボクセルの一辺の長さの比が3:2である場合、造形ボクセルの一辺の長さを1としたときに長さ6が最小公倍数として求められる。この場合、データボクセルについては2×2×2個のボクセルで単位セルを構成し、造形セルについては3×3×3個のボクセルで単位セルを構成する。なお、高次セルについては、データセルも造形セルも、例えばレベルkセルを2×2×2個でレベル(k+1)セルを構成する等、同じルールで構成する。このように、S106及びS120の代わりに、データボクセル側と造形ボクセル側とで単位セルのサイズを一致させる処理を行えばよい。この場合、データ及び造形のそれぞれの単位セルについて、セル情報計算部106により物性値を計算し、高次セルについても物性値を計算する。なお、基礎データ記憶部102には、単位セルの一辺が2、3、5ボクセル等といったいくつかのサイズについて、基礎データ(特に層内混合情報(図5))を用意しておく。
次に、造形物データ処理装置100が行う応用処理(すなわち図9のS200)の一例として、解像度変換部114による解像度変換処理の例を、図12を参照して説明する。
図12の手順では、解像度変換部114は、セル置換部112から入力された造形物データを受け取る。この造形物データは、造形物をレベルk造形セルの集まりで表現したデータとなっている。解像度変換部114は、その造形物データを構成する各レベルk造形セルを、それぞれ1レベル下のレベル(k-1)造形セルに分解する(S202)。この分解処理では、セル情報DB108内にあるレベルk造形セルの情報を読み出す。そして、レベルk造形セルを、その情報に含まれる「構成要素」のリスト(図8参照)に示される各レベル(k-1)セルを所定の順序で並べたものに置き換える。
次に解像度変換部114は、S202の分解によりレベル0、すなわち造形ボクセルのレベルに到達したかどうかを判定し(S204)、到達していなければ、kを1つ減らして(S206)、S202の処理に戻る。S204の判定結果がYesの場合は、S202での分解(下位セルへの置換)後の造形物データは造形ボクセルの集まりとして表現されたものとなっている。すなわち、この造形物データは、造形装置200の解像度で造形物を表現したものとなっており、これを「造形可能データ」と呼ぶ。解像度変換部114は、この造形可能データを造形装置200に出力する(S208)。造形装置200は、この造形可能データに従って、造形物を造形する。
<物性値バリエーションを増やす>
造形装置200が例えば物性値の異なるm種類(mは2以上の整数)の材料を用いて造形を行うものである場合、単純に考えるとm種の物性値しか実現できない。ここで、mより多いn種の物性値のバリエーションを持つボクセル群からなる造形物データが入力された場合、上述した単純な考えでは造形できない。この例では、このように造形物データの各部の物性値のバリエーションが造形装置200の用いる材料群の物性値のバリエーションよりも多い場合でも、造形物データが表す造形物を高精度に造形できるようにするためのデータ変換手法を提案する。
この例のための造形物データ処理装置100の装置構成は、図4に示したものと同様でよい。この例では、セル置換部112が図13に例示する処理を実行する。
すなわち、セル置換部112は、まず制御変数kを1に初期化する(S140)。次に、セル置換部112は、造形物データをレベルkデータセルごとに分割し(S142)、分割結果の各レベルkデータセルの物性値をセル情報計算部106に計算させる(S144)。この計算は、図10のS114における物性値の計算と同様の方法で行えばよい。
次にセル置換部112は、セル情報DB108から、レベルkの各造形セルの物性値を読み出す(S144)。ここでのレベルk造形セルは、レベルkデータセルと同じサイズの造形セルである。造形ボクセルとデータボクセルのサイズが異なる場合、レベルkデータセルと同じサイズの造形セルのレベルがkとなるよう、セル情報DB108に保持された造形セルのレベルを読み替える。
そしてセル置換部112は、造形物データを構成する全てのレベルkデータセルについて、そのセルの物性値と同等の物性値を持つレベルk造形セルがあるかどうかを判定する(S146)。この判定の結果がNoの場合、レベルkの粒度では造形物データの各部分の物性値を造形装置200の材料の組合せで表現できない。そこで、セル置換部112は、レベルを1上げて(すなわちkを1増加させて)(S147)、再度S142~S146の処理を行う。レベルを上げることで造形セルのサイズが大きくなるので、造形セルを構成する材料の組合せが増える。これにより、造形セルの物性値のバリエーションが増えるため、造形物データの各部の物性値と同等の物性値を持つ造形セルが見つかる確率が上がる。
このようにしてS142~S147の処理ループを繰り返し、S146の判定がYesになった場合、セル置換部112は、造形物データのレベルkデータセルのそれぞれを、同等の物性値を持つレベルk造形セルに置換する(S148)。これにより、造形物をレベルk造形セルの集まりで表現した造形物データが得られる。この造形物データは、解像度変換部114に入力される。
解像度変換部114は、この造形物データを図12の処理により造形ボクセル単位の造形可能データへと変換する。これにより、元の造形物データの各部分の物性値を、造形装置200が用いる材料からなる造形ボクセルの組合せでおおよそ表現した造形可能データが完成する。完成した造形可能データは、造形装置200に供給される。
<造形物の構造解析>
次に、造形物データの構造解析の負荷軽減のために、造形物データを構成するボクセル群を単位セル又は高次セルに置換する例を説明する。
図14に、この例に係る造形物データ処理装置100の機能構成を例示する。この造形物データ処理装置100は、図4の例における解像度変換部114の代わりに、モデル構成部116を有する。モデル構成部116は、セル置換部112aが生成したレベルkセル単位の造形物データから、構造解析用のモデル(例えば有限要素法による解析のためのモデル)を構成する。
セル置換部112aは、造形物データ入力部110から入力された造形物データのボクセル群を単位セル又は高次セルに置換することで、造形物データの要素(すなわちデータセル)の数をボクセル単位の場合よりも大幅に少なくする。ボクセル単位だと造形物データの構成要素数が非常の多く、構成要素単位での材料の割り当てとそれら要素の配置の組合せが膨大なものとなってしまい、構造解析モデルが大規模化してしまう。そこで、この例では、造形物データをボクセル単位からよりサイズの大きい単位セルまたは高次セル単位に変換してから構造解析モデルを構成することで、構造解析モデルの規模を抑制する。
セル置換部112aが実行する処理手順の例を図15に示す。
この処理では、セル置換部112aは、対象となる造形物データを、均一な物性値の領域ごとに分割する(S150)。例えば造形物データの各データボクセルに物性値が設定されている場合は、その造形物データを、同じ物性値を持つ複数の領域に分割する。この場合、個々の領域は、例えば、完全に同じ物性値を持つボクセルの集まりである。また、このように物性値の完全同一を要件とせずに、物性値が所定のばらつき(例えば分散値)以下で同一とみなせるボクセルの集まりを1つの領域としてもよい。また造形物データの各ボクセルに材料が設定されている場合は、例えば同一材料のボクセルが連結した部分を1つの領域としてもよい。また同一材料に限定せず、複数の材料からなる同じ組合せが周期的に繰り返されている範囲を1つの領域としてもよい。この場合、領域の物性値は、その繰り返される材料の組合せを1つの単位として、単位セルの物性値を求めるのと同じ方法で求めればよい。これらの領域は、レベルkセルが後述するミクロ構造の要件を満たすかどうかの判断に用いる。
次にセル置換部112aは、制御変数kを1に初期化し(S152)、造形物データの各領域につき、その領域を埋めるレベルkデータセル(最初のループでは単位セルと等しい)の数を求め、その数が閾値以上かどうかを判定する(S154)。この判定は、レベルkデータセルが個々の領域にとってミクロ構造とみなせる(すなわち当該セルが領域に対して十分小さく、そのセル自体の内部構造を考慮しなくても問題ないとみなせる)サイズかどうかを判定するものである。レベルkデータセルが領域内に十分多くの数だけ繰り返し配置できれば、そのセルはその領域にとってミクロ構造とみなせる。造形物データを構成する全ての領域にとってレベルkデータセルがミクロ構造とみなせれば、その造形物データをボクセル単位の表現からレベルkデータセルを単位とする表現に変換しても、構造解析上大きな問題は起こらない。S154の判定の対象である領域を埋めるレベルkデータセルの数は、三次元であるその領域に配置されるレベルkデータセルの総数であってもよい。また、その数は、その領域の縦、横、奥行きの3方向のそれぞれについてのレベルkデータセルを配置できる個数から求めた代表値であってもよい。その代表値としては、例えば方向ごとのセルの配置可能個数の代表値(例えば平均値、最大値、最小値等)を、3つの方向について平均したものを用いてもよいし、それら各方向の代表値のうちの最大値等といった平均値以外の代表値を用いてもよい。
S154の判定の結果がYesの場合、セル置換部112aはkを1増加させ(S156)、再度S154の判定を行う。すなわち、この場合、更に1レベル大きなデータセルが造形物にとってミクロ構造とみなせるかどうかを判定する。
S154とS156のループを繰り返すことで、造形物にとってミクロ構造とみなせるデータセルの最高レベルが特定される。すなわち、S154の判定結果がNoとなった場合、その時点のレベルkデータセルは造形物データにとってミクロ構造とみなせないので、その1つ前のレベル(k-1)がミクロ構造とみなせる最高レベルである。セル置換部112aは、造形物データを、レベル(k-1)データセル単位のデータに変換する(S158)。すなわち、造形物データの各領域を、その領域の物性値と同等の物性値を持つレベル(k-1)データセルに置き換える。レベル(k-1)のデータセルは十分多くのデータボクセルから構成され、表現できる物性値のバリエーションが多いので、各領域の物性値を表現できるレベル(k-1)データセルは通常見つかる。ただし、念のため、レベル(k-1)データセルが表現可能な物性値のバリエーションをセル情報計算部106により計算し、それらバリエーションの中に各領域の物性値と同等のものがあるかどうかを確認してもよい。そして、もしそのバリエーションで表現できない物性値を持つ領域があれば、S158の置換処理を中止し、ユーザにその旨を通知してもよい。
セル置換部112aは、S158の置換結果の造形物データをモデル構成部116に出力する。
モデル構成部116は、セル置換部112aから受け取った造形物データに対して、応用処理(すなわち図9のS200)の1つとして、構造解析モデルへの変換を行う。すなわちモデル構成部116は、受け取った造形物データのデータセル単位の構造と各データセルの物性値から、公知の手法により、その造形物データについて有限要素法等の構造解析のためのモデルを構成する。隣接ボクセル間の材料の混じり合い、層間等のボクセル同士の接着、深さ方向の硬化度合いの分布等の要素は単位セルの物性値の計算に織り込んであるので、ここで構成される構造解析モデルにはそれら細部の要素を反映させなくてよい。
そして、構成した構造解析モデルを解析装置300に出力する。解析装置300は、その構造解析モデルを用いて構造解析の計算を行う。データセル群から構成したその構造解析モデルは、ボクセル単位の造形物データから構成した構造解析モデルよりも構造要素数が少なく、また隣接ボクセル間の材料の混じり合い等の細部の要素についての解析を行わなくてよい。
図15の手順では、造形物データのボクセルを単位として構成したレベルkセルを用いていたが、これは一例に過ぎない。造形物データを造形する造形装置を想定する場合、造形装置のボクセルサイズと、造形装置が造形に用いる材料のリストと、に基づいて構成したレベルkセルを用いてもよい。この場合、各レベルkセルのサイズは造形ボクセルのサイズを基準に定められる。また、S158で置換に用いるレベル(k-1)セルが決まった場合に、レベル(k-1)セルが取り得る物性値のバリエーションは、その材料のリストに基づいて求められる。すなわち、材料の情報から上述の手法で各単位セルの物性値が計算され、以降下位のレベルから順に、そのレベルに属する各造形セルの物性値が、1つ下のレベルの構成要素のセルの物性値から計算される。
また、図15の手順では、造形物の分割結果であるすべての領域を、同一レベルのセルの集まりに置換したが、これは一例に過ぎない。別の例として、領域ごとにそれぞれ個別にその領域の置換するセルのレベル、すなわちサイズ、を決定してもよい。この場合、セル置換部112aは、領域ごとに、その領域のサイズからみてミクロ構造とみなせるサイズのセルのレベルを特定し、その領域をそのレベルの造形セルの繰り返しで置換すればよい。またこのときセル置換部112aは、領域のサイズから見てミクロ構造とみなせるサイズのセルのうち、その領域の物性値と同等の物性値を持つ最大のセルを選択し、その領域をそのセルの繰り返しに置換してもよい。
また更に別の例として、構造解析のためのデータセルのサイズを、造形物を構成する形状要素のサイズを基準に決めてもよい。すなわち、造形物の形状には突起などの小さい形状要素が含まれている場合があり、そのような個々の形状要素のサイズの最小値を、データセルのサイズの上限としてもよい。これにより、造形物の最小の形状要素まで、データセルを単位としてその形状が表現される。1つの例では、セル置換部112aは、造形物データの各領域を、その最小値のサイズに対応するサイズのレベルkデータセルの集まりに置換してもよい。また、図15の手順において、レベルkを増加させる上限を、その最小値に対応するレベルとしてもよい。
また更にセル置換部112aの処理の別の例として、図16に、造形物データのうち、物性値が均一とみなせる領域ごとに個別にその物性値を表現できる最小サイズのセルに置換する処理を示す。
この処理では、セル置換部112aは、図15の手順のS150と同様、対象となる造形物データを、均一な物性値の領域ごとに分割する(S160)。またセル置換部161は、分割の結果得られた各領域に対して、1から順に通し番号nを割り当てると共に、それら領域の総数をNとする(S161)。
次にセル置換部112aは、領域を指し示す制御変数nを1に初期化する(S162)。以降のS163~S168の処理は、番号1が割り当てられた領域について実行される。以下、番号nが割り当てられた領域のことを領域nと表記する。
この処理においてセル置換部112aは、制御変数kを1に初期化し(S163)、造形物データの領域nにつき、レベルkセルの中から、その領域nの物性値と同じとみなせる物性値を持つを探す(S164)。ここで探索の対象となるレベルkセルは、レベルk造形セルであってもよいし、レベルkデータセルであってもよい。ここでレベルkセルとしてレベルk造形セルを用いる場合、S164では、図8に例示したのと同様のデータベース(すなわち図4のセル情報DB108)を参照すればよい。またレベルkセルとしてレベルkデータセルを用いる場合には、例えば、レベルkデータセルについてセル情報DB108と同様のデータベースを用意しておき、そのデータベースを参照すればよい。また、S164の探索では、領域nの物性値とレベルkセルの物性値との差が予め定めた閾値以下である場合に、それら両者の物性値が同じとみなせると判定する。
S164の判定の結果がYesの場合、セル置換部112aはkを1増加させ(S165)、1レベル大きいサイズのレベルkセルを対象として、再度S164の判定を行う。
S164とS165のループを繰り返した結果、S164の判定結果がYesとなった場合、そのとき見つかったレベルkセルは、領域nと同じとみなせる物性値を持つ最小サイズのセルである。セル置換部112aは、領域n内のボクセル群を、S164で見つかったレベルkセルに置換する(S166)。
次にセル置換部112aは、制御変数nが領域の総数Nに達しているかどうかを判定する(S167)。この判定の結果がNoの場合、セル置換部112aは、nを1増加させ(S168)、S163以降の処理を繰り返す。
S167の判定結果がYesとなった場合、造形物データを構成する全ての領域nについて、ボクセル群をセルに置換する処理が完了している。セル置換部112aは、その置換結果の造形物データをモデル構成部116に出力する。モデル構成部116は、セル置換部112aから受け取った造形物データに対して、応用処理(すなわち図9のS200)の1つとして、構造解析モデルへの変換を行う。すなわちモデル構成部116は、受け取った造形物データのデータセル単位の構造と各データセルの物性値から、公知の手法により、その造形物データについて有限要素法等の構造解析のためのモデルを構成する。
<設計支援>
次に、単位セル及び高次セルの情報を用いた設計支援を行う装置の例を説明する。この例の装置は、ユーザが造形物の各領域の物性値を指定すれば、その物性値を実現するために個々のボクセルの材料を自動的に割り当てる。
図17に、この例の造形物データ処理装置100の機能構成を例示する。図17の構成において、基礎データ記憶部102~セル情報DB108までは、図4に示した装置の同符号の要素と同様のものである。セル情報計算部106は、基礎データ記憶部102に記憶されたデータを用いて、造形装置200が造形可能な造形セルの物性値を計算し、計算結果をセル情報DB108に登録する。
造形物形状入力部120は、造形物の形状情報の入力を受け付ける。この形状情報は、造形物の形状を示す情報であり、例えばCAD(コンピュータ支援設計)システムが生成する。形状情報は、造形物各部の材料や物性値の情報は含まない。
物性値指定受付部122は、入力された造形物形状情報が示す造形物の各領域に対してユーザから物性値の指定を受け付ける。また物性値指定受付部122は、領域に対して指定された物性値と同等の物性値を持つ造形セルをセル情報DB108から求め、その領域をその造形セルの繰り返しで埋めることで、造形物のその領域に対して造形セルのIDを対応付ける。造形可能データ生成部124は、造形物の各領域の造形セルを、図12に示した解像度変換の処理と同様の処理により造形ボクセルの単位へと分解する。この処理により、造形物形状情報から、材料が設定された造形ボクセルの集まりとして造形物を表す造形可能データが生成される。造形装置200は、その造形可能データに従って造形を行う。
以上の構成において、物性値指定受付部122は、ユーザから造形物の各領域の物性値の指定を受け付けるUI(ユーザインタフェース)画面に、セル情報DB108に登録された各レベルkの造形セルの物性値のリストを表示してもよい。ユーザは、このリストの中から各領域に割り当てる物性値を選択する。
図18に、このような物性値指定のためのUI画面400の例を模式的に示す。このUI画面400には、造形物の形状を表示する形状表示欄410と、その造形物の各領域に対する物性値の指定内容を示す指定内容欄420が表示される。形状表示欄410に表示される形状は3Dモデルであり、公知の技術で視線方向や表示サイズを変更できる。図示例では、造形物412は複数の3次元のオブジェクト414から構成されており、個々のオブジェクトを1つの領域とし、物性値を指定する。ただし、これはあくまで一例であり、形状表示欄410上でユーザが造形物412の領域分けの指定ができるようにしてもよい。指定内容欄420には、造形物の各領域のIDに対応付けて、その領域に指定された造形セルのIDとその造形セルの物性値とが表示される。
(b)に示すように、ユーザが形状表示欄410内の造形物412内のオブジェクト414(図示例ではID「003」のオブジェクト)を選択し、物性値指定のためのメニューを呼び出す操作(例えば右クリックによるコンテキストメニュー呼び出し)を行うと、メニュー430が画面に表示される。このメニュー430には、造形装置が造形可能な各レベルkの造形セルのIDと物性値とが表示される。ユーザは、このメニューの中から、そのオブジェクトすなわち領域に割り当てる物性値を選択する。物性値の選択は、造形セルのリストから所望の物性値を持つ造形セルを選択することにより行われる。選択結果は、指定内容欄420に反映される。
ここで、物性値指定受付部122は、メニュー430に列挙する造形セルの選択肢を、ユーザが選択したオブジェクト414のサイズからみてミクロ構造とみなせるレベルk以下の造形セルのみに限定してもよい。また、この場合に、メニュー430に列挙する選択肢を、そのオブジェクト414が含む突起等の最小形状のサイズ以下のレベルに対応する造形セルのみに限定してもよい。
またメニュー430には、選択肢を物性値の昇順又は降順にソートして表示してもよい。この場合、ユーザは、各領域について、その領域に持たせたい物性値に最も近い選択肢を、それら物性値でソートされた選択肢の中から選ぶ。また、物性値指定受付部122は、選択肢(すなわち造形セルと物性値のペア)をレベルkごとに区分して示したメニュー430を表示してもよい。
以上では、造形物データ処理装置が備える解像度変換、物性値バリエーションを増やす機能、構造解析、設計支援等の機能やそれを実現するための装置構成や処理手順を説明した。ここで、造形物データ処理装置は、以上に説明した機能の全てを有している必要はない。造形物データ処理装置は、上述した解像度変換、物性値バリエーションを増やす機能、構造解析、設計支援の機能のいずれか1つのみをもつものであってもよいし、それら機能のうちの2以上を持つものであってもよい。
以上に例示した造形物データ処理装置は、例えば、コンピュータに上述の各機能を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、フラッシュメモリやSSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)や等の固定記憶装置を制御するコントローラ、各種I/O(入出力)インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバス等を介して接続された回路構成を有する。それら各機能の処理内容が記述されたプログラムがネットワーク等の経由でフラッシュメモリ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。