(58)【調査した分野】(Int.Cl.,DB名)
造形対象である対象造形物にサポートを追加および配置して、前記対象造形物および前記サポートを造形する3次元造形装置において、前記サポートの配置位置を決定する配置決定装置であって、
前記対象造形物の3次元モデルのデータを記憶する記憶部と、
所定の基準の位置および向きとなるように、前記記憶部に記憶された前記3次元モデルを移動および回転させる基準部と、
前記3次元モデルの重心を算出する重心算出部と、
前記3次元モデルの外周面上の点のうち前記重心算出部によって算出された前記3次元モデルの重心から最も離れた最遠点を算出し、前記3次元モデルの重心と前記最遠点とを結ぶ主軸を設定する主軸設定部と、
前記主軸設定部によって設定された前記主軸が水平面に対して平行になるように、前記基準部によって前記所定の位置および向きに設定された前記3次元モデルを傾ける傾け部と、
前記傾け部によって傾けられた前記3次元モデルの上面または下面に、前記サポートを追加および配置する配置部と、
を備えた、サポートの配置決定装置。
前記傾け部によって傾けられた前記3次元モデルにおいて、前記3次元モデルの外周面上の点のうち前記3次元モデルの重心から最も近い点である最近点を算出し、前記最近点が平面視において前記主軸と重なるような位置となるように、前記主軸を軸にして前記3次元モデルを回転させる回転部を備え、
前記配置部は、前記回転部によって回転された前記3次元モデルの上面または下面のうち、前記最近点が位置する面に前記サポートを追加および配置する、請求項1に記載されたサポートの配置決定装置。
造形対象である対象造形物にサポートを追加および配置して、前記対象造形物および前記サポートを造形する3次元造形装置において、前記サポートの配置位置を決定する配置決定方法であって、
前記対象造形物の3次元モデルのデータを記憶する記憶工程と、
所定の基準の位置および向きとなるように、前記記憶工程で記憶した前記3次元モデルを移動および回転させる基準工程と、
前記3次元モデルの重心を算出する重心算出工程と、
前記3次元モデルの外周面上の点のうち前記重心算出工程で算出した前記3次元モデルの重心から最も離れた最遠点を算出し、前記3次元モデルの重心と前記最遠点とを結ぶ主軸を設定する主軸設定工程と、
前記主軸設定工程で設定した前記主軸が水平面に対して平行になるように、前記基準工程で前記所定の位置および向きに設定した前記3次元モデルを傾ける傾け工程と、
前記傾け工程で傾けた前記3次元モデルの上面または下面に、前記サポートを追加および配置する配置工程と、
を包含する、サポートの配置決定方法。
前記傾け工程で傾けた前記3次元モデルにおいて、前記3次元モデルの外周面上の点のうち前記3次元モデルの重心から最も近い点である最近点を算出し、前記最近点が平面視において前記主軸と重なるような位置となるように、前記主軸を軸にして前記3次元モデルを回転させる回転工程を包含し、
前記配置工程では、前記回転工程で回転させた前記3次元モデルの上面または下面のうち、前記最近点が位置する面に前記サポートを追加および配置する、請求項7に記載されたサポートの配置決定方法。
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、サポート130は、例えば、対象造形物170のうちホルダ113と対向する面に追加および配置される。しかし、ホルダ113に対する対象造形物170の向きによっては、対象造形物170におけるホルダ113に対する投影面、すなわち、ホルダ113の対象造形物170に対向する面に対して対象造形物170を投影した際に得られる対象造形物170の外周形状を示す投影面の面積が小さくなってしまう。その結果、対象造形物170に追加するサポート130の数が少なくなり、造形中、サポート130が対象造形物170の荷重を十分に支持することができない場合がある。
【0007】
本発明はかかる点に鑑みてなされたものであり、その目的は、造形対象である対象造形物にサポートを追加および配置して、対象造形物およびサポートを造形する3次元造形装置において、サポートを最適に追加および配置することが可能なサポートの配置決定装置、3次元造形システム、および、サポートの配置決定方法を提供することである。
【課題を解決するための手段】
【0008】
本発明に係るサポートの配置決定装置は、造形対象である対象造形物にサポートを追加および配置して、前記対象造形物および前記サポートを造形する3次元造形装置において、前記サポートの配置位置を決定する配置決定装置である。前記配置決定装置は、記憶部と、基準部と、重心算出部と、主軸設定部と、傾け部と、配置部とを備えている。前記記憶部は、前記対象造形物の3次元モデルのデータを記憶する。前記基準部は、所定の基準の位置および向きとなるように、前記記憶部に記憶された前記3次元モデルを移動および回転させる。前記重心算出部は、前記3次元モデルの重心を算出する。前記主軸設定部は、前記3次元モデルの外周面上の点のうち前記重心算出部によって算出された前記3次元モデルの重心から最も離れた最遠点を算出し、前記3次元モデルの重心と前記最遠点とを結ぶ主軸を設定する。前記傾け部は、前記主軸設定部によって設定された前記主軸が水平面に対して平行になるように、前記基準部によって前記所定の位置および向きに設定された前記3次元モデルを傾ける。前記配置部は、前記傾け部によって傾けられた前記3次元モデルの上面または下面に、前記サポートを追加および配置する。
【0009】
上記配置決定装置によれば、傾け部によって、3次元モデルの主軸が水平面に対して平行になるように、3次元モデルを傾けている。主軸とは、3次元モデルの重心と、3次元モデルの外周面上の点のうち3次元モデルの重心から最も離れた最遠点とを結ぶ線である。このことによって、傾け部によって傾けられた後の3次元モデルにおいて、上面または下面に対して、対象造形物の荷重を支えることが可能な程度に必要な数または量のサポートを対象造形物に追加するために必要な面積を過不足なく確保することができる。よって、サポートを追加するために必要な面積が確保された上面または下面に、対象造形物の荷重を支えるために必要な数または量のサポートを追加および配置することで、造形の際、サポートが対象造形物の荷重を十分に支えることができる。サポートを最適に追加および配置することができる。
【0010】
本発明の好ましい一態様によれば、前記傾け部によって傾けられた前記3次元モデルにおいて、前記3次元モデルの外周面上の点のうち前記3次元モデルの重心から最も近い点である最近点を算出し、前記最近点が平面視において前記主軸と重なるような位置となるように、前記主軸を軸にして前記3次元モデルを回転させる回転部を備えている。前記配置部は、前記回転部によって回転された前記3次元モデルの上面または下面のうち、前記最近点が位置する面に前記サポートを追加および配置する。
【0011】
上記態様によれば、3次元モデルの重心から最も近い最近点が含まれる3次元モデルの面にサポートを追加および配置することができる。すなわち、サポートが造形される3次元モデルの面と3次元モデルの重心との間の距離を短くすることができる。3次元モデルの重心がサポートを配置する3次元モデルの面に近い程、造形中の対象造形物は安定する。したがって、対象造形物が安定した状態で、対象造形物およびサポートを3次元造形装置が造形することができる。
【0012】
本発明の好ましい他の一態様によれば、前記対象造形物は、前記サポートを追加および配置しない禁止面を有する。前記回転部は、前記禁止面を除く前記外周面上の点の中から前記3次元モデルの重心から最も近い前記最近点を算出する。
【0013】
造形する対象造形物には、サポートを追加および配置したくない面がある場合がある。本発明では、サポートを追加および配置したくない面を禁止面とする。上記態様によれば、回転部は、禁止面上の点に最近点を設定しないようにすることができる。よって、禁止面にサポートが追加および配置されることなく、サポートは対象造形物の荷重を支えることができる。
【0014】
本発明の好ましい他の一態様によれば、前記3次元モデルは、複数のポリゴンを組み合わせることによって構成されている。前記重心算出部は、前記複数のポリゴンの重心を用いて、前記3次元モデルの重心を算出する。前記主軸設定部は、前記重心算出部によって算出された前記3次元モデルの重心と前記複数のポリゴンの重心との距離をそれぞれ算出し、前記3次元モデルの重心と前記ポリゴンの重心との距離が最も長い前記ポリゴンの重心の点と、前記3次元モデルの重心とを結ぶ線を前記主軸に設定する。
【0015】
上記態様によれば、主軸設定部は、重心算出部で既に算出した複数のポリゴンの重心を利用して、3次元モデルの主軸を設定している。そのため、主軸設定部では、複数のポリゴンの重心を改めて算出する必要がない。よって、主軸設定部における3次元モデルの主軸の設定にかかる処理時間を短縮することができる。
【0016】
本発明の好ましい他の一態様によれば、前記記憶部に記憶された前記3次元モデルに対して、平滑化処理を行う前処理部を備えている。前記基準部は、前記所定の基準の位置および向きとなるように、前記前処理部によって前記平滑化処理が行われた前記3次元モデルを移動および回転させる。
【0017】
上記態様によれば、前処理部によって3次元モデルを平滑化することで、3次元モデルのデータ量を小さくすることができる。そのため、基準部、重心算出部、主軸設定部、傾け部、および配置部は、前処理部によってデータ量が小さくなった3次元モデルを用いることができる。したがって、演算負荷を好適に小さくすることができる。
【0018】
本発明に係る3次元造形システムは、前記3次元造形装置と、上述した何れかに記載されたサポートの配置決定装置と、を備えている。
【0019】
上記態様によれば、上述した何れかに記載されたサポートの配置決定装置を備えた3次元造形システムを提供することができる。
【0020】
本発明に係るサポートの配置決定方法は、造形対象である対象造形物にサポートを追加および配置して、前記対象造形物および前記サポートを造形する3次元造形装置において、前記サポートの配置位置を決定する配置決定方法である。前記配置決定方法は、記憶工程と、基準工程と、重心算出工程と、主軸設定工程と、傾け工程と、配置工程とを包含する。前記記憶工程では、前記対象造形物の3次元モデルのデータを記憶する。前記基準工程では、所定の基準の位置および向きとなるように、前記記憶工程で記憶した前記3次元モデルを移動および回転させる。前記重心算出工程では、前記3次元モデルの重心を算出する。前記主軸設定工程では、前記3次元モデルの外周面上の点のうち前記重心算出工程で算出した前記3次元モデルの重心から最も離れた最遠点を算出し、前記3次元モデルの重心と前記最遠点とを結ぶ主軸を設定する。前記傾け工程では、前記主軸設定工程で設定した前記主軸が水平面に対して平行になるように、前記基準工程で前記所定の位置および向きに設定した前記3次元モデルを傾ける。前記配置工程では、前記傾け工程で傾けた前記3次元モデルの上面または下面に、前記サポートを追加および配置する。
【0021】
本発明の好ましい他の一態様によれば、前記傾け工程で傾けた前記3次元モデルにおいて、前記3次元モデルの外周面上の点のうち前記3次元モデルの重心から最も近い点である最近点を算出し、前記最近点が平面視において前記主軸と重なるような位置となるように、前記主軸を軸にして前記3次元モデルを回転させる回転工程を包含する。前記配置工程では、前記回転工程で回転させた前記3次元モデルの上面または下面のうち、前記最近点が位置する面に前記サポートを追加および配置する。
【0022】
本発明の好ましい他の一態様によれば、前記対象造形物は、前記サポートを造形しない禁止面を有する。前記回転工程では、前記禁止面を除く前記外周面上の点の中から前記3次元モデルの重心から最も近い前記最近点を算出する。
【0023】
本発明の好ましい他の一態様によれば、前記3次元モデルは、複数のポリゴンを組み合わせることによって構成されている。前記重心算出工程では、前記複数のポリゴンの重心を用いて、前記3次元モデルの重心を算出する。前記主軸設定工程では、前記重心算出工程で算出した前記3次元モデルの重心と、前記複数のポリゴンの重心との距離をそれぞれ算出し、前記3次元モデルの重心と前記ポリゴンの重心との距離が最も長い前記ポリゴンの重心の点と、前記3次元モデルの重心とを結ぶ線を前記主軸に設定する。
【0024】
本発明の好ましい他の一態様によれば、前記記憶工程で記憶した前記3次元モデルに対して、平滑化処理を行う前処理工程を包含する。前記基準工程では、前記所定の基準の位置および向きとなるように、前記前処理工程で前記平滑化処理を行った前記3次元モデルを移動および回転させる。
【発明の効果】
【0025】
本発明によれば、サポートを対象造形物に最適に追加および配置することができる。
【発明を実施するための形態】
【0027】
以下、図面を参照しながら、本発明の実施形態に係るサポートの配置決定装置(以下、配置決定装置という。)を備えた3次元造形システム、および、サポートの配置決定方法について説明する。なお、ここで説明される実施形態は、当然ながら特に本発明を限定することを意図したものではない。また、同じ作用を奏する部材・部位には同じ符号を付し、重複する説明は適宜省略または簡略化する。
【0028】
図1は、本実施形態に係る3次元造形システム10の断面図である。
図2は、3次元造形システム10の平面図である。なお、図面中の符号F、Rr、L、Rは、それぞれ前、後、左、右を示している。ただし、これらは説明の便宜上の方向に過ぎず、3次元造形システム10の設置態様を何ら限定するものではない。
【0029】
3次元造形システム10は、対象造形物にサポートを追加および配置して、対象造形物およびサポートを造形することができるシステムである。以下では、サポートが追加された対象造形物の全体を「全体造形物」と称することとする。3次元造形システム10では、全体造形物の複数の断面形状のデータを用いる。ここで、「断面形状」とは、全体造形物を複数の層に分割したときの各層の断面の形状のことである。3次元造形システム10では、液体の光硬化性樹脂を硬化させ、断面形状に対応した形状の樹脂層を造形する。そして、その樹脂層を順次積層することによって、全体造形物を造形する。なお、「光硬化性樹脂」とは、所定の波長を含む光が照射されると、硬化する樹脂である。
【0030】
図1に示すように、3次元造形システム10は、3次元造形装置10Aと、3次元造形装置10Aにおいて全体造形物を造形する前に、対象造形物の向きを決定し、かつ、サポートの配置位置を決定する配置決定装置100(
図7参照)とを備えている。
【0031】
3次元造形装置10Aは、台11と、槽12と、ホルダ13と、光学装置14と、制御装置16とを備えている。
【0032】
台11は、ケース25に支持されている。台11には、光を通過させる開口21が形成されている。槽12は、液体の光硬化性樹脂23を収容する。槽12は、台11上に取り付け可能に載置されている。
図2に示すように、槽12は、台11に載置された状態において、台11の開口21を覆う。槽12は、光を透過させることのできる材料、例えば、透明な材料によって形成されているとよい。
【0033】
図1に示すように、ホルダ13は、槽12の上方、かつ、台11の開口21の上方に配置されている。ホルダ13は昇降自在に構成されている。ホルダ13は、下降したときに槽12内の光硬化性樹脂23に浸漬し、上昇するときに、光が照射されて硬化した光硬化性樹脂23を吊り上げる。ここでは、台11には、上下方向に延びた支柱41が設けられている。支柱41の前方には、スライダ42が取り付けられている。スライダ42は、支柱41に沿って昇降自在であり、モータ43によって上方または下方に移動する。ここでは、ホルダ13は、スライダ42に取り付けられている。ホルダ13は、モータ43によって上方または下方に移動する。
【0034】
光学装置14は、台11の下方に配置されている。光学装置14は、槽12内に収容された液体の光硬化性樹脂23に所定の波長からなる光を照射する装置である。光学装置14は、台11の下方に設けられたケース25に収容されている。光学装置14は、プロジェクタ31と、ミラー32とを備えている。プロジェクタ31は、光を発する光源である。ミラー32は、プロジェクタ31から発せられた光を槽12に向かって反射させる部材である。ミラー32は、台11に形成された開口21の下方、かつ、プロジェクタ31の後方に配置されている。プロジェクタ31から発せられた光は、ミラー32によって反射され、台11の開口21を通じて槽12内の光硬化性樹脂23に照射される。ただし、光学装置14の配置および構成は特に限定される訳ではない。
【0035】
制御装置16は、ホルダ13が取り付けられたスライダ42を昇降自在に制御するモータ43、および、光学装置14のプロジェクタ31に接続されている。制御装置16は、モータ43を駆動することによって、スライダ42およびホルダ13を上方または下方に移動させる。また、制御装置16は、プロジェクタ31から発せられる光のエネルギー、光度、光量、光の波長帯域、光の形状、光を照射させる位置および光を発するタイミングなどを制御する。なお、制御装置16の構成は特に限定されない。例えば、制御装置16は、コンピュータであり、中央演算処理装置(以下、CPUという。)と、CPUが実行するプログラムなどを格納したROMと、RAMなどを備えていてもよい。
【0036】
以上が3次元造形装置10Aの構成である。上述したように、3次元造形装置10Aは、サポートを対象造形物に追加した全体造形物を造形するものである。次に、サポートについて説明する。
【0037】
3次元造形装置10Aが対象造形物を造形する際、樹脂層が造形される毎にホルダ13が順次上昇し、当該樹脂層の下方に新たな樹脂層が造形される。ところが、例えば、断面積の小さな樹脂層があった場合、当該樹脂層がそれよりも下方に位置する全樹脂層の荷重を支えきれない場合がある。その結果、造形の途中で対象造形物が破損するおそれがある。そのため、造形途中の対象造形物の荷重を十分に支持することができるように、対象造形物にサポートが追加される。このことにより、対象造形物が造形途中に破損することを防止することができる。
【0038】
例えば、3次元造形装置10Aがホルダ13に対象造形物を直接造形したとすると、造形後に対象造形物はホルダ13から引き剥がされる。その際、対象造形物のうちホルダ13と接触している部分をホルダ13から引き剥がす際、対象造形物が破損してしまう場合がある。そこで、
図3に示すように、ホルダ13と対象造形物70との間にサポート30を追加し、全体造形物を造形する。そして、造形完了後に全体造形物(対象造形物70とサポート30とが一体となった造形物)をホルダ13から引き剥がした後、サポート30を対象造形物70から取り除く処理を行うことがある。このことにより、対象造形物70が破損することを防止することができる。
【0039】
なお、サポート30は、制御装置16が所定の演算を行うことによって、対象造形物に追加される。すなわち、制御装置16によって所定の演算が行われた結果、サポート30は対象造形物に追加される。ただし、サポート30を対象造形物に追加する所定の演算は、制御装置16とは異なる専用の装置によって行われてもよい。
【0040】
ところで、ホルダ13には、光硬化性樹脂23が硬化した樹脂層の荷重に抵抗して、釣り合いを保とうとする力が生じる。ここでは、上記力のことを「許容応力」と適宜称する。例えば、許容応力Tは、基準の強さをST、安全率をSFとすると、以下の式(1)で計算することができる。
T=ST/SF ・・・(1)
ここで、安全率SFとは、材料毎の強度のばらつき、または、樹脂層の荷重誤差などの不確定な要因を考慮して設定するものである。
【0041】
本実施形態では、硬化した光硬化性樹脂23で構成される樹脂層の荷重Lをホルダ13が支えるため、以下の式(2)が成り立つ。
L<T ・・・(2)
【0042】
また、一つのサポート30の単位面積当たりに支えられる荷重をS、一つのサポート30が対象造形物70に接する面積をA、サポート30の数をNとすると、許容応力Tは、以下の式(3)のように表すことができる。
T=S×A×N/SF ・・・(3)
【0043】
そして、上記式(3)を上記式(2)に代入することで、樹脂層の荷重Lは、以下の式(4)のように表すことができる。
L<S×A×N/SF ・・・(4)
【0044】
なお、サポート30の形状は特に限定されない。
図4は、
図3のIV−IV断面における断面図である。本実施形態では、
図4に示すように、サポート30として、同一の太さ、すなわち、長さ方向(高さ方向)に対して垂直方向において、同一断面形状および同一断面積を有する複数本の円柱を用いることとする。ここでは、
図3に示すように、サポート30の上端部はホルダ13に設けられ、下端部は対象造形物70に設けられることとする。隣り合うサポート30の間隔は特に限定されないが、ここでは一定とする。本実施形態では、
図4に示すように、複数のサポート30は、等間隔で追加および配置されている。複数のサポート30は、左右方向および前後方向に揃った位置に追加および配置されている。ただし、上記のサポート30の形状および配置位置は一例に過ぎない。サポート30の形状は、例えば、断面形状が三角形または四角形の形状であってもよい。また、サポート30は、例えば、対象造形物70と接する面積と、ホルダ13と接する面積とが異なっていてもよい。例えば、サポート30において、対象造形物70と接する側の端部の断面積は、ホルダ13と接する側の端部の断面積よりも小さくてもよい。このことによって、サポート30を対象造形物70から容易に取り除くことができる。複数のサポート30の形状は、それぞれ同じ形状であってもよいし、一部が異なる形状であってもよい。隣り合うサポート30の間隔は、一定でなくてもよい。複数のサポート30は、例えば、千鳥状に追加および配置されていてもよい。
【0045】
上述の通り、3次元造形装置10Aはホルダ13を順次上昇させることによって、対象造形物70を造形する。対象造形物70は、上部から下部に向かって順に造形される。3次元造形装置10Aは、対象造形物70の3次元モデル(以下、対象造形物モデルという。)のデータを受け、そのデータを利用して、対象造形物モデルと実質的に同一形状の対象造形物70を造形する。
【0046】
対象造形物モデルには、予め向きが定められている(以下、初期の向きという。)。例えば、対象造形物モデルが円錐形状の装飾品の場合、円錐の頂点が上、底面が下に位置するように初期の向きが定められている。ところが、以下に説明するように、対象造形物70を初期の向きのまま造形することは必ずしも適切ではない。
【0047】
対象造形物70の向きによっては、対象造形物70のうちホルダ13に対向する面の面積が小さくなり、十分な数のサポート30を造形することができない場合がある。例えば、
図5に示すような対象造形物70の向きでサポート30が追加および配置される場合、サポート30が追加される対象造形物70の面70aの面積が小さい。そのため、追加されるサポート30の数が少なくなる。その結果、造形中、サポート30が対象造形物70の荷重を支えることができないおそれがある。しかし、
図6に示すような対象造形物70の向きでサポート30が追加および配置される場合、サポート30が追加される対象造形物70の面70bの面積が大きい。そのため、追加されるサポート30の数が
図5の一例に比べて多くなる。その結果、サポート30が対象造形物70を支え易くなる。本願出願人は、
図6に示すように、サポート30が追加されることが可能な対象造形物70の面の面積を十分に確保することができる場合、サポート30が対象造形物70の荷重を安定して支えることができることを見出した。
【0048】
従来では、対象造形物70のどの面にサポート30が追加されるかの決定は、ユーザの経験則に基づいて行われることが多かった。そのため、ユーザによっては、対象造形物70を最適な向きに配置することができないため、サポート30の許容応力が対象造形物70の荷重を支えることができないことがあった。そこで、本実施形態では、サポート30の許容応力が対象造形物70の荷重を十分に支えることができるような程度に、十分な数のサポート30が対象造形物70の面に追加できるように、対象造形物70の最適な向きを、配置決定装置100が決定する。
【0049】
図7は、配置決定装置100のブロック図である。配置決定装置100は、3次元造形装置10Aと別体であってもよいし、3次元造形装置10Aに内蔵されていてもよい。例えば、配置決定装置100は、コンピュータであり、CPUと、CPUが実行するプログラムなどを格納したROMと、RAMなどを備えていてもよい。ここでは、コンピュータ内に保存されたプログラムを使用して、サポート30の配置位置を決定する。配置決定装置100は、3次元造形システム10のための専用のコンピュータであってもよく、汎用のコンピュータであってもよい。
【0050】
図8は、サポート30の配置位置を決定する手順を示したフローチャートである。
図9は、対象造形物モデル72の斜視図である。次に、
図9の対象造形物モデル72を用いて、配置決定装置100が、対象造形物70の3次元モデルである対象造形物モデル72において、対象造形物70のどの面にサポート30を追加および配置するかを決定する手順について説明する。ここでは、対象造形物モデル72の下面にサポート30が追加および配置されるものとする。
【0051】
ここでは、配置決定装置100には、対象造形物70に対応する対象造形物モデル72のデータが予め記憶されているものとする。この対象造形物モデル72のデータは、例えば、XYZ直交座標系の複数の点の集合で特定されるデータであり、3次元データである。例えば、対象造形物モデル72では、複数の三角形のポリゴンまたは三角錐のポリゴンを組み合わせることで対象造形物70を再現している。
【0052】
まず、ステップS101では、造形する対象造形物70に対応する対象造形物モデル72に対して前処理を行う。対象造形物モデル72は、対象造形物70の3次元形状を忠実に再現した詳細なデータであることが多い。対象造形物モデル72をそのまま用いると、配置決定装置100における配置決定処理に多大な時間を要することがある。そこで、対象造形物モデル72に対して前処理を行い、対象造形物モデル72のデータ量を小さくすることが好ましい。ここでは、対象造形物モデル72に対して平滑化処理を行う。例えば、平滑化処理として、対象造形物モデル72を構成する三角形のポリゴンの数を減少させ、データ量を小さくする処理を行えばよい。平滑化処理の方法は特に限定されず、例えば、従来公知の平滑化処理の方法を適用することができる。例えば、平滑化処理の方法として、ガウス関数を使用してもよい。なお、平滑化処理が行われた対象造形物モデル72のデータは、配置決定装置100に記憶される。
【0053】
次に、ステップS102では、対象造形物モデル72の重心を算出する。ここでは、対象造形物モデル72の重心を算出する方法として、従来公知の方法を用いることができる。対象造形物モデル72の重心を算出する方法の詳細な説明は省略するが、例えば、対象造形物モデル72を構成する各三角錐のポリゴンの重心を利用して対象造形物モデル72の重心を算出することができる。なお、
図9において、対象造形物モデル72の重心は、点74である。
【0054】
例えば、対象造形物モデル72の重心74は、以下のようにして算出することができる。例えば、対象造形物モデル72は、複数の三角錐のポリゴンA1、A2、・・・、Anを組み合わせて構成されているとする。ここでは、まず、対象造形物モデル72の体積Vallを算出する。次に、三角錐のポリゴンA1、A2、・・・、Anの重心G1、G2、・・・、Gn、および、三角錐のポリゴンA1、A2、・・・、Anの体積V1、V2、・・・、Vnを算出する。このとき、対象造形物モデル72の重心74は、以下の式(1)で算出される。
重心74=(V1×G1+V2×G2+・・・+Vn×Gn)/Vall・・・(1)
【0055】
ステップS103では、対象造形物モデル72の基準となる位置および向きを設定する。本実施形態では、対象造形物モデル72の位置および向きは、3軸の直交座標によって特定される。ただし、他の座標系を用いて対象造形物モデル72の位置および向きを特定することも可能である。例えば、ステップS102において算出した対象造形物モデル72の重心74が、平面視において、ホルダ13(
図1参照)の中心の位置となるように基準の位置を設定する。また、対象造形物モデル72の基準となる向きは、例えば、対象造形物モデル72を作成した際の向きである。なお、対象造形物モデル72の基準となる位置および向きは特に限定されない。
【0056】
次に、ステップS104では、対象造形物モデル72の主軸を設定する。ここで、「主軸」とは、対象造形物モデル72の重心74と、対象造形物モデル72の外周面上の点の三角形のポリゴンの重心うち、重心74から最も離れた三角形のポリゴンの重心(以下、最遠点という。)とを結ぶ線のことをいう。例えば、対象造形物モデル72の主軸の設定は、以下の手順で行うことができる。まず、対象造形物モデル72の重心74と対象造形物モデル72を構成する各三角形のポリゴンの重心との距離をそれぞれ算出する。ここでは、対象造形物モデル72を構成する各三角形のポリゴンの重心は、ステップS102で既に算出したポリゴンの重心を利用することができる。そして、上記で算出した距離のうち最も長い距離に対応した三角形のポリゴンの重心を求める。すなわち、複数の三角形のポリゴンの重心のうち対象造形物モデル72の重心74から最も離れた三角形のポリゴンの重心を算出する。
図9の対象造形物モデル72では、対象造形物モデル72の重心74から最も離れた三角形のポリゴンはポリゴン76aであり、最遠点は、ポリゴン76aの重心76である。ここでは、対象造形物モデル72の重心74と最遠点76とが通る直線が主軸78である。なお、厳密には、ポリゴン76aの重心76が、対象造形物モデル72の重心から最も離れた最遠点とは限らない。これは、ポリゴン76aが重心76を中心にある一定の面積を持つ平面であるからである。しかし、ポリゴン76aは、通常、対象造形物モデル72の表面積に対して十分に小さな面積であるため、重心76を最遠点とみなすことができる。
【0057】
次に、ステップS105では、
図10に示すように、対象造形物モデル72の主軸78が水平面Hに対して平行になるように、基準の位置および向きに設定された対象造形物モデル72を傾ける。ここでは、水平面Hとは、対象造形物70が造形される面、すなわち、ホルダ13の下面(対象造形物70と対向する面)である。そのため、対象造形物モデル72の主軸78がホルダ13の下面に対して平行になるように、基準の位置および向きに設定された対象造形物モデル72を傾ける。
【0058】
ステップS106では、対象造形物モデル72を回転させ、サポート30を追加および配置する対象造形物モデル72の面を設定する。ここでは、サポート30が追加および配置される対象造形物モデル72の面のことを「配置面」と称する。配置面とは、対象造形物モデル72における水平面H(ホルダ13)に対する投影面である。言い換えると、配置面とは、水平面Hから垂直方向に対象造形物モデル72を見たときに見える対象造形物モデル72の面のことである。本実施形態では、以下のようにして配置面を設定することができる。まず、対象造形物モデル72の外周面上における三角形のポリゴンの重心のうち、対象造形物モデル72の重心74から最も近い点である最近点を求める。
図10では、最近点は対象造形物モデル72の上面上に位置する点80である。そして、平面視において、最近点80が主軸78と重なる位置であって、主軸78よりも下方に位置するように、主軸78を軸にして、対象造形物モデル72を回転させる。ここでは、最近点80が水平面H、すなわち、ホルダ13の面に対して、最も近い位置となるように、主軸78を軸にして対象造形物モデル72を回転させる。回転させた後の対象造形物モデル72において下面に位置する面が配置面である。
図11は、対象造形物モデル72を回転させた後の図である。
図11では、配置面は面82である。ここでは、配置面82上には、最近点80が位置している。
【0059】
次に、ステップS107では、対象造形物モデル72に対して、複数のサポート30を追加および配置する。ここでは、ステップS106で設定した対象造形物モデル72の向きで対象造形物70が下面から順に造形される。複数のサポート30は、対象造形物モデル72の下面、すなわち、配置面82に追加および配置される。ここでは、複数のサポート30の形状、および、複数のサポート30同士の間隔は特に限定されない。複数のサポート30の形状は、例えば、円柱である。例えば、複数のサポート30同士の間隔は等間隔である。例えば、複数のサポート30における対象造形物70と接する面の接触面積はそれぞれ等しい。ここでは、対象造形物70に対して生じるサポート30の許容応力はそれぞれ等しい。
【0060】
本実施形態では、配置決定装置100によって、傾けられると共に回転された後の対象造形物モデル72の位置および向きに沿って、ホルダ13の下部に、サポート30および対象造形物70を造形する。すなわち、ホルダ13の下部にサポート30を造形し、サポート30の下に対象造形物70を下面から上面に向かうように順に造形する。
【0061】
なお、本実施形態では、
図7に示すように、配置決定装置100は、記憶部52と、前処理部54と、重心算出部56と、基準部58と、主軸設定部60と、傾け部62と、回転部64と、配置部66とを備えている。なお、記憶部52と、前処理部54と、重心算出部56と、基準部58と、主軸設定部60と、傾け部62と、回転部64と、配置部66とは、ソフトウェアによって構成されていてもよいし、ハードウェアによって構成されていてもよい。
【0062】
記憶部52は、対象造形物モデル72のデータを記憶する。この対象造形物モデル72のデータは、例えば、ユーザの操作によって、記録媒体または他のコンピュータ(図示せず)から記憶部52に読み込まれる。
【0063】
前処理部54は、記憶部52に記憶された対象造形物モデル72に対して、平滑化処理を行う。例えば、前処理部54は、平滑化処理としてガウス関数を使用することによって、対象造形物モデル72のデータ量を小さくしている。前処理部54は、
図8のステップS101の処理を行う。
【0064】
重心算出部56は、対象造形物モデル72の重心74(
図9参照)を算出する。ここでは、重心算出部56が対象造形物モデル72の重心74を算出する方法は特に限定されず、従来公知の方法であればよい。例えば、重心算出部56は、対象造形物モデル72を構成する複数の三角錐のポリゴンの重心を用いて、対象造形物モデル72の重心74を算出するとよい。重心算出部56は、
図8のステップS102の処理を行う。
【0065】
基準部58は、所定の基準の位置および向きとなるように、記憶部52に記憶された対象造形物モデル72を移動および回転させる。「所定の基準の位置および向き」は特に限定されない。例えば、所定の基準の位置は、平面視において、対象造形物モデル72の重心74と、ホルダ13の中心とが一致するような位置である。なお、基準の位置および向きに設定された対象造形物モデル72は、記憶部52に記憶される。基準部58は、
図8のステップS103の処理を行う。
【0066】
主軸設定部60は、対象造形物モデル72の重心を設定する。ここでは、主軸設定部60は、
図9に示すように、対象造形物モデル72の重心74から最も離れた対象造形物モデル72の最遠点76を算出する。そして、主軸設定部60は、重心算出部56によって算出された対象造形物モデル72の重心74と、最遠点76とを結ぶ線を主軸78として設定する。本実施形態では、主軸設定部60は、対象造形物モデル72の重心74と、対象造形物モデル72を構成する複数の三角形のポリゴンの重心との距離をそれぞれ算出する。そして、主軸設定部60は、対象造形物モデル72の重心74と複数の三角形のポリゴンの重心との間の複数の距離のうち、その距離が最も長いポリゴン76aの重心76と、対象造形物モデル72の重心74とを結ぶ線を主軸78として設定する。主軸設定部60は、
図8のステップS104の処理を行う。
【0067】
傾け部62は、主軸設定部60によって設定された対象造形物モデル72の主軸78が水平面Hに対して水平になるように、基準部58によって所定の位置および向きに設定された対象造形物モデル72を傾ける。ここでは、3次元造形装置10Aのホルダ13における対象造形物70と対向する面は、水平面H(
図10参照)である。そのため、傾け部62は、対象造形物モデル72の主軸78が対象造形物モデル72と対向する水平面Hと平行になるように、対象造形物モデル72を傾ける。なお、傾けた後の対象造形物モデル72は、記憶部52に記憶される。傾け部62は、
図8のステップS105の処理を行う。
【0068】
回転部64は、傾け部62によって傾けられた対象造形物モデル72において、対象造形物モデル72の外周面上の点であって、対象造形物モデル72の重心74から最も近い最近点80が、平面視において主軸78と重なるような位置となるように、主軸78を軸にして対象造形物モデル72を回転させる。回転部64は、
図11に示すように、最近点80が水平面H(ホルダ13の面)に対して、最も近い位置となるように、主軸78を軸にして対象造形物モデル72を回転させる。回転させた後の対象造形物モデル72の下面には、最近点80が位置する。なお、回転させた後の対象造形物モデル72は、記憶部52に記憶される。回転部64は、
図8のステップS106の処理を行う。
【0069】
配置部66は、サポート30の配置位置を決定する。配置部66は、傾け部62によって傾けられた対象造形物モデル72であって、回転部64によって回転された対象造形物モデル72において、対象造形物モデル72の最近点80が含まれる面(配置面82)にサポート30を追加および配置する。ここでは、配置部66は、対象造形物モデル72の下面(配置面82)にサポート30を追加および配置する。配置部66は、
図8のステップS107の処理を行う。
【0070】
以上のように、本実施形態では、
図10に示すように、対象造形物モデル72の主軸78が水平面Hに対して平行になるように、対象造形物モデル72を傾けている。このことによって、主軸78が水平面Hに対して平行になるように傾けられた後の対象造形物モデル72において、下面(配置面)の面積を確保することができる。よって、傾けられた後の対象造形物モデル72の下面(配置面)にサポート30を追加および配置することで、造形の際、サポート30の許容応力が対象造形物70の荷重を十分に支えることができる。したがって、本実施形態によれば、サポート30を対象造形物70に最適に追加および配置することができる。
【0071】
本実施形態によれば、回転部64は、
図10に示すように、傾け部62によって傾けられた対象造形物モデル72において、対象造形物モデル72の外周面上の点のうち、対象造形物モデル72の重心74から最も近い点である最近点80を求める。そして、回転部64は、平面視において、最近点80が主軸78と重なるような位置となるように、主軸78を軸にして対象造形物モデル72を回転させる。このことによって、対象造形物モデル72の重心74から最も近い最近点80が含まれる対象造形物モデル72の面にサポート30を追加および配置することができる。すなわち、サポート30が追加および配置される対象造形物モデル72の面82と対象造形物モデル72の重心74との間の距離を短くすることができる。対象造形物モデル72の重心74がサポート30を追加および配置する対象造形物モデル72の面に近い程、対象造形物70の荷重に対する曲げモーメントが小さくなる。その結果、造形中の対象造形物70は安定する。したがって、対象造形物70が安定した状態で、対象造形物70およびサポート30を3次元造形装置10Aが造形することができる。本実施形態では、対象造形物モデル72の配置面82を水平面H(ホルダ13の面)に対して、近づけることができる。よって、配置するサポート30の長さが短くなる。したがって、サポート30で使用される光硬化性樹脂の量を減らすことができる。
【0072】
本実施形態によれば、重心算出部56は、対象造形物モデル72を構成する複数のポリゴンの重心を用いて、対象造形物モデル72の重心74を算出する。主軸設定部60は、対象造形物モデル72の重心74と、複数の三角形のポリゴンの重心との距離をそれぞれ算出する。そして、主軸設定部60は、
図9に示すように、対象造形物モデル72の重心74と三角形のポリゴンの重心との間の距離が最も長い三角形のポリゴンの重心(最遠点)76と、対象造形物モデル72の重心74とを結ぶ線を主軸78に設定する。このように、主軸設定部60は、重心算出部56で既に算出した複数のポリゴンの重心を利用して、対象造形物モデル72の主軸78を設定している。よって、主軸設定部60における対象造形物モデル72の主軸78の設定にかかる処理時間を短縮することができる。
【0073】
本実施形態によれば、前処理部54は、記憶部52に記憶された対象造形物モデル72に対して、平滑化処理を行う。基準部58は、所定の基準の位置および向きとなるように、前処理部54によって平滑化処理が行われた対象造形物モデル72を移動および回転させる。このように、前処理部54によって対象造形物モデル72を平滑化することで、対象造形物モデル72のデータ量を小さくすることができる。そのため、重心算出部56、基準部58、主軸設定部60、傾け部62、回転部64、および配置部66は、前処理部54によってデータ量が小さくなった対象造形物モデル72を用いることができる。したがって、演算負荷を好適に小さくすることができる。
【0074】
<他の実施形態>
上記実施形態では、配置決定装置100は、対象造形物モデル72の下面にサポート30が追加および配置されるようにして、サポート30の配置位置を決定していた。しかし、対象造形物モデル72におけるサポート30の配置位置は上面であってもよい。この場合、回転部64は、傾け部62によって傾けられた対象造形物モデル72において、対象造形物モデル72の外周面上の点であって、対象造形物モデル72の重心74から最も近い最近点80が、平面視において主軸78と重なり、かつ、主軸78よりも上方に位置するように、主軸78を軸に対象造形物モデル72を回転させる。そして、配置部66は、回転部64によって回転された対象造形物モデル72において、最近点80が含まれる面、すなわち、上面にサポート30を追加および配置する。この場合、対象造形物モデル72の上面が配置面となる。このような場合であっても、上記実施形態とほぼ同様の効果が得られる。
【0075】
図12は、対象造形物71を示す図であり、装飾面71aを示す図である。
図12に示すように、対象造形物71は、文字または模様などの装飾が施された装飾面71aを有することがある。本実施形態において、装飾面71aは、本発明の「禁止面」に対応する。このような対象造形物71を造形する場合には、装飾面71aにサポート30を追加および配置しないことが好ましい。サポート30を対象造形物71から取り除く際に、対象造形物71の装飾面71aに傷が付くおそれがあるからである。そこで、本実施形態では、対象造形物71において、サポート30を追加および配置すべきでない装飾面71aを有している場合、サポート30が対象造形物71の荷重を十分に支持することができるということだけでなく、装飾面71aにサポート30が追加および配置されないように対象造形物71の位置および向きを決定することが好ましい。
【0076】
本実施形態では、装飾面71aを有する対象造形物71に対応した対象造形物モデルにサポート30を追加および配置する場合、回転部64は、傾け部62によって傾けられた対象造形物モデルにおいて、装飾面71aを除く外周面上の点のうち、対象造形物モデルの重心から最も近い最近点を算出し、最近点が平面視において、対象造形物モデルの主軸と重なるような位置となるように、その主軸を軸にして対象造形物モデルを回転させる。ここでは、最近点は、対象造形物モデルの面のうち、装飾面71aを除いた面に位置している。そして、配置部64は、最近点が位置する面にサポート30を追加および配置する。
【0077】
以上のことによって、装飾面71aには、サポート30が追加および配置されることなく、サポート30は対象造形物71の荷重を支えることができる。
【0078】
上記実施形態では、回転部64によって、
図11に示すように、最近点80が平面視において主軸78と重なるように、主軸78を軸にして対象造形物モデル72を回転させていた。そして、配置部66は、回転部64によって回転させた後の対象造形物モデル72の下面(配置面82)にサポート30を追加および配置していた。しかし、回転部64は省略することが可能である。この場合、配置部66は、傾け部62によって傾けられた対象造形物モデル72に対して、所定の面(上記実施形態では、下面)にサポート30を追加および配置してもよい。この場合であっても、対象造形物モデル72におけるサポート30を追加および配置する面の面積を十分に確保することができる。よって、サポート30は対象造形物70の荷重を十分に支えることができる。
【0079】
上記実施形態では、主軸設定部60は、対象造形物モデル72を構成する複数の三角形のポリゴンの重心を利用して対象造形物モデル72の主軸78を設定していた。主軸78は、対象造形物モデル72の重心74と、複数の三角形のポリゴンの重心の何れかの重心(ここでは、最遠点76)とを結ぶ線であった。しかし、主軸78は、対象造形物モデル72の重心74と、複数の三角形のポリゴンの頂点のうち重心74から最も離れた頂点とを結ぶ線であってもよい。この場合、主軸設定部60は、対象造形物モデル72の重心74と、対象造形物モデル72を構成する複数の三角形のポリゴンの頂点との距離をそれぞれ算出する。そして、主軸設定部60は、対象造形物モデル72の重心74と複数の三角形のポリゴンの頂点との間の複数の距離のうち、距離が最も長い距離に対応した三角形のポリゴンの頂点を最遠点とし、最遠点と対象造形物モデル72の重心74とを結ぶ線を主軸78として設定してもよい。
【0080】
例えば、対象造形物として手を横に広げた人型(以下、単に人型という。)を造形したいことがあり得る。この場合、手および足の荷重が、例えば胴体の荷重に比べて小さい。そのため、荷重が比較的小さい範囲が存在する対象造形物を造形する場合、荷重が小さい範囲を除いた範囲、すなわち、荷重が比較的大きい範囲の中から最遠点を設定して、主軸設定部60によって主軸を設定してもよい。例えば、上記人型を対象造形物とする場合、荷重が小さい手および足を除いた範囲の中から最遠点を設定して、主軸を設定してもよい。
【0081】
また、例えば、立方体形状の造形物の面から、細い棒状の造形物が外側に向かって放射状に延びている造形物を対象造形物とする場合、棒状の造形物に生じる荷重が対象造形物全体の荷重に比べて無視できる程度に小さいことがあり得る。この場合、対象造形物のうち棒状の造形物を除いた立方体形状の造形物から最遠点を設定し、主軸設定部60によって主軸を設定してもよい。このように、対象造形物の形状によって、最遠点を設定する範囲を適宜選択するようにしてもよい。最遠点を設定する範囲は、例えば、ユーザが設定してもよい。このような場合であっても、対象造形物のうち荷重が大きい範囲にサポート30を追加および配置することができるため、対象造形物の最適な位置にサポート30を追加および配置することができる。
【0082】
上記実施形態では、
図8に示すように、ステップS101において、配置決定装置100がサポート30の配置を決定する際、前処理部54は、事前に記憶部52に記憶された対象造形物モデル72の平滑化処理を行っていた。しかし、ステップS101の前処理は省略することが可能である。この場合、基準部58は、所定の基準の位置および向きとなるように、記憶部52に記憶された対象造形物モデル72を移動および回転させてもよい。
【0083】
なお、上述したように、配置決定装置100の記憶部52、前処理部54、重心算出部56、基準部58、主軸設定部60、傾け部62、回転部64、および配置部66は、ソフトウェアにより構成されていてもよい。すなわち、上記各部は、コンピュータプログラムがコンピュータに読み込まれることにより、当該コンピュータによって実現されるようになっていてもよい。本発明には、コンピュータを上記各部として機能させるためのコンピュータプログラムが含まれる。また、本発明には、当該コンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体が含まれる。