以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜その説明を省略するものとする。また、以下の説明では、FFF(Fused Filament Fabrication)方式の造形装置を例に説明しているが、本発明の実施形態を限定するものではなく、材料を吐出する手段と、被検物に光を照射する照射手段とを具備する構成であれば、特に方式は問わない。
また、以下では、説明の便宜上、造形物の高さ方向をz軸方向とし、z軸に直交する平面をxy平面として説明する。
図1は、本発明の実施形態における立体造形システム全体の概略構成を示す図である。図1(a)に示すように、立体造形システムには、立体造形物を造形する造形装置100が含まれる。造形装置100は、例えば情報処理端末150から、造形物の立体形状を示すデータ(モデルデータ)が提供され、当該モデルデータに基づいて、立体造形物を造形する。なお、情報処理端末150は、造形装置100が実行する造形処理を制御する制御装置として動作してもよい。
FFF方式による立体造形物の造形は、図1(b)に示すようにして行われる。FFF方式の造形装置100は、溶融した造形材料140を吐出するヘッド110と、造形物が造形されるステージ120とを具備して構成される。ヘッド110は、x軸に沿うレールと、y軸に沿うレールとによって、造形装置100本体に連結しており、各レールによってxy平面と平行に移動可能に構成される。また、ステージ120は、z軸方向に移動可能に構成され、ヘッド110と、造形される立体造形物との距離を調整し得る。
なお、ヘッド110は、必ずしもx軸やy軸に沿った方向に移動しなくてもよく、各レール上での動きを組み合わせることで、xy平面内の任意の方向に移動可能とできる。
ヘッド110は、溶融した造形材料140をステージ120上に吐出しながら、移動することで、線状に形成された造形物140’(以下、「線状造形物」として参照する)を造形する。ヘッド110が造形材料140を吐出しながらxy平面と平行に移動することで、線状造形物は、ステージ120上に造形される。また、ヘッド110は、同一平面内で角度が異なる複数の線状造形物を連続して造形することができる。したがって、線状造形物は、必ずしも線でなくてもよく、任意の形状で造形され得る。
このようにして、1つの平面内に複数の線状造形物が集合した、層状の造形物140’’(以下、「造形層」として参照する)が造形される。図1(b)では、一例として1層目の造形層を造形した後、2層目の造形層を造形する様子を示している。
図1(b)におけるステージ120は、1層の造形層を造形した後、z軸に沿う方向に1層分の高さ(積層ピッチ)だけ下がる。その後、1層目と同様にヘッド110が駆動して、2層目の造形層を造形する。造形装置100は、これらの動作を繰り返すことで、造形層を積層し、立体造形物を造形する。そして、溶融した造形材料140が硬化することで、形状の安定した立体造形物を得ることができる。
また、本実施形態の造形装置100は、造形中の造形層もしくは造形後の立体造形物の形状(測定対象物)を測定するセンサ130を具備する。センサ130は、精度向上のために光切断法が好ましい。光切断法は、測定対象物に直線状の光(以下、「スリット光」として参照する)を照射して、そのスリット光が反射した光を撮像する方法である。これによって、測定対象物の形状を測定できる。スリット光は必ずしも直線でなくてもよく、一部が曲線、歪んだ線など任意の形状であってよい。
より具体的には、図1(c)に示すように、センサ130は、測定対象物にスリット光を照射する照射部130aと、スリット光が反射した光を撮像する撮像部130bとを含んで構成される。照射部130aが出力する光はスリット光なので、測定対象物の表面には輝線が投影されることになる。撮像部130bは、輝線を撮像してもよい。また、センサ130は、スリット光を測定対象物に照射しながら走査することで、輝線の形状の変化に基づいて、測定対象物の形状を測定することができる。好ましい実施形態では、図1(b)、(c)に示すように、センサ130は、ヘッド110と連動する構成とすることができる。
ここで、光切断法による立体造形物の形状の測定について、図2〜4を以て説明する。図2は、光切断法による測定を説明する図である。図2は図1(c)を異なる角度から表現した図であり、図1(c)と同様にセンサ130は、照射部130aと、撮像部130bとを含む。照射部130aは、一定の長さを有する直線状のスリット光を測定対象物に照射する。図2では一例としてスリット光は、y軸に平行な方向に長さを有する。また、センサ130がx軸に沿う方向に移動することで、スリット光の照射位置と測定対象物との相対的な位置関係が変化する。これによってスリット光は測定対象物を走査することができる。
また、図2に示すように撮像部130bは、スリット光の光軸に対して傾斜した位置に配置され、測定対象物の表面の輝線(図2において破線で示される)を撮像する。撮像部130bが撮像する輝線の形状は、スリット光が照射された部分の形状に合わせて変化する。スリット光が測定対象物を走査することで撮像される輝線の形状変化に基づいて、測定対象物の形状を特定することができる。
なお、図2では、測定対象物のy軸方向の寸法が、スリット光の長さよりも小さい場合の例を示しているが、スリット光の長さよりも大きい場合には、センサ130を移動させることで測定することができる。すなわち、センサ130がy軸方向にスリット光の長さに相当する距離を移動し、上記と同様にx軸方向に走査する。このようにして、y軸方向への移動とx軸方向への走査とを繰り返すことで、センサ130は、任意の大きさの測定対象物を測定することができる。
次に、光切断法による形状測定における死角領域について説明する。図3は、光切断法による死角領域を説明する図である。図2において説明した通り、光切断法は、撮像部130bが輝線の形状を撮像することで、測定対象物の形状を測定する。しかしながら、撮像部130bは、スリット光の光軸に対して傾斜して配置されていることから、測定対象物の配置や形状によっては、死角が生じうる。
例えば、図3(a)のように、測定対象物の近傍の位置のステージ120上に輝線が生じるようにスリット光が照射されている場合について考える。図3(b)は、図3(a)中の一点鎖線で切断した場合の断面を例示している。このような場合、輝線と撮像範囲との間に測定対象物が含まれることになり、撮像部130bの撮像範囲内に死角領域が生じる。すなわち、撮像部130bは、死角領域にある輝線の形状を撮像することができず、正確な測定を行うことができなくなる。
また、測定対象物にスリット光が照射されている場合であっても、死角領域が生じる場合がある。例えば、FFF方式で造形された立体造形物が測定対象物である場合には、線状造形物と輝線とが平行になると死角領域が生じうる。図3(c)は、FFF方式で造形された立体造形物の例を示しており、濃い色で示される部分が、立体造形物を構成する造形材料140である。
図3(c)では、造形材料140の間にスリット光が照射され、輝線が形成される例を示している。図3(d)は、図3(c)中の一点鎖線で切断した場合の断面を例示している。線状造形物の断面形状は、略円形であることから、図3(d)に示すように、造形層において隣接する線状造形物間には溝が生じる。この溝部に輝線が形成されると、線状造形物が撮像範囲を遮り、撮像部130bの撮像範囲内に死角領域が生じる。
図3(c)、(d)に示したように、FFF方式で造形された立体造形物に死角領域が生じると、立体造形物の形状を正確に測定することができなくなる。したがって、造形過程における誤差を修正することができず、所望の立体造形物を造形することが困難になる。そこで、死角領域が低減できる造形動作によって、立体造形物を造形することが好ましい。
図4は、FFF方式で造形された立体造形物を光切断法によって測定する例を示す図である。図4(a)は、主にスリット光に平行な方向に線状造形物を形成することで造形された立体造形物を示し、図4(c)は、主に輝線に垂直な方向に線状造形物を形成することで造形された立体造形物を示している。また、図4(b)、(d)は、それぞれ図4(a)、(c)の形状を測定した結果を例示している。図4(b)、(d)中における濃い色で示される領域は、撮像部130bの撮像範囲の死角領域に輝線が形成されたことによる、測定不能領域を示している。
図4(b)に示すように、主にスリット光に平行な方向に線状造形物を形成することで造形された立体造形物は、輝線が線状造形物間の溝部に入り込みやすいため、死角が生じやすく、多数の測定不能領域が発生する。一方で、主に輝線に垂直な方向に線状造形物を形成することで造形された立体造形物は、図4(d)に示すように、死角領域が生じにくく、図4(b)の例に比べて測定不能領域が少ない。すなわち、図4(a)に示すように立体造形物を造形するよりも、図4(c)に示すように立体造形物を造形したほうが、正確に形状を測定することができる。
ここまで、光切断法による立体造形物の形状の測定について、図2〜4を以て説明した。次に、造形装置100のハードウェア構成について説明する。図5は、本実施形態の造形装置100に含まれるハードウェア構成を示す図である。造形装置100は、CPU510と、RAM520と、ROM530と、NVRAM540と、造形ユニット550と、形状センサ560と、操作I/F570と、GPU580とを含んで構成される。各ハードウェアは、バスを介して接続されている。
CPU510は、造形装置100の動作を制御するプログラムを実行し、所定の演算処理を行う装置である。RAM520は、CPU510が実行するプログラムの実行空間を提供するための揮発性の記憶装置であり、プログラムやデータの格納用、展開用として使用される。
ROM530は、CPU510が実行するプログラムやファームウェアなどを記憶するための不揮発性の記憶装置である。NVRAM540は、造形装置100を機能させるOSや各種アプリケーション、設定情報、各種データなどを記憶する、読み書き可能な不揮発性の記憶装置である。
造形ユニット550は、造形材料140を所望の形状に形成し、立体造形物を構成する造形層を造形する装置である。造形ユニット550は、ヘッド110や、ステージ120などを含み、造形方式に応じて構成される。例えば、FFF方式における造形ユニット550は、造形材料140を溶融させる加熱機構や、造形材料140を吐出するノズルなどを含んで構成される。
形状センサ560は、測定対象物を測定する装置であり、本実施形態では、照射部130aと撮像部130bとを具備するセンサ130として参照される。
操作I/F570は、造形装置100と他の機器とを接続するインターフェースである。操作I/F570は、例えば、情報処理端末150や、ネットワーク、外部記憶装置などと接続することができ、造形動作の制御データ、モデルデータ、立体造形物の測定データなど入出力操作を行うことができる。
GPU580は、専ら画像処理に関する演算処理を実行する装置である。なお、本実施形態においてGPU580は必須の構成ではなく、例えば、CPU510が、GPU580に相当する処理を実行する構成であってもよい。
以上、本実施形態の造形装置100に含まれるハードウェア構成について説明した。次に、本実施形態における各ハードウェアによって実行される機能手段について、図6を以て説明する。図6は、本実施形態の造形装置100に含まれるソフトウェアブロック図である。造形装置100は、データ入力部610、造形データ生成部620、造形ユニット制御部630、形状測定部640を含む。
データ入力部610は、造形処理の対象となる立体造形物のモデルデータの入力を受け付ける手段である。モデルデータは、一例として、情報処理端末150から操作I/F570を介して入力される。入力されたモデルデータの形式は、例えば、所望の造形物の立体形状を構成するポリゴンの頂点座標と、法線ベクトルとの集合で表現されるSTLデータとすることができる。また、データ入力部610は、積層ピッチや吐出幅などの種々の造形条件のデータの入力を受け付けることもできる。
造形データ生成部620は、モデルデータに基づいて、立体造形物を造形するための動作を示す造形データを生成する手段である。造形データ生成部620は、平面形状抽出部621、輪郭造形経路生成部622、内部造形経路生成部623を含む。造形データは、造形動作において造形ユニット550が移動する経路を示すツールパスや、吐出する造形材料140の量などを含む。
平面形状抽出部621は、モデルデータを積層ピッチ単位に分割し、各造形層の平面形状を抽出する手段である。輪郭造形経路生成部622は、平面形状に基づいて、当該平面形状の輪郭を造形する動作の経路を生成する手段である。内部造形経路生成部623は、平面形状から輪郭を構成する線状造形物を除いた内部の構造を造形する動作の経路を生成する手段である。なお、平面形状抽出部621、輪郭造形経路生成部622、内部造形経路生成部623における各種処理の詳細は、後述する。
造形ユニット制御部630は、造形データ生成部620が生成する造形データに基づいて、造形ユニット550を制御する手段である。例えば、造形ユニット制御部630は、造形データに含まれるツールパスに基づいて、造形ユニット550の動作を制御する。また、造形ユニット制御部630は、積層ピッチや造形材料140などに応じて、ステージ120の位置やヘッド110からの吐出量などを制御することができる。造形ユニット制御部630は、1つ前の造形層(n層)の形状に基づいて、造形データを更新して、次の造形層(n+1層)の造形を実行してもよい。また、造形ユニット制御部630は、複数の造形層の形状データ(w層分)を蓄積しておき、複数の形状データ分を考慮して、n+w層の造形データを更新してもよい。
形状測定部640は、形状センサ560を制御し、立体造形物の形状を測定する手段である。形状測定部640が測定した立体造形物の形状は、ユーザに対して表示して提供することができるほか、例えば、造形動作の補正のパラメータとして用いることができる。形状測定部640が測定した形状は、造形ユニット制御部630に送られて、造形ユニット550を制御するために用いられてもよい。
なお、上述したソフトウェアブロックは、CPU510などが本実施形態のプログラムを実行することで、各ハードウェアを機能させることにより、実現される機能手段に相当する。また、各実施形態に示した機能手段は、全部がソフトウェア的に実現されても良いし、その一部または全部を同等の機能を提供するハードウェアとして実装することもできる。
以下に、造形データ生成部620に含まれる各機能手段が行う処理について、図7〜9を以て説明する。図7は、本実施形態の平面形状抽出部621における処理の例を説明する図である。
図7(a)は、データ入力部610に入力されるモデルデータの形状の一例である。以下の説明においては、図7(a)に示す形状の立体造形物を造形する場合を例に説明する。データ入力部610に入力されたモデルデータは、平面形状抽出部621に出力される。平面形状抽出部621は、図7(b)に示すように、モデルデータをz軸方向に対して所定の積層ピッチで以て複数の造形層として分割する。分割された各造形層は、いわゆる「スライスデータ」として参照される。
その後、平面形状抽出部621は、スライスデータを画像処理することにより、各造形層のxy平面の形状を抽出する(図7(c))。なお、平面形状は、分割された造形層ごとに抽出される。抽出された平面形状は、輪郭造形経路生成部622に出力されるとともに、所定の記憶領域に一時的に格納されてもよい。
図8は、本実施形態の輪郭造形経路生成部622における処理の例を説明する図である。輪郭造形経路生成部622は、平面形状抽出部621が抽出した平面形状に基づいて、各造形層の輪郭を構成する線状造形物を造形する動作の経路を生成する。輪郭造形経路生成部622は、まず、画像処理によって平面形状の輪郭座標を抽出する。輪郭座標は、一例として、図8(a)に示すように、平面形状の屈曲部分とすることができる。
その後、輪郭造形経路生成部622は、各輪郭座標を端点とした、輪郭に沿う線分の集合を輪郭造形経路として生成する。輪郭造形経路は、図8(b)において、黒色の破線で示される。また、輪郭造形経路生成部622は、輪郭造形経路に対して、造形材料140を吐出するノズルの径に対応した幅(以下「吐出幅」として参照する)を付与し、輪郭を構成する線状造形物の形状を生成する。線状造形物は、図8(b)において、灰色の領域として示される。
また、輪郭造形経路生成部622は、平面形状と、輪郭を構成する線状造形物とを画像処理し、両者の差分に基づいて、造形層の内部形状を抽出することができる。内部形状は、図8(c)において、斜線のハッチングで示される領域である。輪郭造形経路生成部622が抽出した内部形状は、内部造形経路生成部623に出力される。
図9は、本実施形態の内部造形経路生成部623における処理の例を説明する図である。内部造形経路生成部623は、造形材料140によって内部形状が充填されるように、各造形層の内部形状を構成する線状造形物を造形する動作の経路(以下、「内部造形経路」として参照する)を生成する。
内部造形経路生成部623は、まず、図9(a)に示すように、造形可能領域であるステージ120上に造形層の内部形状に対して、造形動作時にヘッド110がxy平面内を主として移動する方向(以下、「主移動方向」として参照する)に平行な線分を配置する。主移動方向は、内部造形経路において基準となる方向として定義することができ、スリット光に対して所定の角度(以下、「主移動方向角度」として参照する)を成す。なお、図9(a)において配置される各線分は、吐出幅に相当する間隔で配置される。
次に、内部造形経路生成部623は、図9(b)に示すように、画像処理によって、図9(a)で配置した主移動方向線分と、内部形状の外形との交点を抽出する。なお、図9(b)における交点は、丸印で示される。そして、内部造形経路生成部623は、抽出した交点で主移動方向線分を切断し、内部形状の領域内に含まれる線分を抽出する。
その後、内部造形経路生成部623は、図9(c)に示すように、抽出された線分の端点を結び、各線分と併せて、内部造形経路として生成する。結びつける端点は、ヘッド110の移動経路として合理的な組み合わせとなるものを選択することができ、一例として、最短距離にある端点同士を選択して組み合わせることができる。
造形データ生成部620は、上記のようにして生成された輪郭造形経路と内部造形経路とを含む造形データを、造形層ごとに生成する。生成した造形データは、造形ユニット制御部630に出力される。
光切断法による立体造形物の形状の測定では、造形の過程で測定を行うことから、造形装置100は、死角領域を低減して立体造形物を造形することが好ましい。すなわち、造形装置100は、死角領域を低減するために、照射部130aが照射する光の向きに応じて、立体造形物を造形する動作を制御することが好ましい。また、光の向きに応じて造形動作を制御する構成に替えて、輝線の向きに応じて造形動作を制御する構成としてもよい。例えば、造形装置100は、立体造形物の輪郭や内部造形経路と輝線とが交差しやすい配置角度、主移動方向角度を設定してもよい。そこで、本実施形態の造形装置100は、造形データを生成する際に、ステージ120に対する立体造形物の配置角度や、主移動方向角度などを適切に選択する。
以下では、本実施形態の造形装置100が実行する処理について、図10を以て説明する。図10は、本実施形態の造形装置100が立体造形物を造形する処理を示すフローチャートである。なお、以下では、図11〜14を適宜参照して、図10を説明するものとする。
造形装置100は、ステップS1000から立体造形物を造形する処理を開始する。ステップS1010では、データ入力部610が、モデルデータの入力を受け付ける。平面形状抽出部621は、ステップS1020において、入力されたモデルデータに基づいて、各造形層の平面形状を抽出する。
輪郭造形経路生成部622は、ステップS1030〜S1050において、形状測定時における死角領域を低減できる角度で立体造形物を配置し、輪郭造形経路を生成する。一般的に、形状測定時に生じる輝線は、ステージ120に対して一定の角度で固定される。したがって、ステージ120上に配置された立体造形物の配置角度によって、当該立体造形物に起因する撮像部130bの死角領域が増減する。そこで、本実施形態では、種々の配置角度で配置された立体造形物の造形層を評価し、適切な配置角度を決定する。ステップS1030で、輪郭造形経路生成部622は、立体造形物の配置角度を選択し、更新する。ここで、立体造形物の配置角度について、図11を以て説明する。図11は、本実施形態における立体造形物の配置角度を説明する図である。
図11に示すように、立体造形物は、xy平面に垂直な回転軸に対して回転し、配置角度を選択する。回転軸は、xy平面の任意の座標とすることができるが、一例として、図11のように、立体造形物に外接するバウンディングボックス(同図において破線で示される直方体)の中心とすることができる。配置角度の回転は、モデルデータに含まれる座標に対してアフィン変換を行うことで、回転した立体造形物の座標を求めることができる。
以下では、配置角度の評価における実施形態の例として、立体造形物を回転軸に対して0°から135°まで45°ずつ回転させて配置する場合について説明する。
説明を図10に戻す。上記の例においてステップS1030では、配置角度を0°に設定し、更新する。次に、輪郭造形経路生成部622は、ステップS1040において、評価対象となる造形層を更新する。造形層の更新は、最下層の造形層から行い、ステップS1040〜S1043の処理を行うごとに、1層ずつ上の造形層に更新される。
その後、ステップS1041で、輪郭造形経路生成部622は、選択されている配置角度における輪郭造形経路を生成する。図12は、本実施形態において種々の配置角度における輪郭造形経路を示す図であり、図12(a)〜(d)は、それぞれ、配置角度が、0°、45°、90°、135°の場合の輪郭造形経路を示している。図12に示すように、輝線と輪郭造形経路との相対的な位置関係は、配置角度によって変化する。上記の例では、配置角度が0°に設定されていることから、輪郭造形経路生成部622は、図12(a)に示す輪郭造形経路を生成する。
説明を図10に戻す。ステップS1041で輪郭造形経路を生成したあと、造形データ生成部620は、ステップS1042において、当該輪郭造形経路のうち、輝線と平行な成分の長さ(以下、「輝線平行成分長」として参照する)を算出する。図13は、本実施形態の輪郭造形経路における輝線と平行する成分の長さの算出について説明する図である。
例えば、図13に示すように、輪郭造形経路は、3点の輪郭座標P1(x1,y1)、P2(x2,y2)、P3(x3,y3)があり、輝線はx軸に沿っているものとする。このような場合、ステップS1042では、輪郭造形経路の輝線と平行する成分、すなわち、x軸方向成分の長さを算出する。したがって、輪郭座標P1、P2間の距離L12は、x2とx1との差の絶対値から算出し、輪郭座標P2、P3間の距離L23は、x3とx2との差の絶対値から算出する。このようにして、各線分のx軸方向成分を算出し、その総和を算出することで、輪郭造形経路全体について、輝線平行成分長を算出する。
説明を図10に戻す。ステップS1042で算出された輝線平行成分長は、所定の記憶領域に一時的に格納される。ステップS1042の後、ステップS1043の処理に進み、評価対象となる造形層を、1層上の層に更新する。そして、上述したステップS1040〜S1043の処理を、全ての造形層に対して繰り返す。
ステップS1040〜S1043の処理を繰り返し、全ての造形層について輪郭造形経路と、その輝線平行成分長とを算出した後、ステップS1031の処理に進む。ステップS1031では、輪郭造形経路生成部622は、配置角度を更新する。上述の例では、ステップS1030で配置角度を0°としていたことから、ステップS1031では、配置角度を45°回転させて更新する。そして、上述したステップS1030〜S1031の処理を、全ての配置角度に対して繰り返す。
ステップS1030〜S1031の処理を繰り返し、全ての配置角度における、全ての造形層について輪郭造形経路と、その輝線平行成分長とを算出した後、ステップS1050の処理に進む。造形データ生成部620は、ステップS1050では、ステップS1030〜S1031の処理を繰り返すことによって算出された、各輝線平行成分長に基づいて、立体造形物の配置角度を決定する。ステップS1050では、光切断法による形状測定における死角領域を低減するために、輝線と交差しやすい角度、すなわち、輝線平行成分長が最小となる角度を、配置角度として決定する。
なお、上述した例では、立体造形物の配置角度を決定するために、輝線平行成分長を評価の基準としたが、実施形態を限定するものではなく、他の方法で評価し、立体造形物の配置角度を決定してもよい。例えば、ステップS1042において、輪郭造形経路のうち輝線と垂直な方向の成分の長さを算出し、当該長さが最大となる角度を配置角度として決定してもよい。
ステップS1050において、造形データ生成部620が立体造形物の配置角度を決定した後、ステップS1060の処理に進む。ステップS1060〜S1080では、内部造形経路生成部623は、形状測定時における死角領域を低減できる内部造形経路を評価し、生成する。内部造形経路生成部623は、ステップS1060において、輝線と主移動方向とが成す角度を主移動方向角度として選択し、更新する。以下では、内部造形経路の評価における実施形態の例として、主移動方向角度を45°、90°、135°とした場合について説明する。また、以下に説明する例では、立体造形物の配置角度は、45°として設定された場合について説明する。
上記の例において内部造形経路生成部623は、ステップS1060で、主移動方向角度を45°に設定し、更新する。次に、内部造形経路生成部623は、ステップS1070において、評価対象となる造形層を更新する。造形層の更新は、最下層の造形層から行い、ステップS1070〜S1073の処理を行うごとに、1層ずつ上の造形層に更新される。なお、ステップS1070、S1073の処理は、ステップS1040、S1043の処理と同様である。
内部造形経路生成部623は、ステップS1070において、設定された主移動方向角度を主移動方向とした場合の内部造形経路を生成する。ここで、主移動方向角度に応じて生成される内部造形経路について説明する。図14は、本実施形態において種々の主移動方向角度における内部造形経路を示す図である。
図14(a)〜(c)は、輝線に対する主移動方向がそれぞれ45°、90°、135°の場合における内部造形経路の例を示している。なお、図14で説明する例では、立体造形物の配置角度は45°に設定されているものとする。
上記の例では、主移動方向角度が45°に設定されていることから、内部造形経路生成部623は、ステップS1071において、図14(a)に示す内部造形経路を生成する。ステップS1071で内部造形経路を生成した後、造形データ生成部620は、ステップS1072において、当該内部造形経路の輝線平行成分長を算出する。なお、ステップS1072の処理は、ステップS1042の処理と同様である。
本実施形態では、死角領域を低減するために、内部造形経路が輝線と交差しやすい方向を主移動方向として立体造形物を造形することが好ましい。そのため、図13における説明と同様にして、ステップS1072において輝線平行成分長を算出し、評価することで、死角領域を低減した立体造形物の造形をすることができる。
ステップS1072で算出された輝線平行成分長は、所定の記憶領域に一時的に格納される。ステップS1072の後、ステップS1073の処理に進み、評価対象となる造形層を、1層上の層に更新する。そして、上述したステップS1070〜S1073の処理を、全ての造形層に対して繰り返す。
ステップS1070〜S1073の処理を繰り返し、全ての造形層について内部造形経路と、その輝線平行成分長とを算出した後、ステップS1061の処理に進む。ステップS1061では、内部造形経路生成部623は、主移動方向角度を更新する。上述の例では、ステップS1060で主移動方向角度を45°としていたことから、ステップS1061では、主移動方向角度を90°として設定し、更新する。そして、上述したステップS1060〜S1061の処理を、全ての主移動方向角度に対して繰り返す。
ステップS1060〜S1061の処理を繰り返し、全ての主移動方向角度における、全ての造形層について内部造形経路と、その輝線平行成分長とを算出した後、ステップS1080の処理に進む。造形データ生成部620は、ステップS1080では、ステップS1060〜S1061の処理を繰り返すことによって算出された、各輝線平行成分長に基づいて、主移動方向角度を決定する。ステップS1080では、光切断法による形状測定における死角領域を低減するために、輝線と交差しやすい角度、すなわち、輝線平行成分長が最小となる角度を、主移動方向角度として決定する。なお、ステップS1080の処理は、ステップS1050の処理と同様である。
なお、上述した例では、主移動方向角度を決定するために、輝線平行成分長を評価の基準としたが、実施形態を限定するものではなく、他の方法で評価し、主移動方向角度を決定してもよい。例えば、ステップS1072において、内部造形経路のうち輝線と垂直な方向の成分の長さを算出し、当該長さが最大となる角度を主移動方向角度として決定してもよい。
また、造形データ生成部620は、決定した配置角度、主移動方向角度に基づいて生成される輪郭造形経路と内部造形経路とを、造形データとして出力する。なお、主移動方向角度は、必ずしも全ての造形層で同一ではなくてもよい。例えば、積層する造形層間の主移動方向角度の差が90°となるように選択し、奇数番目の層を45°、偶数番目の層を135°として決定し、内部造形経路を生成してもよい。このように、積層する造形層間の主移動方向角度の差が90°となるように各造形層の主移動方向を選択することで、造形される立体造形物の引張強度偏差を低減することができる。
ステップS1080の後、造形装置100は、ステップS1090〜S1093の処理によって立体造形物を造形する。造形ユニット制御部630は、ステップS1090において、造形対象となる造形層を更新する。造形層の更新は、最下層の造形層から行い、ステップS1090〜S1093の処理を行うごとに、1層ずつ上の造形層に更新される。したがって、造形ユニット制御部630は、ステップS1090において、造形していない造形層のうち最下層のものの、造形データを取得する。
その後、造形ユニット制御部630は、ステップS1091において、造形データに基づいて造形ユニット550を制御し、1層の造形層を造形する。造形層を造形した後、ステップS1092では、形状測定部640が造形層の形状を測定する。
ステップS1092の後、ステップS1093の処理に進み、造形対象となる造形層を、1層上の層に更新する。そして、上述したステップS1090〜S1093の処理を、全ての造形層に対して繰り返す。これによって、造形層が積層され、造形装置100は、立体造形物を造形することができる。なお、造形ユニット制御部630は、1つ前の造形層(n層)の形状に基づいて、造形データを更新して、次の造形層(n+1層)の造形を実行してもよい。また、造形ユニット制御部630は、複数の造形層の形状データ(w層分)を蓄積しておき、複数の形状データ分を考慮して、n+w層の造形データを更新してもよい。
ステップS1090〜S1093の処理を繰り返し、全ての造形層を造形した後、造形装置100は、ステップS1100に進み、処理を終了する。
図10の各処理を実行することで、造形装置100は、死角領域を低減できる立体造形物を造形することができ、立体造形物の形状を正確に測定することができる。なお、上記の図10の処理において、配置角度と主移動方向角度のうちいずれか一方を、ユーザの操作によって設定するものとしてもよい。例えば、ステップS1030〜1050の処理によって、配置角度の探索および決定を行い、主移動方向角度はユーザが指定した角度で造形処理を行ってもよい。また、例えば、指定した配置角度としたうえで、ステップS1060〜1080の処理によって、主移動方向角度の探索および決定を行い、造形処理を行ってもよい。
なお、ここまで説明した実施形態は、固定されているスリット光の向きに対して、好適な配置角度および主移動方向角度を探索して設定する構成のものであったが、本発明はこれに限定されない。例えば、任意に設定された配置角度および主移動方向に対して、死角領域を低減することができるスリット光の向きを探索して設定する構成の造形装置であってもよい。
具体的には、ユーザがあらかじめ立体造形物の配置角度および主移動方向角度を設定しておき、スリット光の向きを変えながら、種々の向きにおける輪郭造形経路および内部造形経路の輝線平行成分長を算出する。そして、照射部130aは、輝線平行成分長が最小となるスリット光の向きでもって照射し、立体造形物の形状を測定する。
このような構成であっても、図10までに説明した実施形態と同様に、死角領域を低減でき、立体造形物の形状を正確に測定することができる。なお、スリット光の向きの探索においては、輪郭造形経路および内部造形経路のうち輝線と垂直な方向の成分の長さを算出し、当該長さが最大となるスリット光の向きを探索する構成であってもよい。
以上、説明した本発明の実施形態によれば、立体造形物の形状を正確に測定することができる造形装置、システム、方法およびプログラムを提供することができる。
上述した本発明の実施形態の各機能は、C、C++、C#、Java(登録商標)等で記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、CD−ROM、MO、DVD、フレキシブルディスク、EEPROM、EPROM等の装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、当業者が推考しうる実施態様の範囲内において、本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。