(57)【特許請求の範囲】
【請求項１】
造形対象である対象造形物にサポートを追加および配置して、前記対象造形物および前記サポートを造形する３次元造形装置において、前記サポートの配置位置を決定する配置決定装置であって、
前記サポートは、第１の太さの第１サポートと、第１の太さよりも細い第２の太さの第２サポートとを有し、
前記対象造形物の３次元モデルのデータを記憶する記憶部と、
前記３次元モデルの重心を算出する重心算出部と、
前記３次元モデルの外周面上の点のうち前記３次元モデルの前記重心から最も離れた最遠点を算出し、前記３次元モデルの前記重心と前記最遠点とを結ぶ主軸を設定する主軸設定部と、
前記主軸が水平面に対して平行となる前記３次元モデルの位置および向きを所定の基準の位置および向きとしたとき、前記所定の基準の位置および向きとなるように、前記記憶部に記憶された前記３次元モデルを移動および回転させる基準部と、
前記所定の基準の位置および向きとなるように配置した前記３次元モデルを基準にして、前記主軸を軸にして前記３次元モデルを回転させる回転角度の候補を複数生成する回転角度候補生成部と、
複数生成された前記回転角度に基づいて回転させたそれぞれの前記３次元モデルにおいて、前記サポートを追加および配置する配置面を決定する配置面決定部と、
前記重心から前記配置面に向かう垂線を引き、前記垂線と前記配置面とが交わる基準点を設定する基準点設定部と、
それぞれの前記配置面において、前記基準点設定部によって設定された前記基準点を含む所定の範囲内の領域であって、前記第１サポートが所定の数追加および配置される第１の領域と、前記第１の領域を除く領域であって、前記第２サポートが追加および配置される第２の領域とに分割する領域分割部と、
前記第１サポートの太さである前記第１の太さの候補を複数作成する第１太さ候補生成部と、
前記配置面決定部によって決定されたそれぞれの前記配置面において、間隔を空けて前記第２サポートを前記第２の領域に追加および配置したときの前記第２サポートの数を算出する数算出部と、
前記回転角度候補生成部によって生成された複数の前記回転角度、および、前記第１太さ候補生成部によって生成された複数の前記第１サポートの前記第１の太さのうち、前記サポートが前記対象造形物の荷重を支持することが可能であって、前記第２サポートの数が最小となるような前記回転角度、および、前記第１サポートの前記第１の太さを決定する決定部と、
を備えた、サポートの配置決定装置。
【請求項２】
前記決定部は、前記回転角度候補生成部によって生成された前記回転角度と、前記第１太さ候補生成部によって生成された前記第１の太さとを遺伝子とする個体を生成し、遺伝的アルゴリズムを利用して、前記サポートが前記対象造形物の荷重を支持することが可能であって、前記第２サポートの数が最小となるような前記回転角度および前記第１の太さを決定する、請求項１に記載されたサポートの配置決定装置。
【請求項３】
前記遺伝的アルゴリズムで用いられる評価関数Ｊは、前記第１サポートの数をｐ、前記第１サポートの太さをｘ、前記第２サポートの数をｑ、前記第２サポートの太さをβ、１つの前記サポートの引張強度をｋ、前記対象造形物の荷重をＧｔ、前記対象造形物と前記３次元造形装置との間の密着力をＡｓ、安全率をＳとすると、
Ｊ＝（ｘ・ｋ・ｐ＋β・ｋ・ｑ）／Ｓ−ｍａｘ（Ｇｔ，Ａｓ）
で表され、
前記決定部は、前記回転角度候補生成部によって生成された複数の前記回転角度と、前記第１太さ候補生成部によって生成された複数の前記第１サポートの前記第１の太さとを組み合わせて複数の個体を生成し、生成した複数の前記個体についてそれぞれ前記評価関数から求められる値を算出し、前記評価関数の値が０よりも大きく、かつ、前記第２サポートの数が最小となるような前記個体を抽出し、前記回転角度、および、前記第１サポートの前記第１の太さを決定する、請求項２に記載されたサポートの配置決定装置。
【請求項４】
前記対象造形物は、前記サポートを追加および配置しない禁止面を有し、
前記回転角度候補生成部は、前記禁止面に前記サポートを追加および配置するような前記回転角度を候補としない、請求項１から３までの何れか一つに記載されたサポートの配置決定装置。
【請求項５】
前記３次元造形装置と、
請求項１から４までの何れか一つに記載されたサポートの配置決定装置と、
を備えた、３次元造形システム。
【請求項６】
造形対象である対象造形物にサポートを追加および配置して、前記対象造形物および前記サポートを造形する３次元造形装置において、前記サポートの配置位置を決定する配置決定方法であって、
前記サポートは、第１の太さの第１サポートと、第１の太さよりも細い第２の太さの第２サポートとを有し、
３次元モデルの重心を算出する重心算出工程と、
前記３次元モデルの外周面上の点のうち前記３次元モデルの前記重心から最も離れた最遠点を算出し、前記３次元モデルの前記重心と前記最遠点とを結ぶ主軸を設定する主軸設定工程と、
前記主軸が水平面に対して平行となる前記３次元モデルの位置および向きを所定の基準の位置および向きとしたとき、前記所定の基準の位置および向きとなるように、前記３次元モデルを移動および回転させる基準工程と、
前記所定の基準の位置および向きとなるように配置した前記３次元モデルを基準にして、前記主軸を軸にして前記３次元モデルを回転させる回転角度の候補を複数生成する回転角度候補生成工程と、
複数生成された前記回転角度に基づいて回転させたそれぞれの前記３次元モデルにおいて、前記サポートを追加および配置する配置面を決定する配置面決定工程と、
前記重心から前記配置面に向かう垂線を引き、前記垂線と前記配置面とが交わる基準点を設定する基準点設定工程と、
それぞれの前記配置面において、前記基準点設定工程で設定した前記基準点を含む所定の範囲内の領域であって、前記第１サポートが所定の数追加および配置される第１の領域と、前記第１の領域を除く領域であって、前記第２サポートが追加および配置される第２の領域とに分割する領域分割工程と、
前記第１サポートの太さである前記第１の太さの候補を複数作成する第１太さ候補生成工程と、
前記配置面決定工程で決定したそれぞれの前記配置面において、間隔を空けて前記第２サポートを前記第２の領域に追加および配置したときの前記第２サポートの数を算出する数算出工程と、
前記回転角度候補生成工程で生成した複数の前記回転角度、および、前記第１太さ候補生成工程で生成した複数の前記第１サポートの前記第１の太さのうち、前記サポートが前記対象造形物の荷重を支持することが可能であって、前記第２サポートの数が最小となるような前記回転角度、および、前記第１サポートの前記第１の太さを決定する決定工程と、
を包含する、サポートの配置決定方法。
【請求項７】
前記決定工程では、前記回転角度候補生成工程で生成した前記回転角度と、前記第１太さ候補生成工程で生成した前記第１の太さとを遺伝子とする個体を生成し、遺伝的アルゴリズムを利用して、前記サポートが前記対象造形物の荷重を支持することが可能であって、前記第２サポートの数が最小となるような前記回転角度および前記第１の太さを決定する、請求項６に記載されたサポートの配置決定方法。
【請求項８】
前記遺伝的アルゴリズムで用いられる評価関数Ｊは、前記第１サポートの数をｐ、前記第１サポートの太さをｘ、前記第２サポートの数をｑ、前記第２サポートの太さをβ、１つの前記サポートの引張強度をｋ、前記対象造形物の荷重をＧｔ、前記対象造形物と前記３次元造形装置との間の密着力をＡｓ、安全率をＳとすると、
Ｊ＝（ｘ・ｋ・ｐ＋β・ｋ・ｑ）／Ｓ−ｍａｘ（Ｇｔ，Ａｓ）
で表され、
前記決定工程では、前記回転角度候補生成工程で生成した複数の前記回転角度と、前記第１太さ候補生成工程で生成した複数の前記第１サポートの前記第１の太さとを組み合わせて複数の個体を生成し、生成した複数の前記個体のそれぞれ前記評価関数から求められる値を算出し、前記評価関数の値が０よりも大きく、かつ、前記第２サポートの数が最小となるような前記個体を抽出し、前記回転角度、および、前記第１サポートの前記第１の太さを決定する、請求項７に記載されたサポートの配置決定方法。
【請求項９】
前記対象造形物は、前記サポートを追加および配置しない禁止面を有し、
前記回転角度候補生成工程では、前記禁止面に前記サポートを追加および配置するような前記回転角度を候補としない、請求項６から８までの何れか一つに記載されたサポートの配置決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サポートの配置決定装置、３次元造形システム、および、サポートの配置決定方法に関する。
【背景技術】
【０００２】
従来から、所定の断面形状の樹脂材料を順次積層し、樹脂材料を硬化させることによって所望の３次元造形物（以下、対象造形物という。）を造形する３次元造形装置が知られている。この種の３次元造形装置では、まず、ＣＡＤ装置などを用いて対象造形物の断面形状のデータを用意する。次に、この断面形状のデータを用いて、光硬化性樹脂を硬化させて、断面形状に対応した形状の樹脂層を造形する。そして、断面形状に対応した樹脂層を順次積層することによって、対象造形物を造形する。
【０００３】
３次元造形装置は、例えば特許文献１に示すように、開口が形成された台と、台の上に載置され、光硬化性樹脂を収容する槽と、槽の上方に配置された昇降自在なホルダと、台の下方に配置され、光を照射する光学装置とを備えている。光学装置から照射された光は、台の開口を通じて槽内の光硬化性樹脂に照射される。槽内に収容された光硬化性樹脂のうち、光が照射された部分は硬化する。光の照射位置を制御することによって、硬化する樹脂の位置を適宜変更することができ、所望の断面形状を有する樹脂層を形成することができる。そして、ホルダを順次上昇させることによって、樹脂層が下方に向かって連続的に形成される。このようにして、所望の対象造形物が造形される。
【０００４】
ところで、ホルダを順次上昇させる際に、既に造形された樹脂層は、当該樹脂層よりも下方に造形される全樹脂層の荷重を支持することになる。そのため、例えば、断面積の小さな樹脂層があった場合、当該樹脂層よりも下方の全樹脂層の荷重を支えきれない場合がある。その結果、対象造形物を造形する途中に、対象造形物の一部が破損してしまうことがある。そのような破損を防止するため、図２２に示すように、ＣＡＤ装置などの専用の装置によって演算することで、対象造形物１７０の一部とホルダ１１３との間に、造形時に対象造形物１７０の一部の荷重を支持するための複数のサポート造形物１３０を追加し、対象造形物１７０とサポート造形物１３０とを造形することが行われる。以下、サポート造形物を単に「サポート」と称する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３９５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、サポート１３０は、例えば、対象造形物１７０のうちホルダ１１３と対向する面に追加および配置される。しかし、ホルダ１１３に対する対象造形物１７０の向きによっては、対象造形物１７０におけるホルダ１１３に対する投影面、すなわち、対象造形物１７０に対向するホルダ１１３の面に対して対象造形物１７０を投影した際に得られる対象造形物１７０の外周形状を示す投影面の面積が小さくなってしまう。その結果、対象造形物１７０に追加および配置するサポート１３０の数が少なくなり、造形中、サポート１３０が対象造形物１７０の荷重を十分に支持することができない場合がある。また、例えば、対象造形物１７０のうち厚みが厚い箇所１７０ａと、厚みが薄い箇所１７０ｂにおいて、厚みが薄い箇所１７０ｂでは、厚みが厚い箇所１７０ａに比べて、太さが細いサポート１３０で支持することができる。しかし、従来では、対象造形物１７０のどの箇所にどのような太さのサポート１３０を追加および配置するかは、ユーザの経験則に基づいて行われていた。そのため、ユーザによっては、サポート１７０を最適な位置に追加および配置することができないことがあった。
【０００７】
本発明はかかる点に鑑みてなされたものであり、その目的は、造形対象である対象造形物にサポートを追加および配置して、対象造形物およびサポートを造形する３次元造形装置において、最適な太さのサポートを最適な位置に追加および配置することが可能なサポートの配置決定装置、３次元造形システム、および、サポートの配置決定方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係るサポートの配置決定装置は、造形対象である対象造形物にサポートを追加および配置して、前記対象造形物および前記サポートを造形する３次元造形装置において、前記サポートの配置位置を決定する配置決定装置である。前記サポートは、第１の太さの第１サポートと、第１の太さよりも細い第２の太さの第２サポートとを有している。前記配置決定装置は、記憶部と、基準部と、重心算出部と、主軸設定部と、回転角度候補生成部と、配置面決定部と、基準点設定部と、領域分割部と、第１太さ候補生成部と、数算出部と、決定部と、を備えている。前記記憶部は、前記対象造形物の３次元モデルのデータを記憶する。前記基準部は、所定の基準の位置および向きとなるように、前記記憶部に記憶された前記３次元モデルを移動および回転させる。前記重心算出部は、前記３次元モデルの重心を算出する。前記主軸設定部は、前記３次元モデルの外周面上の点のうち前記３次元モデルの前記重心から最も離れた最遠点を算出し、前記３次元モデルの前記重心と前記最遠点とを結ぶ主軸を設定する。前記回転角度候補生成部は、前記所定の基準の位置および向きとなるように配置した前記３次元モデルを基準にして、前記主軸を軸にして前記３次元モデルを回転させる回転角度の候補を複数生成する。前記配置面決定部は、複数生成された前記回転角度に基づいて回転させたそれぞれの前記３次元モデルにおいて、前記サポートを追加および配置する配置面を決定する。前記基準点設定部は、前記重心から前記配置面に向かう垂線を引き、前記垂線と前記配置面とが交わる基準点を設定する。前記領域分割部は、それぞれの前記配置面において、前記基準点設定部によって設定された前記基準点を含む所定の範囲内の領域であって、前記第１サポートが所定の数追加および配置される第１の領域と、前記第１の領域を除く領域であって、前記第２サポートが追加および配置される第２の領域とに分割する。前記第１太さ候補生成部は、前記第１サポートの太さである前記第１の太さの候補を複数作成する。前記数算出部は、前記配置面決定部によって決定されたそれぞれの前記配置面において、前記第２の領域に追加および配置される前記第２サポートの数を所定のルールに基づいて算出する。前記決定部は、前記回転角度候補生成部によって生成された複数の前記回転角度、および、前記第１太さ候補生成部によって生成された複数の前記第１サポートの前記第１の太さのうち、前記サポートが前記対象造形物の荷重を支持することが可能であって、前記第２サポートの数が最小となるような前記回転角度、および、前記第１サポートの前記第１の太さを決定する。
【０００９】
上記配置決定装置によれば、配置面の第１の領域は、配置面の領域のうち重心から近い領域である。そのため、第１の領域に追加および配置される第１サポートの太さを、第２の領域に追加および配置される第２サポートの太さよりも太くすることで、サポートは、対象造形物の重心を中心にして対象造形物の荷重を支持することができる。よって、サポートは、対象造形物の荷重を安定して支持することができる。本発明では、サポートが対象造形物の荷重を支持することが可能であって、かつ、配置面の第２の領域に追加および配置される第２サポートの数が最小となるような回転角度を、所定の基準の向きおよび位置に配置された３次元モデルの主軸を軸にして回転させる角度としている。よって、このように決定した向きで対象造形物を造形することによって、サポートが対象造形物の荷重を支持することができる。また、第２サポートの数を少なくすることができるため、サポートを造形する際に必要な材料を少なくすることができる。
【００１０】
本発明の好ましい一態様によれば、前記決定部は、前記回転角度候補生成部によって生成された前記回転角度と、前記第１太さ候補生成部によって生成された前記第１の太さとを遺伝子とする個体を生成し、遺伝的アルゴリズムを利用して、前記サポートが前記対象造形物の荷重を支持することが可能であって、前記第２サポートの数が最小となるような前記回転角度および前記第１の太さを決定する。
【００１１】
例えば、回転角度と第１サポートの太さとの取り得る全ての組み合わせを求めて、対象造形物の最適な向き、および、最適な第１サポートの太さを求める場合、演算処理が膨大となり、演算負荷が大きくなる。しかし、上記態様によれば、最適な回転角度、および、第１サポートの太さとの組み合わせを、遺伝的アルゴリズムを適用することで決定している。よって、遺伝的アルゴリズムを適用することで、回転角度と第１サポートの太さとの取り得る全ての組み合わせを求める場合と比較して、演算時間が膨大となることを防止することができる。その結果、演算負荷を小さくすることができる。
【００１２】
本発明の好ましい他の一態様によれば、前記遺伝的アルゴリズムで用いられる評価関数Ｊは、前記第１サポートの数をｐ、前記第１サポートの太さをｘ、前記第２サポートの数をｑ、前記第２サポートの太さをβ、１つの前記サポートの引張強度をｋ、前記対象造形物の荷重をＧｔ、前記対象造形物と前記３次元造形装置との間の密着力をＡｓ、安全率をＳとすると、
Ｊ＝（ｘ・ｋ・ｐ＋β・ｋ・ｑ）／Ｓ−ｍａｘ（Ｇｔ，Ａｓ）
で表される。前記決定部は、前記回転角度候補生成部によって生成された複数の前記回転角度と、前記第１太さ候補生成部によって生成された複数の前記第１サポートの前記第１の太さとを組み合わせて複数の個体を生成し、生成した複数の前記個体についてそれぞれ前記評価関数から求められる値を算出し、前記評価関数の値が０よりも大きく、かつ、前記第２サポートの数が最小となるような前記個体を抽出し、前記回転角度、および、前記第１サポートの前記第１の太さを決定する。
【００１３】
上記態様によれば、上述したような評価関数Ｊを用いることで、造形する対象造形物の荷重Ｇｔおよび密着力Ａｓの何れか大きいほうの荷重に耐えられるような向きに、対象造形物を設定することができると共に、最適な太さの第１サポートを追加および配置することができる。
【００１４】
本発明の好ましい他の一態様によれば、前記対象造形物は、前記サポートを追加および配置しない禁止面を有している。前記回転角度候補生成部は、前記禁止面に前記サポートを追加および配置するような前記回転角度を候補としない。
【００１５】
例えば、対象造形物が、地面に載置した際に露出する表面部と、地面と接する底部とに明確に識別できるような造形物であるとき、上記底部内に配置面を設定し、上記底部のみにサポートを追加および配置することが好ましい場合がある。すなわち、造形する対象造形物には、意匠的な理由などによりサポートを追加および配置したくない面がある場合がある。上記態様によれば、サポートを追加および配置したくない面を禁止面とする。そして、回転角度候補生成部は、禁止面にサポートを追加および配置しないような向きとなる回転角度のみを候補にすることができる。よって、禁止面にサポートが追加および配置されない傾斜角度を、所定の基準の向きから回転する角度にすることができる。したがって、禁止面にサポートが追加および配置されることなく、サポートは対象造形物の荷重を支持することができる。
【００１６】
本発明に係る３次元造形システムは、前記３次元造形装置と、上述した何れかに記載されたサポートの配置決定装置と、を備えている。
【００１７】
上記態様によれば、上述した何れかに記載されたサポートの配置決定装置を備えた３次元造形システムを提供することができる。
【００１８】
本発明に係るサポートの配置決定方法は、造形対象である対象造形物にサポートを追加および配置して、前記対象造形物および前記サポートを造形する３次元造形装置において、前記サポートの配置位置を決定する配置決定方法である。前記サポートは、第１の太さの第１サポートと、第１の太さよりも細い第２の太さの第２サポートとを有している。前記配置決定方法は、基準工程と、重心算出工程と、主軸設定工程と、回転角度候補生成工程と、配置面決定工程と、基準点設定工程と、領域分割工程と、第１太さ候補生成と、数算出工程と、決定工程と、を包含する。前記基準工程では、所定の基準の位置および向きとなるように、前記３次元モデルを移動および回転させる。前記重心算出工程では、前記３次元モデルの重心を算出する。前記主軸設定工程では、前記３次元モデルの外周面上の点のうち前記３次元モデルの前記重心から最も離れた最遠点を算出し、前記３次元モデルの前記重心と前記最遠点とを結ぶ主軸を設定する。回転角度候補生成工程では、前記所定の基準の位置および向きとなるように配置した前記３次元モデルを基準にして、前記主軸を軸にして前記３次元モデルを回転させる回転角度の候補を複数生成する。前記配置面決定工程では、複数生成された前記回転角度に基づいて回転させたそれぞれの前記３次元モデルにおいて、前記サポートを追加および配置する配置面を決定する。前記基準点設定工程では、前記重心から前記配置面に向かう垂線を引き、前記垂線と前記配置面とが交わる基準点を設定する。前記領域分割工程では、それぞれの前記配置面において、前記基準点設定工程で設定した前記基準点を含む所定の範囲内の領域であって、前記第１サポートが所定の数追加および配置される第１の領域と、前記第１の領域を除く領域であって、前記第２サポートが追加および配置される第２の領域とに分割する。前記第１太さ候補生成工程では、前記第１サポートの太さである前記第１の太さの候補を複数作成する。前記数算出工程では、前記配置面決定工程で決定したそれぞれの前記配置面において、前記第２の領域に追加および配置される前記第２サポートの数を所定のルールに基づいて算出する。前記決定工程では、前記回転角度候補生成工程で生成した複数の前記回転角度、および、前記第１太さ候補生成工程で生成した複数の前記第１サポートの前記第１の太さのうち、前記サポートが前記対象造形物の荷重を支持することが可能であって、前記第２サポートの数が最小となるような前記回転角度、および、前記第１サポートの前記第１の太さを決定する。
【００１９】
本発明の好ましい他の一態様によれば、前記決定工程では、前記回転角度候補生成工程で生成した前記回転角度と、前記第１太さ候補生成工程で生成した前記第１の太さとを遺伝子とする個体を生成し、遺伝的アルゴリズムを利用して、前記サポートが前記対象造形物の荷重を支持することが可能であって、前記第２サポートの数が最小となるような前記回転角度および前記第１の太さを決定する。
【００２０】
本発明の好ましい他の一態様によれば、前記遺伝的アルゴリズムで用いられる評価関数Ｊは、前記第１サポートの数をｐ、前記第１サポートの太さをｘ、前記第２サポートの数をｑ、前記第２サポートの太さをβ、１つの前記サポートの引張強度をｋ、前記対象造形物の荷重をＧｔ、前記対象造形物と前記３次元造形装置との間の密着力をＡｓ、安全率をＳとすると、
Ｊ＝（ｘ・ｋ・ｐ＋β・ｋ・ｑ）／Ｓ−ｍａｘ（Ｇｔ，Ａｓ）
で表される。前記決定工程では、前記回転角度候補生成工程で生成した複数の前記回転角度と、前記第１太さ候補生成工程で生成した複数の前記第１サポートの前記第１の太さとを組み合わせて複数の個体を生成し、生成した複数の前記個体のそれぞれ前記評価関数から求められる値を算出し、前記評価関数の値が０よりも大きく、かつ、前記第２サポートの数が最小となるような前記個体を抽出し、前記回転角度、および、前記第１サポートの前記第１の太さを決定する。
【００２１】
本発明の好ましい他の一態様によれば、前記対象造形物は、前記サポートを追加および配置しない禁止面を有している。前記回転角度候補生成工程では、前記禁止面に前記サポートを追加および配置するような前記回転角度を候補としない。
【発明の効果】
【００２２】
本発明によれば、対象造形物に対して最適な太さのサポートを最適な位置に追加および配置することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態に係る３次元造形システムの断面図である。
【図２】３次元造形システムの平面図である。
【図３】ホルダに全体造形物を造形する状態を示した模式図である。
【図４】図３のＩＶ−ＩＶ断面における断面図である。
【図５】対象造形物にサポートを追加および配置した一例を示す斜視図である。
【図６】対象造形物にサポートを追加および配置した一例を示す斜視図である。
【図７】対象造形物の主軸の説明図である。
【図８】配置面を第１の領域と第２の領域とに分割することを説明する図であり、対象造形物の正面図である。
【図９】配置決定装置のブロック図である。
【図１０】対象造形物モデルのどの面にどのようなサポートを追加および配置するかを決定する手順を示したフローチャートである。
【図１１】対象造形物モデルを基準の位置および向きに設定する手順を示したフローチャートである。
【図１２】対象造形物モデルの一例を示した斜視図である。
【図１３】傾けた後の対象造形物モデルの一例を示した斜視図である。
【図１４】回転させた後の対象造形物モデルの一例を示した斜視図である。
【図１５】対象造形物モデルにサポートを追加および配置した状態の一例を示した対象造形物モデルの正面図である。
【図１６】対象造形物モデルにサポートを追加および配置した状態の一例を示した対象造形物モデルの底面図である。
【図１７】初期集団の個体を示す図である。
【図１８】ソート後の個体を示す図である。
【図１９】２点交叉により新たな個体が生成される一例を示す図である。
【図２０】図２０（ａ）〜（ｃ）は、突然変異により新たな個体が生成される一例を示す図である。
【図２１】禁止面を示す図であり、対象造形物の一例を示す斜視図である。
【図２２】従来技術において、ホルダにサポートを追加した対象造形物サポートを造形する状態を示した模式図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら、本発明の実施形態に係るサポートの配置決定装置（以下、配置決定装置という。）を備えた３次元造形システム、および、サポートの配置決定方法について説明する。なお、ここで説明される実施形態は、当然ながら特に本発明を限定することを意図したものではない。また、同じ作用を奏する部材・部位には同じ符号を付し、重複する説明は適宜省略または簡略化する。
【００２５】
＜第１実施形態＞
図１は、本実施形態に係る３次元造形システム１０の断面図である。図２は、３次元造形システム１０の平面図である。なお、図面中の符号Ｆ、Ｒｒ、Ｌ、Ｒは、それぞれ前、後、左、右を示している。ただし、これらは説明の便宜上の方向に過ぎず、３次元造形システム１０の設置態様を何ら限定するものではない。
【００２６】
３次元造形システム１０は、サポートを用いて対象造形物を造形することができるシステムである。以下では、対象造形物およびサポートの全体を「全体造形物」と称することとする。３次元造形システム１０では、全体造形物の複数の断面形状のデータを用いる。ここで、「断面形状」とは、全体造形物を複数の層に分割したときの各層の断面の形状のことである。３次元造形システム１０では、液体の光硬化性樹脂を硬化させ、断面形状に対応した形状の樹脂層を造形する。そして、その樹脂層を順次積層することによって、全体造形物を造形する。なお、「光硬化性樹脂」とは、所定の波長を含む光が照射されると、硬化する樹脂である。
【００２７】
図１に示すように、３次元造形システム１０は、３次元造形装置１０Ａと、３次元造形装置１０Ａにおいて全体造形物を造形する前に、対象造形物の向きを決定し、かつ、サポートの形状および配置位置を決定する配置決定装置１００（図９参照）とを備えている。
【００２８】
３次元造形装置１０Ａは、台１１と、槽１２と、ホルダ１３と、光学装置１４と、制御装置１６とを備えている。
【００２９】
台１１は、ケース２５に支持されている。台１１には、光を通過させる開口２１が形成されている。槽１２は、液体の光硬化性樹脂２３を収容する。槽１２は、台１１上に取り付け可能に載置されている。図２に示すように、槽１２は、台１１に載置された状態において、台１１の開口２１を覆う。槽１２は、光を透過させることのできる材料、例えば、透明な材料によって形成されているとよい。
【００３０】
図１に示すように、ホルダ１３は、槽１２の上方、かつ、台１１の開口２１の上方に配置されている。ホルダ１３は昇降自在に構成されている。ホルダ１３は、下降したときに槽１２内の光硬化性樹脂２３に浸漬し、上昇するときに、光が照射されて硬化した光硬化性樹脂２３を吊り上げる。ここでは、台１１には、上下方向に延びた支柱４１が設けられている。支柱４１の前方には、スライダ４２が取り付けられている。スライダ４２は、支柱４１に沿って昇降自在であり、モータ４３によって上方または下方に移動する。ここでは、ホルダ１３は、スライダ４２に取り付けられている。ホルダ１３は、モータ４３によって上方または下方に移動する。
【００３１】
光学装置１４は、台１１の下方に配置されている。光学装置１４は、槽１２内に収容された液体の光硬化性樹脂２３に所定の波長からなる光を照射する装置である。光学装置１４は、台１１の下方に設けられたケース２５に収容されている。光学装置１４は、プロジェクタ３１と、ミラー３２とを備えている。プロジェクタ３１は、光を発する光源である。ミラー３２は、プロジェクタ３１から発せられた光を槽１２に向かって反射させる部材である。ミラー３２は、台１１に形成された開口２１の下方、かつ、プロジェクタ３１の後方に配置されている。プロジェクタ３１から発せられた光は、ミラー３２によって反射され、台１１の開口２１を通じて槽１２内の光硬化性樹脂２３に照射される。ただし、光学装置１４の配置および構成は特に限定される訳ではない。
【００３２】
制御装置１６は、ホルダ１３が取り付けられたスライダ４２を昇降自在に制御するモータ４３、および、光学装置１４のプロジェクタ３１に接続されている。制御装置１６は、モータ４３を駆動することによって、スライダ４２およびホルダ１３を上方または下方に移動させる。また、制御装置１６は、プロジェクタ３１から発せられる光のエネルギー、光度、光量、光の波長帯域、光の形状、光を照射させる位置および光を発するタイミングなどを制御する。なお、制御装置１６の構成は特に限定されない。例えば、制御装置１６は、コンピュータであり、中央演算処理装置（以下、ＣＰＵという。）と、ＣＰＵが実行するプログラムなどを格納したＲＯＭと、ＲＡＭなどを備えていてもよい。
【００３３】
以上が３次元造形装置１０Ａの構成である。上述したように、３次元造形装置１０Ａは、サポートが追加および配置された対象造形物を造形するものである。次に、サポートについて説明する。
【００３４】
３次元造形装置１０Ａが対象造形物を造形する際、樹脂層が造形される毎にホルダ１３が順次上昇し、当該樹脂層の下方に新たな樹脂層が造形される。ところが、例えば、断面積の大きな樹脂層が形成された後に、比較的小さな樹脂層、例えばホルダ１３との接触面積が、大きな樹脂層の半分以下となるような大きさの小さな樹脂層があった場合、当該樹脂層がそれよりも下方に位置する大きな樹脂層を含む全樹脂層の荷重を支えきれない場合がある。その結果、造形の途中で対象造形物が破損するおそれがある。そのため、造形途中の対象造形物の荷重を十分に支持することができるように、対象造形物に対してサポートが追加および配置される。このことにより、対象造形物が造形途中に破損することを防止することができる。
【００３５】
例えば、３次元造形装置１０Ａがホルダ１３に対象造形物を直接造形したとすると、造形後に対象造形物はホルダ１３から引き剥がされる。その際、対象造形物のうちホルダ１３と接触している部分をホルダ１３から引き剥がす際、対象造形物が破損してしまう場合がある。そこで、図３に示すように、ホルダ１３と対象造形物７０ａとの間にサポート３０を追加および配置する。そして、造形完了後に全体造形物（対象造形物７０ａにサポート３０が追加および配置された造形物）をホルダ１３から引き剥がした後、サポート３０を対象造形物７０ａから取り除く処理を行うことがある。このことにより、対象造形物７０ａが破損することを防止することができる。
【００３６】
なお、サポート３０の形状は特に限定されない。図４は、図３のＩＶ−ＩＶ断面における断面図である。本実施形態では、図４に示すように、サポート３０として、複数本の円柱を用いることとする。ここでは、図３に示すように、サポート３０の上端部はホルダ１３に設けられ、下端部は対象造形物７０ａに設けられることとする。ただし、上記のサポート３０の形状は一例に過ぎない。サポート３０の形状は、例えば、断面形状が三角形または四角形の形状であってもよい。複数のサポート３０の形状は、それぞれ同じ形状であってもよいし、一部が異なる形状であってもよい。隣り合うサポート３０の間隔は特に限定されないが、図４に示すように、ここでは一定とする。本実施形態では、複数のサポート３０は、等間隔で追加および配置されている。複数のサポート３０は、左右方向および前後方向に揃った位置に追加および配置されている。ただし、上記のサポート３０の配置位置は一例に過ぎない。隣り合うサポート３０の間隔は、一定でなくてもよい。複数のサポート３０は、例えば、千鳥状に追加および配置されていてもよい。
【００３７】
次に、サポート３０が対象造形物の荷重を支持するための条件について説明する。まず、サポート３０が対象造形物の荷重を支持するためには、サポート３０の支持可能な荷重が対象造形物の荷重よりも大きくなければならない。また、３次元造形装置１０Ａでは、槽１２の表面と樹脂層との間に密着力が生じているので、樹脂層を槽１２から引き剥がすために、その密着力よりも大きな力で対象造形物を吊り上げる必要がある。その際、サポート３０には上記密着力と同じ大きさの力が加わる。したがって、サポート３０が破損しないためには、サポート３０の支持可能な荷重が上記密着力よりも大きくなければならない。以上より、サポート３０の支持可能な荷重（以下、支持荷重という。）をＬｓ［ｇｆ］、対象造形物の荷重をＧｔ［ｇｆ］、対象造形物の樹脂層と槽１２との間の密着力（ここでは、密着力は、後述するように、樹脂層の荷重と、槽１２の表面と樹脂層との間に発生する密着力とを合わせた力とする。）をＡｓ［ｇｆ］、とすると、Ｌｓは、ＧｔおよびＡｓのうちの何れか大きい方よりも大きくなければならない。すなわち、Ｌｓ＞ｍａｘ（Ｇｔ，Ａｓ）でなければならない。
【００３８】
支持荷重Ｌｓは、１つのサポート３０における対象造形物と接触する面積をＳｐ、１つのサポート３０の引張強度をＫｐ、サポート３０の数をＩとすると、以下の式（１）で表すことができる。
Ｌｓ＝Ｓｐ×Ｋｐ×Ｉ・・・（１）
【００３９】
対象造形物の荷重Ｇｔは、対象造形物の体積をＶａ、対象造形物の密度をＤａとすると、以下の式（２）で表すことができる。
Ｇｔ＝Ｖａ×Ｄａ・・・（２）
【００４０】
密着力Ａｓは、１〜ｎ層目まで積層した際の対象造形物の体積をＶｎ、ｎ層目の対象造形物の断面積をＳｎ、対象造形物の引張係数（引張応力）をＫとすると、以下の式（３）で表すことができる。
Ａｓ＝Ｖｎ×Ｄａ＋Ｓｎ×Ｋ・・・（３）
【００４１】
ところで、論理的にはＬｓ＞ｍａｘ（Ｇｔ，Ａｓ）であればサポート３０が破損することはない。しかし、実際には、種々の不確定要因によって、Ｌｓ＞ｍａｘ（Ｇｔ，Ａｓ）であっても、サポート３０が破損する場合がある。そこで、１よりも大きな実数からなる安全率Ｓを導入してもよい。安全率Ｓを導入する場合、サポート３０が対象造形物の荷重を十分に支持するための条件を以下の式（４）のように設定してもよい。
Ｌｓ／Ｓ＞ｍａｘ（Ｇｔ，Ａｓ）・・・（４）
例えば、安全率Ｓ＝３とした場合、サポート３０は、対象造形物の荷重Ｇｔおよび密着力Ａｓのうちの何れか大きい方の力の３倍までの力に耐えることができる。よって、上記式（４）を満たすことにより、サポート３０は対象造形物の荷重を十分に支持することができる。
【００４２】
上述の通り、３次元造形装置１０Ａはホルダ１３を順次上昇させることによって、対象造形物を造形する。対象造形物は、上部から下部に向かって順に造形される。３次元造形装置１０Ａは、対象造形物の３次元モデル（以下、対象造形物モデルという。）のデータを受け、そのデータを利用して、対象造形物モデルと実質的に同一形状の対象造形物を造形する。
【００４３】
対象造形物モデルには、予め向きが定められている（以下、初期の向きという。）。この初期の向きは、通常、対象造形物モデルのデータ作成手順に従って定められる。例えば、対象造形物モデルが円錐形状の装飾品の場合、円錐の頂点が上、底面が下に位置するように初期の向きが定められている。ところが、以下に説明するように、対象造形物を初期の向きのまま造形することは必ずしも適切ではない。
【００４４】
対象造形物の向きによっては、対象造形物のうちホルダ１３に対向する面の面積が小さくなり、十分な数のサポート３０を追加および配置することができない場合がある。例えば、図５に示すような対象造形物７０ｂの向きでサポート３０を追加および配置する場合、サポート３０を追加および配置する対象造形物７０ｂの面７１ｂ１の面積が小さい。そのため、追加可能なサポート３０の数が少なくなる。その結果、造形中、対象造形物７０ｂの荷重によって、サポート３０が対象造形物７０ｂの荷重を支えることができないおそれがある。しかし、図６に示すような対象造形物７０ｂの向きでサポート３０を追加および配置する場合、サポート３０を追加および配置する対象造形物７０ｂの面７１ｂ２の面積が大きい。そのため、追加および配置するサポート３０の数が図５の例に比べて多くなる。その結果、サポート３０が対象造形物７０ｂの荷重を支える力が強くなる。本願出願人は、図６に示すように、サポート３０の追加が可能な対象造形物７０ｂの面の面積を十分に確保することができる場合、サポート３０が対象造形物７０ｂの荷重を十分に支えることができることを見出した。
【００４５】
そこで、本願出願人は、図７に示すような対象造形物７０ｃの主軸７８ｃに着目した。ここで、「主軸」とは、対象造形物７０ｃの重心７４ｃと、対象造形物７０ｃの外周面上の点のうち重心７４ｃから最も離れた点７６ｃ（以下、最遠点７６ｃという。）とを結ぶ線のことをいう。対象造形物７０ｃの主軸７８ｃと平行となる面、または主軸７８ｃに対する傾斜角度が小さい面７７では、他の面に比べて面積を十分に確保することができる。よって、例えば、面７７をサポート３０が追加および配置される配置面とすることで、サポート３０が対象造形物７０ｃの荷重を十分な支持荷重にて支持することができる。なお、対象造形物の重心および主軸を設定する詳細な手順は、後述する。
【００４６】
ところで、サポート３０の数が少な過ぎると、対象造形物の荷重を十分な支持荷重にて支持することができない。一方、サポート３０は、造形が完了した後、対象造形物から取り除かれる部材である。そのため、サポート３０の数が多く、サポート３０と対象造形物との単位面積当たりの接触面積が大き過ぎると、対象造形物からサポート３０を取り除く際に多くの手間と時間を要する。また、無駄な光硬化性樹脂２３が多くなる。以上の観点から、サポート３０の数は少なくして、サポート３０と対象造形物との単位面積当たりの接触面積は、小さくすることが好ましい。そこで、本願出願人は、サポート３０が対象造形物の荷重を十分な支持荷重にて支持することができる程度であること、すなわち、上記式（４）を満たすことを前提に、対象造形物の面にどのようにサポート３０を追加および配置することで、サポート３０に使用される光硬化性樹脂２３の量を減らすことができるかを検討した。
【００４７】
ここで、本願出願人は、図７に示すような対象造形物７０ｃの重心７４ｃに着目した。対象造形物７０ｃの重心７４ｃの直下にサポート３０を追加および配置した場合、曲げモーメントが「０」になる。そのため、対象造形物７０ｃの面のうち、対象造形物７０ｃの重心７４ｃの近くに位置する領域７７ａを中心にサポート３０を追加および配置することで、サポート３０は、対象造形物７０ｃの荷重を支持し易いことを見出した。また、重心７４ｃの近くに位置する領域７７ａに追加されるサポート３０により対象造形物７０ｃの荷重の大半が支持される。この場合、対象造形物７０ｃの面のうち、対象造形物７０ｃの重心７４ｃから離れた箇所に位置する領域７７ｂには、重心７４ｃの近くに位置する領域７７ａに比べて、追加するサポート３０の太さを細くしても、サポート３０は対象造形物７０ｃの荷重を安定して支持することができることを見出した。
【００４８】
そこで、例えば、図８に示すように、サポート３０が追加および配置される対象造形物７０ｄの面８２ｄ（以下、配置面８２ｄという。）のうち、対象造形物７０ｄの重心７４ｄの近くに位置する領域を第１の領域９１ｄとし、配置面８２ｄのうち第１の領域９１ｄを除いた領域を第２の領域９２ｄとする。第２の領域９２ｄは、第１の領域９１ｄと比べて、対象造形物７０ｄの重心７４ｄから離れた領域である。ここでは、第１の領域９１ｄに追加および配置されるサポート３０を第１サポート３０Ｌと称する。第２の領域９２ｄに追加および配置されるサポート３０を第２サポート３０Ｓと称する。第１サポート３０Ｌと第２サポート３０Ｓは一定の等しい間隔で追加および配置されることとし、さらに、第１サポート３０Ｌの太さ（第１の太さ）を、第２サポート３０Ｓの太さ（第２の太さ）よりも太くする。このことによって、サポート３０は、対象造形物７０ｄの重心７４ｄを中心にして、対象造形物７０ｄの荷重を安定して支持することができる。
【００４９】
なお、第１の領域と第２の領域とにおいて、追加および配置するサポート３０の太さが異なる場合、支持荷重Ｌｓは、以下の式（５）で表すことができる。
Ｌｓ＝ｘ・ｋ・ｐ＋β・ｋ・ｑ・・・（５）
上記式（５）において、ｘは第１サポート３０Ｌの太さ、ｋは１つのサポート３０の引張強度、ｐは第１サポート３０Ｌの数を表している。βは第２サポート３０Ｓの太さ、ｑは第２サポート３０Ｓの数を表している。なお、第１サポート３０Ｌの太さｘは、第２サポート３０Ｓの太さβに対する割合をｃ（以下、第１太さ係数ｃともいう。）とすると、ｘ＝β・ｃで表すことができる。
【００５０】
従来では、サポート３０を対象造形物のどの面にどのような対応で造形するかの決定は、ユーザの経験則に基づいて行われることが多かった。そのため、ユーザの決定によっては、対象造形物の荷重によって、サポート３０が対象造形物の荷重を支えることができないことがあった。そこで、本実施形態では、サポート３０が対象造形物の荷重を十分に支えることができるようなサポート３０の太さおよび配置位置を、配置決定装置１００が決定する。
【００５１】
図９は、配置決定装置１００のブロック図である。配置決定装置１００は、３次元造形装置１０Ａと別体であってもよいし、３次元造形装置１０Ａに内蔵されていてもよい。例えば、配置決定装置１００は、コンピュータであり、ＣＰＵと、ＣＰＵが実行するプログラムなどを格納したＲＯＭと、ＲＡＭなどを備えていてもよい。ここでは、コンピュータ内に保存されたプログラムを使用して、サポート３０の配置位置を決定する。配置決定装置１００は、３次元造形システム１０のための専用のコンピュータであってもよく、汎用のコンピュータであってもよい。
【００５２】
配置決定装置１００は、記憶部５２と、前処理部５４と、重心算出部５６と、初期部５７と、主軸設定部５８と、基準部６０と、回転角度候補生成部６２と、第１太さ候補生成部６３と、配置面決定部６４と、基準点設定部６５と、領域分割部６６と、数算出部６７と、決定部６８とを備えている。なお、上述した各部は、ソフトウェアによって構成されていてもよいし、ハードウェアによって構成されていてもよい。各部の詳細な説明は、後述のフローチャートに沿って行う。
【００５３】
図１０は、対象造形物モデル７２のどの面にどのようなサポート３０を追加および配置するかを決定する手順を示したフローチャートである。図１１は、対象造形物モデル７２を基準の位置および向きに設定する手順を示したフローチャートである。図１２〜図１６は、対象造形物モデル７２の斜視図である。ここでは、図１２〜図１６の対象造形物モデル７２を用いて、対象造形物７０の３次元モデルである対象造形物モデル７２において、どのようなサポート３０をどの面に追加および配置するかを決定する手順について図１０および図１１のフローチャートに沿って説明する。
【００５４】
ここでは、対象造形物モデル７２の下面にサポート３０が追加および配置されるものとする。ただし、サポート３０が追加および配置される位置は特に限定されず、例えば、サポート３０は対象造形物７０の上面に追加および配置されるものであってもよい。
【００５５】
本実施形態では、配置決定装置１００の記憶部５２には、対象造形物７０に対応する対象造形物モデル７２のデータが予め記憶されているものとする。対象造形物モデル７２のデータは、例えば、ユーザの操作によって、記録媒体または他のコンピュータ（図示せず）から記憶部５２に読み込まれる。対象造形物モデル７２のデータは、例えば、ＸＹＺ直交座標系の複数の点の集合で特定されるデータであり、３次元データである。対象造形物モデル７２では、複数の三角形のポリゴンまたは三角錐のポリゴンを組み合わせることで対象造形物７０を再現している。
【００５６】
まず、ステップＳ１０１では、前処理部５４は、記憶部５２に記憶された対象造形物モデル７２に対して、前処理を行う。対象造形物モデル７２は、対象造形物７０の３次元形状を忠実に再現した詳細なデータであることが多い。対象造形物モデル７２をそのまま用いると、配置決定装置１００における配置決定処理に多大な時間を要することがある。そこで、前処理部５４は、対象造形物モデル７２に対して前処理を行い、対象造形物モデル７２のデータ量を小さくすることが好ましい。ここでは、前処理部５４は、対象造形物モデル７２に対して平滑化処理を行う。例えば、平滑化処理として、対象造形物モデル７２を構成する三角形のポリゴンの数を減少させ、データ量を小さくする処理を行えばよい。平滑化処理の方法は特に限定されず、例えば、従来公知の平滑化処理の方法を適用することができる。例えば、平滑化処理の方法として、ガウス関数を使用してもよい。ここでは、平滑化処理が行われた対象造形物モデル７２のデータは、記憶部５２に記憶される。なお、ステップＳ１０１の前処理は、省略することが可能である。
【００５７】
次に、ステップＳ１０２では、対象造形物モデル７２の基準となる位置および向きを設定する。本実施形態では、対象造形物モデル７２の初期の位置および向きを設定する。対象造形物モデル７２の位置および向きは、３軸の直交座標によって特定される。ただし、他の座標系を用いて対象造形物モデル７２の位置および向きを特定することも可能である。ここでは、対象造形物モデル７２の初期の位置および向きから、基準の位置および向きを設定する。対象造形物モデル７２を基準の位置および向きに設定する手順は、図１１のステップＳ２０１〜ステップＳ２０５に沿って行われる。
【００５８】
まず、ステップＳ２０１では、重心算出部５６は、対象造形物モデル７２の重心を算出する。ここでは、対象造形物モデル７２の重心を算出する方法として、従来公知の方法を用いることができる。例えば、対象造形物モデル７２を構成する各三角錐のポリゴンの重心を利用して対象造形物モデル７２の重心を算出することができる。なお、図１２において、対象造形物モデル７２の重心は、点７４である。
【００５９】
例えば、重心算出部５６によって、対象造形物モデル７２の重心７４は、以下のようにして算出することができる。例えば、対象造形物モデル７２は、複数の三角錐のポリゴンＡ１、Ａ２、・・・、Ａｎを組み合わせて構成されているとする。ここでは、まず、重心算出部５６は、対象造形物モデル７２の体積Ｖａｌｌを算出する。次に、重心算出部５６は、三角錐のポリゴンＡ１、Ａ２、・・・、Ａｎの重心Ｇ１、Ｇ２、・・・、Ｇｎ、および、三角錐のポリゴンＡ１、Ａ２、・・・、Ａｎの体積Ｖ１、Ｖ２、・・・、Ｖｎを算出する。このとき、対象造形物モデル７２の重心７４は、以下の式（６）で算出される。
重心７４＝（Ｖ１×Ｇ１＋Ｖ２×Ｇ２＋・・・＋Ｖｎ×Ｇｎ）／Ｖａｌｌ・・・（６）
【００６０】
次に、ステップＳ２０２では、初期部５７は、対象造形物モデル７２の初期の位置および向きを設定する。詳しくは、初期部５７は、ステップＳ２０１において算出した対象造形物モデル７２の重心７４が、平面視において、ホルダ１３（図１参照）の中心の位置となるように初期の位置を設定する。また、対象造形物モデル７２の初期の向きは、例えば、対象造形物モデル７２を作成した際の向きである。なお、対象造形物モデル７２の初期の位置および向きは特に限定されない。ここでは、初期部５７は、初期の位置および向きとなるように、対象造形物モデル７２を移動および回転させる。なお、初期の位置および向きに設定された対象造形物モデル７２は、記憶部５２に記憶される。
【００６１】
次に、ステップＳ２０３では、主軸設定部５８は、対象造形物モデル７２の主軸を設定する。上述したように、「主軸」とは、対象造形物モデル７２の重心７４と、対象造形物モデル７２の外周面上の点の三角形のポリゴンの重心のうち、重心７４から最も離れた三角形のポリゴンの重心（以下、最遠点という。）とを結ぶ線のことをいう。例えば、対象造形物モデル７２の主軸は、以下の手順で設定することができる。まず、主軸設定部５８は、対象造形物モデル７２の重心７４と、対象造形物モデル７２を構成する各三角形のポリゴンの重心との距離をそれぞれ算出する。ここでは、対象造形物モデル７２を構成する各三角形のポリゴンの重心は、ステップＳ２０１で算出したポリゴンの重心を利用することができる。そして、主軸設定部５８は、上記で算出した距離のうち最も長い距離に対応した三角形のポリゴンの重心を求める。図１２の対象造形物モデル７２では、対象造形物モデル７２の重心７４から最も離れた三角形のポリゴンはポリゴン７６ａであり、最遠点は、ポリゴン７６ａの重心７６である。ここでは、主軸設定部５８は、対象造形物モデル７２の重心７４と最遠点７６とが通る直線を主軸７８に設定する。なお、厳密には、ポリゴン７６ａの重心７６が、対象造形物モデル７２の重心から最も離れた最遠点とは限らない。これは、ポリゴン７６ａが重心７６を中心にある一定の面積を持つ平面であるからである。しかし、ポリゴン７６ａは、通常、対象造形物モデル７２の表面積に対して十分に小さな面積であるため、重心７６を最遠点とみなすことができる。
【００６２】
次に、ステップＳ２０４では、図１３に示すように、基準部６０は、対象造形物モデル７２の主軸７８が水平面Ｈに対して平行になるように、初期部５７によって初期の位置および向きに設定された対象造形物モデル７２を傾ける。ここでは、水平面Ｈとは、対象造形物７０が造形されるホルダ１３の面、すなわち、ホルダ１３の下面（対象造形物７０と対向する面）である。そのため、基準部６０は、対象造形物モデル７２の主軸７８がホルダ１３の下面に対して平行になるように、初期の位置および向きに設定された対象造形物モデル７２を傾ける。なお、傾けた後の対象造形物モデル７２は、記憶部５２に記憶される。
【００６３】
次に、ステップＳ２０５では、基準部６０は、対象造形物モデル７２を回転させる。詳しくは、まず、基準部６０は、ステップＳ２０４で傾けられた対象造形物モデル７２に対して、対象造形物モデル７２の外周面上における三角形のポリゴンの重心のうち、対象造形物モデル７２の重心７４から最も近い点である最近点を求める。図１３では、最近点は対象造形物モデル７２の上面上に位置する点８０である。そして、基準部６０は、平面視において、最近点８０が主軸７８と重なる位置であって、図１４に示すように、主軸７８よりも下方に位置するように、主軸７８を軸にして対象造形物モデル７２を回転させる。ここでは、基準部６０は、最近点８０が水平面Ｈ、すなわち、ホルダ１３の面に対して、最も近い位置となるように、主軸７８を軸にして、対象造形物モデル７２を回転させる。回転させた後の対象造形物モデル７２の下面には、最近点８０が位置する。本実施形態では、基準部６０によって回転させた後の対象造形物モデル７２の位置および向きが、基準の位置および向きとなる。なお、回転させた後の対象造形物モデル７２は、記憶部５２に記憶される。
【００６４】
以上のようにして、基準の位置および向きに設定された対象造形物モデル７２に対して、図１０のステップＳ１０３以降のステップを行う。ステップＳ１０３以降のステップでは、基準の位置および向きに設定された対象造形物モデル７２について、サポート３０を追加および配置する配置面、第１サポート３０Ｌの太さ、および、第２サポート３０Ｓの数を決定する。なお、第１サポート３０Ｌの数、および、第２サポート３０Ｓの太さは予め決定されているものとする。ここでは、第２サポート３０Ｓの数は、所定のルールに従って一様に求めることができる。
【００６５】
サポート３０を追加および配置する配置面は、基準の位置および向きに設定された対象造形物モデル７２に対して主軸７８を軸にして回転させた後の対象造形物モデル７２の下面である。このとき、主軸７８を軸にして対象造形物モデル７２を基準の位置および向きから回転させることが可能な角度（以下、回転角度θという。）は、複数存在する。また、第１サポート３０Ｌの太さが取り得る値は複数存在する。そのため、回転角度θと第１サポート３０Ｌの太さとが取り得る組み合わせの数は膨大になり、膨大な処理時間が必要となる。そこで、本実施形態では、最適な回転角度θと第１サポート３０Ｌの太さとの組み合わせを、遺伝的アルゴリズムを適用して決定することとする。ここでは、遺伝的アルゴリズムを適用して対象造形物モデル７２の最適な位置および向きを決定し、決定した最適な位置および向きの対象造形物モデル７２に対して、最適な太さ、かつ、最適な数のサポート３０を追加および配置する。
【００６６】
まず、図１０のステップＳ１０３では、初期集団の生成を行う。ステップＳ１０３では、初めに、予め定められた数の個体（以下、個体数をｎとする。）を生成する。例えば、第１サポート３０Ｌの太さは、第２サポート３０Ｓの太さに対する割合、すなわち、第２サポート３０Ｓの太さ×第１太さ係数ｃで求めることができる。各個体は、対象造形物モデル７２の主軸７８を軸にして、基準の位置および向きから回転させた回転角度θ、および、第１太さ係数ｃを遺伝子とし、回転角度θ、第１太さ係数ｃを順に並べたものである。ここでは、回転角度候補生成部６２は、基準の位置および向きとなるように配置した対象造形物モデル７２を基準にして、主軸７８を軸にして対象造形物モデル７２を回転させる回転角度θの候補を複数作成する。第１太さ候補生成部６３は、第１サポート３０Ｌの太さを求める際に用いられる第１の太さ係数ｃの候補を複数作成する。そして、生成された複数の回転角度θと複数の第１太さ係数ｃとから各個体を生成することで、初期集団を生成する。
【００６７】
ところで、図１１のステップＳ２０５において、基準部６０によって回転させた後の対象造形物モデル７２の下面は、重心７４から近い面である（図１４参照）。そのため、回転させた後の対象造形物モデル７２の下面にサポート３０を追加および配置すると、サポート３０は、対象造形物７０の荷重をより安定して支えることができる。そのため、ステップＳ２０５で回転させた後の対象造形物モデル７２の下面の少なくとも一部には、サポート３０を追加および配置することが好ましい。そこで、回転角度θの取り得る範囲は、基準の位置および向きに設定された対象造形物モデル７２の下面の一部が、回転角度θに従って対象造形物モデル７２を回転させた後であっても、下面に位置するような範囲であることが好ましい。対象造形物モデル７２によって、回転角度θの範囲は異なるが、例えば、回転角度θの範囲は、−９０°≦θ≦９０°である。ここでは、各個体の遺伝子のうち回転角度θは、回転角度候補生成部６２によって上記の範囲の中の乱数で決定される。
【００６８】
また、第１太さ係数ｃの範囲は、予め設定されているとよい。第１太さ係数ｃの下限値は１より大きいとよい。ここで、第１サポート３０Ｌの太さの上限値をｘＭａｘとし、第２サポート３０Ｓの太さをβとすると、第２サポート３０Ｓの太さβは、β＜ｘＭａｘで表される。なお、第１太さ係数ｃの上限値は、特に限定されない。例えば、第１太さ係数ｃの上限値は、ｘＭａｘ／βより小さいとよい。すなわち、第１太さ係数ｃの範囲は、例えば、１＜ｃ＜ｘＭａｘ／βである。ここでは、各個体の遺伝子のうち第１太さ係数ｃは、第１太さ候補生成部６３によって、１＜ｃ＜ｘＭａｘ／βの中の乱数で決定される。
【００６９】
以上のようにして、例えば、図１７に示すようなｎ個の個体Ｇ０１、Ｇ０２、Ｇ０３、・・・、Ｇ０ｎが得られる。なお、図１７〜図２０において、括弧内の数値は、左が回転角度θ、右が第１太さ係数ｃを示している。
【００７０】
次に、ステップＳ１０４では、適応度の評価を行う。ここでは、まず、配置面決定部６４は、各個体の遺伝子である回転角度θに従って、主軸７８を軸にして対象造形物モデル７２を回転させて対象造形物モデル７２の向きをそれぞれ変更する。そして、配置面決定部６４は、回転角度θに従って向きを変更した対象造形物モデル７２に対して、サポート３０を追加および配置する配置面を設定する。上述したように、図１４に示すように、配置面は、回転角度θに従って向きを変更した後の対象造形物モデル７２の下面８２である。
【００７１】
次に、領域分割部６６は、図１６に示すように、配置面８２を第１の領域９１と第２の領域９２とに分割する。例えば、以下のようにして、配置面８２を第１の領域９１と第２の領域９２とに分割するとよい。まず、基準点設定部６５は、図１５に示すように、領域基準点８６を設定する。「領域基準点」とは、配置面８２上に位置し、配置面８２を分割する際に使用する基準となる点のことである。本実施形態では、「領域基準点」は、本発明の「基準点」に対応する。領域基準点８６は、以下のようにして設定することができる。まず、基準点設定部６５は、重心算出部５６によって算出された対象造形物モデル７２の重心７４から配置面８２に向かって垂線８４を引く。垂線８４は、配置面８２に対して直交する線である。そして、基準点設定部６５は、垂線８４と配置面８２との交点を領域基準点８６として設定する。ここでは、領域基準点８６は、底面視において、対象造形物モデル７２の重心７４と重なるような点である。領域基準点８６は、配置面８２上の点のうち重心７４に最も近い点である。本実施形態では、領域基準点８６は、最近点８０と一致する。
【００７２】
次に、領域分割部６６は、配置面８２を分割する。ここでは、領域分割部６６は、基準点設定部６５によって設定された領域基準点８６を基準として、配置面８２を第１の領域９１と第２の領域９２とに分割する。第１の領域９１は、対象造形物モデル７２の重心７４から近い領域である。第１の領域９１は、領域基準点８６を含む所定の範囲内の領域である。領域基準点８６を含む所定の範囲は、記憶部５２に予め記憶されている範囲である。領域基準点８６を含む所定の範囲は特に限定されず、例えば、領域基準点８６を中心に、所定の距離離れた範囲である。例えば、所定の距離とは、領域基準点８６を中心に、対象造形物モデル７２の荷重の所定の割合分の荷重を含むような距離である。この所定の距離は、記憶部５２に予め定められた数値である。ここでは、領域基準点８６は、図１６に示すように、第１の領域９１の中心に位置している。第１の領域９１の中心とは、領域内の真ん中に位置する点のことである。第１の領域９１の中心は、従来公知の方法を利用して求めるとよい。第１の領域９１における領域基準点８６の位置は特に限定されない。例えば、領域基準点８６は、第１の領域９１の端に位置していてもよい。
【００７３】
第２の領域９２は、配置面８２において第１の領域９１を除いた領域である。第２の領域９２は、対象造形物モデル７２の重心７４を基準にして、第１の領域９１よりも離れた位置の領域である。
【００７４】
以上のようにして、領域分割部６６によって配置面８２を第１の領域９１と第２の領域９２とに分割した後、数算出部６７は、第２サポート３０Ｓを所定のルールに従って第２の領域９２に追加および配置し、対象造形物モデル７２に追加および配置した第２サポート３０Ｓの数を算出する。ここでは、上述のように、前後方向および左右方向に等間隔になるように複数の第２サポート３０Ｓを第２の領域９２に追加および配置する。その後、決定部６８は、各個体について、第２サポート３０Ｓの数、遺伝子である第１太さ係数ｃを用いて、評価関数Ｊの値を算出する。ここで、評価関数Ｊは、上述の式（１）〜（５）を用いて、以下の式（７）のように表すことができる。
Ｊ＝Ｌｓ／Ｓ−ｍａｘ（Ｇｔ，Ａｓ）
＝（β・ｃ・ｋ・ｐ＋β・ｋ・ｑ）／Ｓ−ｍａｘ（Ｖａ・Ｄａ，Ｖｎ・Ｄａ＋Ｓｎ・Ｋ）・・・（７）
【００７５】
なお、上述のように、Ｌｓはサポート３０の支持可能な荷重（支持荷重）、Ｓは安全率、Ｇｔは対象造形物７０の荷重、Ａｓは対象造形物７０の樹脂層と槽１２との間の密着力を表している。βは第２サポート３０Ｓの太さ、ｃは第１太さ係数、ｋは１つのサポート３０の引張強度、ｐは第１サポート３０Ｌの数を表している。ｑは第２サポート３０Ｓの数を表している。ここでは、β・ｃは第１サポート３０Ｌの太さを表している。また、Ｖａは対象造形物７０の体積、Ｄａは対象造形物７０の密度、Ｖｎは１〜ｎ層目まで積層した際の対象造形物７０の体積、Ｓｎはｎ層目の対象造形物７０の断面積、Ｋは対象造形物７０の応力（引張応力）を表している。
【００７６】
その後、決定部６８は、算出したｎ個の個体Ｇ０１、Ｇ０２、Ｇ０３、・・・、Ｇ０ｎの評価関数Ｊの値を比較する。ここでは、決定部６８は、評価関数Ｊの値が０よりも大きい個体の中で、第２サポート３０Ｓの数が少ない程、優秀な個体と見なし、高い評価を与える。そして、決定部６８は、高い評価が与えられた個体が上位となるようにｎ個の個体を並び替える。本実施形態では、評価関数Ｊは、第２サポート３０Ｓの数そのものとなるように遺伝的アルゴリズムが設定されている。よって、並び替えた後のｎ個の個体を順に、Ｇ１１、Ｇ１２、Ｇ１３、・・・、Ｇ１ｎとすると、このときの各個体の評価関数Ｊ１、Ｊ２、Ｊ３、・・・、Ｊｎは、図１８のようになる。
【００７７】
次に、ステップＳ１０５では、決定部６８は選択を行う。選択は集団の中から優秀な個体をｎ個選ぶステップである。換言すると、選択は、適応度の評価において評価が高かったｎ個の個体を選ぶものである。なお、１回目の選択では、集団に含まれる個体数はｎであるので、全ての個体が選ばれる。
【００７８】
次に、ステップＳ１０６では、決定部６８は交叉を行う。交叉の方法は特に限定されず、公知の各種の手法を用いることができる。公知の交叉の手法を組み合わせて適用してもよい。ここでは、２点交叉を用いることとする。２点交叉では、ステップＳ１０４の適応度の評価において最も評価が高かった個体（以下、最優秀個体という。）Ｇ１１と、他の個体Ｇ１２、Ｇ１３、・・・、Ｇ１ｎのうちの１つとをペアとする。次に、各ペアについて、最優秀個体Ｇ１１の回転角度θの遺伝子と、他の個体の第１太さ係数ｃの遺伝子とを組み合わせた新たな個体、および、最優秀個体Ｇ１１の第１太さ係数ｃの遺伝子と、他の個体の回転角度θの遺伝子とを組み合わせた新たな個体を生成する。例えば、図１９に示すように、最優秀個体Ｇ１１と個体Ｇ１２とのペアから、新たな個体Ｇ１１２および個体Ｇ１２１が生成される。
【００７９】
次に、ステップＳ１０７では、決定部６８は突然変異を行う。突然変異では、所定のルールに従って、新しい遺伝子の組み合わせを有する新たな個体を生成する。なお、突然変異の手法は何ら限定されず、公知の各種手法を用いることができる。ここでは、評価関数Ｊの値が０以下の個体からランダムで所定の数の個体を抽出する。そして、抽出した個体を対象として、回転角度θ、または、第１太さ係数ｃの値を、上述した範囲の中における乱数と入れ替える。例えば、抽出した個体を対象として、回転角度θ、第１太さ係数ｃ、ならびに、回転角度θおよび第１太さ係数ｃのうち、何れかを一定の確率で選択し、選択した遺伝子に関して突然変異を行ってもよい。例えば、図２０（ａ）〜（ｃ）において、個体ＧＳｎの評価関数Ｊの値が０以下とする。図２０（ａ）に示すように、回転角度θに関して突然変異を行う場合、個体ＧＳｎに対して、回転角度θの遺伝子を、−９０°≦θ≦９０°の範囲の中における乱数とする。そして、突然変異の結果として、新たな個体ＧＳｎ’が生成される。図２０（ｂ）に示すように、第１太さ係数ｃに関して突然変異を行う場合、個体ＧＳｎに対して、第１太さ係数ｃの遺伝子を、１＜ｃ＜ｘＭａｘ／βの範囲の中における乱数とし、突然変異の結果として、新たな個体ＧＳｎ’が生成される。図２０（ｃ）に示すように、回転角度θおよび第１太さ係数ｃに関して突然変異を行う場合、個体ＧＳｎに対して、回転角度θの遺伝子を、−９０°≦θ≦９０°の範囲の中における乱数とし、第１太さ係数ｃの遺伝子を、１＜ｃ＜ｘＭａｘ／βの範囲の中における乱数とする。そして、突然変異の結果として、新たな個体ＧＳｎ’が生成される。
【００８０】
次に、ステップＳ１０８では、決定部６８は適応度の評価を行う。ここでの適応度の評価では、決定部６８は、ステップＳ１０５で選択されたｎ個の個体と、ステップＳ１０６およびステップＳ１０７で生成された新たな個体とについて、ステップＳ１０４の適応度の評価と同様に、それぞれの評価関数Ｊの値を算出する。そして、決定部６８は、評価関数Ｊの値が０より大きい個体の中で、第２サポート３０Ｓの数が少ない順にソートを行う。すなわち、決定部６８は、評価関数Ｊの値が０よりも大きい個体の中で、第２サポート３０Ｓの数が少ない程、優秀な個体として上位に位置づける。そして、最も上位の個体が最優秀個体となる。以下、ソート後の最優秀個体を個体Ｇ３１とする。
【００８１】
次に、ステップＳ１０９では、決定部６８は遺伝的アルゴリズムの終了判定を行う。ここでは、ステップＳ１０８において、決定部６８は、最も評価が高かった最優秀個体Ｇ３１の回転角度θを所定の角度の分、変更した個体を新たに作成する。この所定の角度は、記憶部５２に予め記憶されているものである。所定の角度の値は特に限定されないが、例えば、＋２°または−２°である。例えば、最優秀個体Ｇ３１の回転角度を−２°ずらし、その個体を個体Ｇ３１’とする。次に、個体Ｇ３１’の第２サポート３０Ｓの数を算出する。その後、決定部６８は、個体Ｇ３１’に対する評価関数Ｊの値を算出する。そして、個体Ｇ３１’の評価関数Ｊの値が０より大きい場合、決定部６８は、ステップＳ１０８における最優秀個体Ｇ３１の第２サポート３０Ｓの数と、個体Ｇ３１’の第２サポート３０Ｓの数とを比較する。
【００８２】
個体Ｇ３１’の第２サポート３０Ｓの数が個体Ｇ３１の第２サポート３０Ｓの数よりも少ない場合、決定部６８は、判定結果をＮＯとし、ステップＳ１０５に戻り、再びステップＳ１０５以降のステップを行う。なお、このとき、ステップＳ１０５では、前回のステップＳ１０５で選択されたｎ個の個体と、ステップＳ１０６およびステップＳ１０７で生成された新たな個体と、ステップＳ１０８で生成された個体Ｇ３１’との中から、評価が高いｎ個の個体を選択する。
【００８３】
一方、個体Ｇ３１’の評価関数Ｊの値が０以下の場合、または、個体Ｇ３１’の評価関数Ｊの値が０より大きく、個体Ｇ３１’の第２サポート３０Ｓの数が個体Ｇ３１の第２サポート３０Ｓの数以上の場合、決定部６８は、判定結果をＹＥＳとし、最優秀個体Ｇ３１を解とする。ここでは、最優秀個体Ｇ３１で特定された回転角度θで主軸７８を軸にして回転させた対象造形物モデル７２の向きが対象造形物７０の最適な向きと見なされる。そして、最優秀個体Ｇ３１で特定された第１太さ係数ｃに第２サポート３０Ｓの太さβを掛けた値が、第１サポート３０Ｌの太さとなる。
【００８４】
本実施形態では、配置決定装置１００によって決定した対象造形物７０の位置および向き、第２サポート３０Ｓの配置位置、および、第１サポート３０Ｌの太さに従って、ホルダ１３の下部に、全体造形物２０を造形する。すなわち、ホルダ１３の下部にサポート３０を造形し、サポート３０の下に対象造形物７０を造形する。
【００８５】
以上、本実施形態では、図１５に示すように、配置面８２の第１の領域９１は、配置面８２のうち重心７４から近い領域である。そのため、第１の領域９１に追加および配置される第１サポート３０Ｌの太さを、第２の領域９２に追加および配置される第２サポート３０Ｓの太さよりも太くすることで、サポート３０は、対象造形物７０の重心７４を中心にして対象造形物７０の荷重を支持することができる。よって、サポート３０は、対象造形物７０の荷重を安定して支持することができる。本実施形態では、サポート３０が対象造形物７０の荷重を支持することが可能であって、かつ、配置面８２の第２の領域９１に追加および配置される第２サポート３０Ｓの数が最小となるような回転角度θを、基準の位置および向きに配置された対象造形物モデル７２の主軸７８を軸にして回転させる角度としている。このように決定した向きで対象造形物７０を造形することによって、サポート３０が対象造形物７０の荷重を支持することができる。また、第２サポート３０Ｓの数を少なくすることができるため、サポート３０を造形する際に必要な材料を少なくすることができる。
【００８６】
例えば、回転角度θと第１太さ係数ｃとの取り得る全ての組み合わせを求めて、対象造形物７０の最適な向き、および、最適な第１サポート３０Ｌの太さを求める場合、演算処理が膨大となり、演算負荷が大きくなる。しかし、本実施形態では、回転角度θおよび第１太さ係数ｃとの組み合わせを、遺伝的アルゴリズムを適用することで決定している。よって、遺伝的アルゴリズムを適用することで、回転角度θと第１太さ係数ｃとの取り得る全ての組み合わせを求める場合と比較して、演算時間が膨大となることを防止することができる。その結果、演算負荷を小さくすることができる。
【００８７】
本実施形態では、決定部６８は、上記式（７）に示すような評価関数Ｊを用いて、各個体における評価関数Ｊの値をそれぞれ算出している。そして、決定部６８は、評価関数Ｊの値が０よりも大きく、かつ、第２サポート３０Ｓの数が最小となるような個体を解として、最適な回転角度θおよび第１サポート３０Ｌの太さを決定する。このように、上記式（７）に示すような評価関数Ｊを用いることで、造形する対象造形物７０の荷重Ｇｔおよび密着力Ａｓの何れか大きいほうの荷重に耐えられるような向きに、対象造形物７０を設定することができる。また、最適な第１サポート３０Ｌの太さで、第１サポート３０Ｌを第１の領域９１に追加および配置することができる。
【００８８】
以上、第１実施形態に係る配置決定装置１００を備えた３次元造形システム１０について説明した。本発明に係る配置決定装置は、第１実施形態に係る配置決定装置１００に限らず、他の種々の形態で実施することができる。次に、他の実施形態について簡単に説明する。なお、以下の説明では、既に説明した構成と同様の構成には同じ符号を使用し、その説明は省略することとする。
【００８９】
＜第２実施形態＞
図２１は、対象造形物７０ｅを示す斜視図であり、禁止面を示す図である。図２１に示すように、対象造形物７０ｅは、文字または模様などの装飾が施された装飾面７１ｅを有することがある。このような対象造形物７０ｅを造形する場合には、装飾面７１ｅにサポート３０を追加および配置しないことが好ましい。サポート３０を対象造形物７０ｅから引き剥がす際に、対象造形物７０ｅの装飾面７１ｅに傷が付くおそれがあるからである。このような対象造形物７０ｅを造形する場合には、装飾面７１ｅにサポート３０が追加および配置されないことが好ましい。そこで、本実施形態では、対象造形物７０ｅにおいて、サポート３０を追加および配置すべきでない面（以下、禁止面という。）を有している場合、サポート３０が対象造形物７０ｅの荷重を十分に支持することができるということだけでなく、禁止面にサポート３０が追加および配置されないように対象造形物７０ｅの位置および向きを決定することが好ましい。図２１では、装飾面７１ｅが禁止面となる。
【００９０】
本実施形態では、禁止面を有する対象造形物７０ｅであっても、上記実施形態と同様な手順で、遺伝的アルゴリズムを適用して、対象造形物７０ｅに対応する対象造形物モデルのどの面にどのようなサポート３０を追加および配置するかを決定することができる。ただし、遺伝的アルゴリズムにおいて、個体の遺伝子である回転角度θの範囲は、禁止面７１ｅにサポート３０が造形されないような範囲であるとよい。本実施形態では、例えば、図２１に示すように、基準の位置および向きに設定された対象造形物モデル７２ｅにおいて、禁止面７１ｅは、対象造形物モデル７２の上面に設定されているとする。また、配置面８２ｅは対象造形物モデル７２ｅの下面である。ここでは、回転角度θの範囲は、禁止面７１ｅが配置面８２と一致しないような範囲である。例えば、回転角度θの範囲は、−９０°≦θ≦９０°である。ここでは、各個体の遺伝子のうち回転角度θは、上記の範囲の中で乱数によって決定されるとよい。その他の決定の手順は、上記実施形態と同様であるため、詳細な説明は省略する。
【００９１】
本実施形態では、回転角度候補生成部６２は、サポート３０を追加および配置したくない禁止面７１ｅにサポート３０を追加および配置しないような向きとなる回転角度θのみを候補としている。よって、禁止面７１ｅにサポート３０が造形されない回転角度θを、所定の基準の向きから回転する角度にすることができる。したがって、禁止面７１ｅにサポート３０が追加および配置されることなく、サポート３０は対象造形物７０ｅの荷重を支持することができる。
【００９２】
＜第３実施形態＞
上記各実施形態では、上記式（７）に示すように、第１サポート３０Ｌの太さは、第２サポート３０Ｓの太さに対する割合で表されていた。換言すると、第１サポート３０Ｌの太さは、第２サポート３０Ｓの太さβ×第１太さ係数ｃで表されていた。そのため、遺伝子アルゴリズムを適用する際、個体の遺伝子の１つを第１太さ係数ｃとしていた。しかし、個体の遺伝子の１つは、第１太さ係数ｃに限定されない。
【００９３】
例えば、遺伝子アルゴリズムを適用する際、個体の遺伝子は、回転角度θと、第１サポート３０Ｌの太さであってもよい。このような場合であっても、図１０に示すような手順で、遺伝的アルゴリズムを適用して最適となる回転角度θと、第１サポート３０Ｌの太さとを決定することができる。
【００９４】
＜変形例＞
上記各実施形態では、主軸設定部５８は、図１２に示すように、対象造形物モデル７２を構成する複数のポリゴンの重心を利用して対象造形物モデル７２の主軸７８を設定していた。主軸７８は、対象造形物モデル７２の重心７４と、複数のポリゴンの重心の何れかの重心（ここでは、最遠点７６）とを結ぶ線であった。しかし、主軸７８は、対象造形物モデル７２の重心７４と、複数のポリゴンの頂点のうち重心７４から最も離れた頂点とを結ぶ線であってもよい。この場合、主軸設定部５８は、対象造形物モデル７２の重心７４と、対象造形物モデル７２を構成する複数のポリゴンの頂点との距離をそれぞれ算出する。そして、主軸設定部５８は、対象造形物モデル７２の重心７４と複数のポリゴンの頂点との間の複数の距離のうち、距離が最も長い距離に対応したポリゴンの頂点を最遠点とし、最遠点と対象造形物モデル７２の重心７４とを結ぶ線を主軸７８として設定してもよい。
【００９５】
なお、上記各実施形態および変形例は、適宜に組み合わせてもよい。
【００９６】
上述したように、配置決定装置１００の記憶部５２、前処理部５４、重心算出部５６、初期部５７、主軸設定部５８、基準部６０、回転角度候補生成部６２、第１太さ候補生成部６３、配置面決定部６４、基準点設定部６５、領域分割部６６、数算出部６７、および決定部６８は、ソフトウェアにより構成されていてもよい。すなわち、上記各部は、コンピュータプログラムがコンピュータに読み込まれることにより、当該コンピュータによって実現されるようになっていてもよい。本発明には、コンピュータを上記各部として機能させるためのコンピュータプログラムが含まれる。また、本発明には、当該コンピュータプログラムが記録されたコンピュータ読み取り可能な記録媒体が含まれる。
【符号の説明】
【００９７】
１０  ３次元造形システム
１０Ａ  ３次元造形装置
１３  ホルダ
３０  サポート（サポート造形物）
３０Ｌ  第１サポート
３０Ｓ  第２サポート
５２  記憶部
５６  重心算出部
５８  主軸設定部
６０  基準部
６２  回転角度候補生成部
６３  第１太さ候補生成部
６４  配置面決定部
６５  基準点設定部
６６  領域分割部
６７  数算出部
６８  決定部
７０  対象造形物
７２  対象造形物モデル（３次元モデル）
７４  重心
８６  基準点
９１  第１の領域
９２  第２の領域
１００  配置決定装置（サポートの配置決定装置）
【図１】
0006579815.tif 000002
【図２】
0006579815.tif 000003
【図３】
0006579815.tif 000004
【図４】
0006579815.tif 000005
【図５】
0006579815.tif 000006
【図６】
0006579815.tif 000007
【図７】
0006579815.tif 000008
【図８】
0006579815.tif 000009
【図９】
0006579815.tif 000010
【図１０】
0006579815.tif 000011
【図１１】
0006579815.tif 000012
【図１２】
0006579815.tif 000013
【図１３】
0006579815.tif 000014
【図１４】
0006579815.tif 000015
【図１５】
0006579815.tif 000016
【図１６】
0006579815.tif 000017
【図１７】
0006579815.tif 000018
【図１８】
0006579815.tif 000019
【図１９】
0006579815.tif 000020
【図２０】
0006579815.tif 000021
【図２１】
0006579815.tif 000022
【図２２】
0006579815.tif 000023