(57)【特許請求の範囲】
【請求項１】
複数の３Ｄプリンタの各３Ｄプリンタの素材残量を示す情報を含む運用状況情報を取得し、
取得した前記各３Ｄプリンタの運用状況情報に含まれる前記各３Ｄプリンタの素材残量を示す情報に基づいて、前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、造形対象物の３次元データを分割して、前記造形対象物のうちの、前記各３Ｄプリンタに割り当てる部材の３次元データを生成し、
生成した前記部材の３次元データを用いて、前記各３Ｄプリンタへの出力を制御する、
処理をコンピュータが実行することを特徴とする３Ｄプリンタ制御方法。
【請求項２】
前記運用状況情報は、前記各３Ｄプリンタで使用される予定の素材量を示す情報をさらに含み、
前記生成する処理は、
前記各３Ｄプリンタの満タン時の素材残量に対する、造形後の素材残量から前記各３Ｄプリンタで使用される予定の素材量を減じた値の割合が等しくなるように、前記造形対象物の３次元データを分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする請求項１に記載の３Ｄプリンタ制御方法。
【請求項３】
前記生成する処理は、
前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、前記造形対象物のうち前記各３Ｄプリンタに割り当てる部材の体積を算出し、
算出した前記部材の体積に応じて、前記造形対象物の３次元データを分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする請求項１または２に記載の３Ｄプリンタ制御方法。
【請求項４】
前記生成する処理は、
前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、前記造形対象物のうち前記各３Ｄプリンタに割り当てる部材の体積を算出し、
算出した前記部材の体積に応じて、前記造形対象物の３次元データを断面にかかる応力が小さくなるように分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする請求項１〜３のいずれか一つに記載の３Ｄプリンタ制御方法。
【請求項５】
複数の３Ｄプリンタの各３Ｄプリンタの素材残量を示す情報を含む運用状況情報を取得し、
取得した前記各３Ｄプリンタの運用状況情報に含まれる前記各３Ｄプリンタの素材残量を示す情報に基づいて、前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、造形対象物の３次元データを分割して、前記造形対象物のうちの、前記各３Ｄプリンタに割り当てる部材の３次元データを生成し、
生成した前記部材の３次元データを用いて、前記各３Ｄプリンタへの出力を制御する、
処理をコンピュータに実行させることを特徴とする３Ｄプリンタ制御プログラム。
【請求項６】
複数の３Ｄプリンタの各３Ｄプリンタの素材残量を示す情報を含む運用状況情報を取得し、
取得した前記各３Ｄプリンタの運用状況情報に含まれる前記各３Ｄプリンタの素材残量を示す情報に基づいて、前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、造形対象物の３次元データを分割して、前記造形対象物のうちの、前記各３Ｄプリンタに割り当てる部材の３次元データを生成し、
生成した前記部材の３次元データを用いて、前記各３Ｄプリンタへの出力を制御する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄプリンタ制御方法、３Ｄプリンタ制御プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
近年、３Ｄ（ｔｈｒｅｅ  ｄｉｍｅｎｓｉｏｎｓ）プリンタの普及により、様々なモノが３Ｄプリンタで造られるようになってきている。例えば、建物や橋などの建設部材の造形手段として、３Ｄプリンタを利用することも行われている。
【０００３】
先行技術としては、例えば、入力された３次元データの属性情報を取得し、取得された３次元データの属性情報に基づいて、複数の３次元造形手段から３次元造形手段を選択するものがある。また、造形対象物であるオブジェクトに外接する外接立方体が、造形装置の造形可能領域であるワーク領域からはみ出る場合には、ワーク領域からはみ出る部分を分離する技術がある。また、成形収縮を見込んで三次元成形品モデルを拡大し、三次元成形品モデルを複数の子モデルに分割し、分割した子モデル単位に金型形状部の型割り設計処理を行う技術がある。また、３次元造形を行うための残存材料量を検出し、３次元造形のために使用する材料量を算出し、３次元データの造形予測結果を表示する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−２２１７８９号公報
【特許文献２】特開２００２−２５１２０９号公報
【特許文献３】特開２００１−１０１２４６号公報
【特許文献４】特開２０１６−１６８６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、利用可能な３Ｄプリンタが複数ある場合に、複数の３Ｄプリンタを効率よく稼働させることが難しい。例えば、一部の３Ｄプリンタに出力が偏らないように、作業現場において、各３Ｄプリンタに出力する３Ｄモデルを人手により作成したり、出力に関わるパラメータを人手により設定したりすることは困難である。
【０００６】
一つの側面では、本発明は、複数の３Ｄプリンタを効率よく稼働させることを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様では、複数の３Ｄプリンタの各３Ｄプリンタの運用状況情報を取得し、取得した前記各３Ｄプリンタの運用状況情報に基づいて、造形対象物の３次元データから、前記造形対象物のうちの、前記各３Ｄプリンタに割り当てる部材の３次元データを生成し、生成した前記部材の３次元データを用いて、前記各３Ｄプリンタへの出力を制御する、３Ｄプリンタ制御方法が提供される。
【発明の効果】
【０００８】
本発明の一側面によれば、複数の３Ｄプリンタを効率よく稼働させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる３Ｄプリンタ制御方法の一実施例を示す説明図である。
【図２】図２は、３Ｄプリンタ制御システム２００のシステム構成例を示す説明図である。
【図３】図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、３Ｄプリンタ管理ＤＢ２２０の記憶内容の一例を示す説明図である。
【図５】図５は、３Ｄモデル管理ＤＢ２３０の記憶内容の一例を示す説明図である。
【図６】図６は、情報処理装置１０１の機能的構成例を示すブロック図である。
【図７】図７は、各３ＤプリンタＰｉに割り当てる部材の体積の第１の算出例を示す説明図である。
【図８】図８は、各３ＤプリンタＰｉに割り当てる部材の体積の第２の算出例を示す説明図である。
【図９】図９は、造形対象物の３次元データの第１の分割例を示す説明図である。
【図１０】図１０は、断面にかかる応力の一例を示す説明図である。
【図１１】図１１は、部材同士の接着面の形状例を示す説明図である。
【図１２】図１２は、出力制御画面の画面例を示す説明図である。
【図１３】図１３は、情報処理装置１０１の３Ｄプリンタ制御処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、本発明にかかる３Ｄプリンタ制御方法、３Ｄプリンタ制御プログラムおよび情報処理装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
図１は、実施の形態にかかる３Ｄプリンタ制御方法の一実施例を示す説明図である。図１において、情報処理装置１０１は、３Ｄプリンタ１０２への出力を制御するコンピュータである。図１の例では、３Ｄプリンタ１０２として、３Ｄプリンタ１０２−１，１０２−２を例に挙げて説明する。
【００１２】
３Ｄプリンタ１０２は、立体物を造形する装置である。立体物を造形するための素材としては、例えば、合成樹脂、石膏、セメントなどがある。造形法としては、光造形法、材料噴射法、粉末法、熱溶解積層法などがある。造形対象物としては、例えば、製品や部品のモックアップ、建物や橋などの建設部材、ロケットエンジンの部品など様々なモノが挙げられる。
【００１３】
ここで、１台の３Ｄプリンタ１０２が有する素材のみでは、素材が足りず、ユーザが要求する造形物を生成することができない場合がある。このため、３Ｄプリンタ１０２を複数用意することがある。しかし、利用可能な３Ｄプリンタ１０２が複数存在する場合に、１台の３Ｄプリンタ１０２に出力が集中すると、素材の残量切れが頻繁に発生し、素材の運搬にかかるコストが増大する。また、他の３Ｄプリンタ１０２の稼働率の低下を招いてしまう。
【００１４】
そこで、本実施の形態では、１つのモノ（立体物）を造形するにあたり、複数の３Ｄプリンタ１０２で素材を融通し合うことで、複数の３Ｄプリンタ１０２を効率よく稼働させる３Ｄプリンタ制御方法について説明する。以下、情報処理装置１０１の処理例について説明する。
【００１５】
（１）情報処理装置１０１は、複数の３Ｄプリンタ１０２の各３Ｄプリンタ１０２の運用状況情報を取得する。ここで、３Ｄプリンタ１０２の運用状況情報とは、３Ｄプリンタ１０２の運用状況を示す情報である。運用状況情報は、例えば、３Ｄプリンタ１０２の素材残量を示す情報を含むことにしてもよい。素材残量は、立体物の造形に使用できる素材の残量である。また、運用状況情報は、他の造形対象物のために３Ｄプリンタ１０２を使用中であるか否かを示す情報を含むことにしてもよい。
【００１６】
具体的には、例えば、情報処理装置１０１は、各３Ｄプリンタ１０２から各３Ｄプリンタ１０２の運用状況情報を取得することにしてもよい。また、情報処理装置１０１は、例えば、ユーザの操作入力により、各３Ｄプリンタ１０２の運用状況情報を取得することにしてもよい。
【００１７】
図１の例では、各３Ｄプリンタ１０２−１，１０２−２から、各３Ｄプリンタ１０２−１，１０２−２の運用状況情報１１１，１１２がそれぞれ取得された場合を想定する。
【００１８】
（２）情報処理装置１０１は、取得した各３Ｄプリンタ１０２の運用状況情報に基づいて、造形対象物の３次元データから、造形対象物のうちの各３Ｄプリンタ１０２に割り当てる部材の３次元データを生成する。ここで、造形対象物とは、造形対象となるモノ（立体物）である。造形対象物の３次元データとは、造形対象物を表す３次元モデルである。
【００１９】
例えば、造形対象物の３次元データは、３次元空間上の造形対象物を表す点群の各点のベクトルデータの集合である。図１の例では、造形対象物の３次元データ１２０が示されている。また、各３Ｄプリンタ１０２に割り当てる部材とは、造形対象物のうち各３Ｄプリンタ１０２で造形する部分のことである。
【００２０】
例えば、各運用状況情報１１１，１１２に、各３Ｄプリンタ１０２−１，１０２−２の素材残量を示す情報が含まれるとする。この場合、情報処理装置１０１は、例えば、各３Ｄプリンタ１０２−１，１０２−２の素材残量に応じて、造形対象物の３次元データ１２０を分割して、各３Ｄプリンタ１０２に割り当てる部材の３次元データを生成することにしてもよい。
【００２１】
これにより、例えば、３Ｄプリンタ１０２−１，１０２−２において造形後の素材残量が均等になるように、各３Ｄプリンタ１０２−１，１０２−２に割り当てる部材の３次元データを生成することができる。なお、各３Ｄプリンタ１０２−１，１０２−２は、造形対象物の造形に用いる素材を有しているものとする。
【００２２】
また、各運用状況情報１１１，１１２に、他の造形対象物のために各３Ｄプリンタ１０２−１，１０２−２を使用中であるか否かを示す情報が含まれるとする。より具体的には、例えば、３Ｄプリンタ１０２−１，１０２−２のうち、３Ｄプリンタ１０２−１のみ他の造形対象物のために使用中であるとする。
【００２３】
この場合、情報処理装置１０１は、３Ｄプリンタ１０２−１に比べて、３Ｄプリンタ１０２−２に割り当てる部材の体積が大きくなるように、各３Ｄプリンタ１０２に割り当てる部材の３次元データを生成することにしてもよい。これにより、特定の３Ｄプリンタ１０２（例えば、３Ｄプリンタ１０２−１）に出力が集中して素材の残量切れが発生するのを防ぐことができる。
【００２４】
図１の例では、３Ｄプリンタ１０２−１，１０２−２において造形後の素材残量が均等になるように、造形対象物の３次元データ１２０が分割されて、部材の３次元データ１２１，１２２が生成された場合を想定する。３次元データ１２１は、造形対象物のうち３Ｄプリンタ１０２−１に割り当てる部分の３次元データである。３次元データ１２２は、造形対象物のうち３Ｄプリンタ１０２−２に割り当てる部分の３次元データである。
【００２５】
（３）情報処理装置１０１は、生成した部材の３次元データを用いて、各３Ｄプリンタ１０２への出力を制御する。ここで、各３Ｄプリンタ１０２への出力を制御するとは、どの３Ｄプリンタ１０２に、どのタイミングで、どの３次元データを送信するかを制御することである。
【００２６】
具体的には、例えば、情報処理装置１０１は、各３Ｄプリンタ１０２に割り当てる部材の３次元データを生成したことに応じて、生成した部材の３次元データを割当先の３Ｄプリンタ１０２にそれぞれ送信することにしてもよい。
【００２７】
図１の例では、各３Ｄプリンタ１０２−１，１０２−２に割り当てる部材の３次元データ１２１，１２２が生成されたことに応じて、部材の３次元データ１２１が割当先の３Ｄプリンタ１０２−１に送信される。また、部材の３次元データ１２２が割当先の３Ｄプリンタ１０２−２に送信される。
【００２８】
このように、情報処理装置１０１によれば、１つの造形対象物を造形するにあたり、各３Ｄプリンタ１０２の運用状況を考慮して、複数の３Ｄプリンタ１０２で素材を融通し合って、複数の３Ｄプリンタ１０２を効率よく稼働させることができる。
【００２９】
図１の例では、各３Ｄプリンタ１０２−１，１０２−２の素材残量を考慮して、造形後の素材残量が均等になるように、各３Ｄプリンタ１０２−１，１０２−２に割り当てる部材の３次元データ１２１，１２２を生成することができる。これにより、一部の３Ｄプリンタで素材の残量切れが頻繁に発生するのを防ぎつつ、複数の３Ｄプリンタ１０２を効率よく稼働させることができる。
【００３０】
（３Ｄプリンタ制御システム２００のシステム構成例）
つぎに、図１に示した情報処理装置１０１を、３Ｄプリンタ制御システム２００に適用した場合について説明する。まず、３Ｄプリンタ制御システム２００のシステム構成例について説明する。
【００３１】
図２は、３Ｄプリンタ制御システム２００のシステム構成例を示す説明図である。図２において、３Ｄプリンタ制御システム２００は、情報処理装置１０１と、クライアント装置２０１と、３ＤプリンタＰ１〜Ｐｎ（ｎ：２以上の自然数）と、を含む。３Ｄプリンタ制御システム２００において、情報処理装置１０１、クライアント装置２０１および３ＤプリンタＰ１〜Ｐｎは、有線または無線のネットワーク２１０を介して接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３２】
情報処理装置１０１は、３Ｄプリンタ管理ＤＢ（Ｄａｔａｂａｓｅ）２２０および３Ｄモデル管理ＤＢ２３０を有し、３ＤプリンタＰ１〜Ｐｎへの出力を制御する。３Ｄプリンタ管理ＤＢ２２０および３Ｄモデル管理ＤＢ２３０の記憶内容については、図４および図５を用いて後述する。
【００３３】
クライアント装置２０１は、３Ｄプリンタ制御システム２００のユーザが使用するコンピュータである。３Ｄプリンタ制御システム２００のユーザは、例えば、建築現場での作業を管理する管理者であってもよく、また、建築現場の作業員であってもよい。
【００３４】
３ＤプリンタＰ１〜Ｐｎは、立体物を造形する装置である。３ＤプリンタＰ１〜Ｐｎは、例えば、同じ建築現場や工場などに設置されて利用される。以下の説明では、３ＤプリンタＰ１〜Ｐｎのうちの任意の３Ｄプリンタを「３ＤプリンタＰｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。図１に示した３Ｄプリンタ１０２は、例えば、３ＤプリンタＰｉに対応する。
【００３５】
なお、図２の例では、クライアント装置２０１を１台のみ表示したが、これに限らない。例えば、３Ｄプリンタ制御システム２００は、複数のクライアント装置２０１を含むことにしてもよい。
【００３６】
（情報処理装置１０１のハードウェア構成例）
図３は、情報処理装置１０１のハードウェア構成例を示すブロック図である。図３において、情報処理装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００３７】
ここで、ＣＰＵ３０１は、情報処理装置１０１の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭがＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００３８】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部のコンピュータ（例えば、図２に示したクライアント装置２０１、３ＤプリンタＰ１〜Ｐｎ）に接続される。そして、Ｉ／Ｆ３０３は、ネットワーク２１０と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３９】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４０】
なお、情報処理装置１０１は、上述した構成部のほかに、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイ等を有することにしてもよい。また、図２に示したクライアント装置２０１についても、情報処理装置１０１と同様のハードウェア構成により実現することができる。ただし、クライアント装置２０１は、上述した構成部のほかに、例えば、入力装置、ディスプレイ等を有する。
【００４１】
（各種ＤＢ２２０，２３０の記憶内容）
つぎに、図４および図５を用いて、情報処理装置１０１が有する各種ＤＢ２２０，２３０の記憶内容について説明する。各種ＤＢ２２０，２３０は、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００４２】
図４は、３Ｄプリンタ管理ＤＢ２２０の記憶内容の一例を示す説明図である。図４において、３Ｄプリンタ管理ＤＢ２２０は、プリンタＩＤ、素材満タン時体積および素材残量体積のフィールドを有し、各フィールドに情報を設定することで、３Ｄプリンタ管理情報４００−１〜４００−ｎをレコードとして記憶する。
【００４３】
ここで、プリンタＩＤは、３ＤプリンタＰｉを一意に識別する識別子である。素材満タン時体積は、３ＤプリンタＰｉの満タン時の素材残量を示す。素材残量体積は、３ＤプリンタＰｉの現在の素材残量を示す。素材満タン時体積および素材残量体積の単位は、ｌ（リットル）、ｍｌ（ミリリットル）、ｍ3（立方メートル）、ｃｍ3（立法センチメートル）など任意に設定可能である。
【００４４】
例えば、３Ｄプリンタ管理情報４００−１は、３ＤプリンタＰ１の素材満タン時体積「１．４［ｌ］」と素材残量体積「１，１２３［ｍｌ］」を示す。
【００４５】
３Ｄプリンタ管理情報４００−１〜４００−ｎの素材残量体積は、例えば、各３ＤプリンタＰ１〜Ｐｎからの運用状況情報に応じて更新される。なお、３Ｄプリンタ管理情報４００−１〜４００−ｎには、各３ＤプリンタＰ１〜Ｐｎが有する素材を示す情報が含まれていてもよい。
【００４６】
図５は、３Ｄモデル管理ＤＢ２３０の記憶内容の一例を示す説明図である。図５において、３Ｄモデル管理ＤＢ２３０は、３Ｄモデル管理情報（例えば、３Ｄモデル管理情報５００−１，５００−２）を記憶する。３Ｄモデル管理情報は、造形物ＩＤ、体積、造形物モデル、部材ＩＤ、部材モデルおよび部材体積を含む。
【００４７】
造形物ＩＤは、造形対象物（造形物モデル）を一意に識別する識別子である。体積は、造形対象物（造形物モデル）の体積を示す。体積の単位は、任意に設定可能である。造形物モデルは、造形対象物を表す３次元データである。具体的には、造形物モデルは、３次元空間上の造形対象物を表す点群の各点（ｄ１，ｄ２，…）のベクトルデータの集合である。
【００４８】
部材ＩＤは、造形対象物の部材（パーツ）を一意に識別する識別子である。部材モデルは、造形対象物の部材を表す３次元データである。ここでは、部材モデルは、３次元空間上の部材を表す点群の各点のベクトルデータの集合である。部材体積は、部材（部材モデル）の体積を示す。
【００４９】
なお、造形対象物が予め複数の部材の構成物として管理されていない場合には、部材ＩＤ、部材モデルおよび部材体積は「−（ｎｕｌｌ）」となる。
【００５０】
例えば、３Ｄモデル管理情報５００−１は、造形対象物Ｍ１の体積「９００［ｃｍ3］」および造形物モデル「ｄ１＝（１．１，１．３，３．５），ｄ２＝（４．５，９．２，６．７），…」を示す。また、３Ｄモデル管理情報５００−１は、造形対象物Ｍ１の部材、例えば、部材Ｂ１の部材モデル「ｄ１＝（１．１，１．３，３．５），…」および部材体積「２００［ｃｍ3］」を示す。なお、３Ｄモデル管理情報には、造形対象物を造形するのに用いる素材を示す情報が含まれていてもよい。
【００５１】
（情報処理装置１０１の機能的構成例）
図６は、情報処理装置１０１の機能的構成例を示すブロック図である。図６において、情報処理装置１０１は、受付部６０１と、取得部６０２と、生成部６０３と、出力制御部６０４と、を含む。受付部６０１〜出力制御部６０４は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００５２】
受付部６０１は、造形対象物の選択を受け付ける。ここで、造形対象物とは、造形対象となるモノ（立体物）であり、例えば、建物や橋などの建設部材である。造形対象物の選択は、例えば、クライアント装置２０１において、建築現場での作業を管理する管理者や建築現場の作業員などの操作入力により行われる。
【００５３】
より詳細に説明すると、例えば、情報処理装置１０１は、図５に示した３Ｄモデル管理ＤＢ２３０を参照して、複数の造形対象物からいずれかの造形対象物を選択可能な操作画面を、クライアント装置２０１に表示する。これにより、ユーザは、クライアント装置２０１において造形対象物を選択することができる。クライアント装置２０１は、造形対象物の選択を受け付けると、選択された造形対象物を示す選択結果（例えば、造形物ＩＤ）を情報処理装置１０１に送信する。この場合、受付部６０１は、クライアント装置２０１から選択結果を受信することにより、造形対象物の選択を受け付ける。また、受付部６０１は、不図示の入力装置を用いたユーザの操作入力により、造形対象物の選択を受け付けることにしてもよい。
【００５４】
取得部６０２は、３ＤプリンタＰｉの運用状況情報を取得する。ここで、運用状況情報は、３ＤプリンタＰｉの素材残量を示す情報を含む。また、運用状況情報は、３ＤプリンタＰｉで使用される予定の素材量を示す情報を含むことにしてもよい。３ＤプリンタＰｉで使用される予定の素材量は、例えば、３ＤプリンタＰｉで実行待ちとなっているタスク（造形処理）から特定される。
【００５５】
例えば、３ＤプリンタＰｉで実行待ちとなっているタスクによって造形される立体物の体積が「５００［ｃｍ3］」であった場合、３ＤプリンタＰｉで使用される予定の素材量は「５００［ｃｍ3］」となる。３ＤプリンタＰｉで使用される予定の素材量は、例えば、３ＤプリンタＰｉのこれまでの使用履歴をもとに予測されることにしてもよい。
【００５６】
また、運用状況情報は、３ＤプリンタＰｉのランニングコストを示す情報を含むことにしてもよい。３ＤプリンタＰｉのランニングコストとは、３ＤプリンタＰｉを維持するために必要となるコストであり、例えば、立体物を造形するのに要する単位体積当たりの金額（円／ｍ3）によって表される。
【００５７】
具体的には、例えば、取得部６０２は、３ＤプリンタＰｉから運用状況情報を受信することにより、３ＤプリンタＰｉの運用状況情報を取得する。また、取得部６０２は、不図示の入力装置を用いたユーザの操作入力により、３ＤプリンタＰｉの運用状況情報を取得することにしてもよい。
【００５８】
また、３ＤプリンタＰｉの運用状況情報は、例えば、クライアント装置２０１において、ユーザの操作入力により作成される、または、３ＤプリンタＰｉから取得されることにしてもよい。この場合、取得部６０２は、クライアント装置２０１から３ＤプリンタＰｉの運用状況情報を受信することにより、３ＤプリンタＰｉの運用状況情報を取得することにしてもよい。
【００５９】
取得された３ＤプリンタＰｉの運用状況情報から特定される３ＤプリンタＰｉの素材残量は、例えば、図４に示した３Ｄプリンタ管理ＤＢ２２０に記憶される。例えば、３ＤプリンタＰ１の運用状況情報から特定される素材残量は、３Ｄプリンタ管理情報４００−１の素材残量体積フィールドに設定される。
【００６０】
なお、３ＤプリンタＰｉの運用状況情報の取得タイミングは、任意に設定可能である。例えば、取得部６０２は、受付部６０１によって造形対象物の選択を受け付けたことに応じて、３ＤプリンタＰ１〜Ｐｎから、各３ＤプリンタＰ１〜Ｐｎの運用状況情報をそれぞれ取得することにしてもよい。
【００６１】
生成部６０３は、取得された各３ＤプリンタＰｉの運用状況情報に基づいて、造形対象物の３次元データから、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成する。具体的には、例えば、生成部６０３は、各３ＤプリンタＰｉの素材残量に応じて、選択された造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成する。各３ＤプリンタＰｉの素材残量は、例えば、３Ｄプリンタ管理ＤＢ２２０から特定される。
【００６２】
より詳細に説明すると、例えば、生成部６０３は、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、造形対象物のうち各３ＤプリンタＰｉに割り当てる部材の体積を算出する。ここで、造形後の素材残量とは、３ＤプリンタＰｉにおいて、割り当てられた部材を造形したと仮定した場合の３ＤプリンタＰｉの素材残量である。
【００６３】
そして、生成部６０３は、算出した部材の体積に応じて、造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成する。これにより、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。
【００６４】
例えば、造形対象物が予め複数の部材の構成物として管理されているとする。この場合、生成部６０３は、例えば、算出した部材の体積に応じて、造形対象物を形成する複数の部材からいずれかの部材を選択して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することにしてもよい。
【００６５】
また、造形対象物が複数の部材の構成物として管理されていないとする。この場合、生成部６０３は、例えば、算出した部材の体積に応じて、造形対象物の３次元データを断面にかかる応力が小さくなるように分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することにしてもよい。
【００６６】
なお、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、各３ＤプリンタＰｉに割り当てる部材の体積を算出する具体的な処理内容については、図７を用いて後述する。また、各３ＤプリンタＰｉに割り当てる部材の体積に応じて、造形対象物の３次元データを分割する具体的な処理内容については、図９および図１０を用いて後述する。
【００６７】
また、生成部６０３は、例えば、各３ＤプリンタＰｉの満タン時の素材残量に対する、造形後の素材残量から各３ＤプリンタＰｉで使用される予定の素材量を減じた値の割合が等しくなるように、各３ＤプリンタＰｉに割り当てる部材の体積を算出してもよい。各３ＤプリンタＰｉで使用される予定の素材量は、例えば、各３ＤプリンタＰｉの運用状況情報から特定される。
【００６８】
これにより、各３ＤプリンタＰｉの満タン時の素材残量に対する、造形後の素材残量から各３ＤプリンタＰｉで使用される予定の素材量を減じた値の割合が等しくなるように、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。
【００６９】
なお、各３ＤプリンタＰｉの満タン時の素材残量に対する、造形後の素材残量から各３ＤプリンタＰｉで使用される予定の素材量を減じた値の割合が等しくなるように、部材の体積を算出する具体的な処理内容については、図８を用いて後述する。
【００７０】
また、生成部６０３は、各３ＤプリンタＰｉの素材残量およびランニングコストに応じて造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することにしてもよい。各３ＤプリンタＰｉのランニングコストは、例えば、各３ＤプリンタＰｉの運用状況情報から特定される。
【００７１】
具体的には、例えば、生成部６０３は、３ＤプリンタＰ１〜Ｐｎのうちランニングコストが最も低い３ＤプリンタＰｉから順に、造形対象物のうち３ＤプリンタＰｉの素材残量で造形可能な部材の３次元データを順次生成することにしてもよい。これにより、造形対象物の造形にかかるコストを最小化するように、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。
【００７２】
より詳細に説明すると、例えば、生成部６０３は、３ＤプリンタＰ１〜Ｐｎからランニングコストが最も低い３Ｄプリンタを選択する。つぎに、生成部６０３は、造形物モデル（造形対象物）のうち、選択した３Ｄプリンタの素材残量で造形可能な体積分の部材の３次元データを生成する。ここで、この３Ｄプリンタの素材残量で造形できない不足部分がある場合、生成部６０３は、ランニングコストが次に低い３Ｄプリンタを選択する。そして、生成部６０３は、不足部分のうち、選択した３Ｄプリンタの素材残量で造形可能な体積分の部材の３次元データを生成する。生成部６０３は、これら一連の処理を、造形物モデル全体の体積に達するまで繰り返す。
【００７３】
出力制御部６０４は、生成された各３ＤプリンタＰｉに割り当てる部材の３次元データを用いて、各３ＤプリンタＰｉへの出力を制御する。具体的には、例えば、出力制御部６０４は、各３ＤプリンタＰｉに割り当てる部材の３次元データが生成されたことに応じて、生成された部材の３次元データを割当先の３ＤプリンタＰｉにそれぞれ送信することにしてもよい。
【００７４】
また、出力制御部６０４は、３ＤプリンタＰｉへの出力指示に応じて、生成された部材の３次元データを割当先の３ＤプリンタＰｉにそれぞれ送信することにしてもよい。３ＤプリンタＰｉへの出力指示は、例えば、クライアント装置２０１に表示される出力制御画面において行われる。この場合、出力制御部６０４は、クライアント装置２０１から３ＤプリンタＰｉへの出力指示を受け付ける。出力制御画面の画面例については、図１２を用いて後述する。
【００７５】
なお、造形対象物のうち各３ＤプリンタＰｉに割り当てる部材ごとにＩＤを振り、各３ＤプリンタＰｉで造形された部材にＱＲ（Ｑｕｉｃｋ  Ｒｅｓｐｏｎｓｅ）コードや、凹凸模様などによってＩＤを付与することにしてもよい。このＩＤは、例えば、人の目では特定しにくい模様（例えば、ステガノグラフィー）によって、各部材の特定の場所に付与されることにしてもよい。そして、各部材のＩＤを用いて、クライアント装置２０１から情報処理装置１０１に問い合わせることにより、各部材の情報（例えば、造形対象物の造形物ＩＤ、各部材の体積など）を確認できるようにしてもよい。
【００７６】
また、上述した説明では、各３ＤプリンタＰ１〜Ｐｎが造形対象物の造形に用いる素材を有していることを想定して説明したが、これに限らない。例えば、生成部６０３は、プリンタＰ１〜Ｐｎから、造形対象物の造形に用いる素材を有する複数の３Ｄプリンタを特定することにしてもよい。この場合、生成部６０３は、特定した複数の３Ｄプリンタの各３Ｄプリンタの運用状況情報に基づいて、造形対象物の３次元データから、各３Ｄプリンタに割り当てる部材の３次元データを生成する。各３ＤプリンタＰｉが有する素材を示す情報は、例えば、３Ｄプリンタ管理情報４００−ｉに含まれる。造形対象物の造形に用いる素材を示す情報は、例えば、３Ｄモデル管理情報に含まれる。
【００７７】
（各３ＤプリンタＰｉに割り当てる部材の体積の第１の算出例）
つぎに、図７を用いて、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、各３ＤプリンタＰｉに割り当てる部材の体積を算出する具体的な処理内容について説明する。
【００７８】
図７は、各３ＤプリンタＰｉに割り当てる部材の体積の第１の算出例を示す説明図である。ここでは、利用可能な複数の３Ｄプリンタとして、３ＤプリンタＰ１〜Ｐ３がある場合を想定する。図７中、棒グラフ７０１〜７０３は、各３ＤプリンタＰ１〜Ｐ３の満タン時の素材残量全体を表している。
【００７９】
造形対象物（造形物モデル）全体の体積に関して、下記式（１）が成り立つ。ただし、Ｖは、造形対象物（造形物モデル）全体の体積である（単位は、例えば、ｃｍ3）。ｖiは、３ＤプリンタＰｉの満タン時の素材残量である（単位は、例えば、ｃｍ3）。ｒiは、各３ＤプリンタＰｉの満タン時の素材残量に対する現在の素材残量の割合である。ａは、３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合の目標値である。なお、各３ＤプリンタＰｉの満タン時の素材残量および現在の素材残量は、例えば、３Ｄプリンタ管理ＤＢ２２０内の各３ＤプリンタＰｉの素材満タン時体積および素材残量体積から特定される。
【００８０】
【数１】
0006988459.tif 000002
【００８１】
上記式（１）から、目標値ａは、下記式（２）のように表すことができる。
【００８２】
【数２】
0006988459.tif 000003
【００８３】
また、プリンタＩＤ「Ｐｍ」の３ＤプリンタＰｍで造形に使用する素材の体積は、目標値ａを用いて下記式（３）のように表すことができる。ただし、ｐmは、造形対象物（造形物モデル）全体の体積に対する、３ＤプリンタＰｍに割り当てる部分の体積の割合である。
【００８４】
【数３】
0006988459.tif 000004
【００８５】
このため、造形対象物（造形物モデル）全体の体積に対する、３ＤプリンタＰｍに割り当てる部分の体積の割合は、下記式（４）のように表すことができる。
【００８６】
【数４】
0006988459.tif 000005
【００８７】
そして、上記式（４）の目標値ａに上記式（２）を代入すると、下記式（５）を得ることができる。
【００８８】
【数５】
0006988459.tif 000006
【００８９】
生成部６０３は、上記式（５）を用いて、造形対象物（造形物モデル）全体の体積Ｖに対する、各３ＤプリンタＰ１〜Ｐ３に割り当てる部分の体積の割合ｐ1〜ｐ3を求めることができる。そして、生成部６０３は、各３ＤプリンタＰ１〜Ｐ３の割合ｐ1〜ｐ3に体積Ｖを掛けることにより、各３ＤプリンタＰ１〜Ｐ３に割り当てる部材の体積を求めることができる。
【００９０】
これにより、各３ＤプリンタＰ１〜Ｐ３の割合ｐ1〜ｐ3が、満タン時の素材残量から見て「ａ」という目標値に揃うように、各３ＤプリンタＰ１〜Ｐ３に割り当てる部材の体積を求めることができる。
【００９１】
（各３ＤプリンタＰｉに割り当てる部材の体積の第２の算出例）
つぎに、図８を用いて、各３ＤプリンタＰｉの満タン時の素材残量に対する、造形後の素材残量から各３ＤプリンタＰｉで使用される予定の素材量を減じた値の割合が等しくなるように、各３ＤプリンタＰｉに割り当てる部材の体積を算出する具体的な処理内容について説明する。
【００９２】
図８は、各３ＤプリンタＰｉに割り当てる部材の体積の第２の算出例を示す説明図である。ここでは、利用可能な複数の３Ｄプリンタとして、３ＤプリンタＰ１〜Ｐ３がある場合を想定する。図８中、棒グラフ８０１〜８０３は、各３ＤプリンタＰ１〜Ｐ３の満タン時の素材残量全体を表している。
【００９３】
造形対象物（造形物モデル）全体の体積に関して、下記式（６）が成り立つ。ただし、Ｖは、造形対象物（造形物モデル）全体の体積である（単位は、例えば、ｃｍ3）。ｖiは、３ＤプリンタＰｉの満タン時の素材残量である（単位は、例えば、ｃｍ3）。ｒiは、各３ＤプリンタＰｉの満タン時の素材残量に対する現在の素材残量の割合である。ａは、３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合の目標値である。ｗｉは、各３ＤプリンタＰｉの消費予測体積である。消費予測体積は、各３ＤプリンタＰｉで使用される予定の素材量である。
【００９４】
【数６】
0006988459.tif 000007
【００９５】
上記式（６）から、目標値ａは、下記式（７）のように表すことができる。
【００９６】
【数７】
0006988459.tif 000008
【００９７】
そして、上記式（４）の導出方法に加えて、各３ＤプリンタＰｉの消費予測体積であるｗｉを考慮に入れると、３ＤプリンタＰｍに割り当てる部分の体積の割合はｐm＝｛ｖm（ｒm−ａ）−ｗm｝／Ｖと求められることから、この目標値ａに上記式（７）を代入すると、下記式（８）を得ることができる。
【００９８】
【数８】
0006988459.tif 000009
【００９９】
生成部６０３は、上記式（８）を用いて、造形対象物（造形物モデル）全体の体積Ｖに対する、各３ＤプリンタＰ１〜Ｐ３に割り当てる部分の体積の割合ｐ1〜ｐ3を求めることができる。そして、生成部６０３は、各３ＤプリンタＰ１〜Ｐ３の割合ｐ1〜ｐ3に体積Ｖを掛けることにより、各３ＤプリンタＰ１〜Ｐ３に割り当てる部材の体積を求めることができる。
【０１００】
これにより、各３ＤプリンタＰ１〜Ｐ３の消費予測体積ｗ1〜ｗ3を考慮して、各３ＤプリンタＰ１〜Ｐ３の割合ｐ1〜ｐ3が、満タン時の素材残量から見て「ａ」という目標値に揃うように、各３ＤプリンタＰ１〜Ｐ３に割り当てる部材の体積を求めることができる。
【０１０１】
（造形対象物の３次元データを分割する第１の分割例）
つぎに、図９を用いて、造形対象物が予め複数の部材の構成物として管理されている場合に、各３ＤプリンタＰｉに割り当てる部材の体積に応じて、造形対象物の３次元データを分割する具体的な処理内容について説明する。
【０１０２】
図９は、造形対象物の３次元データの第１の分割例を示す説明図である。ここでは、利用可能な複数の３Ｄプリンタとして、３ＤプリンタＰ１〜Ｐ３がある場合を想定する。図９中、棒グラフ９０１〜９０３は、各３ＤプリンタＰ１〜Ｐ３の満タン時の素材残量全体を表している。
【０１０３】
また、造形対象物を「造形対象物Ｍ１」とする。造形対象物Ｍ１は、予め部材Ｂ１〜Ｂ５の構成物として管理されており、部材ごとに分割して各３ＤプリンタＰ１〜Ｐ３に割り当て可能である。また、各３ＤプリンタＰ１〜Ｐ３に割り当てる部材の体積は、例えば、上述した第１または第２の算出例のアルゴリズムによって算出されている。
【０１０４】
この場合、生成部６０３は、各部材Ｂ１〜Ｂ５の体積に基づいて、算出した各３ＤプリンタＰ１〜Ｐ３に割り当てる部材の体積に近くなるように、各部材Ｂ１〜Ｂ５を３ＤプリンタＰ１〜Ｐ３に割り当てる。なお、各部材Ｂ１〜Ｂ５の体積は、例えば、３Ｄモデル管理ＤＢ２３０内の造形対象物Ｍ１の各部材Ｂ１〜Ｂ５の部材体積から特定される。
【０１０５】
具体的には、例えば、生成部６０３は、下記式（９）の目的関数を用いて、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合と、目標値ａとの差を最小化する３ＤプリンタＰｉと部材との組合せを決定する。すなわち、生成部６０３は、組合せ最適問題を解いて、下記式（９）の目的関数を最小化するｘ1〜ｘjを求める。ただし、ｑkは、ｋ番目の部材の体積である（ｋ＝１，２，…，ｊ）。ｅiは、標準基底ベクトル（ｉ番目が１、それ以外は０）である。ｘkは、どの３ＤプリンタＰｉに出力するかを示すビット「１」を表すベクトルであり、下記式（１０）を満たす。なお、下記式（９）中、「ｖi（ｒi−ａ）」の部分が、算出された各３ＤプリンタＰｉに割り当てる部材の体積に相当する。
【０１０６】
【数９】
0006988459.tif 000010
【０１０７】
図９の例では、目標値ａとの差を最小化する各３ＤプリンタＰ１〜Ｐ３と部材Ｂ１〜Ｂ５との組合せとして、３ＤプリンタＰ１と部材Ｂ１，Ｂ３との組合せが決定されている。また、３ＤプリンタＰ２と部材Ｂ４，Ｂ５との組合せが決定されている。３ＤプリンタＰ３と部材Ｂ２との組合せが決定されている。なお、図９中、棒グラフ９０１〜９０３内の■部分は、目標値ａとの差を表している。
【０１０８】
この場合、生成部６０３は、造形対象物Ｍ１の３次元データを分割して、３ＤプリンタＰ１に割り当てる部材の３次元データとして、部材Ｂ１，Ｂ３の３次元データ（部材モデル）を生成する。また、生成部６０３は、３ＤプリンタＰ２に割り当てる部材の３次元データとして、部材Ｂ４，Ｂ５の３次元データ（部材モデル）を生成する。３ＤプリンタＰ３に割り当てる部材の３次元データとして、部材Ｂ２の３次元データ（部材モデル）を生成する。
【０１０９】
これにより、各３ＤプリンタＰ１〜Ｐ３の満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、各３ＤプリンタＰ１〜Ｐ３に割り当てる部材の３次元データを生成することができる。
【０１１０】
（造形対象物の３次元データを分割する第２の分割例）
つぎに、造形対象物が予め複数の部材の構成物として管理されていない場合に、各３ＤプリンタＰｉに割り当てる部材の体積に応じて、造形対象物の３次元データを断面にかかる応力が小さくなるように分割する具体的な処理内容について説明する。
【０１１１】
図１０は、断面にかかる応力の一例を示す説明図である。ここでは、断面にかかる応力を考慮して、造形対象物の３次元データを分割することで、実際に複数の部材から造形対象物を組み立てた際の強度を向上させる分割例について説明する。
【０１１２】
図１０の（１０−１）に示すように、立体物１００１の両端にかかる力Ｐによる、断面にかかる応力σは、断面の面積Ａに反比例する（応力σ＝引っ張る力または押す力Ｐ／Ａ）。このため、生成部６０３は、例えば、造形対象物の３次元データを、算出した部材の体積となり、かつ、断面積が小さくなる箇所で分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することにしてもよい。
【０１１３】
図１０の（１０−２）に示すように、横から曲げる力による、断面にかかる応力は、断面係数に反比例する。また、断面係数は、断面の形状により決定される。このため、生成部６０３は、例えば、造形対象物の３次元データを、算出した部材の体積となり、かつ、断面係数が小さくなる箇所で分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することにしてもよい。
【０１１４】
ただし、断面にかかる応力は複雑な場合が多いため、建築設計時に使用されるような構造解析シミュレーションを行って、断面にかかる応力を計算することにしてもよい。構造解析シミュレーションは、例えば、以下の手順で行われる。
【０１１５】
・部材モデルの入力
・有限要素法へ適したモデルの分割（メッシュ化）
・拘束条件の入力（部材をどこにどのように接着させるか）
・荷重条件の入力（部材にどのような力がかかるか）
・有限要素法による解析を実行
【０１１６】
これにより、造形対象物（造形物モデル）のうち応力が最もかからない箇所を特定することができる。この場合、生成部６０３は、例えば、構造解析シミュレーションにより特定した箇所を、切断面の一つとして決定する。そして、生成部６０３は、造形対象物の３次元データを、決定した切断面で分割する。
【０１１７】
このようにして、生成部６０３は、造形対象物の３次元データを、複数の部材の３次元データ（部材モデル）に分割する。そして、生成部６０３は、例えば、上述した第１の分割例と同じアルゴリズムにより、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成する。具体的には、例えば、生成部６０３は、上記式（９）の目的関数を用いて、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合と、目標値ａとの差を最小化する３ＤプリンタＰｉと部材との組合せを決定する。
【０１１８】
この際、生成部６０３は、目標値ａとの差が予め決められた程度に十分小さくなるか、処理を繰り返しても差がほとんど変化せず収束した場合は、その時点で処理を終了し、３ＤプリンタＰｉと部材との組合せを決定する。なお、生成部６０３は、３ＤプリンタＰｉに割り当てる部材同士が隣接する場合は、それら部材間は分割せず、一つの部材として扱うことにしてもよい。
【０１１９】
一方、３ＤプリンタＰｉと部材との組合せが決まらなければ、生成部６０３は、例えば、「決定した切断面で切断し、再度接合させる」という条件を構造解析シミュレーションに加えて、構造解析シミュレーションの実行から同じことを繰り返す。なお、構造解析シミュレーションの実行を繰り返す上限回数は、予め設定されていてもよい。
【０１２０】
これにより、造形対象物が予め複数の部材の構成物として管理されていない場合であっても、造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。また、断面にかかる応力を考慮して造形対象物の３次元データを分割することで、実際に複数の部材から造形対象物を組み立てた際の強度を向上させることができる。なお、構造解析シミュレーションについては、例えば、下記情報を参照することができる。
【０１２１】
栗崎  彰、設計者ＣＡＥを始める前にシッカリ学ぶ有限要素法（８）、［ｏｎｌｉｎｅ］、２０１０年５月１９日、［平成２９年１２月１日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｍｏｎｏｉｓｔ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｍｎ／ａｒｔｉｃｌｅｓ／１００５／１９／ｎｅｗｓ１０３．ｈｔｍｌ〉
栗崎  彰、設計者ＣＡＥを始める前にシッカリ学ぶ有限要素法（９）、［ｏｎｌｉｎｅ］、２０１０年７月２３日、［平成２９年１２月１日検索］、インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｍｏｎｏｉｓｔ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｍｎ／ａｒｔｉｃｌｅｓ／１００７／２３／ｎｅｗｓ１０５．ｈｔｍｌ〉
【０１２２】
（部材間の接着面の形状）
つぎに、実際に複数の部材から造形対象物を組み立てた際の各部材への力のかかり方が広く均等に行われるようにするために、部材同士の接着面の形状を変化させる場合について説明する。
【０１２３】
図１１は、部材同士の接着面の形状例を示す説明図である。生成部６０３は、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成する際に、各部材の体積を変化させないという条件下で、部材同士の接着面、すなわち、各部材の他の部材との接着面の形状を変化させることにしてもよい。
【０１２４】
例えば、（１１−１）に示すように、生成部６０３は、各部材Ｂ１，Ｂ２の体積を変化させないという条件下で、各部材Ｂ１，Ｂ２の接着面に凹凸を作成することにしてもよい。これにより、実際に造形対象物を組み立てた際の部材Ｂ１，Ｂ２間の接合部分の強度を高めることができる。
【０１２５】
また、（１１−２）に示すように、生成部６０３は、各部材Ｂ１，Ｂ２の体積を変化させないという条件下で、部材Ｂ１と部材Ｂ２との接着面について、他の部材との接着面とは異なる形状にすることにしてもよい。これにより、部材Ｂ１，Ｂ２間の接合部分の強度を高めることができるとともに、作業員が誤った部材同士を接合してしまうことを防ぐことができる。
【０１２６】
（出力制御画面の画面例）
つぎに、出力制御画面の画面例について説明する。出力制御画面は、例えば、情報処理装置１０１の出力制御部６０４によって、造形対象物の選択が行われたクライアント装置２０１や、現場の作業員が使用するクライアント装置２０１に表示される。
【０１２７】
図１２は、出力制御画面の画面例を示す説明図である。図１２において、出力制御画面１２００は、造形対象物について、３ＤプリンタＰｉへの出力指示を行う操作画面の一例である。ここでは、出力制御画面１２００には、造形対象物１２１０について、各３ＤプリンタＰ１，Ｐ２に割り当てられた部材Ｂ１，Ｂ２の部材モデル１２１１，１２１２が表示されている。なお、Ｂ１，Ｂ２は、各部材に振られたＩＤである。
【０１２８】
出力制御画面１２００によれば、ユーザ（例えば、管理者や作業員）は、造形対象物１２１０を、２台の３ＤプリンタＰ１，Ｐ２で分担して造形することがわかる。
【０１２９】
出力制御画面１２００において、例えば、ユーザの操作入力により、出力ボタン１２０１を選択すると、３ＤプリンタＰ１への部材Ｂ１の部材モデル１２１１の出力指示を行うことができる。この結果、情報処理装置１０１から３ＤプリンタＰ１に部材Ｂ１の部材モデル１２１１（３次元データ）が送信され、３ＤプリンタＰ１において部材モデル１２１１を用いた部材Ｂ１の造形処理が行われる。
【０１３０】
また、出力制御画面１２００において、出力ボタン１２０２を選択すると、３ＤプリンタＰ２への部材Ｂ２の部材モデル１２１２の出力指示を行うことができる。この結果、情報処理装置１０１から３ＤプリンタＰ２に部材Ｂ２の部材モデル１２１２（３次元データ）が送信され、３ＤプリンタＰ２において部材モデル１２１２を用いた部材Ｂ２の造形処理が行われる。
【０１３１】
また、出力制御画面１２００において、一括出力ボタン１２０３を選択すると、３ＤプリンタＰ１，Ｐ２への部材Ｂ１，Ｂ２の部材モデル１２１１，１２１２の出力指示を一括して行うことができる。この結果、情報処理装置１０１から各３ＤプリンタＰ１，Ｐ２に部材Ｂ１，Ｂ２の部材モデル１２１１，１２１２がそれぞれ送信され、各３ＤプリンタＰ１，Ｐ２において部材モデル１２１１，１２１２を用いた部材Ｂ１，Ｂ２の造形処理がそれぞれ行われる。
【０１３２】
また、出力制御画面１２００において、キャンセルボタン１２０４を選択すると、３ＤプリンタＰ１，Ｐ２への各部材Ｂ１，Ｂ２の割り当てをキャンセルすることができる。この場合、情報処理装置１０１から各３ＤプリンタＰ１，Ｐ２への各部材Ｂ１，Ｂ２の部材モデル１２１１，１２１２の送信は行われない。
【０１３３】
（情報処理装置１０１の３Ｄプリンタ制御処理手順）
つぎに、情報処理装置１０１の３Ｄプリンタ制御処理手順について説明する。
【０１３４】
図１３は、情報処理装置１０１の３Ｄプリンタ制御処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、まず、情報処理装置１０１は、造形対象物の選択を受け付けたか否かを判断する（ステップＳ１３０１）。ここで、情報処理装置１０１は、造形対象物の選択を受け付けるのを待つ（ステップＳ１３０１：Ｎｏ）。
【０１３５】
そして、情報処理装置１０１は、造形対象物の選択を受け付けた場合（ステップＳ１３０１：Ｙｅｓ）、３Ｄモデル管理ＤＢ２３０から、選択された造形対象物に対応する３Ｄモデル管理情報を取得する（ステップＳ１３０２）。つぎに、情報処理装置１０１は、各３ＤプリンタＰ１〜Ｐｎの運用状況情報を取得する（ステップＳ１３０３）。
【０１３６】
そして、情報処理装置１０１は、取得した３Ｄモデル管理情報および３Ｄプリンタ管理ＤＢ２２０を参照して、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合の目標値ａを算出する（ステップＳ１３０４）。目標値ａは、例えば、上記式（２）または上記式（７）を用いて算出することができる。
【０１３７】
つぎに、情報処理装置１０１は、算出した目標値ａを用いて、各３ＤプリンタＰｉに割り当てる部材の体積を算出する（ステップＳ１３０５）。そして、情報処理装置１０１は、算出した各３ＤプリンタＰｉに割り当てる部材の体積に基づいて、上記式（９）を用いて、３ＤプリンタＰｉと部材との組合せを決定する（ステップＳ１３０６）。
【０１３８】
なお、造形対象物が予め複数の部材の構成物として管理されていない場合は、情報処理装置１０１は、例えば、上述した構造解析シミュレーションを利用した分割方法により、造形対象物の３次元データを複数の部材の３次元データに分割する。
【０１３９】
つぎに、情報処理装置１０１は、決定した３ＤプリンタＰｉと部材との組合せに基づいて、各３ＤプリンタＰｉに割り当てる部材モデル（部材の３次元データ）を生成する（ステップＳ１３０７）。そして、情報処理装置１０１は、決定した３ＤプリンタＰｉと部材との組合せに基づいて、クライアント装置２０１に出力制御画面を出力する（ステップＳ１３０８）。
【０１４０】
つぎに、情報処理装置１０１は、クライアント装置２０１から３ＤプリンタＰｉへの出力指示を受け付けたか否かを判断する（ステップＳ１３０９）。ここで、情報処理装置１０１は、３ＤプリンタＰｉへの出力指示を受け付けるのを待つ（ステップＳ１３０９：Ｎｏ）。
【０１４１】
そして、情報処理装置１０１は、３ＤプリンタＰｉへの出力指示を受け付けた場合（ステップＳ１３０９：Ｙｅｓ）、３ＤプリンタＰｉに対して、生成した３ＤプリンタＰｉに割り当てる部材モデルを送信して（ステップＳ１３１０）、本フローチャートによる一連の処理を終了する。
【０１４２】
これにより、情報処理装置１０１は、造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。また、情報処理装置１０１は、３ＤプリンタＰｉへの出力指示に応じて、生成した部材の３次元データを割当先の３ＤプリンタＰｉにそれぞれ送信することができる。
【０１４３】
以上説明したように、実施の形態にかかる情報処理装置１０１によれば、各３ＤプリンタＰｉの運用状況情報を取得し、取得した各３ＤプリンタＰｉの運用状況情報に基づいて、造形対象物の３次元データから、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。これにより、１つの造形対象物を造形するにあたり、各３ＤプリンタＰｉの運用状況を考慮して、複数の３Ｄプリンタで素材を融通し合って、各３ＤプリンタＰｉの稼働率を高めることができる。
【０１４４】
また、情報処理装置１０１によれば、各３ＤプリンタＰｉの素材残量に応じて造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。これにより、各３ＤプリンタＰｉの素材残量を考慮して、造形物モデルを複数の部材モデルに分割し、分割した部材モデルを各３ＤプリンタＰｉに割り当てることで、各３ＤプリンタＰｉの稼働率を高めることができる。
【０１４５】
また、情報処理装置１０１によれば、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。具体的には、例えば、情報処理装置１０１は、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、造形対象物のうち各３ＤプリンタＰｉに割り当てる部材の体積を算出する。そして、情報処理装置１０１は、算出した部材の体積に応じて、造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成する。これにより、各３ＤプリンタＰｉの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。このため、一部の３Ｄプリンタで素材の残量切れが頻繁に発生するのを防ぐことができる。
【０１４６】
また、情報処理装置１０１によれば、各３ＤプリンタＰｉの満タン時の素材残量に対する、造形後の素材残量から各３ＤプリンタＰｉで使用される予定の素材量を減じた値の割合が等しくなるように、造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。これにより、各３ＤプリンタＰｉの満タン時の素材残量に対する、造形後の素材残量から各３ＤプリンタＰｉで使用される予定の素材量を減じた値の割合が等しくなるように、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。このため、各３ＤプリンタＰｉで将来使用される素材量まで考慮して、一部の３Ｄプリンタで素材の残量切れが頻繁に発生するのを防ぐことができる。
【０１４７】
また、情報処理装置１０１によれば、算出した各３ＤプリンタＰｉに割り当てる部材の体積に応じて、造形対象物の３次元データを断面にかかる応力が小さくなるように分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。これにより、造形対象物が予め複数の部材の構成物として管理されていない場合であっても、造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。また、断面にかかる応力を考慮して造形対象物の３次元データを分割することで、実際に複数の部材から造形対象物を組み立てた際の強度を向上させることができる。
【０１４８】
また、情報処理装置１０１によれば、各３ＤプリンタＰｉの素材残量およびランニングコストに応じて造形対象物の３次元データを分割して、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。具体的には、例えば、情報処理装置１０１は、３ＤプリンタＰ１〜Ｐｎのうちランニングコストが最も低い３ＤプリンタＰｉから順に、造形対象物のうち３ＤプリンタＰｉの素材残量で造形可能な部材の３次元データを順次生成する。これにより、造形対象物の造形にかかるコストを最小化するように、各３ＤプリンタＰｉに割り当てる部材の３次元データを生成することができる。
【０１４９】
これらのことから、情報処理装置１０１によれば、１つの造形対象物を造形するにあたり、造形物モデルを分割して、複数の３Ｄプリンタで分担して処理することで、３ＤプリンタＰ１〜Ｐｎを効率よく稼働させることができる。また、複数の３Ｄプリンタで素材を融通し合うことで、一部の３Ｄプリンタで素材の残量切れが頻繁に発生するのを防いで、素材の運搬にかかるコストを削減することができる。また、作業現場において部材モデルの作成を人手で行う場合に比べて、作業者の作業時間や作業負荷を削減して作業効率を向上させることができる。
【０１５０】
なお、本実施の形態で説明した３Ｄプリンタ制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本３Ｄプリンタ制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本３Ｄプリンタ制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５２】
（付記１）複数の３Ｄプリンタの各３Ｄプリンタの運用状況情報を取得し、
取得した前記各３Ｄプリンタの運用状況情報に基づいて、造形対象物の３次元データから、前記造形対象物のうちの、前記各３Ｄプリンタに割り当てる部材の３次元データを生成し、
生成した前記部材の３次元データを用いて、前記各３Ｄプリンタへの出力を制御する、
処理をコンピュータが実行することを特徴とする３Ｄプリンタ制御方法。
【０１５３】
（付記２）前記運用状況情報は、前記各３Ｄプリンタの素材残量を示す情報を含み、
前記生成する処理は、
前記各３Ｄプリンタの素材残量に応じて前記造形対象物の３次元データを分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする付記１に記載の３Ｄプリンタ制御方法。
【０１５４】
（付記３）前記生成する処理は、
前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、前記造形対象物の３次元データを分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする付記２に記載の３Ｄプリンタ制御方法。
【０１５５】
（付記４）前記運用状況情報は、前記各３Ｄプリンタで使用される予定の素材量を示す情報をさらに含み、
前記生成する処理は、
前記各３Ｄプリンタの満タン時の素材残量に対する、造形後の素材残量から前記各３Ｄプリンタで使用される予定の素材量を減じた値の割合が等しくなるように、前記造形対象物の３次元データを分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする付記２または３に記載の３Ｄプリンタ制御方法。
【０１５６】
（付記５）前記生成する処理は、
前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、前記造形対象物のうち前記各３Ｄプリンタに割り当てる部材の体積を算出し、
算出した前記部材の体積に応じて、前記造形対象物の３次元データを分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする付記２〜４のいずれか一つに記載の３Ｄプリンタ制御方法。
【０１５７】
（付記６）前記生成する処理は、
前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、前記造形対象物のうち前記各３Ｄプリンタに割り当てる部材の体積を算出し、
算出した前記部材の体積に応じて、前記造形対象物の３次元データを断面にかかる応力が小さくなるように分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする付記２〜５のいずれか一つに記載の３Ｄプリンタ制御方法。
【０１５８】
（付記７）前記生成する処理は、
前記各３Ｄプリンタの満タン時の素材残量に対する造形後の素材残量の割合が等しくなるように、前記造形対象物のうち前記各３Ｄプリンタに割り当てる部材の体積を算出し、
算出した前記部材の体積に応じて、前記造形対象物を形成する複数の部材からいずれかの部材を選択して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする付記５に記載の３Ｄプリンタ制御方法。
【０１５９】
（付記８）前記運用状況情報は、前記各３Ｄプリンタのランニングコストを示す情報をさらに含み、
前記生成する処理は、
前記各３Ｄプリンタの素材残量およびランニングコストに応じて前記造形対象物の３次元データを分割して、前記各３Ｄプリンタに割り当てる部材の３次元データを生成する、ことを特徴とする付記２に記載の３Ｄプリンタ制御方法。
【０１６０】
（付記９）前記生成する処理は、
前記複数の３Ｄプリンタのうちランニングコストが最も低い３Ｄプリンタから順に、前記造形対象物のうち前記３Ｄプリンタの素材残量で造形可能な部材の３次元データを順次生成する、ことを特徴とする付記８に記載の３Ｄプリンタ制御方法。
【０１６１】
（付記１０）複数の３Ｄプリンタの各３Ｄプリンタの運用状況情報を取得し、
取得した前記各３Ｄプリンタの運用状況情報に基づいて、造形対象物の３次元データから、前記造形対象物のうちの、前記各３Ｄプリンタに割り当てる部材の３次元データを生成し、
生成した前記部材の３次元データを用いて、前記各３Ｄプリンタへの出力を制御する、
処理をコンピュータに実行させることを特徴とする３Ｄプリンタ制御プログラム。
【０１６２】
（付記１１）複数の３Ｄプリンタの各３Ｄプリンタの運用状況情報を取得し、
取得した前記各３Ｄプリンタの運用状況情報に基づいて、造形対象物の３次元データから、前記造形対象物のうちの、前記各３Ｄプリンタに割り当てる部材の３次元データを生成し、
生成した前記部材の３次元データを用いて、前記各３Ｄプリンタへの出力を制御する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０１６３】
１０１  情報処理装置
１０２，１０２−１，１０２−２，Ｐ１〜Ｐｎ，Ｐｉ  ３Ｄプリンタ
１１１，１１２  運用状況情報
１２０  造形対象物の３次元データ
１２１，１２２  部材の３次元データ
２００  ３Ｄプリンタ制御システム
２０１  クライアント装置
２１０  ネットワーク
２２０  ３Ｄプリンタ管理ＤＢ
２３０  ３Ｄモデル管理ＤＢ
３００  バス
３０１  ＣＰＵ
３０２  メモリ
３０３  Ｉ／Ｆ
３０４  ディスクドライブ
３０５  ディスク
６０１  受付部
６０２  取得部
６０３  生成部
６０４  出力制御部
１２００  出力制御画面
１２１０  造形対象物
１２１１，１２１２  部材モデル
【図１】
0006988459.tif 000011
【図２】
0006988459.tif 000012
【図３】
0006988459.tif 000013
【図４】
0006988459.tif 000014
【図５】
0006988459.tif 000015
【図６】
0006988459.tif 000016
【図７】
0006988459.tif 000017
【図８】
0006988459.tif 000018
【図９】
0006988459.tif 000019
【図１０】
0006988459.tif 000020
【図１１】
0006988459.tif 000021
【図１２】
0006988459.tif 000022
【図１３】
0006988459.tif 000023