(57)【要約】【課題】簡単に三次元造形物を作製する。【解決手段】三次元形状を示す三次元モデルデータの分割位置を算出する三次元モデルデータの分割位置算出方法であって、三次元モデルデータの示す三次元形状の外表面を所定の方向に対する傾きに応じて分類する第１の処理と、上記第１の処理によって分類された外表面の上記所定の方向における端部を求める第２の処理とを有し、上記第２の処理によって求められた上記所定の方向における端部を上記三次元モデルデータの分割位置とする。【選択図】        図１
2007076037.tif 000002
【特許請求の範囲】
【請求項１】
三次元形状を示す三次元モデルデータの分割位置を算出する三次元モデルデータの分割位置算出方法であって、
三次元モデルデータの示す三次元形状の外表面を所定の方向に対する傾きに応じて分類する第１の処理と、
前記第１の処理によって分類された外表面の前記所定の方向における端部を求める第２の処理と
を有し、
前記第２の処理によって求められた前記所定の方向における端部を前記三次元モデルデータの分割位置とする
ことを特徴とする三次元モデルデータの分割位置算出方法。
【請求項２】
三次元形状を示す三次元モデルデータの分割位置を算出する三次元モデルデータの分割位置算出方法であって、
三次元形状を複数の三角形のポリゴンの集合で構成される三次元メッシュで表す三次元モデルデータの複数のポリゴンのそれぞれについて、所定の方向に対する傾きに応じて、前記ポリゴンの面が上向き面または下向き面のいずれであるかを判断する第１の処理と、
前記第１の処理によって前記ポリゴンの面が下向き面であると判断されたポリゴンの集合の中で、互いに隣接するポリゴン同士をグループ化する第２の処理と、
前記第２の処理によってグループ化された互いに隣接する複数の前記ポリゴンよりなる下向き面のグループ毎に、前記ポリゴンの複数の頂点の中で、前記所定の方向における最下点に位置する頂点を求める第３の処理と
を有し、
前記第３の処理によって求められた前記所定の方向における最下点に位置する頂点の位置を前記三次元モデルデータの分割位置とする
ことを特徴とする三次元モデルデータの分割位置算出方法。
【請求項３】
請求項２に記載の三次元モデルデータの分割位置算出方法において、さらに、
前記第１の処理においては、前記ポリゴンの面の法線ベクトルを用いて、前記ポリゴンの面のＸＹＺ直交座標系における単一の方向に対する傾きを判定し、該判定された前記単一の方向に対する傾きに応じて、前記ポリゴンの面が上向き面または下向き面のいずれであるかを判断する
ものである三次元モデルデータの分割位置算出方法。
【請求項４】
補助材料によって形成された補助材層を切削する工程と造形材料によって形成された造形材層を切削する工程とを繰り返し行う三次元造形装置であって、
三次元形状を複数の三角形のポリゴンの集合で構成される三次元メッシュで表す三次元モデルデータの複数のポリゴンのそれぞれについて、所定の方向に対する傾きに応じて、前記ポリゴンの面が上向き面または下向き面のいずれであるかを判断する判断手段と、
前記判断手段によって前記ポリゴンの面が下向き面であると判断されたポリゴンの集合の中で、互いに隣接するポリゴン同士をグループ化するグループ化手段と、
前記グループ化手段によってグループ化された互いに隣接する複数の前記ポリゴンよりなる下向き面のグループ毎に、前記ポリゴンの複数の頂点の中で、所定の方向における最下点に位置する頂点を求める決定手段と、
前記決定手段によって求められた頂点の位置で前記三次元メッシュを分割し、該分割に対応する前記三次元モデルデータに従って、補助材層を形成する補助材料と造形材層を形成する造形材料とをそれぞれ略ドット状で供給する塗布手段と、
前記塗布手段によって供給された前記補助材料によって形成される前記補助材層と前記塗布手段によって供給された前記造形材料によって形成される前記造形材層とをそれぞれ、前記分割に対応する前記三次元モデルデータに従って、前記所定の方向と一致する方向で切削する切削手段と
を有する三次元造形装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元モデルデータの分割位置算出方法および三次元造形装置に関し、さらに詳細には、数値制御による加工装置、特に三次元の空間的広がりをもつ物体たる三次元造形物を作製する際に用いて好適な三次元モデルデータの分割位置算出方法および三次元造形装置に関する。
【背景技術】
【０００２】
従来より、所望の三次元造形物の作製に関しては、当該三次元造形物を示すデータを用いた数値制御による各種の手法が提案されている。
【０００３】
例えば、三次元方向における複数の方向から被切削物を切削し、こうした多面切削によって三次元造形物を作製する手法や、あるいは、複数のパーツに分解して造形した後に、当該複数のパーツを張り合わせて三次元造形物を完成させる手法もある。
【０００４】
しかしながら、上記したいずれの手法によっても、三次元造形物の全体を示すデータを、複数の方向からの切削に対応するように分割したり、あるいは、複数のパーツに対応するように分割しなければならず、三次元造形物を示すデータに基づいて三次元造形物を作製する工程が非常に煩雑であって、全工程をオートメーション化するとシステムが大型化し複雑になるという問題点があった。
【０００５】
なお、本願出願人が特許出願時に知っている先行技術は、上記において説明したようなものであって文献公知発明に係る発明ではないため、記載すべき先行技術情報はない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的とするところは、上記したような従来の技術の有する種々の問題点に鑑みてなされたものであり、その目的とするところは、簡単に三次元造形物を作製することを可能にする三次元モデルデータの分割位置算出方法および三次元造形装置を提供しようとするものである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のうち請求項１に記載の発明は、三次元形状を示す三次元モデルデータの分割位置を算出する三次元モデルデータの分割位置算出方法であって、三次元モデルデータの示す三次元形状の外表面を所定の方向に対する傾きに応じて分類する第１の処理と、上記第１の処理によって分類された外表面の上記所定の方向における端部を求める第２の処理とを有し、上記第２の処理によって求められた上記所定の方向における端部を上記三次元モデルデータの分割位置とするようにしたものである。
【０００８】
また、本発明のうち請求項２に記載の発明によれば、三次元形状を示す三次元モデルデータの分割位置を算出する三次元モデルデータの分割位置算出方法であって、三次元形状を複数の三角形のポリゴンの集合で構成される三次元メッシュで表す三次元モデルデータの複数のポリゴンのそれぞれについて、所定の方向に対する傾きに応じて、上記ポリゴンの面が上向き面または下向き面のいずれであるかを判断する第１の処理と、上記第１の処理によって上記ポリゴンの面が下向き面であると判断されたポリゴンの集合の中で、互いに隣接するポリゴン同士をグループ化する第２の処理と、上記第２の処理によってグループ化された互いに隣接する複数の上記ポリゴンよりなる下向き面のグループ毎に、上記ポリゴンの複数の頂点の中で、上記所定の方向における最下点に位置する頂点を求める第３の処理とを有し、上記第３の処理によって求められた上記所定の方向における最下点に位置する頂点の位置を上記三次元モデルデータの分割位置とするようにしたものである。
【０００９】
また、本発明のうち請求項３に記載の発明によれば、請求項２に記載の発明において、さらに、上記第１の処理においては、上記ポリゴンの面の法線ベクトルを用いて、上記ポリゴンの面のＸＹＺ直交座標系における単一の方向に対する傾きを判定し、当該判定された上記単一の方向に対する傾きに応じて、上記ポリゴンの面が上向き面または下向き面のいずれであるかを判断するようにしたものである。
【００１０】
また、本発明のうち請求項４に記載の発明によれば、補助材料によって形成された補助材層を切削する工程と造形材料によって形成された造形材層を切削する工程とを繰り返し行う三次元造形装置であって、三次元形状を複数の三角形のポリゴンの集合で構成される三次元メッシュで表す三次元モデルデータの複数のポリゴンのそれぞれについて、所定の方向に対する傾きに応じて、上記ポリゴンの面が上向き面または下向き面のいずれであるかを判断する判断手段と、上記判断手段によって上記ポリゴンの面が下向き面であると判断されたポリゴンの集合の中で、互いに隣接するポリゴン同士をグループ化するグループ化手段と、上記グループ化手段によってグループ化された互いに隣接する複数の上記ポリゴンよりなる下向き面のグループ毎に、上記ポリゴンの複数の頂点の中で、所定の方向における最下点に位置する頂点を求める決定手段と、上記決定手段によって求められた頂点の位置で上記三次元メッシュを分割し、当該分割に対応する上記三次元モデルデータに従って、補助材層を形成する補助材料と造形材層を形成する造形材料とをそれぞれ略ドット状で供給する塗布手段と、上記塗布手段によって供給された上記補助材料によって形成される上記補助材層と上記塗布手段によって供給された上記造形材料によって形成される上記造形材層とをそれぞれ、上記分割に対応する上記三次元モデルデータに従って、上記所定の方向と一致する方向で切削する切削手段とを有するようにしたものである。
【発明の効果】
【００１１】
本発明による三次元モデルデータの分割位置算出方法および三次元造形装置は、簡単に三次元造形物を作製することが可能になるという優れた効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下、添付の図面に基づいて、本発明による三次元モデルデータの分割位置算出方法および三次元造形装置の実施の形態の一例を詳細に説明するものとする。
【００１３】
図１には、本発明による三次元モデルデータの分割位置算出方法の実施の形態の一例を実現する三次元造形装置の概略構成斜視説明図が示されている。
【００１４】
この図１に示す三次元造形装置１０は、上下方向に延長した略四角柱状の一対の支持部１２Ｌ、１２Ｒと、当該支持部１２Ｌ、１２Ｒを連結する底部１２Ｂにて構成されてＵ字型状の門型アーム部１２を備えている。さらに一対の支持部１２Ｌ、１２Ｒの各々の上端部に支持されたレール部１４と、レール部１４にＸＹＺ直交座標系におけるＸ軸方向（図１の座標系を示す参考図参照）に所定範囲内で移動自在に配設されたキャリッジ１６を有する。
【００１５】
また、キャリッジ１６に隣接し、キャリッジ１６に対してＺ軸方向に所定範囲内で移動自在に設けられたヘッド上に、スピンドル２８が固定されている。さらにスピンドル２８上にはＺ軸方向に所定範囲内で移動自在なスライダ（図１の斜線部参照）が配設され、上記スライダには補助材料を吐出するディスペンサー２４と、造形材料を吐出するディスペンサー２６とが併設されている。
【００１６】
また、門型アーム部１２の底部１２ＢのＹ軸方向に延長された略長方形の板状のフレーム部１８上にはＹ軸方向に所定範囲内で移動自在なテーブル２２が配設されている。
【００１７】
テーブル２２の外周側には、テーブル２２を囲むようにして切削粉等を回収する略箱形状の回収槽２０が配設されており、当該回収槽２０は図示しない排水管を介して図示しない回収タンクに接続されている。
【００１８】
テーブル２２の上面２２ａは水平な平面状に形成されており、この上面２２ａにおいて、補助材料により形成される補助材層と造形材料により形成される造形材層とが積層されて三次元造形物が形作られるものである。
【００１９】
なお、三次元造形装置１０は、全体の動作をマイクロコンピュータ２００により制御されているものである。即ち、マイクロコンピュータ２００によって所定の分解能に応じてディスペンサー２４、ディスペンサー２６ならびにスピンドル２８がヘッドの移動に伴って、Ｚ軸方向に移動され、またキャリッジ１６の移動に伴ってＸ軸方向に移動される。さらにテーブル２２は回収槽２０とともにＹ軸方向に移動される。
【００２０】
従って、ディスペンサー２４、ディスペンサー２６ならびにスピンドル２８に支持されたエンドミル３０と、テーブル２２の上面２２ａにおいて形作られる三次元造形物との相対的な位置関係は、Ｘ，Ｙ，Ｚ軸方向の任意の方向で移動可能となっている。
【００２１】
ここで、ディスペンサー２４は、図示しないタンクに収容された補助材料が供給されるように設計されており、図示しないタンクから供給された補助材料を貯留するシリンジ２４ｂの外周面にシリンジ２４ｂの全長にわたってヒーター４０が配設されている。このヒーター４０によって補助材料の貯留部分であるシリンジ２４ｂを加熱することにより、シリンジ２４ｂの内部に貯留された補助材料を所定の温度に加熱することができる。
【００２２】
なお、この実施の形態においては、補助材料として金属、特に、低融点合金を用いている。例えば、所謂、有害物質を含有せず、ビスマス（Ｂｉ）５７．５％、スズ（Ｓｎ）１７．３％ならびにインジウム（Ｉｎ）２５．２％からなり、７８．８℃で溶融する低融点合金を用いたときには、ヒーター４０によってシリンジ２４ｂを加熱して、シリンジ２４ｂの内部に貯留された当該低融点合金をおよそ１００℃まで加熱する。
【００２３】
すると、ヒーター４０によって所定の温度まで加熱された低融点合金は、シリンジ２４ｂ内で溶融し、シリンジ２４ｂと連結されてディスペンサー２４の先端に位置する吐出口２４ａから１滴１滴吐出される。こうしてディスペンサー２４の吐出口２４ａから吐出される低融点合金は、飛滴となって所定の位置に所定量塗布されるように制御されている。
【００２４】
また、ディスペンサー２６は、図示しないタンクに収容された造形材料が供給されるように設計されており、図示しないタンクから供給された造形材料を貯留するシリンジ２６ｂと連結されてディスペンサー２６の先端に位置する吐出口２６ａから、造形材料が１滴１滴吐出される。こうしてディスペンサー２６の吐出口２６ａから吐出される造形材料は、飛滴となって所定の位置に所定量塗布されるように制御されている。
【００２５】
なお、この実施の形態においては、造形材料としては紫外線硬化樹脂、特に、水に不溶の紫外線硬化樹脂を用いている。この紫外線硬化樹脂は紫外線が照射されると硬化するものである。
【００２６】
さらに、ディスペンサー２６の吐出口２６ａの外周側に位置するようにしてライトガイド部材４２が配設されている。このライトガイド部材４２は、紫外線を照射するための光ファイバー（図示せず。）を備え、当該光ファイバーの先端部から照射される紫外線は、３６０°リング状に照射され所定位置でスポット状に集光するように設計されている。
【００２７】
より詳細には、ディスペンサー２６の吐出口２６ａよりＺ軸方向における下方側に、ライトガイド部材４２の光ファイバーの先端部が位置するように各種寸法設定がなされており、上記したようにしてディスペンサー２６の吐出口２６ａより所定の位置に塗布された紫外線硬化樹脂を、ライトガイド部材４２から照射される紫外線により硬化させることができるように制御されている。
【００２８】
上記したエンドミル３０は図示しないモーターの回転力によって軸線回りに回転し、切削部３０ａによって補助材料により形成される補助材層や造形材料により形成される造形材層を切削するものである。なお、エンドミル３０はその軸線方向がＸＹＺ直交座標系におけるＺ軸方向に一致するようにしてスピンドル２８に支持されており、切削を行なう切削手段たるエンドミル３０の軸線方向は、三次元造形装置１０において単一の方向に固定されているものである。
【００２９】
次に、本発明による三次元モデルデータの分割位置算出方法を実施する三次元造形装置１０の全体の動作を制御するマイクロコンピュータ２００は、中央処理装置（ＣＰＵ）２０２と、ＣＰＵ２０２が実行するプログラムを格納したリードオンリメモリ（ＲＯＭ）２０４と、データ信号を一時記憶するバッファメモリやＣＰＵ２０２によるプログラムの実行時に必要な各種レジスタなどが設定されたワーキングエリアとしてのランダムアクセスメモリ（ＲＡＭ）２０６とにより構成されている。
【００３０】
そして、ＲＡＭ２０６の所定のエリアにはそれぞれ、本発明による三次元モデルデータの分割位置の算出処理に用いる三次元モデルデータや、各変数やレジスタの値などの各種データが記憶されるものである。
【００３１】
以上の構成において、図２乃至図９を参照しながら、上記した三次元造形装置１０によって実行される本発明による三次元モデルデータの分割位置の算出処理について説明することとする。なお、図４（ａ）〜（ｅ）には、本発明による三次元モデルデータの分割位置の算出処理の概要を概念的に示す説明図が示されており、図５乃至図９には、本発明による三次元モデルデータの分割位置の算出処理のルーチンのフローチャートが示されている。
【００３２】
また、以下の説明においては、本発明による三次元モデルデータの分割位置の算出処理についての理解を容易にするために、上記した三次元造形装置１０によって図２（ａ）〜（ｅ）に示すような三次元造形物１００を作製する場合を具体的な例として詳細な説明を行うこととする。
【００３３】
ここで作製する三次元造形物１００は、図２（ａ）に示すような曲がりパイプであって、所定の厚みｄ（図２（ｄ）参照）を有する略円筒状体が略中央部位で略直角に曲げられた三次元造形物である。そして、三次元造形物１００は、空気などの周囲の雰囲気と接する面、即ち、三次元の空間的広がりをもつ三次元造形物１００を取り巻く外表面を有するものである。より詳細には、三次元造形物１００の外表面は、略リング状の形状を備え平滑な平面よりなる端面１００ａと、端面１００ａと同一の略リング状の形状を備え平滑な平面よりなる端面１００ｂと、端面１００ａの外周側の縁部と端面１００ｂの外周側の縁部とを連結する平滑な曲面よりなる外周面１００ｃと、端面１００ａの内周側の縁部と端面１００ｂの内周側の縁部とを連結する平滑な曲面よりなる内周面１００ｄとにより構成されるものである。
【００３４】
こうした三次元造形物１００（図２参照）を三次元造形装置１０において補助材料ならびに造形材料を用いて作製するのに先だって、本発明による三次元モデルデータの分割位置の算出処理が実施され、三次元モデルデータの分割位置が決定されるものである。
【００３５】
この本発明による三次元モデルデータの分割位置の算出処理には、三次元造形装置１０において作製する三次元造形物１００（図２参照）と対応する三次元モデルデータが用いられるものである（図３（ａ）参照）。
【００３６】
三次元モデルデータは、三次元の空間的広がりをもつ三次元形状を示す三次元形状データであり、この実施の形態においては、三次元モデルデータの示す立体が複数の三角形のポリゴンの集合で構成される三次元メッシュで表されるようなものであって、ポリゴンの３つの頂点によって囲まれる三角形形状の面のデータを含むものである。なお、本明細書においては、「三次元モデルデータの示す三次元メッシュ」を「モデルメッシュ４００」（図３（ａ）参照）と適宜称することとする。
【００３７】
この図３（ａ）に示すモデルメッシュ４００のメッシュの交点たる三角形のポリゴン４００ａの３つの頂点４００ｂ，４００ｃ，４００ｄにはそれぞれ、ＸＹＺ直交座標系におけるＸ座標値、Ｙ座標値、ならびに、高さ情報たるＺ座標値が位置情報として設定されているものである。なお、モデルメッシュ４００は、当該モデルメッシュ４００を構成する複数のポリゴン４００ａの総数と一致する総数の面４００ｅを有するものである（図３（ｂ）参照）。
【００３８】
そして、三次元モデルデータは、マイクロコンピュータ２００のＣＰＵ２０２の制御により図示しない入力装置を介して三次元造形装置１０に入力され、ＲＡＭ２０６の所定のエリアに記憶されて、当該記憶エリアから適宜読み出されて使用されることになる。
【００３９】
なお、この実施の形態においては、三角形のポリゴン４００ａよりなるモデルメッシュ４００で表わされるような三次元モデルデータを用いればよく、当該三次元モデルデータを生成する手法は特に限定されるものではないことは勿論である。例えば、ＣＡＤシステムにおける三次元形状データのような立体ベースで生成されたものや、あるいは２次元の形状を示す２次元形状データから生成されたもの、またスキャニングという手法により生成された三次元モデルデータを使用することができる。
【００４０】
また、三次元モデルデータの生成の手法や各種の設定内容、あるいは、当該三次元モデルデータの示す三次元造形物１００の具体的な立体形状などに応じて、三次元モデルデータの示す三次元モデルを表現する面の総数は異なるものであり、当該面の総数は三次元モデルデータに基づいて任意の手法により予め算出可能なものである。
【００４１】
ここで、本発明による三次元モデルデータの分割位置の算出方法の処理の概要について説明することとする（図４（ａ）〜（ｄ）参照）。
【００４２】
上記したように三次元造形装置１０において作製する三次元造形物１００（図２参照）と対応する三次元モデルデータは、複数の三角形のポリゴン４００ａの集合で構成されるモデルメッシュ４００（図３（ａ）参照）であって、当該モデルメッシュ４００の複数のポリゴン４００ａのそれぞれについて、ポリゴン４００ａの面４００ｅが上向き面または下向き面のいずれであるかを判定する（図４（ａ）（ｂ）（ｃ）参照）。
【００４３】
より詳細には、三次元モデルデータの面が上向き面であるか下向き面であるかを判断する処理は、図４（ａ）に模式的に示した三次元モデルデータの面を例にして説明すると、ＸＹＺ直交座標系においてＸＹ平面に直交するＺ軸方向、即ち、切削手段であるエンドミル３０の固定的な軸線方向、に対する面の傾きを基準とするものである。当該基準により、図４（ａ）に示す角α１のようにＺ軸に対する傾きが垂直以下で鋭角をなしている面は上向き面となり、図４（ａ）に示す角α２のようにＺ軸に対する傾きが垂直より大きく鈍角をなしている面は下向き面となる。
【００４４】
なお、この実施の形態においては、三次元モデルデータの示すモデルメッシュ４００の面であるポリゴン４００ａの面４００ｅの向きの判定に際して、複数のポリゴン４００ａそれぞれの面４００ｅのＺ軸方向に一致するエンドミル３０の軸線方向に対する傾きを基準とするため、後述するように、当該面４００ｅに対して垂直な方向を向いたベクトルである面の法線ベクトル（図４（ｂ）参照）を用いるものである。
【００４５】
そして、三次元モデルデータの示すモデルメッシュ４００の全てのポリゴン４００ａについて、面４００ｅが上向き面と下向き面とのいずれに分類されるかを判定したならば、面４００ｅが下向きのポリゴン４００ａの集合が得られる。
【００４６】
それから、当該面４００ｅが下向きのポリゴン４００ａの集合の中で、即ち、モデルメッシュ４００の複数のポリゴン４００ａのうち下向き面に分類された複数のポリゴン４００ａの中で、互いに隣接するポリゴン同士をグループ化する。こうしてグループ化された複数の下向き面のポリゴン４００ａは、グループ毎に、当該複数の下向き面のポリゴン４００ａによって単一の連続面を形成するものである（図４（ｄ）（ｅ）参照）。
【００４７】
その後、グループ化された複数の下向き面のポリゴン４００ａの集合毎に、Ｚ軸方向に一致するエンドミル３０の軸線方向における最下点を求めて、分割位置とするものである（図４（ｅ）参照）。
【００４８】
次に、図５乃至図９に示されている本発明による三次元モデルデータの分割位置の算出処理のルーチンのフローチャートを参照しながら、上記三次元造形装置１０（図１参照）により実行される本発明による三次元モデルデータの分割位置の算出処理について説明する。
【００４９】
なお、図５乃至図９に示す本発明による三次元モデルデータの分割位置の算出処理ルーチンのフローチャートは、三次元造形装置１０において作製する三次元造形物１００（図２参照）に対応する三次元モデルデータ、即ち、図３（ａ）のモデルメッシュ４００で表わされるような三次元モデルデータを処理対象として起動されて実行されるものである。
【００５０】
また、以下の説明においては、本発明の実施に関連する三次元モデルデータの分割位置の算出の処理に関してのみ詳細に説明することとし、従来より公知の処理、例えば、図示しない入力装置を介して入力された三次元モデルデータをＲＡＭ２０６に記憶する処理や、あるいは三次元モデルデータに従ってヘッドやテーブル２２などを移動する処理などについては、その詳細な説明は省略するものとする。
【００５１】
図５に示す本発明による三次元モデルデータの分割位置の算出処理ルーチンは、当該本発明による三次元モデルデータの分割位置の算出処理のメイン・ルーチンであり、三次元モデル表面の分類処理ルーチン（ステップＳ５０２）と、分割位置決定処理ルーチン（ステップＳ５０４）との２つのサブ・ルーチンの処理によって構成されているものである。
【００５２】
この本発明による三次元モデルデータの分割位置の算出処理ルーチンを詳細に説明すると、まず、三次元モデル表面の分類処理のルーチンを実行する（ステップＳ５０２）。即ち、このステップＳ５０２のルーチンの処理においては、三次元モデルデータの複数の面のそれぞれが、当該面の法線ベクトルを用いて上向き面または下向き面のいずれであるかを判定されて、下向き面の集合が取得され、当該下向き面の集合の中で単一の連続面を形成するように下向き面がグループ化されることになる。
【００５３】
上記したステップＳ５０２の処理を終了すると、ステップＳ５０４の処理に進み、分割位置決定処理処理ルーチンを実行する。このステップＳ５０４のサブ・ルーチンの処理によって、先のステップＳ５０２の処理によってグループ化された下向き面毎に、分割位置となるＺ軸方向における最下点が求められることなる。
【００５４】
このように上記した本発明による三次元モデルデータの分割位置の算出処理ルーチンを構成する２つのサブ・ルーチンの処理によって、三次元モデルデータの複数の面が分類されて下向き面の集合が取得され、当該下向き面の集合をグループ化して最下点を求めることで、三次元モデルデータの分割位置が決定されるものである。
【００５５】
以下、図６乃至図９を参照しながら、本発明による三次元モデルデータの分割位置の算出処理ルーチン（図５参照）を構成する２つのサブ・ルーチン処理の各々について詳細に説明する。
【００５６】
まず、図６に示す三次元モデル表面の分類処理ルーチン（図５に示すステップＳ５０２参照）が起動されると、まず、ステップＳ６０２において、三次元モデルデータの示すモデルメッシュ４００を構成する複数のポリゴン４００ａそれぞれの略三角形形状の面４００ｅの番号を示す変数ｉの値を「０」に初期化する。
【００５７】
上記したステップＳ６０２の処理を終了すると、ステップＳ６０４の処理に進み、変数ｉの示す番号の面ｉの向きを求める処理のサブ・ルーチン（図７参照）を実行する。このステップＳ６０４のサブ・ルーチンの処理によって、面ｉの向きが、下向きあるいは上向きのいずれであるかが決定されることになる。
【００５８】
ステップＳ６０４の処理に続いて、ステップＳ６０６の処理においては、ステップＳ６０４の処理（図７参照）により決定された面ｉの向きが、下向きと上向きとのいずれであるかを判断する処理を行なう。このステップＳ６０６の判断処理により、面ｉの向きが下向きであると判断された場合には、ステップＳ６０８の処理に進み、面ｉの向きが上向きであると判断された場合には、ステップＳ６１０の処理に進む。
【００５９】
ここで、ステップＳ６０８の処理においては、先のステップＳ６０６の判断処理により面の向きが下向きであると判断された面ｉを、下向き面の集合であるレジスタｄｏｗｎＦａｃｅｔに追加して記憶する。このステップＳ６０８の処理が終了すると、ステップＳ６１０の処理に進む。
【００６０】
そして、ステップＳ６１０においては、三次元モデルデータの示すモデルメッシュ４００の面４００ｅの番号を示す変数ｉの値を１だけインクリメントして、ステップＳ６１２の処理に進む。
【００６１】
ステップＳ６１２においては、変数ｉの値に比べて、三次元モデルデータの示す三次元モデルを表現するモデルメッシュ４００を構成する面４００ｅの総数を示すレジスタｆａｃｅｔＴｏｔａｌの値が大きいか否かを判断する処理を行なう。なお、当該レジスタｆａｃｅｔＴｏｔａｌの値は、処理対象である三次元モデルデータから任意の手法により予め算出されて記憶されているものである。
【００６２】
このステップＳ６１２の判断処理により、モデルメッシュ４００の面４００ｅの番号である変数ｉの値に比べて面４００ｅの総数であるレジスタｆａｃｅｔＴｏｔａｌの値が大きいと判断された場合には、三次元モデルデータの示すモデルメッシュ４００を構成する全ての面４００ｅに対して、当該三次元モデル表面の分類処理ルーチンにおける面の分類処理が行なわれていないので、ステップＳ６０４に戻り、ステップ６０４乃至ステップＳ６１２の処理を繰り返す。
【００６３】
一方、ステップＳ６１２の判断処理により、変数ｉの値に比べてレジスタｆａｃｅｔＴｏｔａｌの値が等しいあるいは小さいと判断された場合には、三次元モデルデータの示すモデルメッシュ４００を構成する全ての面４００ｅに対して、当該三次元モデル表面の分類処理ルーチンにおける面の分類処理が行なわれたので、ステップＳ６１４の処理に進む。
【００６４】
そして、ステップＳ６１４においては、レジスタｄｏｗｎＦａｃｅｔに記憶されている下向き面の集合を連続面でグループ化する処理のサブ・ルーチン（図８参照）を実行する。このステップＳ６１４のサブ・ルーチンの処理によって、レジスタｄｏｗｎＦａｃｅｔに記憶されている複数の下向き面がそれぞれ、互いに隣接する下向き面同士で集合して連続面となり、少なくとも１以上のグループに分かれることになる。
【００６５】
このステップＳ６１４の処理を終了したならば、図６に示す三次元モデル表面の分類処理ルーチンを終了して、本発明による三次元モデルデータの分割位置の算出処理のメイン・ルーチン（図５参照）にリターンする。
【００６６】
次ぎに、図７に示す面ｉの向きを求める処理のサブ・ルーチン（図６に示すステップＳ６０４参照）について説明するが、このサブ・ルーチンが起動されると、まず、ステップＳ７０２において、モデルメッシュ４００の複数の面４００ｅのうち、処理対象である変数ｉの示す番号の面ｉに直交するベクトル、即ち、ポリゴン４００ａの面４００ｅに対して垂直な方向を向いたベクトルである面の法線ベクトルを算出し、当該法線ベクトルをレジスタｎｏｍａｌＶｅｃｔｏｒに記憶する。
【００６７】
より詳細には、図４（ｂ）（ｃ）に示すように、モデルメッシュ４００を構成する複数のポリゴン４００ａのうち、処理対象である面ｉに対応するポリゴン４００ａにおいて、三角形のポリゴン４００ａの頂点４００ｂ，４００ｃ，４００ｄの頂点の番号をｎとし、ポリゴン４００ａの面４００ｅの反時計回り（図４（ｂ）（ｃ）に示す頂点の並びを示す矢印参照）の頂点列をｖｅｒｔｅｘとし、面４００ｅの反時計回りの頂点列における最後の頂点の番号（即ち、最初の頂点の番号に一致する頂点の番号）をｎＬａｓｔとすると、下記に示す式（１）より、処理対象である面ｉの法線ベクトルを算出することができる。
【数１】
2007076037.tif 000003
【００６８】
・・・式（１）
こうして、面ｉの法線ベクトルは式（１）の演算結果から求められてレジスタｎｏｍａｌＶｅｃｔｏｒに記憶される。
【００６９】
そして、ステップＳ７０２の処理に続いて、ステップＳ７０４の処理においては、ステップＳ７０２の処理によりレジスタｎｏｍａｌＶｅｃｔｏｒに記憶された面ｉの法線ベクトルのＺ軸方向における要素であるＺ要素が０より小さいか否かを判断する処理を行なう。
【００７０】
このステップＳ７０４の判断処理により、面ｉの法線ベクトルのＺ要素が０より小さいと判断された場合には、面ｉの法線ベクトルのＺ要素は負の数であって、面ｉは図４（ａ）に示す角α２のようにＺ軸に対する傾きが垂直より大きく鈍角をなしている面なので、ステップＳ７０６の処理に進み、処理対象である面ｉの向きは下向きであるとして、この面ｉの向きを求める処理ルーチンを終了し、三次元モデル表面の分類処理ルーチン（図６参照）にリターンする。
【００７１】
一方、ステップＳ７０４の判断処理により、面ｉの法線ベクトルのＺ要素が０に等しいあるいは０より大きいと判断された場合には、面ｉの法線ベクトルのＺ要素は０あるいは正の数であって、面ｉは図４（ａ）に示す角α１のようにＺ軸に対する傾きが垂直以下で鋭角をなしている面なので、ステップＳ７０８の処理に進み、処理対象である面ｉの向きは上向きであるとして、この面ｉの向きを求める処理ルーチンを終了し、三次元モデル表面の分類処理ルーチン（図６参照）にリターンする。
【００７２】
次ぎに、図８に示すｄｏｗｎＦａｃｅｔを連続面でグループ化する処理のサブ・ルーチン（図６に示すステップＳ６１４参照）について説明するが、このサブ・ルーチンが起動されると、まず、ステップＳ８０２において、下向き面の集合であるレジスタｄｏｗｎＦａｃｅｔに記憶されているモデルメッシュ４００のポリゴン４００ａの面４００ｅ、即ち、モデルメッシュ４００を構成する複数の面４００ｅのうち、図７に示す面ｉの向きを求める処理ルーチン（図６に示すステップＳ６０４参照）によって面の向きが下向きであると判断された面４００ｅの番号を示す変数ｊならびに変数ｋの値をそれぞれ「０」に初期化する。
【００７３】
また、ステップＳ８０２においては、変数ｊの示す番号の面ｊの有する頂点４００ｂ，４００ｃ，４００ｄの頂点の番号を示す変数ｎの値を「０」に初期化する。また、変数ｋの示す番号の面ｋの有する頂点４００ｂ，４００ｃ，４００ｄの頂点の番号を示す変数ｍの値を「０」に初期化する。
【００７４】
そして、ステップＳ８０２の処理に続いて、ステップＳ８０４の処理においては、変数ｊの示す番号の面ｊの有する３つの頂点４００ｂ，４００ｃ，４００ｄのうち、変数ｎの示す番号の頂点ｎならびに変数ｎ＋１の示す番号の頂点ｎ＋１と、変数ｋの示す番号の面ｋの有する３つの頂点４００ｂ，４００ｃ，４００ｄのうち、変数ｍの示す番号の頂点ｍならびに変数ｍ＋１の示す番号の頂点ｍ＋１とが、一致するか否かを判断する処理を行なう（図４（ｄ−１）（ｄ−２）参照）。
【００７５】
即ち、このステップＳ８０４の判断処理においては、処理対象である面ｊのポリゴン４００ａと面ｋのポリゴン４００ａとの２つのポリゴン４００ａの間で、頂点ｎと頂点ｎ＋１または頂点ｍと頂点ｍ＋１のように頂点の番号が連続する箇所、即ち、三角形をした２つのポリゴン４００ａのそれぞれの３本の稜線のうちの１本の稜線が互いに共有する関係にあるか否かの判断がなされる。
【００７６】
そして、ステップＳ８０４の判断処理により、面ｊの頂点ｎならびに頂点ｎ＋１（図４（ｄ−２）参照）と、面ｋの頂点ｍならびに頂点ｍ＋１（図４（ｄ−２）参照）とが、一致すると判断された場合には、図４（ｄ−１）に示すように、面ｊのポリゴン４００ａと面ｋのポリゴン４００ａとの間で稜線が共有されて２つのポリゴン４００ａが互いに隣接しているので、ステップＳ８０６の処理に進み、面ｋと面ｊとを同じグループにする。
【００７７】
一方、ステップＳ８０４の判断処理により、面ｊの頂点ｎならびに頂点ｎ＋１と面ｋの頂点ｍならびに頂点ｍ＋１とが一致しないと判断された場合には、面ｊのポリゴン４００ａと面ｋのポリゴン４００ａとは隣接していないので、ステップＳ８０８の処理に進む。
【００７８】
ステップＳ８０８の処理においては、変数ｍの値を１だけインクリメントして、面ｋの処理対象となる頂点の番号を１つ進めて、ステップＳ８１０の処理に進む。
【００７９】
そして、ステップＳ８１０の処理においては、面ｋの頂点の番号を示す変数ｍの値に比べて、ポリゴン４００ａの面４００ｅの反時計回り（図４（ｂ）（ｃ）に示す頂点の並びを示す矢印参照）の頂点列における最後の頂点の番号（即ち、最初の頂点の番号に一致する頂点の番号）を示すｎＬａｓｔの値が大きいか否かを判断する処理を行なう。
【００８０】
このステップＳ８１０の判断処理により、面ｋの頂点の番号を示す変数ｍの値に比べて最後の頂点の番号ｎＬａｓｔの値が大きいと判断された場合には、変数ｋの示す番号の面４００ｅの３つの頂点４００ｂ，４００ｃ，４００ｄの全てについて、変数ｊの示す番号の面ｊの頂点との一致の判断処理が行なわれていないので、ステップＳ８０４に戻り、ステップ８０４乃至ステップＳ８１０の処理を繰り返す。
【００８１】
一方、ステップＳ８１０の判断処理により、面ｋの頂点の番号を示す変数ｍの値に比べて最後の頂点の番号ｎＬａｓｔの値が等しいあるいは小さいと判断された場合には、変数ｋの示す番号の面４００ｅの３つの頂点４００ｂ，４００ｃ，４００ｄの全てについて、変数ｊの示す番号の面ｊの頂点との一致の判断処理が行なわれたので、ステップＳ８１２の処理に進む。
【００８２】
ステップＳ８１２の処理においては、変数ｎの値を１だけインクリメントして、面ｊの処理対象となる頂点の番号を１つ進める。また、面ｋの頂点の番号を示す変数ｍの値を「０」に初期化して、ステップＳ８１４の処理に進む。
【００８３】
そして、ステップＳ８１４の処理においては、面ｊの頂点の番号を示す変数ｎの値に比べて、ポリゴン４００ａの面４００ｅの反時計回りの頂点列における最後の頂点の番号（即ち、最初の頂点の番号に一致する頂点の番号）を示すｎＬａｓｔの値が大きいか否かを判断する処理を行なう。
【００８４】
このステップＳ８１４の判断処理により、面ｊの頂点の番号を示す変数ｎの値に比べて最後の頂点の番号ｎＬａｓｔの値が大きいと判断された場合には、変数ｎの示す番号の面４００ｅの３つの頂点４００ｂ，４００ｃ，４００ｄの全てについて、変数ｋの示す番号の面ｋの頂点との一致の判断処理が行なわれていないので、ステップＳ８０４に戻り、ステップ８０４乃至ステップＳ８１４の処理を繰り返す。
【００８５】
一方、ステップＳ８１４の判断処理により、面ｊの頂点の番号を示す変数ｎの値に比べて最後の頂点の番号ｎＬａｓｔの値が等しいあるいは小さいと判断された場合には、変数ｎの示す番号の面４００ｅの３つの頂点４００ｂ，４００ｃ，４００ｄの全てについて、変数ｋの示す番号の面ｋの頂点との一致の判断処理が行なわれたので、ステップＳ８１６の処理に進む。
【００８６】
ステップＳ８１６の処理においては、変数ｋの値を１だけインクリメントして、処理対象とする下向きの面４００ｅの番号を１つ進める。また、面ｊの頂点の番号を示す変数ｎの値を「０」に初期化して、ステップＳ８１８の処理に進む。
【００８７】
ステップＳ８１６の処理に続いて、ステップＳ８１８においては、処理対象とする下向きの面４００ｅの番号を示す変数ｋの値が、下向き面の集合であるレジスタｄｏｗｎＦａｃｅｔに記憶されている面４００ｅの総数、即ち、下向き面の総数を示すレジスタｄｏｗｎＦａｃｅｔＴｏｔａｌの値より小さいか否かを判断する処理を行なう。
【００８８】
このステップＳ８１８の判断処理により、処理対象とする下向きの面４００ｅの番号である変数ｋの値が下向き面の総数であるレジスタｄｏｗｎＦａｃｅｔＴｏｔａｌの値より小さいと判断された場合には、ステップＳ８０４に戻り、ステップ８０４乃至ステップＳ８１８の処理を繰り返す。
【００８９】
一方、ステップＳ８１８の判断処理により、処理対象とする下向きの面４００ｅの番号である変数ｋの値が下向き面の総数であるレジスタｄｏｗｎＦａｃｅｔＴｏｔａｌの値と等しいあるいはそれより大きいと判断された場合には、ステップＳ８２０の処理に進む。
【００９０】
ステップＳ８２０の処理においては、変数ｊの値を１だけインクリメントして、処理対象とする下向きの面４００ｅの番号を１つ進める。また、処理対象とする下向き面の番号を示す変数ｋの値を「０」に初期化して、ステップＳ８２２の処理に進む。
【００９１】
ステップＳ８２２においては、処理対象とする下向きの面４００ｅの番号を示す変数ｊの値が、下向き面の集合であるレジスタｄｏｗｎＦａｃｅｔに記憶されている面４００ｅの総数を示すレジスタｄｏｗｎＦａｃｅｔＴｏｔａｌの値より小さいか否かを判断する処理を行なう。
【００９２】
このステップＳ８２２の判断処理により、処理対象とする下向きの面４００ｅの番号である変数ｊの値が下向き面の総数であるレジスタｄｏｗｎＦａｃｅｔＴｏｔａｌの値より小さいと判断された場合には、下向き面の集合であるレジスタｄｏｗｎＦａｃｅｔに記憶されている全ての下向きの面４００ｅに対して、当該ｄｏｗｎＦａｃｅｔを連続面でグループ化する処理ルーチンにおける処理が行なわれていないので、ステップＳ８０４に戻り、ステップ８０４乃至ステップＳ８２２の処理を繰り返す。
【００９３】
一方、ステップＳ８２２の判断処理により、処理対象とする下向きの面４００ｅの番号である変数ｊの値が下向き面の総数であるレジスタｄｏｗｎＦａｃｅｔＴｏｔａｌの値と等しいあるいはそれより大きいと判断された場合には、下向き面の集合であるレジスタｄｏｗｎＦａｃｅｔに記憶されている全ての下向きの面４００ｅに対して、当該ｄｏｗｎＦａｃｅｔを連続面でグループ化する処理ルーチンにおける処理が行なわれたので、このｄｏｗｎＦａｃｅｔを連続面でグループ化する処理ルーチンを終了し、三次元モデル表面の分類処理ルーチン（図６参照）にリターンする。
【００９４】
そして、図９に示す分割位置決定処理ルーチン（図５に示すステップＳ５０４参照）のフローチャートが起動されると、まず、ステップＳ９０２において、図８に示すｄｏｗｎＦａｃｅｔを連続面でグループ化する処理ルーチン（図６に示すステップＳ６１４参照）によってグループ化された連続した下向き面グループの番号を示す変数ｐ、ならびに、当該連続した下向き面グループの頂点の番号を示す変数ｒをそれぞれ「０」に初期化する。
【００９５】
ステップＳ９０２の処理に続いて、ステップＳ９０４の処理においては、変数ｐの示す番号の連続した下向き面グループの有する複数の頂点、即ち、連続した下向き面グループを構成する複数の下向き面であるモデルメッシュ４００のポリゴン４００ａの面４００ｅの頂点４００ｂ，４００ｃ，４００ｄのうち、変数ｒの示す番号の頂点ｒのＺ座標値をレジスタＺＡに記憶するとともに、変数ｒ＋１の示す番号の頂点ｒ＋１のＺ座標値をレジスタＺＢに記憶する（図４（ｅ）参照）。
【００９６】
次ぎに、ステップＳ９０６の処理においては、レジスタＺＡに記憶されている頂点ｒのＺ座標値が、レジスタＺＢに記憶されている頂点ｒ＋１のＺ座標値より小さいか否かを判断する処理を行なう。
【００９７】
このステップＳ９０６の判断処理により、レジスタＺＡに記憶されている頂点ｒのＺ座標値がレジスタＺＢに記憶されている頂点ｒ＋１のＺ座標値より小さいと判断された場合には、ステップＳ９０８の処理に進む。一方、ステップＳ９０６の判断処理により、レジスタＺＡに記憶されている頂点ｒのＺ座標値がレジスタＺＢに記憶されている頂点ｒ＋１のＺ座標値と等しいあるいはそれより大きいと判断された場合には、ステップＳ９１０の処理に進む。
【００９８】
そして、ステップＳ９０８の処理においては、レジスタＺＡに記憶されている頂点ｒのＺ座標値を、処理対象である変数ｐの示す番号の連続した下向き面グループのＺ軸方向における分割位置を示すＺ座標値を格納するレジスタｄｉｖＰｏｓｐに記憶して、レジスタｄｉｖＰｏｓｐの値を更新する。このステップＳ９０８の処理が終了すると、ステップＳ９１２の処理に進む。
【００９９】
例えば、図４（ｅ）に示す場合には、ステップＳ９０２→ステップＳ９０４→ステップＳ９０６→ステップＳ９０８と進み、Ｚ軸方向に沿ってレジスタＺＢの頂点ｒ＋１より下方側に位置するレジスタＺＡの頂点ｒのＺ座標値が、変数ｐの示す番号の連続した下向き面グループのＺ軸方向における分割位置を示すレジスタｄｉｖＰｏｓｐに記憶されることになる。
【０１００】
一方、ステップＳ９１０の処理においては、レジスタＺＢに記憶されている頂点ｒ＋１のＺ座標値を、分割位置を示すレジスタｄｉｖＰｏｓｐに記憶して、レジスタｄｉｖＰｏｓｐの値を更新する。このステップＳ９１０の処理が終了すると、ステップＳ９１２の処理に進む。
【０１０１】
ステップＳ９１２においては、連続した下向き面グループの頂点の番号を示す変数ｒの値を１だけインクリメントして、ステップＳ９１４の処理に進む。
【０１０２】
そして、ステップＳ９１４の処理においては、変数ｒの値が、連続した下向き面グループの頂点の総数を示すレジスタｖｅｒｔｅｘＴｏｔａｌｐの値より小さいか否かを判断する処理を行なう。
【０１０３】
このステップＳ９１４の判断処理により、連続した下向き面グループの頂点の番号である変数ｒの値が連続した下向き面グループの頂点の総数であるレジスタｖｅｒｔｅｘＴｏｔａｌｐの値より小さいと判断された場合には、処理対象である変数ｐの示す番号の連続した下向き面グループの全ての頂点に対して、ステップＳ９０４乃至ステップＳ９０６の処理が行なわれていないので、ステップＳ９０４に戻り、ステップＳ９０４乃至ステップＳ９１４の処理を繰り返す。
【０１０４】
一方、ステップＳ９１４の判断処理により、連続した下向き面グループの頂点の番号である変数ｒの値が連続した下向き面グループの頂点の総数であるレジスタｖｅｒｔｅｘＴｏｔａｌｐの値と等しいあるいはそれより大きいと判断された場合には、処理対象である変数ｐの示す番号の連続した下向き面グループの全ての頂点に対して、ステップＳ９０４乃至ステップＳ９０６の処理が行なわれたので、ステップＳ９１６の処理に進む。
【０１０５】
ステップＳ９１６の処理においては、連続した下向き面グループの番号を示す変数ｐを１だけインクリメントする。また、連続した下向き面グループの頂点の番号を示す変数ｒを「０」に初期化する。
【０１０６】
ステップＳ９１６の処理を終了すると、ステップＳ９１８の処理に進み、変数ｐの値が、連続した下向き面グループの総数を示すレジスタｇｒｏｕｐＴｏｔａｌの値より小さいか否かを判断する処理を行なう。
【０１０７】
このステップＳ９１８の判断処理により、連続した下向き面グループの番号である変数ｐの値が連続した下向き面グループの総数であるレジスタｇｒｏｕｐＴｏｔａｌの値より小さいと判断された場合には、連続した下向き面グループの全てに対して、当該分割位置決定処理ルーチンにおける処理が行なわれていないので、ステップＳ９０４に戻り、ステップ９０４乃至ステップＳ９１８の処理を繰り返す。
【０１０８】
一方、ステップＳ９１８の判断処理により、連続した下向き面グループの番号である変数ｐの値が連続した下向き面グループの総数であるレジスタｇｒｏｕｐＴｏｔａｌの値と等しいあるいはそれより大きいと判断された場合には、連続した下向き面グループの全てに対して、当該分割位置決定処理ルーチンにおける処理が行なわれたので、この分割位置決定処理ルーチンを終了して、本発明による三次元モデルデータの分割位置の算出処理のメイン・ルーチン（図５参照）にリターンする。
【０１０９】
そして、図５乃至図９に示す本発明による三次元モデルデータの分割位置の算出処理により、三次元造形装置１０において作製する三次元造形物１００と対応する三次元モデルデータの分割位置が決定されたならば、当該分割位置に対応するマイクロコンピュータ２００の制御により、三次元モデルデータに基づいて、三次元造形装置１０における三次元造形物１００の作製が行なわれる（図１１参照）。
【０１１０】
より詳細には、三次元造形装置１０において作製する三次元造形物１００（図２参照）に対応する三次元モデルデータを処理対象として、本発明による三次元モデルデータの分割位置の算出処理が実行されると、まず、三次元モデル表面の分類処理ルーチン（ステップＳ５０２）によって、三次元造形物１００に対応する三次元モデルデータのモデルメッシュ４００（図３（ａ）参照）からは、それぞれ単一の連続面を形成する下向き面の２つのグループ４００ｆ，４００ｇが生成される（図１０（ａ）参照）。
【０１１１】
そして、分割位置決定処理ルーチン（ステップＳ５０４）によって、グループ４００ｆのＺ軸方向における最も下方側の位置Ｉと、グループ４００ｇのＺ軸方向における最も下方側の位置ＩＩとがそれぞれ、分割位置として算出されることになる（図１０（ａ）参照）。
【０１１２】
こうして本発明による三次元モデルデータの分割位置の算出処理により分割位置Ｉ，ＩＩが算出されると、処理対象である三次元モデルデータの示す三次元モデルたるモデルメッシュ４００は、当該分割位置Ｉ，ＩＩで分割される（図１０（ｂ）参照）。つまり、モデルメッシュ４００は、Ｚ軸方向における位置Ｉと位置ＩＩの２つの分割位置で分割されるので、図１０（ｃ）に示す分割メッシュ４００ｈと分割メッシュ４００ｉとの２つに分けられる。
【０１１３】
ここで、三次元造形装置１０において作製する三次元造形物１００の外表面は、図２に示すように、２つの端面１００ａ，１００ｂと、外周面１００ｃならびに内周面１００ｄとにより構成されるものであり、三次元造形物１００は内部に空洞を備える三次元形状を有するものである。また、三次元造形装置１０において三次元造形物１００を作製するためのツールであるエンドミル３０は、Ｚ軸方向から材料を切削することにより造形するものである。
【０１１４】
こうした三次元造形装置１０において、単一の造形方向を有するツールを用いて三次元形状を造形しようとすると、三次元造形物の外表面の全てをツールによって直接造形することが困難な場合がある。
【０１１５】
具体的には、三次元造形物１００の場合、エンドミル３０はＺ軸方向から造形を行なうものなので、２つの端面１００ａ，１００ｂと、外周面１００ｃのＺ軸方向に沿った上方側の半分１００ｃｔと、内周面１００ｄのＺ軸方向に沿った下方側の半分１００ｄｕとは、エンドミル３０が接近していき、当接した状態で切削することで造形可能な部分である（図１０（ｄ）参照）。一方、外周面１００ｃのＺ軸方向に沿った下方側の半分１００ｃｄと、内周面１００ｄのＺ軸方向に沿った上方側の半分１００ｄｔとは、エンドミル３０が接近して当接することができないので、直接切削できない部分である（図１０（ｅ）参照）。
【０１１６】
つまり、三次元造形物１００の外表面は、切削により造形可能な切削面（図１０（ｄ）参照）と、転写により造形可能な転写面（図１０（ｅ）参照）との異なる種類の面によって構成されるものである。
【０１１７】
そこで、上記したような三次元造形物１００の外表面を、本発明による三次元モデルデータの分割位置の算出処理により算出された分割位置Ｉ，ＩＩで三次元モデルを分割して得られる分割メッシュ４００ｉ，４００ｈ（図１０（ｃ）参照）に対応させると、分割位置Ｉ，ＩＩで分割することにより、三次元造形物１００の空洞部分はなくなって、全ての面が外側に開放された面となる。
【０１１８】
そして、図１０（ａ）に示すグループ４００ｆは図１０（ｅ）に示す外周面１００ｃのＺ軸方向に沿った下方側の半分１００ｃｄである転写面と対応するものであり、図１０（ａ）に示すグループ４００ｇは図１０（ｅ）に示す内周面１００ｄのＺ軸方向に沿った上方側の半分１００ｄｔである転写面と対応するものであり、当該２つの離れた転写面、即ち、複数の非連続な２つの下向き面のそれぞれで分割位置が算出されて、転写面の最下点が分割位置となる。つまり、連続した下向き面グループの総数の一致する、即ち、三次元造形物の転写面の総数と一致する総数の分割位置が決定される。なお、三次元造形物１００の２つの分割位置Ｉ，ＩＩのうち、Ｚ軸方向において最も下方側に位置する分割位置Ｉは、三次元モデルデータのＺ軸方向における最下点、即ち、三次元造形物１００の最下点と一致しているものである。
【０１１９】
こうして切削面と転写面との異なる性質の部分を含む外表面を有する三次元造形物１００を、本発明により算出された分割位置を用いることで、当該分割位置が作製する三次元造形物の形状に応じて必ずしも均一ではない造形工程の切り換え高さを示すので、図１１に示すようにして、補助材料によって形成された領域を切削する工程と造形材料によって形成された造形領域を切削する工程とを繰り返し行う中で、エンドミル３０のＺ軸方向に沿った切削可能高さは一定であるものの、Ｚ軸方向に沿った所定の位置で造形工程を切り換えて造形することができる。
【０１２０】
より詳細には、本発明により算出された分割位置Ｉ，ＩＩでの分割による分割メッシュ４００ｈ，４００ｉ（図１０（ｃ）参照）に対応して、Ｚ軸方向に沿ったより下方側に位置する分割メッシュ４００ｈに対応する造形が先に進行し（図１１（ａ）（ｂ）（ｃ）（ｄ）参照）、その後、Ｚ軸方向に沿って分割メッシュ４００ｈより上方側に位置する分割メッシュ４００ｉに対応する造形が行なわれる（図１１（ｅ）（ｆ）（ｇ）（ｈ）参照）。その結果、三次元造形物１００において単一の面である外周面１００ｃと内周面１００ｄとはそれぞれ、Ｚ軸方向に沿った上下方向で切削面の部分と転写面の部分とに分かれて別々の工程で造形されることになる。
【０１２１】
具体的には、まず、マイクロコンピュータ２００の制御によって、テーブル２２の上面２２ａと所定の間隔を開けて位置するディスペンサー２４の吐出口２４ａから、補助材料である所定の温度に加熱された低融点金属を吐出する。こうしてディスペンサー２４の吐出口２４ａから吐出された低融点金属の飛滴は、テーブル２２の上面２２ａの低融点金属を塗布すべき領域内の所定の位置に落下して、所定の位置にドットを形成する（図１１（ａ）参照）。
【０１２２】
そして、低融点金属は塗布すべき領域内に精密に順次列状に連なってドット形状で供給されて塗布され、エンドミル３０による切削量が最小限に抑えられる三次元形状となる。こうしてドット形状に塗布された低融点金属は自然冷却して固化し、補助材層１０２が形成される（図１１（ａ）参照）。なお、図１１においては適宜、補助材料によって形成された部分に薄墨を付して表すこととする。
【０１２３】
こうして補助材料たる低融点金属により形成された補助材層１０２は、モーター（図示せず）の回転力によって軸線回りに回転するエンドミル３０との相対的な位置関係を三次元方向で変化させながら、エンドミル３０の切削部３０ａによって切削される。図１１（ｂ）には、補助材層１０２（図１１（ａ）参照）がエンドミル３０によって切削された後の補助材層１０２’が示されている。
【０１２４】
ここで、エンドミル３０の切削部３０ａが補助材層１０２を切削した際に生じて切削が終了した補助材層１０２’の表面に残留する切削粉は、図示しない給水システムにより供給される水の水流によって洗い流される。そして、除去された切削粉は水流で運ばれて、テーブル２２の外周側に配設された回収槽２０に流れ込む。
【０１２５】
こうして水流による補助材層１０２’の表面の洗浄が終了すると、補助材層１０２’の表面と所定の間隔を開けて位置するディスペンサー２６の吐出口２６ａから、造形材料である紫外線硬化樹脂を吐出する。こうしてディスペンサー２６の吐出口２６ａから吐出された紫外線硬化樹脂の飛滴は、補助材層１０２’の表面の紫外線硬化樹脂を塗布すべき領域内の所定の位置に落下して、所定の位置にドットを形成する。
【０１２６】
ここで、ドット形状で供給して塗布される紫外線硬化樹脂は、より詳細には、紫外線硬化樹脂を塗布すべき領域内において、互いに間隔を空けたドットが形成されるように塗布され、その後、先に形成されたドットの間を埋めるようにしてドット形状で塗布される。こうして、紫外線硬化樹脂は塗布すべき領域内に精密に少しずつドット形状で供給されて塗布され、エンドミル３０による切削量が最小限に抑えられる三次元形状となる。
【０１２７】
この際、ディスペンサー２６の吐出口２６ａの下方側に配設されたライトガイド部材４２により、光ファイバーの先端部から照射される紫外線が、３６０°リング状に照射されてスポット状に集光されている。これにより、ディスペンサー２６の吐出口２６ａから吐出された紫外線硬化樹脂が落下した補助材層１０２’の表面上の塗布すべき領域内に、ライトガイド部材４２からの紫外線が照射されて、ドット形状に塗布された紫外線硬化樹脂が硬化し、造形材層１０４が形成される（図１１（ｃ）参照）。
【０１２８】
なお、先にエンドミル３０によって切削された補助材層１０２’の表面が、水流で洗浄されているので、当該補助材層１０２’に積層されて一体化する造形材層１０４は、下層の補助材層１０２’の表面がきれいなので積層が上手くでき、高精度な積層が実現する。
【０１２９】
そして、造形材料たる紫外線硬化樹脂により形成された造形材層１０４と補助材層１０２’とは、軸線回りに回転するエンドミル３０との相対的な位置関係を三次元方向で変化させながら、エンドミル３０の切削部３０ａによって切削される。図１１（ｄ）には、造形材層１０４（図１１（ｃ）参照）がエンドミル３０によって切削された後の造形材層１０４’が示されている。  こうして、エンドミル３０の切削部３０ａが造形材層１０４と補助材層１０２’を切削した際に生じた切削粉は、図示しない給水システムにより供給される水の水流によって洗い流される。
【０１３０】
そして、除去された切削粉は水流で運ばれて、テーブル２２の外周側に配設された回収槽２０に流れ込む。なお、造形材層１０４を形成する造形材料は、水に不溶の紫外線硬化樹脂であるので、水流によって溶解することなく、造形材層１０４や造形材層１０４’の形状は維持される。
【０１３１】
水流による造形材層１０４’ならびに補助材層１０２’の表面の洗浄が終了すると、分割メッシュ４００ｈ（図１０（ｃ）参照）に対応する造形が終了しているので、続いて、分割メッシュ４００ｉ（図１０（ｃ）参照）に対応する造形が行われる。具体的には、上記した図１１（ａ）〜（ｄ）と同様の工程を繰り返し、補助材層１０６が形成され（図１１（ｅ）参照）、形成された補助材層１０６が切削されて補助材層１０６’となり（図１１（ｆ）参照）、補助材層１０６’に造形材層１０８が積層されて（図１１（ｇ）参照）、積層された造形材層１０８が補助材層１０６’とともに切削されて造形材層１０８’となる（図１１（ｈ）参照）。
【０１３２】
こうして補助材層１０６や造形材層１０８を積層させる工程においても、補助材料である低融点金属や造形材料である紫外線硬化樹脂は、塗布すべき領域内に精密にドット形状で供給されて塗布される。
【０１３３】
そして、補助材層１０２’、造形材層１０４’、補助材層１０６’ならびに造形材層１０８’の積層体である三次元造形物１００’（図１１（ｈ）参照）は、この造形材層１０４’と造形材層１０８’とで図１１（ｉ）に示す三次元造形物１００を形作ることになる。
【０１３４】
この三次元造形物１００’に図示しないエアーノズルからエアーを噴出して乾燥させた後、三次元造形物１００’をテーブル２２の上面２２ａから取り外して、補助材層１０２’と補助材層１０６’とを形成する補助材料たる低融点金属を溶解する。すると、補助材層１０２’ならびに補助材層１０６’が除去された後の残部たる造形材層１０４’ならびに造形材層１０８’によって構成される三次元造形物１００（図１１（ｉ）参照）が得られる。なお、補助材層を取り除いて三次元造形物１００を得る工程は、三次元造形装置１０内のシステムにおいて実施してもよいし、あるいは、三次元造形装置１０外のシステムにおいて実施してもよいものである。
【０１３５】
上記したようにして、本発明による三次元モデルデータの分割位置算出方法および三次元造形装置によれば、三次元モデル表面の分類処理のルーチン（ステップＳ５０２）の処理によって、三次元モデルデータの複数の面がそれぞれ分類されて、取得された下向き面の集合の中でグループ化が行なわれ、分割位置決定処理処理ルーチン（ステップＳ５０４）の処理によって、グループ化された下向き面毎のＺ軸方向における最下点が分割位置としてが決定されるので、三次元モデルデータの分割位置を非常に簡単な処理で自動的に算出することができる。
【０１３６】
しかも、本発明により算出される分割位置は、三次元モデルデータの面に応じたものなので、三次元モデルデータの示す多種多様な三次元形状毎にそれぞれ対応しており、自動で正確に算出されるものである。このため、複雑な三次元形状を示す三次元モデルデータの分割位置の決定に際しても、作業者により分割位置を決定する必要はなく、作業者の習熟度によらず、簡単な処理でＣＰＵ２０２の負荷は小さく、短時間で分割位置を算出することができる。
【０１３７】
従って、本発明によれば、三次元モデルデータの分割が自動化されるので、三次元モデルデータに基づいて三次元造形装置１０において実施される三次元造形の工程を自動化することができる（図１１参照）。
【０１３８】
また、三次元造形装置１０においては、三次元モデルデータの分割位置算出方法によって決定された分割位置で分割された三次元モデルデータに基づいて、軸線方向がＺ軸方向に固定された切削手段であるエンドミル３０による単一方向からの切削だけで、三次元造形物１００を作製することができる。従って、本発明によれば、三次元方向における複数の方向から切削を行なう多面切削のような複雑な構成は必要ないものである。
【０１３９】
また、三次元造形装置１０においては、三次元モデルデータの分割位置算出方法によって決定された分割位置で分割された三次元モデルデータに基づいて、補助材料によって形成された補助材層を切削する工程と造形材料によって形成された造形材層を切削する工程とを繰り返し行なって三次元造形物１００を作製することができる。従って、本発明によれば、複数のパーツに分解して造形した後に、当該複数のパーツを張り合わせて三次元造形物を完成するような煩雑な工程は必要ないものである。
【０１４０】
つまり、本発明によれば、三次元モデルデータの分割位置を自動的に算出して、多面切削や複数パーツの張り合わせを行なわずに、簡潔な構成で三次元モデルデータに基づく三次元造形の全工程をオートメーション化することができ、簡単に三次元造形物を作製することができる。
【０１４１】
しかも、本発明によれば、三次元造形装置１０における造形工程（図１１参照）のように、Ｚ軸方向と一致する高さ方向において作製する三次元造形物の造形形状によって異なる造形工程の切り換え高さ、即ち、補助材料によって補助材層を形成し当該補助材層を切削する工程と、造形材料によって造形材層を形成し当該造形材層を切削する工程とが繰り返えされる場合に、当該２つの工程を切り換える高さ位置を、三次元モデルデータの分割位置として自動で正確に算出することができ、三次元造形モデルの面の向きによって、造形材層を切削して造形する面と造形材層を補助材層の切削面に転写して造形する面とに適確に分類して造形を進めることができる。
【０１４２】
しかも、三次元造形装置１０における三次元造形は、従来の二次元の断面形状を積層して三次元造形物を作製する手法とは異なるため、三次元の切削精度が造形精度となり、二次元の断面形状を積層する積層精度に比べて造形精度を向上させることができ、高品質の三次元造形物を作製することができる。
【０１４３】
なお、上記した実施の形態は、以下の（１）乃至（７）に説明するように変形してもよい。
【０１４４】
（１）上記した実施の形態においては、三次元モデルデータの示す立体が複数の三角形のポリゴンの集合で構成される三次元メッシュで表されるような三次元モデルデータを用いるようにしたが、これに限られるものではないことは勿論であり、三角形のポリゴンとは異なる多角形のポリゴンの集合で構成される三次元メッシュで表されるような三次元モデルデータを使用してもよい。
【０１４５】
また、複数のポリゴンよりなる三次元モデルデータとは異なる三次元形状データであって、所定の三次元形状を示すデータを使用することも可能であり、例えば、曲面データのようなデータを使用してもよい。
【０１４６】
（２）上記した実施の形態においては、三次元モデルデータの面が上向き面であるか下向き面であるかを判断するのに法線ベクトル（図４（ｂ）参照）を用いるようにしたが、これに限られるものではないことは勿論であり、使用する三次元モデルデータの種類などに応じて、当該三次元モデルデータの面の所定の方向に対する傾きを算出可能な各種手法を用いることができる。
【０１４７】
（３）上記した実施の形態においては、本発明による三次元モデルデータの分割位置算出方法を三次元造形装置１０（図１参照）において実施するようにしたが、これに限られるものではないことは勿論であり、各種加工装置において実施可能なものである。
【０１４８】
また、本発明による三次元モデルデータの分割位置算出方法による結果のデータのみを加工装置に入力して使用するようにしたり、当該結果のデータに基づいて、その他の加工用のデータなどを処理したり、新たなデータを生成するようにしてもよい。例えば、本発明による算出された複数の分割位置のうち、三次元造形物の最下点と一致するような分割位置（図１０（ｂ）に示す位置Ｉ参照）を除いた残余の分割位置のみを使用するようにしてもよい。
【０１４９】
（４）上記した実施の形態においては、三次元造形装置１０に切削手段としてのエンドミル３０をその軸線方向をＺ軸方向に一致させて配設するようにしたが、これに限られるものではないことは勿論であり、例えば、エンドミル３０の軸線方向がＸ軸方向に一致するようにして配設してもよく、この場合には、分割位置をＸ軸方向に沿ったＸ座標値とすればよい。即ち、切削手段の切削方向に応じて、三次元造形物を形作るテーブルの位置や、本発明による三次元モデルデータの分割位置算出方法において三次元モデルデータの面の分類処理などを適宜変更すればよい。
【０１５０】
また、造形用のツールとしては、エンドミル３０に限定されるものではなく、被切削物に接触して、あるいは、被切削物に切削することなしに非接触で切削などが可能な各種ツールを使用可能なものである。
【０１５１】
（５）上記した実施の形態においては、補助材料と造形材料とがいずれも略ドット状で供給されるようにしたが、これに限られるものではないことは勿論であり、補助材料のみ、あるいは、造形材料のみが、略ドット状で供給されるようにしても、材料を高精度に塗布することができるものである。また、略ドット状とは異なるように材料を供給してもよい。
【０１５２】
また、上記した実施の形態においては、補助材料として低融点合金を用い、造形材料として水に不溶の紫外線硬化樹脂を用いるようにしたが、これに限られるものではないことは勿論であり、例えば、ワックスなどの熱可塑性樹脂のような低融点樹脂を補助材料として、あるいは、紫外線とは異なる放射線の可視光や電子線あるいはその他の光によって硬化する水に不溶の光硬化樹脂を造形材料として用いるようにしてもよい。
【０１５３】
（６）上記した実施の形態に限定されず、テーブル２２のような移動手段上において形成される補助材層ならびに造形材層とディスペンサー２４，２６やエンドミル３０などとの相対的な位置関係が三次元方向で変化するようにしてもよい。
【０１５４】
例えば、テーブル２２またはフライス盤のような被加工物を固定する移動手段がＸ軸方向ならびにＹ軸方向に移動しディスペンサーやエンドミルなどがＺ軸方向に移動するように構成してもよいし、あるいは、ディスペンサーは固定されて移動せずに、補助材層ならびに造形材層が形成される移動手段がＸ軸方向、Ｙ軸方向ならびにＺ軸方向に移動するようにしてもよい。
【０１５５】
（７）上記した実施の形態ならびに上記（１）乃至（６）に示す変形例は、適宜に組み合わせるようにしてもよい。
【産業上の利用可能性】
【０１５６】
本発明は、試作や量産での部品製作やデザインモデルを製作する際、モデリングマシンなど三次元加工装置や、ツールによる切削と積層とを行う装置などにおいて利用することができる。
【図面の簡単な説明】
【０１５７】
【図１】図１は本発明による三次元モデルデータの分割位置算出方法の実施の形態の一例を実現する三次元造形装置の概略構成斜視説明図である。
【図２】図２（ａ）〜（ｅ）は図１に示す三次元造形装置により作製する三次元造形物の一例を示す説明図であり、図２（ａ）は当該三次元造形物を示す斜視説明図であり、図２（ｂ）は図２（ａ）におけるＢ矢視図であり、図２（ｃ）は図２（ａ）におけるＣ矢視図であり、図２（ｄ）は図２（ｃ）におけるＤ−Ｄ線の箇所における断面を図２（ｂ）に対応して示す断面図であり、図２（ｅ）は図２（ｃ）におけるＤ−Ｄ線の箇所における断面を図２（ｃ）に対応して示す断面図である。
【図３】図３（ａ）は三次元モデルデータの示すモデルメッシュを模式的に示す説明図であり、図３（ｂ）は図３（ａ）に示すモデルメッシュを構成するポリゴンを模式的に示す説明図である。
【図４】図４（ａ）〜（ｅ）は本発明による三次元モデルデータの分割位置の算出処理の概要を概念的に示す説明図であり、図４（ａ）（ｂ）（ｃ）は面の向きを判定する処理を模式的に示す説明図であり、図４（ｄ）は複数の下向き面をグループ化する処理を模式的に示す説明図であり、図４（ｅ）はグループ化された下向き面の集合毎に最下点を求める処理を模式的に示す説明図である。
【図５】図５は本発明による三次元モデルデータの分割位置の算出処理ルーチンを示すフローチャートである。
【図６】図６は三次元モデル表面の分類処理ルーチンを示すフローチャートである。
【図７】図７は面ｉの向きを求める処理ルーチンを示すフローチャートである。
【図８】図８はｄｏｗｎＦａｃｅｔを連続面でグループ化する処理ルーチンを示すフローチャートである。
【図９】図９は分割位置決定処理ルーチンを示すフローチャートである。
【図１０】図１０（ａ）（ｂ）（ｃ）は図５乃至図９に示す本発明による三次元モデルデータの分割位置の算出処理の結果を模式的に示す説明図であり、図１０（ｄ）（ｅ）は三次元造形物の切削面と転写面とを模式的に示す説明図である。
【図１１】図１１（ａ）（ｂ）（ｃ）（ｄ）（ｅ）（ｆ）（ｇ）（ｈ）は、図１０に示す本発明による三次元モデルデータの分割位置の算出処理の結果に基づいて図１に示す三次元造形装置において図２ならびに図１１（ｉ）に示す三次元造形物が作成される工程を順次示す説明図である。
【符号の説明】
【０１５８】
１０        三次元造形装置
１２        門型アーム部
１４        レール部
１６        キャリッジ
１８        フレーム部
２０        回収槽
２２        テーブル
２４        ディスペンサー
２６        ディスペンサー
２８        スピンドル
３０        エンドミル
４０        ヒーター
４２        ライトガイド部材
１００        三次元造形物
２００        マイクロコンピュータ
【図１】
2007076037.tif 000004
【図２】
2007076037.tif 000005
【図３】
2007076037.tif 000006
【図４】
2007076037.tif 000007
【図５】
2007076037.tif 000008
【図６】
2007076037.tif 000009
【図７】
2007076037.tif 000010
【図８】
2007076037.tif 000011
【図９】
2007076037.tif 000012
【図１０】
2007076037.tif 000013
【図１１】
2007076037.tif 000014