(57)【特許請求の範囲】
【請求項１】
消耗材を用いて３次元のオブジェクトを造形する制御装置での造形に使用可能な消耗材の使用可能量を受け付ける受け付け手段と、
前記制御装置での造形対象として複数のオブジェクトと前記制御装置での造形のための設定とが指定された際に、該指定に従う前記制御装置での造形に必要となる消耗材の必要量が、前記受け付け手段で受け付けた使用可能量よりも多い場合、前記設定に従う前記制御装置での造形に必要となる消耗材の必要量が前記使用可能量以内となるように、前記複数のオブジェクトのうち、造形対象として一部のオブジェクトを選択する選択手段と、
前記選択されたオブジェクトと、選択されなかったオブジェクトと、を識別可能に表示する画面を提供する提供手段と、
前記選択されたオブジェクトの造形を実行するためのジョブを前記制御装置に送信する送信手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記造形対象として指定された複数のオブジェクトのそれぞれに対応するモデルデータ及び前記設定に基づいて生成される制御命令を用いて、それぞれのオブジェクトについて、前記設定に従い前記制御装置での造形に必要となる消耗材の必要量を算出する算出手段を、さらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記算出手段は、オブジェクトを造形する際の支えとして必要に応じて造形されるサポートで使用される消耗材も含めて前記必要量を算出することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記設定に従う前記制御装置での造形に必要となる消耗材の必要量が前記使用可能量以内となる、前記複数のオブジェクトの少なくともいずれかを含む複数の組み合わせを決定する決定手段をさらに有し、
前記提供手段は、前記決定手段により決定された複数の組み合わせを表示する画面を提供することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記選択手段は、前記決定手段により決定された複数の組み合わせを表示する画面を介してユーザーにより指定された１つの組み合わせに基づき、造形対象となるオブジェクトを選択することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記選択手段は、前記設定に従う前記制御装置での造形に必要となる消耗材の必要量が前記使用可能量以内となるように、ユーザーにより前記情報処理装置の画面を介して指定された１以上のオブジェクトを選択することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記受け付け手段は、前記制御装置から取得された使用可能な消耗材の使用可能量、または、ユーザーにより前記情報処理装置の画面を介して入力された使用可能量を受け付けることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御装置での造形対象として複数のオブジェクトと前記制御装置での造形のための設定とが指定された際に、該指定に従う前記制御装置での造形に必要となる消耗材の必要量が、前記受け付け手段で受け付けた使用可能量よりも多い場合、前記複数のオブジェクトの一部または全てに対して前記設定の変更を行う変更手段を、さらに有することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記変更手段は、オブジェクトの内部構造の形状、該オブジェクトの内部構造の充填密度、オブジェクトを造形する際の支えとして必要に応じて造形されるサポートの内部構造の形状、該サポートの内部構造の充填密度、および造形に使用する消耗材の色のうち少なくとも一つを変更することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記複数のオブジェクトのうち前記選択手段により選択されなかったオブジェクトを造形可能な別の制御装置を指定する指定手段を、さらに有することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
消耗材を用いて３次元のオブジェクトを造形する制御装置での造形に使用可能な消耗材の使用可能量を受け付ける受け付け工程と、
前記制御装置での造形対象として複数のオブジェクトと前記制御装置での造形のための設定とが指定された際に、該指定に従う前記制御装置での造形に必要となる消耗材の必要量が、前記受け付け工程で受け付けた使用可能量よりも多い場合、前記設定に従う前記制御装置での造形に必要となる消耗材の必要量が前記使用可能量以内となるように、前記複数のオブジェクトのうち、造形対象として一部のオブジェクトを選択する選択工程と、
前記選択されたオブジェクトと、選択されなかったオブジェクトと、を識別可能に表示する画面を提供する提供工程と、
前記選択されたオブジェクトの造形を実行するためのジョブを前記制御装置に送信する送信工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項１２】
前記造形対象として指定された複数のオブジェクトのそれぞれに対応するモデルデータ及び前記設定に基づいて生成される制御命令を用いて、それぞれのオブジェクトについて、前記設定に従い前記制御装置での造形に必要となる消耗材の必要量を算出する算出工程を、さらに有することを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記算出工程では、オブジェクトを造形する際の支えとして必要に応じて造形されるサポートで使用される消耗材も含めて前記必要量が算出されることを特徴とする請求項１２に記載の制御方法。
【請求項１４】
前記設定に従う前記制御装置での造形に必要となる消耗材の必要量が前記使用可能量以内となる、前記複数のオブジェクトの少なくともいずれかを含む複数の組み合わせを決定する決定工程をさらに有し、
前記提供工程では、前記決定工程で決定された複数の組み合わせを表示する画面が提供されることを特徴とする請求項１１乃至１３のいずれか１項に記載の制御方法。
【請求項１５】
前記選択工程では、前記決定工程で決定された複数の組み合わせを表示する画面を介してユーザーにより指定された１つの組み合わせに基づき、造形対象となるオブジェクトが選択されることを特徴とする請求項１４に記載の制御方法。
【請求項１６】
前記選択工程では、前記設定に従う前記制御装置での造形に必要となる消耗材の必要量が前記使用可能量以内となるように、ユーザーにより前記情報処理装置の画面を介して指定された１以上のオブジェクトが選択されることを特徴とする請求項１１乃至１５のいずれか１項に記載の制御方法。
【請求項１７】
前記受け付け工程では、前記制御装置から取得された使用可能な消耗材の使用可能量、または、ユーザーにより前記情報処理装置の画面を介して入力された使用可能量が受け付けられることを特徴とする請求項１１乃至１６のいずれか１項に記載の制御方法。
【請求項１８】
前記制御装置での造形対象として複数のオブジェクトと前記制御装置での造形のための設定とが指定された際に、該指定に従う前記制御装置での造形に必要となる消耗材の必要量が、前記受け付け手段で受け付けた使用可能量よりも多い場合、前記複数のオブジェクトの一部または全てに対して前記設定の変更を行う変更工程を、さらに有することを特徴とする請求項１１乃至１７のいずれか１項に記載の制御方法。
【請求項１９】
前記変更工程では、オブジェクトの内部構造の形状、該オブジェクトの内部構造の充填密度、オブジェクトを造形する際の支えとして必要に応じて造形されるサポートの内部構造の形状、該サポートの内部構造の充填密度、および造形に使用する消耗材の色のうち少なくとも一つが変更されることを特徴とする請求項１８に記載の制御方法。
【請求項２０】
前記複数のオブジェクトのうち前記選択工程で選択されなかったオブジェクトを造形可能な別の制御装置を指定する指定工程を、さらに有することを特徴とする請求項１１乃至１９のいずれか１項に記載の制御方法。
【請求項２１】
請求項１乃至１０のいずれか１項に記載の手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元のオブジェクトを造形する制御装置での造形に関わるクライアントアプリケーションに関する。
【背景技術】
【０００２】
近年、３Ｄプリンターが急速に普及している。３Ｄ（３−ｄｉｍｅｎｓｉｏｎａｌ）プリンターとは、特殊なモデルデータをもとに、立体（３次元のオブジェクト）を造形する制御装置の総称である。立体造形に係る技術については、Ａｄｄｉｔｉｖｅ  Ｍａｎｕｆａｃｔｕｒｉｎｇ（付加製造）とも呼ばれる。これに対して、２Ｄ（２−ｄｉｍｅｎｓｉｏｎａｌ）プリンターは、紙（シート）などに平面的に印刷する印刷機器を示す。
【０００３】
３Ｄプリンターの造形方式には、例えば、熱溶解積層法（ＦＤＭ：  Ｆｕｓｅｄ  Ｄｅｐｏｓｉｔｉｏｎ  Ｍｏｄｅｌｉｎｇ）や光造形方式（ＳＴＬ：Ｓｔｅｒｅｏ  ｌｉｔｈｏｇｒａｐｈｙ）、粉末燃結方式（ＳＬＳ：Ｓｅｌｅｃｔｉｖｅ  Ｌａｓｅｒ  Ｓｉｎｔｅｒｉｎｇ）、インクジェット方式などがある。これらの造形方式に応じた素材の消耗材がオブジェクトの造形に使用される。３Ｄプリンターに対して消耗材を補給する形態の例として、専用のカートリッジを装着する形態や、フィラメント状のマテリアルが芯に巻きつけられているものを用いる形態、液体または粉末の消耗材がボトルなどの容器を用いる形態がある。
【０００４】
従来も３Ｄプリンターは存在していたが、業務用の大型機が主流で専門性が高く、また非常に高価であったため一般市場に出ることは少なかった。しかしながら、近年の技術革新により筺体の小型化やソフトウェアの操作性向上が図られ、一般消費者にも利用可能な低価格の製品が開発されてきている。さらに、企業向けの業務用３Ｄプリンターも従来と比べ高性能化と低コスト化が図られるようになり、近年では多くの企業が試作品や製品パーツの製作工程で３Ｄプリンターを取り入れている。
【０００５】
上述した３Ｄプリンターでの造形では、造形の失敗が起こる場合があり、その要因としては様々なものが考えられる。失敗の要因のひとつに、造形途中での消耗材切れが挙げられる。特許文献１には、オブジェクトの造形に必要な消耗材の量を計算し、３Ｄプリンターで使用中のカートリッジの消耗材残量が、計算された必要量に対して少ない場合に、新品のカードリッジへの交換を促す方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＵＳ２００６０１２７１５３Ａ１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、上述した３Ｄプリンターでの造形において、オブジェクト自体の造形時間以外にも、オブジェクトの造形前の準備や造形後の作業のための時間が必要となる。例えば、造形前にはプリントヘッドの温度を上げるなどの準備時間が必要となり、造形後にはオブジェクトの取り出しや廃液の除去のための作業時間が必要となる。光造形方式の場合、造形物の表面を洗浄するために使用されたアルコールの廃液を除去する必要がある。
【０００８】
造形前後に必要となる準備や作業のための時間を含めた複数のオブジェクトの総造形時間を減らすために、それら複数のオブジェクトを、１回の造形指示で、連続でまたは並行して造形する場合がある。つまり、１台の３Ｄプリンターで実行される１つのジョブとして、複数のオブジェクトを造形する場合がある。
【０００９】
一方で、複数のオブジェクトを１つのジョブで造形する場合には、１つのジョブに必要となる消耗材の量が増加し、造形途中に消耗材切れが発生する可能性が高くなる。３Ｄプリンターでは、造形中にマテリアルなどの消耗材がなくなり、造形が一度中断されてしまうと、完成品の品質に影響を及ぼすことが少なからずある。例えば、熱溶解積層法の場合、消耗材の樹脂を一定温度で溶融して接合する必要があり、一度造形を中断すると接合部に温度差が生じてしまい造形物のひび割れの原因となり得る。
【００１０】
上述した特許文献１に開示される方法を用いることによって、消耗材の不足に因る造形の中断を未然に防ぐことができると考えられる。しかしながら、カートリッジの交換が完了するまでオブジェクトを造形することができないため、使用可能な新品のカートリッジがすぐに手に入らない場合には、ジョブの実行を開始するまでに相当な時間がかかってしまう。結果として、１つのジョブで造形が指示された複数のオブジェクトのいずれについても造形の開始が遅れてしまう。また、カートリッジの消耗材残量が使用されないままカートリッジが廃棄されると、カートリッジに残った消耗材が無駄になってしまう。
【００１１】
本発明は、造形対象として指定される複数のオブジェクトの造形に必要となる消耗材が、造形に使用可能な消耗材よりも多い場合に、使用可能な消耗材を使って造形対象のオブジェクトのいずれかを造形するための仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の情報処理装置は、消耗材を用いて３次元のオブジェクトを造形する制御装置での造形に使用可能な消耗材の使用可能量を受け付ける受け付け手段と、前記制御装置での造形対象として複数のオブジェクトと前記制御装置での造形のための設定とが指定された際に、該指定に従う前記制御装置での造形に必要となる消耗材の必要量が、前記受け付け手段で受け付けた使用可能量よりも多い場合、前記設定に従う前記制御装置での造形に必要となる消耗材の必要量が前記使用可能量以内となるように、前記複数のオブジェクトのうち、造形対象として一部のオブジェクトを選択する選択手段と、前記選択されたオブジェクトを少なくとも表示する画面を提供する提供手段と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、造形対象として指定される複数のオブジェクトの造形に必要となる消耗材が、造形に使用可能な消耗材よりも多い場合に、使用可能な消耗材を使って造形対象のオブジェクトのいずれかを造形することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るネットワークシステムのシステム構成の一例を示す図である。
【図２】情報処理機能のハードウェア構成例を示す図である。
【図３】ネットワークシステムのソフトウェア構成例を示す図である。
【図４】データ管理モジュール３０８内のテーブル構成例を示す図である。
【図５】制御命令生成モジュール３０７で生成される制御命令の例を示す図である。
【図６】クライアントアプリケーション３０１による処理の流れの例を示すフローチャートである。
【図７】図６のサブフローの例を示すフローチャートである。
【図８】造形設定の入力画面ＵＩの例を示す図である。
【図９】造形シミュレーションの表示画面ＵＩの例を示す図である。
【図１０】造形オブジェクト指定の推奨パターン表示画面ＵＩの例を示す図である。
【図１１】造形オブジェクト指定における任意選択の表示画面ＵＩの例を示す図である。
【図１２】実施例２におけるクライアントアプリケーション３０１による処理の流れの例を示すフローチャートである。
【図１３】図１２のサブフローの例を示すフローチャートである。
【図１４】実施例３における造形シミュレーションの表示画面ＵＩの例を示す図である。
【図１５】制御装置の指定処理の流れの例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１６】
なお、以下の実施例では、制御装置の一例として３Ｄプリンターを取り上げて説明する。また、以下の本実施例では、主にＦＤＭ方式を用いた３Ｄプリンターを取り上げて説明するが、制御装置には光造形方式、粉末方式などのＦＤＭ方式以外の手法によって造形を行う３Ｄプリンターも含まれる。
【００１７】
（実施例１）
図１は、本発明の実施形態に係るネットワークシステムのシステム構成の一例を示す図である。
【００１８】
ネットワーク１０１は、イントラネットあるいはローカルエリアネットワーク（以下、ＬＡＮと呼ぶ）などである。３Ｄプリンター１０２は、特殊なモデルデータをもとに３次元の造形物を造形する制御装置の一例である。コンピューター１０３は、造形制御ソフトウェアがインストールされているクライアントコンピューターである。コンピューター１０４は、３Ｄプリンター管理アプリケーションが動作する管理サーバーである。コンピューター１０３および１０４としては、パーソナルコンピューター（ＰＣ）、タブレットコンピューター、スマートフォンなどの種別が存在する。
【００１９】
本実施例の管理システムを構成する３Ｄプリンター１０２とコンピューター１０３、１０４は、ネットワーク１０１を介して、相互に情報の送受信が可能である。なお、ネットワーク１０１は、無線ＬＡＮなどの無線ネットワークでも構わない。また、ネットワーク１０１は、情報の送信・受信が可能であれば、インターネットなどのパブリックネットワークでも構わない。
【００２０】
図２は、３Ｄプリンター１０２、コンピューター１０３、１０４の情報処理機能のハードウェア構成例を示す図である。ネットワークシステムは、ネットワーク１０１により接続されるコンピューター１０３、１０４、３Ｄプリンター１０２により構成される。なお、コンピューター１０３、１０４は汎用コンピューターの構成を有する。
【００２１】
コンピューター１０３において、ＣＰＵ２０１は、ＲＯＭ２０２あるいは外部メモリ２１１に記憶されたアプリケーションプログラム等に基づいて処理を実行し、システムバス２１２に接続される各デバイスを総括的に制御する。また、ＣＰＵ２０１は、ディスプレイ２０９上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のアプリケーションウィンドウを開き、種々のデータ処理を実行する。
【００２２】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＲＯＭ２０３は、基本Ｉ／Ｏプログラム等の記憶領域として機能する読み出し専用のメモリである。このＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶される。さらにＲＯＭ２０３あるいは外部メモリ２１０には上記アプリケーションプログラム等に基づく処理の際に使用するファイルやその他各種データを記憶する。
【００２３】
ネットワークＩ／Ｆ２０４は、ネットワーク１０１へ接続しネットワーク通信を行う。入力Ｉ／Ｆ２０５は、キーボード２０６やマウス等のポインティングデバイス２０７からの入力を制御する。ディスプレイＩ／Ｆ２０８は、ディスプレイ２０９の表示を制御する。外部メモリＩ／Ｆ２１０は、ハードディスク（ＨＤ）等の外部メモリ２１１とのアクセスを制御する。
【００２４】
外部メモリ２１１は、ブートプログラム、各種のアプリケーション、ユーザーファイル、編集ファイル等を記憶する。コンピューター１０３は、ＣＰＵ２０１がＲＯＭ２０３や外部メモリ２１１に書き込まれた基本Ｉ／ＯプログラムおよびＯＳを実行している状態で動作する。基本Ｉ／ＯプログラムはＲＯＭ２０３に書き込まれており、ＯＳはＲＯＭ２０３または外部メモリ２１０に書き込まれている。そしてコンピューターの電源がＯＮされたときに、基本Ｉ／Ｏプログラム中のイニシャルプログラムロード機能により、ＲＯＭ２０３または外部メモリ２１１からＯＳがＲＡＭ２０２に書き込まれ、ＯＳの動作が開始される。システムバス２１２は、各デバイスを接続する。
【００２５】
３Ｄプリンター１０２において、ネットワークＩ／Ｆ２５１は、ネットワーク１０１へ接続しネットワーク通信を行う。ＣＰＵ２５２は、制御プログラム等に基づいてシステムバス２６３に接続されるモーター駆動Ｉ／Ｆ２５７を介してモーター２５８に出力情報としての制御信号を出力する。なお、制御プログラムはＲＯＭ２５４や外部メモリ２６２等に記憶される。ＣＰＵ２５２はネットワークＩ／Ｆ２５１を介してコンピューターとの通信処理が可能となっており、３Ｄプリンター１０２内の情報等をコンピューター１０３に通知可能なように構成されている。さらにＣＰＵ２５２はＲＯＭ２５４あるいは外部メモリ２６２に記憶されたアプリケーションプログラム等に基づいて処理を実行する。
【００２６】
ＲＡＭ２５３は、ＣＰＵ２５２の主メモリ、ワークエリア等として機能し、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ２５３は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。ＲＯＭ２５４あるいは外部メモリ２６２には、ＣＰＵ２５２の制御プログラムやアプリケーションプログラムおよび上記出力情報を生成する際に使用するフォントデータ、３Ｄプリンター１０２上で利用される情報等が記憶される。またＲＯＭ２５４あるいは外部メモリ２６２には、３Ｄプリンター１０２のアプリケーションインストール時にアプリケーションが一時的に格納される。
【００２７】
操作部Ｉ／Ｆ２５５は、操作部２５６との間のインターフェースをつかさどり、表示すべき画像データを操作部２５６に対して出力する。また、ユーザーが操作部２５６を介して入力した情報の受信も行う。操作部２５６は、操作のためのスイッチおよびＬＥＤ表示器等が配されている操作パネル等に相当する。プリンターＩ／Ｆ２５７は、プリンター２５８（プリンターエンジン）に出力情報としての画像信号を出力する。センサーＩ／Ｆ２５９は、センサー２６０（温度センサー、振動センサー、物体識別センサーなど）からの入力情報として信号を受信する。さらに、センサー２６０には、３Ｄプリンターにセットされるカートリッジ内の消耗材残量を検知するセンサーもある。
【００２８】
なお、消耗材の収納されるカートリッジは交換される形式であってもよいし、同じカートリッジに対して消耗材が追加で補給される形式もよい。なお、消耗材が収納されるカートリッジは、３Ｄプリンターにセットされたことを検知する検知部を持っていなくてもよい。また、カートリッジに消耗材が収納される形態の例として、フィラメント状のマテリアルが芯に巻きつけられていてもいいし、液体または粉末の消耗材がボトルなどの容器に入っていてもよい。
【００２９】
外部メモリＩ／Ｆ（メモリコントローラ）２６１は、ハードディスク（ＨＤ）、ＩＣカード等の外部メモリ２６２へのアクセスを制御する。また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンター制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作部２５６からのプリンターモード設定情報を記憶するようにしてもよい。
【００３０】
オプション機器Ｉ／Ｆ２６３は、オプション機器２６４へのアクセスを制御する。オプション機器には、造形方式に応じて必要となる付帯設備や、カメラやＩＣカードリーダー等の３Ｄプリンターの機能及び機構を拡張する周辺機器などがある。付帯設備の例として、インクジェット方式の場合に粉末対策として必要な装置や、光造形（ＳＬＡ）の場合に必要となる洗浄装置などがある。システムバス２６５は、各デバイスを接続する。
【００３１】
図３は、ネットワークシステムのソフトウェア構成を示す図である。図３を用いて、ネットワーク１０１を介して通信を行う３Ｄプリンター１０２およびコンピューター１０３のソフトウェア構成を説明する。
【００３２】
まず、コンピューター１０３のソフトウェア構成について説明する。コンピューター１０３において、クライアントアプリケーション３０１および各モジュールは、外部メモリ２１１に保存されたファイルとして存在する。これらは実行時にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２０２にロードされ実行されるプログラムモジュールである。
【００３３】
また、クライアントアプリケーション３０１は、外部メモリ２１１の不図示のＣＤ−ＲＯＭ、あるいはネットワーク２７０を経由して外部メモリ２１１のＨＤに追加することが可能となっている。ネットワークモジュール３０９は、任意の通信プロトコルを使用して３Ｄプリンター１０２や他のコンピューター１０４とのネットワーク通信を行う。なお、クライアントアプリケーション３０１の動作する情報処理装置は、コンピューター１０３以外でもよい。例えば、３Ｄプリンター１０２に組み込まれる組み込みコンピューターや、３Ｄプリンター管理アプリケーションが動作するコンピューター１０４であってもよい。
【００３４】
ＵＩモジュール３０２は、クライアントアプリケーション３０１において、ユーザーにグラフィカルインターフェースを提供するモジュールである。例えば、アプリケーションウィンドウの起動や３Ｄモデルデータの描画、各種設定画面の表示を行う。その他にも、ネットワーク１０１及びネットワークモジュール３０１を通して外部からのリクエストに応じてＨＴＴＰ等のプロトコルによってアプリケーションを操作するためのインターフェースを提供しても良い。なお、その他の手段によってユーザーにＧＵＩ操作手段を提供しても良い。また、ＵＩモジュール３０２は様々なモジュールを呼び出し実行することで、ユーザーに各種機能を提供する。
【００３５】
ＵＩモジュール３０２が呼び出すモジュールの例として、オブジェクト管理モジュール３０３、デバイス管理モジュール３０４、ジョブ管理モジュール３０５、ポリシー管理モジュール３０６を挙げる。また、ＵＩモジュール３０２がこれら以外のモジュールを呼び出してもよい。
【００３６】
オブジェクト管理モジュール３０３は、ＵＩモジュール３０２を介して入力されたオブジェクトデータ（３Ｄモデルデータ）を管理するモジュールである。オブジェクトデータのファイルフォーマットの例として、例えばＳＴＬ（Ｓｔａｎｄａｒｄ  Ｔｒｉａｎｇｕｌａｔｅｄ  Ｌａｎｇｕａｇｅ）形式が挙げられる。ＳＴＬは三次元形状を表現するデータを保存するファイルフォーマットであり、３Ｄモデルデータのファイル形式として利用されることが多い。なお、オブジェクトデータのファイル形式は、三次元形状を表現するファイルフォーマットであれば、ＳＴＬ以外でも良い。
【００３７】
デバイス管理モジュール３０４は、コンピューター１０３とネットワーク１０１で接続された３Ｄプリンター１０２を、任意の通信プロトコルを使って探索する。探索モジュール２０６が探索に使用する通信プロトコルの例としては、ＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）や、ＷＳ−Ｄｉｓｃｏｖｅｒｙ（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｙｎａｍｉｃ  Ｄｉｓｃｏｖｅｒｙ）などの通信プロトコル等が挙げられる。
他にも、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）やＳＬＰ（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などの通信プロトコルを使用してもよい。デバイス管理モジュール３０４は３Ｄプリンター１０２を探索し、３Ｄプリンター１０２から造形設定情報、造形性能情報、消耗材残量などを取得して後述のデータ管理モジュール３０８へ格納する。
【００３８】
ジョブ管理モジュール３０５は、ＵＩモジュール３０２およびオブジェクト管理モジュール３０３で受信したオブジェクトデータおよびデバイス管理モジュール３０４で受信した造形設定情報に基づき生成される制御命令を含むジョブを作成・管理する。制御命令は、オブジェクトデータおよび造形設定に基づいて、後述の制御命令生成モジュール３０７により生成される。作成されたジョブは、ネットワークモジュール３０９およびネットワーク１０１を介して３Ｄプリンター１０２に送信される。また、ジョブ管理モジュール３０５は、制御命令を解析し、造形設定に従う、３Ｄプリンターでの造形において必要となる必要な消耗材の使用量を算出する。算出された使用量の情報をもとに、ジョブが実行可能か否かの判断が行われる。なお、ジョブ管理モジュール３０５は、ジョブの送信や実行可否判断以外の操作を実行できても良く、例えば、ジョブの実行日時をスケジュールで定めてジョブの実行を予約するなどしてもよい。
【００３９】
ポリシー管理モジュール３０６は、ジョブ管理モジュール３０５で作成されたジョブの造形設定を、ポリシーで指定された適用条件に従って変更する。造形設定の項目は、オブジェクトの充填密度・充填パターン・縮尺・消耗材種別などがある。なお、３Ｄプリンターの造形に関する設定であれば他の設定情報であっても良い。ポリシーで指定される所定の条件を満たす場合に、予め定められた造形設定が適用される。
【００４０】
データ管理モジュール３０８は、各種データおよびファイルを管理し、他モジュールからの要求に合わせてデータの格納と取り出しを行う。データ管理モジュール３０８は、クライアントアプリケーション３０１からアクセス可能な、コンピューター１０３とは別の機器上にあってもよい。データ管理モジュール３０８で管理されるデータについて、図４を用いて後述する。
【００４１】
制御命令生成モジュール３０７は、コンピューター１０３にインストールされて実行される造形制御ソフトウェアのモジュールの一つである。スライサーは、オブジェクトデータを３Ｄプリンターで実行可能な命令形式に変換する。例えば、三次元形状を表現するデータを保存するファイルフォーマットのひとつであるＳＴＬ（ＳＴｅｒｅｏ  Ｌｉｔｈｏｇｒａｐｈｙ）を、Ｇコード（Ｇ−ｃｏｄｅ）という工作機械の命令を３Ｄプリンター用に拡張した形式に変換する。なお、クライアントアプリケーション３０１自体に、制御命令生成モジュール３０７を実装してもよい。
【００４２】
まず、３Ｄプリンター１０２のソフトウェア構成について説明する。
【００４３】
３Ｄプリンター１０２において、各種モジュールはＲＯＭ２５４あるいは外部メモリ２６２に保存されたファイルとして存在し、実行時にＲＡＭ２５３にロードされ実行される。ネットワークモジュール３２６は、任意の通信プロトコルを使用してコンピューター１０３とのネットワーク通信を行う。組み込みアプリケーション３２０は、ＲＡＭ２５３上にロードされ実行されるアプリケーションである。組み込みアプリケーション３２０は後述のハードウェア制御モジュール３２１、ＵＩモジュール３２２、制御命令管理モジュール３２３、構成管理モジュール３２４などのモジュール群から構成される。また、３Ｄプリンターが造形を行う上で必要なモジュールが含まれても良い。
【００４４】
ハードウェア制御モジュール３２１は、３Ｄプリンターの各種駆動部品の制御を行うとともに、温度センサーや振動センサー等の各種センサー（不図示）から値の取得を行う。ハードウェア制御モジュール３２１は後述のＵＩモジュール３２２、制御命令管理モジュール３２３、構成管理モジュール３２４から造形に関する制御命令を受信し、またセンサー値等のフィードバック情報を各モジュールに送信する。なお、造形に関する制御はこれらの例に限られない。
【００４５】
ＵＩモジュール３２２は、３Ｄプリンター１０２の操作部２５６に３Ｄプリンターの造形に関する情報を出力し、また制御命令や各種設定値情報の入力を受け付けるモジュールである。例えば、３Ｄプリンターに付属のパネルに造形の進捗情報を出力したり、エラーが発生した場合にその内容を表示したりする等の処理が挙げられる。また、パネル画面およびボタン等から３Ｄプリンターの設定値を変更する等の処理を受け付けてもいい。その他に、ＵＳＢメモリ等の外部メモリ経由で制御命令を受け付ける等の処理を行っても良いし、ネットワークモジュール３２６を介して外部からＨＴＴＰプロトコルなどのＷｅｂプロトコルによって３ＤプリンターのＵＩを外部に提供できても良い。なお、造形に関する情報の入出力はこれらの例に限られない。
【００４６】
制御命令管理モジュール３２３は、クライアントアプリケーション３０１から送信された制御命令を受信し、管理、実行するモジュールである。制御命令管理モジュール３２３は、クライアントアプリケーション３０１から送信されたジョブデータに含まれる制御命令の保存・変更・削除や、ジョブに関する情報の管理を行う。例えば、クライアントアプリケーション３０１から受信した複数のジョブの進捗情報（開始・終了・エラー等）を更新し、制御命令を読み取りハードウェア制御モジュール３２１を介して各種駆動部品を操作することで、実際の造形処理を管理する。また、３Ｄプリンター１０２の機種性能によってクライアントアプリケーション３０１の制御命令生成モジュール３０７の機能を包含し、３Ｄプリンター上でオブジェクトデータを制御命令に変換し、生成した制御命令を管理・実行しても良い。なお、制御命令の管理に関する制御はこれらの例に限られない。
【００４７】
構成管理モジュール３２４は、３Ｄプリンター１０２のハードウェア構成情報とソフトウェア構成情報、さらに各種消耗材や部品の状態情報の管理を行う。ハードウェア構成情報とは、例えば、自機の製造番号や製造工場識別子等の自機固有情報、３Ｄプリンター１０２に接続されたオプション機器の製品情報や使用状態等が挙げられる。オプション機器の例としては、フィニッシャーやカセットユニット等が挙げられる。オプション機器内部に消耗材やヒンジ等の消耗摩耗品が使用されている場合、これらの消耗状態及び摩耗状態も取得し、ネットワークモジュール３２６及びネットワーク１０１を通してクライアントプリケーション３０１に通知する。ソフトウェア構成情報とは、例えば３Ｄプリンター１０２のファームウェア情報、インストールされているアプリケーション情報等が挙げられる。また構成管理モジュール３２４は、クライアントアプリケーション３０１から送信されたファームウェアのアップデート要求を受信し、自機のファームウェアアップデート及びアプリケーションのインストールを実行しても良い。
【００４８】
図４は、データ管理モジュール３０８内のテーブル構成例を示す図である。なお、図４のテーブル構成はあくまで一例であり、本例とは異なるテーブル構成であってもよい。
【００４９】
デバイス管理テーブル４０１は、クライアントアプリケーション３０１が管理する３Ｄプリンター１０２に関する情報を管理するテーブルである。デバイス管理テーブル４０１で管理される情報は、例えば、デバイス識別子、デバイス名称、ＩＰアドレス、接続ポート番号等が挙げられる。
【００５０】
ここでデバイス識別子は、３Ｄプリンター１０２を一意に識別するための識別子である。デバイス名称は、３Ｄプリンター１０２を識別可能な任意の名称である。ＩＰアドレス、接続ポート番号は、３Ｄプリンター１０２に接続しジョブの送信および状態情報の取得を行うためのアドレス情報である。
【００５１】
造形設定管理テーブル４０２は、各３Ｄプリンター情報に紐付く造形設定に関する情報を管理するテーブルである。造形設定管理テーブルで管理される情報は、例えば造形設定識別子、デバイス識別子、プリントスピード、レイヤー厚さ、充填密度、充填パターン、サポートなどが挙げられる。
【００５２】
ここで造形設定識別子は、造形設定を一意に識別するための識別子である。プリントスピードは、３Ｄプリンターの造形速度である。例えば、ＦＤＭ方式の３Ｄプリンターの場合、造形速度は消耗材（フィラメント素材）の圧出速度を用いる。レイヤー厚さは、層あたりの厚さ（ピッチ幅）である。レイヤー厚さの値が小さいほど、より表面の滑らかな造形物が造形される。充填密度は、造形物の充填密度である。充填密度が高いほど、造形物内部の密度が上がり強度が増すが、消耗材の使用量も増加する。
【００５３】
充填パターンは、造形物の内部構造の形状をいう。充填パターンには、例えば、Ｒｅｃｔｉｌｉｎｅａｒ（格子状）、Ｃｏｎｃｅｎｔｉｒｉｃ（同中心状）、Ｈｏｎｅｙｃｏｍｂ（蜂の巣状）、ｈｉｌｂｅｒｔｃｕｒｖｅ（ヒルベルト曲線状）などがある。充填パターンによって造形物の強度や弾性を調整することができる。
【００５４】
サポート（ｓｕｐｐｏｒｔ  ｓｔｒｕｃｔｕｒｅｓ）とは、造形中の支えとして必要に応じて造形される造形物（例えば、支柱など）である。サポートの造形を有効（“ｏｎ”）にした場合、マテリアルの出力箇所においての支えとなるサポートを必要に応じて造形される。サポートの造形により、造形物の歪みを抑えて造形することができる。サポートの制御命令は、制御命令生成モジュール３０７によりオブジェクトの構造に応じて生成される。つまり、サポートについての情報はオブジェクトデータには含まれておらず、オブジェクトデータが制御命令に変換される際に、サポートの造形に関する情報がオブジェクトの制御命令に付加される。なお、充填密度、充填パターン、サポートは、ジョブに含まれる全てのオブジェクトに設定できても良いし、一部のオブジェクトに対して設定できても良い。また、サポートの部分のみに対して、充填密度や充填パターンが設定できてもよい。
【００５５】
消耗材管理テーブル４０３は、３Ｄプリンター１０２の消耗材情報を管理するテーブルである。消耗材管理テーブル４０３で管理される情報は、例えば、消耗材識別子、デバイス識別子、消耗材種別、消耗材残量などが挙げられる。
【００５６】
ここで消耗材識別子は、３Ｄプリンターに紐付けられる消耗材情報を一意に識別するための識別子である。消耗材種別は、素材や色など消耗材の種別を表す情報である。造形方式によって扱われる消耗材の素材が異なる。例えば、熱溶解積層法（ＦＤＭ：Ｆｕｓｅｄ  Ｄｅｐｏｓｉｔｉｏｎ  Ｍｏｄｅｌｉｎｇ）では、ＡＢＳ樹脂やＰＬＡ樹脂などの消耗材が使用される。また、サポートには、水溶性の消耗材が使用される場合もある。さらに、石膏などの特殊な粉末であるマテリアルと接着剤とを用いて造形する場合には、造形に用いられる接着剤も消耗材に含まれる。
【００５７】
消耗材残量は、３Ｄプリンター１０２の消耗材残量である。消耗材種別と消耗材残量はデバイス管理モジュール３０４が３Ｄプリンター１０２の構成管理モジュール３２４から取得する。なお、その他の手段によって３Ｄプリンター１０２の搭載する消耗材種別および消耗材残量を取得できてもよい。
【００５８】
ポリシー管理テーブル４０４は、ジョブ管理モジュール３０５で作成したジョブの造形設定をポリシーで指定された適用条件に従って変更する。ポリシー管理テーブルで管理される情報として、例えば、ポリシー識別子、デバイス識別子、適用条件、オブジェクトの充填密度や充填パターン、サポートの充填密度や充填パターン、オブジェクトスケール、消耗材種別などが挙げられる。例えば、ポリシー管理テーブル４０４では、消耗材不足時に、オブジェクトの充填密度を８０％に設定することなどが示されている。
【００５９】
ここでポリシー識別子は、ポリシーを一意に識別するための識別子である。適用条件は、ポリシーが適用される条件であり、例えば消耗材残量や日時、その他アプリケーションや３Ｄプリンターの特定のイベントに対してポリシーを適用するか否かの条件を指定する。なお、これら以外の条件を指定できても良い。オブジェクト充填密度は、オブジェクトあたりの充填密度設定値である。オブジェクト充填パターンは、オブジェクトあたりの充填パターン設定値である。サポートの充填密度は、オブジェクトを除くサポートのみに設定充填密度である。サポート充填パターンは、オブジェクトを除くサポートのみに設定される充填パターンである。オブジェクトスケールは、オブジェクトの縮尺である。オブジェクトのオリジナルの縮尺に対しての変化量を指定しても良いし、その他の指定の仕方を出来ても良い。
【００６０】
オブジェクトデータ管理テーブル４０５は、オブジェクトデータを管理するテーブルである。オブジェクトデータ管理テーブルで管理する情報として、例えば、オブジェクト識別子、オブジェクトデータファイル、オブジェクト充填密度、オブジェクト充填パターン、使用素材種別、サポート充填密度、サポート充填パターンなどが挙げられる。
【００６１】
ここでオブジェクト識別子とは、オブジェクトデータを一意に識別する識別子である。オブジェクトデータファイルとは、オブジェクトデータのファイルが格納されたファイルパスである。使用素材とはオブジェクトの造形に使用する消耗材種別である。以上で、図４の説明を終わる。
【００６２】
図５は、制御命令生成モジュール３０７で生成される制御命令の例を示す図である。図５では制御命令の一例として、Ｇコードの記載に基づいて説明する。なお、制御命令はその他の形式であってもよい。
【００６３】
５０１は、各行に３Ｄプリンターの制御命令が記述されたテキスト形式のファイルである。３Ｄプリンターは、この制御命令を一行ずつ取得し命令に従い造形を行う。制御命令５０１に含まれる情報としては、例えばプリントヘッドの移動座標情報や消耗材の使用量（ＦＤＭ方式の場合はフィラメントを圧出する長さなど）、積層ピッチ、ヘッド温度などの情報がある。プリントヘッドの移動座標は、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向で指定される。例えば、一階層分のヘッド移動がＸ・Ｙ座標で指定され、当該層の積層が終了するとＺ軸を移動し、次階層の積層を行うといった命令が記載される。Ｚ軸の移動は、例えば、プリントヘッドがＺ軸方向に移動する場合とビルドプレート自体が上下に移動することで実現される。
【００６４】
図６は、クライアントアプリケーション３０１による処理の流れを示すフローチャートである。本処理は、３Ｄプリンター１０２で実行されるジョブが生成される前に、クライアントアプリケーション３０１によって実行される処理である。使用可能な消耗材を使って複数のオブジェクトを造形することが可能でない場合に、複数のオブジェクトのうち一部のオブジェクトを指定して造形対象とする。
【００６５】
Ｓ６０１で、ＵＩモジュール３０２により造形指示を受け付けたと判断された場合に、Ｓ６０２へ処理を進める。
【００６６】
造形指示には、造形対象を示すオブジェクトデータや、デバイス設定および造形設定の情報などが含まれる。オブジェクトデータは、ＳＴＬ形式などで表される３Ｄモデルデータである。オブジェクトデータを受信する方法には、例えば、クライアントアプリケーションの３０１のＧＵＩ画面上からファイルをインポートする方法や、ネットワークを介して外部のアプリケーションからインポートする方法などがある。なお、受信したオブジェクトデータはデータ管理モジュール３０８のオブジェクトデータ管理テーブル４０５に格納される。
【００６７】
なお、受信したオブジェクトデータは、クライアントアプリケーション３０１のＧＵＩ画面上の操作で、オブジェクトの形状や縮尺などが変更される場合がある。また、３Ｄプリンター１０２のデバイス設定や造形設定が変更される場合がある。デバイス設定とは、例えばデータ管理モジュール３０８の制御装置管理テーブル４０１に格納される制御装置の接続設定である。造形設定には、例えばデータ管理モジュール３０８の造形設定管理テーブル４０２に格納される３Ｄプリンター１０２のプリントスピード、レイヤー厚さ、充填密度、充填パターン、サポートなどの設定項目とそれらに対する値が含まれる。オブジェクトの形状や縮尺、または、デバイス設定や造形設定が変更された場合は、Ｓ６０１で受け付ける造形指示には、それらの変更後のデータや設定の内容が含まれることとなる。
【００６８】
ここで、造形設定の入力画面ＵＩの例を図８で示す。８０１はクライアントアプリケーション３０１が提供する造形設定の入力画面のウィンドウである。８０２は３Ｄプリンターを選択するプルダウンメニューである。８０３はプリントスピードの値（ｍｍ／ｓｅｃ）を設定する項目である。８０４はレイヤー厚さ（ピッチ幅）の値（ｍｍ）を設定する項目である。８０５は充填密度の値（％）を設定する項目である。８０６は充填パターンを設定するプルダウンメニューである。８０７はサポートの有無を設定する項目である。８０８は前記各種設定値を保存するボタンである。ＵＩモジュール３０２は、保存ボタン８０８が押下されたことを検知すると、各種設定項目値をデータ管理モジュール３０８に格納する。すでに該当の３Ｄプリンターに関する設定値が格納されている場合は、既存の設定値を更新する。以上で、図８の説明を終わる。
【００６９】
続いて、図６のフローチャートに戻って説明する。
【００７０】
Ｓ６０２で、デバイス管理モジュール３０４は、３Ｄプリンター１０２からデバイス情報を取得する。具体的には、デバイス管理モジュール３０４はデータ管理モジュール３０８の制御装置管理テーブル４０１から３Ｄプリンター１０２の接続情報を取得する。その後、取得した接続情報を用いて３Ｄプリンター１０２に接続し、３Ｄプリンター１０２の構成管理モジュール３２４から最新の造形設定情報、造形性能情報や消耗材残量などを含むデバイス情報を取得する。デバイス管理モジュール３０４は取得した３Ｄプリンター１０２の各種情報をデータ管理モジュール３０８に格納する。ここで取得した消耗材残量を、以降の処理において、造形に使用可能な消耗材の量とする。
【００７１】
なお、デバイス管理モジュール３０４がＵＩモジュール３０２を介してデバイス情報を入力する画面を表示してもよい。例えば、Ｓ６０２で３Ｄプリンター１０２の消耗材残量が取得できなかった場合は、消耗材残量を入力する画面を表示し、ユーザーが任意に値を入力できるようにしてもよい。また、消耗材の使用可能量には、デバイス情報として取得された、３Ｄプリンターにセットされていて使用可能なカートリッジに残っている消耗材の残量だけでなく、さらに、補充可能な予備のカートリッジの消耗材の量を含めてもよい。
【００７２】
Ｓ６０３で、ジョブ管理モジュール３０５が、各オブジェクトの造形に必要な消耗材の量を算出する。
【００７３】
図７（Ａ）で示すサブフローを用いて、各オブジェクトの造形に必要な消耗材の量の算出処理の詳細について説明する。
【００７４】
Ｓ７２１で、ジョブ管理モジュール３０５がデータ管理モジュール３０８の造形設定管理テーブル４０２、オブジェクトデータ管理テーブル４０５から、各オブジェクトのモデルデータおよび造形設定の情報を取得する。
【００７５】
Ｓ７２２〜Ｓ７２５で、各オブジェクトに対してＳ７２３およびＳ７２４の処理を実行する。全てのオブジェクトに対する処理が終了すると、ループを終了する。
【００７６】
Ｓ７２３で、ジョブ管理モジュール３０５が、Ｓ７２１で取得したモデルデータと造形設定の情報をもとに制御命令生成モジュール３０７により生成された制御命令を取得する。
【００７７】
Ｓ７２４で、Ｓ７２３で生成したオブジェクトの制御命令から消耗材の必要量を算出する。
【００７８】
ジョブ管理モジュール３０５が制御命令を基に、一層ずつ造形に使用される消耗材の量を算出し、それらを合計する。例えば、一層分の消耗材使用量は、制御命令のＺ軸移動を層の移動と判断して、任意のＺ軸中のＸＹ移動量および消耗材（フィラメント）の圧出長から算出することができる。
【００７９】
以上のサブフローによって、各オブジェクトの造形に必要な消耗材の量を算出することができる。
【００８０】
続いて、図６のフロー図に戻って説明する。
【００８１】
Ｓ６０４で、ジョブ管理モジュール３０５が、Ｓ６０２で取得した消耗材の使用可能量とＳ６０３で取得した消耗材の必要量を比較し、Ｓ６０１で受け付けた造形指示で指定された全てのオブジェクトの造形が可能かどうかを判断する。必要量が使用可能量よりも少ない場合には、造形途中で消耗材が不足するため、造形が不可能であると判断され、Ｓ６０５に処理を進める。また、造形が可能であると判断された場合は、Ｓ６０９に処理を進める。
【００８２】
Ｓ６０５で、造形が不可能であることを通知するために、造形シミュレーション画面が表示される。例えば、図９で示す造形シミュレーションの表示画面ＵＩが表示される。９０１はジョブの造形シミュレーション画面のウィンドウである。９０２は３Ｄプリンター１０２のビルドプレートを３Ｄで表現したものである。ビルドプレート上に造形対象のオブジェクトを３Ｄで配置し、３Ｄプリンター１０２の造形のシミュレーションをする。９０３は、造形中に消耗材が不足すると判定されるオブジェクトである。９０４では造形が失敗する旨の通知とその内容が表示される。このとき９０３は、造形可能なオブジェクトと区別しやすいよう色やエッジ、表示パターンなどを変更して強調して表示しても良い。９０５はジョブを開始してから造形が完了するまでの造形所要時間である。９０６はジョブの造形に必要な消耗材使用量である。９０７は３Ｄプリンター１０２に消耗材残量である。９０８は消耗材の不足量である。
【００８３】
ユーザーは、図９で示すような造形シミュレーション結果をもとに、次のいずれかを選択する。ジョブを続行する場合は「続行」ボタン９０９、造形対象の複数オブジェクトのうち一部のオブジェクトを指定する場合は「造形オブジェクト指定」ボタン９１０、造形をキャンセルする場合は「キャンセル」ボタン９１１のいずれかを選択できる。
【００８４】
Ｓ６０６で、「造形オブジェクト指定」が選択されたと判断された場合、Ｓ６０７に処理を進める。Ｓ６０７で、ジョブ管理モジュール３０５が造形オブジェクト指定処理を行う。
【００８５】
図７（Ｂ）のサブフローを用いて、造形オブジェクト指定処理の詳細について説明する。
【００８６】
Ｓ７４１で、ジョブ管理モジュール３０５が、造形オブジェクト指定の推奨パターンを作成する。具体的には、Ｓ６０３で算出された各オブジェクトの造形に対する消耗材の必要量を基に、Ｓ６０１で受け付けた造形指示に含まれる造形設定を用いて造形可能なオブジェクトを指定し、指定されたオブジェクトの組み合わせのパターンを作成する。
【００８７】
Ｓ７４２で、ジョブ管理モジュール３０５がＵＩモジュール３０２を介して、Ｓ７４１で作成された推奨パターンを表示する。
【００８８】
図１０は、造形オブジェクト指定の推奨パターン表示画面ＵＩの例を示す図である。１００１は推奨パターンを示す画面のウィンドウである。ここでは、もとのジョブに含まれる複数のオブジェクトの中で、造形可能と判断されたオブジェクトの組合せの候補が２つ例示されている。ここで提供される組み合わせの候補は、２つに限らず、３つ以上であっても、全ての候補であっても、また一つのみでもよい。１００２、１００４は、組み合わせ候補の中から造形対象をいずれか１つ選択するための選択ボタンである。
【００８９】
ここで、パターンＡ１００２は、複数（２つ）のオブジェクトの組合せを候補として例示している。ユーザーは、使用可能な消耗材を使って造形可能となる、パターンＡで示すような複数のオブジェクトの組み合わせを把握することができる。
【００９０】
１００３はジョブ完了後の消耗材残量を示す。１００５は、選択したパターンでの造形を決定するための「決定」ボタンである。１００６は、造形をキャンセルするための「キャンセル」ボタンである。ユーザーは推奨パターンで提示される造形所要時間および消耗材使用量などの情報を比較し、オブジェクトの優先度や消耗材の在庫状況に応じて優先して造形するオブジェクトが指定されるパターンを選択する。１００７は、推奨パターン以外の組み合わせでオブジェクトの指定を行うための「任意選択」ボタンである。「任意選択」ボタンが選択されると、後述する図１１の任意選択画面に移る。また、選択されないオブジェクトは後に実行するジョブとして３Ｄプリンター１０２に予約できても良い。
【００９１】
なお、クライアントアプリケーション３０１が、１００２や１００４で示す組み合わせ候補の中から造形対象をいずれか１つ選択してユーザーに提示してもよい。
【００９２】
Ｓ７４３で、図１０の画面操作によって「決定」が選択されたか否かが判断される。「決定」が選択されると、Ｓ７４９に進み、選択された推奨パターンのジョブを生成するための指示が行われる。
【００９３】
Ｓ７４４で、図１０の画面操作によって、ユーザーが造形オブジェクトを任意に選択するための「任意選択」が選択されたか否かが判断される。「任意選択」が選択されると、Ｓ７４５に進む。なお、Ｓ７４４で「任意選択」が選択されなかった場合、つまり、「キャンセル」ボタン１００６が選択されると、ジョブ管理モジュール３０５は、ジョブの生成指示を行わずに図６の処理に戻る。
【００９４】
Ｓ７４５では、ジョブ管理モジュール３０５がＵＩモジュール３０２を介して、任意選択の画面が表示される。
【００９５】
図１１は、造形オブジェクト指定における任意選択の表示画面ＵＩの例を示す図である。１１０１は、任意のオブジェクトを選択するための画面ウィンドウである。１１０２は画面上での選択場所を示すポインタである。１１０３は選択中のオブジェクトである。オブジェクトはマウスポインタやタッチパネルなどの操作インターフェースを利用した操作によって選択することができる。また、もう一度選択操作を実行することで、選択を解除できても良い。１１０４は未選択状態のオブジェクトである。１１０５は選択されたオブジェクトの造形所要時間である。１１０６は選択されたオブジェクトの造形に必要な消耗材使用量である。ユーザーは、造形シミュレーション画面上で、実際の造形物の配置や構造、消耗材使用量、ジョブ完了後の消耗材残量を確認しながら、優先して造形したいオブジェクトを任意に選択できる。なお、その他の手段で造形対象のオブジェクトを任意に選択できても良い。
【００９６】
Ｓ７４６で、ジョブ管理モジュール３０５は、図１１で選択中のオブジェクトの造形に必要な消耗材の量を算出、表示する。図１１の造形所要時間１１０５と消耗材使用量１１０６は、選択されるオブジェクトが変更されると動的に更新される。１以上のオブジェクトの造形に必要な消耗材の必要量の総量が、造形に使用可能な消耗材の使用可能量以内となるように、ユーザーは１以上のオブジェクトを選択可能となる。ユーザーは、使用可能な消耗材を使って造形可能な複数のオブジェクトの組み合わせを把握することができる。
【００９７】
Ｓ７４７で、「決定」ボタンが選択されたと判断されると、Ｓ７４８に処理を進める。Ｓ７４８で、選択中のオブジェクトが使用可能量を使って造形可能であると判断されると、Ｓ７４９に進み、ジョブ管理モジュール３０５は、制御命令生成モジュール３０７に対して、選択中のオブジェクトの造形するジョブの生成を指示する。ここで生成されたジョブは、ネットワークモジュール３０９を介して、任意のタイミングで３Ｄプリンター１０２に対して送信される。３Ｄプリンター１０２では、このジョブに従い、オブジェクト造形を実行する。
【００９８】
Ｓ７５０で、「戻る」ボタンが選択されたと判断されると、Ｓ７４２に進み、推奨パターン画面（図１０）が表示される。なお、Ｓ７５０で「戻る」が選択されなかった場合、つまり、「キャンセル」ボタンが選択されると、ジョブ管理モジュール３０５は、ジョブの生成指示を行わずに図６の処理に戻る。
【００９９】
図６のフロー図に戻って説明する。
【０１００】
Ｓ６０８で、図９で示す「続行」ボタン９０９が選択されたと判断されると、Ｓ６０９に処理を進める。Ｓ６０８で「続行」が選択されなかった場合、つまり、「キャンセル」ボタン９１１が選択されると、ジョブ管理モジュール３０５は、ジョブの生成指示を行わずに図６の処理を終了する。
【０１０１】
Ｓ６０９では、ジョブ管理モジュール３０５は、制御命令生成モジュール３０７に対して、全オブジェクトを造形するためのジョブの生成を指示する。ここで生成されたジョブは、ネットワークモジュール３０９を介して、任意のタイミングで３Ｄプリンター１０２に対して送信される。３Ｄプリンター１０２では、このジョブに従い、オブジェクト造形を実行する。ここで、例えば、ユーザーは、交換可能な新品のカートリッジが手元にある場合には、カートリッジを交換してセットした後に「続行」ボタン９０９を選択して、造形を行ってもよい。なお、図９で示すシミュレーション結果の表示はあくまでも一例であり、その他の表示で消耗材が不足する旨の通知が行われても良い。
【０１０２】
以上で、図６のフローチャートで示す処理の説明を終わる。なお、Ｓ６０６で「造形オブジェクト指定」が選択された後に、図１０の推奨パターンの画面を表示せずに、図１１の任意選択の画面が表示されてもよい。また、図１０で「キャンセル」ボタンが選択された場合に、図１１を表示せずに造形をキャンセルしてもよい。
【０１０３】
なお、ジョブ管理モジュール３０５は、生成されたジョブを３Ｄプリンター１０２に送信する機能を備えていてもよい。ジョブには、造形対象のオブジェクトを造形するための制御命令が含まれる。ジョブの送信方法としては、上述したネットワーク１０１を介したジョブの送信でも良いし、ＵＳＢ等のシリアル接続による転送でも良い。また、３ＤプリンターがＵＳＢメモリ等の外部メモリ対応機の場合は、外部メモリにジョブ情報を出力しても良い。
【０１０４】
本実施例により、クライアントアプリケーション３０１がジョブの実行を事前にシミュレーションし、３Ｄプリンター１０２の消耗材残量に応じて、造形対象オブジェクトを一部選択して造形することが可能となる。
【０１０５】
なお、本実施例における１つのジョブに含まれる複数のオブジェクトは、各々が部分的につながった状態で造形された後に、それぞれのオブジェクトが切り離されるようなものであってもよい。例えば、プラモデルの部品などがこれに該当する。
【０１０６】
（実施例２）
実施例１では、クライアントアプリケーション３０１がジョブの実行を事前にシミュレーションし、３Ｄプリンター１０２の消耗材使用可能量に応じて、造形対象のオブジェクトを一部指定する例を説明した。
【０１０７】
実施例２では、造形設定を変更することで、消耗材の使用可能量の範囲内で一部または全てのオブジェクトを造形する場合について説明する。例えば、造形対象のオブジェクトの一部または全てに対して、オブジェクトの充填密度を低くしたり、オブジェクトを縮小した大きさで造形したりすることで、造形に必要な消耗材の量を減らすことができる。オブジェクトの強度や大きさを変更してもさほど問題がない場合に、本実施例を適用できる。
【０１０８】
図１２は、クライアントアプリケーション３０１による処理の流れを示すフローチャートである。Ｓ６０１〜Ｓ６０４、Ｓ６０６〜Ｓ６０９の処理は図６と同様であるため、説明を省略する。
【０１０９】
Ｓ１２０１で、図１４で示す造形シミュレーション画面が表示される。図１４は、図９と比較して、「造形設定変更」ボタン１４０１が追加されている。Ｓ１２０２で、「造形設定変更」が選択されたと判断されると、Ｓ１２０３に処理を進める。
【０１１０】
Ｓ１２０３で、ジョブ管理モジュール３０５およびポリシー管理モジュール３０６が造形設定変更処理を行う。
【０１１１】
図１３のサブフローを用いて、造形設定変更処理の詳細について説明する。Ｓ１３１１で、ポリシー管理モジュール３０６がデータ管理モジュール３０８の造形設定管理テーブル４０２から３Ｄプリンター１０２の造形設定情報を取得する。
【０１１２】
Ｓ１３１２で、造形設定の変更対象オブジェクトが選択される。選択されるオブジェクトは、複数オブジェクトのうち一部であってもよいし、また、全オブジェクトであってもよい。ＧＵＩ画面を介してユーザーがオブジェクトを選択してもよいし、クライアントアプリケーションが任意に選択してもよい。
【０１１３】
Ｓ１３１３で、ポリシー管理モジュール３０６がデータ管理モジュール３０８のポリシー管理テーブル４０４から３Ｄプリンター１０２に紐付けられた造形ポリシー情報を取得する。
【０１１４】
Ｓ１３１４で、Ｓ１３１３で取得されたポリシーの中で、適用可能なポリシーがあると判断された場合にはＳ１３１５に処理が進められ、適用可能なポリシーがないと判断された場合には、Ｓ１３１６に処理が進められる。
【０１１５】
Ｓ１３１５で、ポリシー管理モジュール３０６が、例えば、消耗材不足時に適用されるポリシーを適用する。ポリシーが適用されると、ポリシーに定義された設定値を３Ｄプリンターの造形設定に反映される。
【０１１６】
Ｓ１３１６で、ジョブ管理モジュール３０５は、造形設定の入力を受け付ける。例えば、図８のようなＧＵＩ画面を介してユーザーが造形設定を入力してもよい。ポリシーを適用できなかった場合だけでなく、Ｓ１３１５でポリシーを適用した場合でも、このようなＧＵＩ画面を表示してユーザーから造形設定の入力または変更を受け付けてもよい。なお、ポリシーを適用した場合には、造形設定の確認のみを行う画面を表示してもよい。
【０１１７】
Ｓ１３１７で、ジョブ管理モジュール３０５が、各オブジェクトの造形に必要な消耗材の量の算出処理（図７（Ａ））を行う。Ｓ１３１５およびＳ１３１６の少なくとも一つで設定された造形設定を用いて作成された制御命令を基に、各オブジェクトに対する消耗材の必要量が算出される。
【０１１８】
Ｓ１３１８で、消耗材の使用可能量を使って、造形設定が変更されたオブジェクトを含む全てのオブジェクトの造形が可能であるか否かが判断される。可能であると判断されると本サブフローの処理を終了して図６のＳ６０９でジョブの生成指示が行われ、可能でないと判断されるとＳ１３１４に戻って処理を続ける。
【０１１９】
造形設定の変更として、以下の例が挙げられる。
【０１２０】
まず、オブジェクトの充填設定の変更が可能である。例えば、オブジェクトの充填密度を３Ｄプリンター１０２の消耗材使用可能量の範囲内で造形できるまで下げる。また、オブジェクトの充填パターンを変更することで、消耗材の使用可能量を抑えることができる場合もある。なお、サポートの充填密度や充填パターンについても変更しても良く、オブジェクトとサポートの両方を変更してもよいし、どちらか片方のみを変更してもよい。また、オブジェクトとサポートの造形設定をそれぞれ異なる設定にしてもよい。
【０１２１】
次に、オブジェクトの造形に使用される消耗材の種別の変更が可能である。例えば、３Ｄプリンター１０２にＡＢＳ−ＲＥＤとＡＢＳ−ＢＬＵＥの２種類の消耗材がセットされている場合、オブジェクトの造形に使用する消耗材を残量に余裕のある消耗材種別に切り替えて造形を行えるようにする。
【０１２２】
さらに、オブジェクトの縮尺の変更が可能である。例えば、オブジェクトの縮尺を３Ｄプリンター１０２の消耗材残量の範囲内で造形できるまで小さくする方法がある。例えば、オブジェクトを９０％の縮尺で造形することで、造形に使用される消耗材の量を少なくすることができる。以上が造形設定の変更の例である。
【０１２３】
なお、図７（Ｂ）のＳ７４８で“Ｎｏ”となった場合に、Ｓ１２０３の造形設定変更処理（図１３）が実行されてもよい。また、Ｓ１２０３の処理を実行するかどうかをユーザーが任意に選択できるようにしてもよい。
【０１２４】
本実施例によって、造形設定を変更することで、使用可能な消耗材を活用して、造形対象の一部または全てのオブジェクトを造形することができる。
【０１２５】
（実施例３）
実施例１では、クライアントアプリケーション３０１がジョブの実行を事前にシミュレーションし、３Ｄプリンター１０２の消耗材使用可能量に応じて、造形対象のオブジェクトを一部指定する例を説明した。また、実施例２では、造形設定を変更することで、消耗材の使用可能量の範囲内で一部または全てのオブジェクトを造形する場合について説明した。
【０１２６】
実施例３では、造形対象として指定されなかったオブジェクトの造形が実行可能な別の３Ｄプリンターを指定して造形を実行することで、総造形時間を短くする場合について説明する。
【０１２７】
図７（Ｂ）の造形オブジェクト指定処理で、造形対象として指定されなかったオブジェクトの造形を実行可能な制御装置を指定する処理を行う。
【０１２８】
図１５を用いて、制御装置の指定処理の流れを説明する。本処理は、図７（Ｂ）のＳ７４５で図１１の画面を表示した際に選択されなかったオブジェクトを他の制御装置を使って造形する処理である。本処理は、例えば、図７（Ｂ）のＳ７４８の直後に実行される。
【０１２９】
Ｓ１５１１で、デバイス管理モジュール３０４は、データ管理モジュール３０８の制御装置管理テーブル４０１から制御装置のリストを取得する。
【０１３０】
Ｓ１５１２で、デバイス管理モジュール３０４は、Ｓ１５１１で取得したリストから任意の制御装置を選択し、ネットワーク１０１を介して３Ｄプリンター１０２の構成管理モジュール３２４から消耗材使用可能量の情報を取得する。なお、ＧＵＩ画面を介して、対象の３Ｄプリンターで使用可能な消耗材の量の入力を受け付けてもよい。
【０１３１】
Ｓ１５１３で、ジョブ管理モジュール３０５は、造形対象として指定されなかったオブジェクトの消耗材必要量を算出する。図７（Ａ）の各オブジェクトの造形に必要な消耗材の量の算出処理が実行される。
【０１３２】
Ｓ１５１４で、ジョブ管理モジュール３０５は、Ｓ１５１２で取得した３Ｄプリンターの消耗材使用可能量を使って、造形対象として指定されなかったオブジェクトの造形が可能か否かを判断する。造形可能と判断した場合はＳ１５１５に進み、ジョブの生成指示が行われる。一方、造形不可と判断した場合はＳ１５１１に戻り別の制御装置に対してＳ１５１２およびＳ１５１３の処理を繰り返す。
【０１３３】
本実施例により、造形対象として指定されなかったオブジェクトの造形が実行可能な、管理下にある３Ｄプリンターを指定して造形を実行することで、総造形時間を短くすることができる。
【０１３４】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【０１３５】
ここで、本発明は、上述した実施形態の機能を実現する１つ以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の１つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の１つ以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の１つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピューター
により読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【０１３６】
１０３  コンピューター
３０１  クライアントアプリケーション
３０４  デバイス管理モジュール
３０５  ジョブ管理モジュール
【図１】
0006643044.tif 000002
【図２】
0006643044.tif 000003
【図３】
0006643044.tif 000004
【図４】
0006643044.tif 000005
【図５】
0006643044.tif 000006
【図６】
0006643044.tif 000007
【図７】
0006643044.tif 000008
【図８】
0006643044.tif 000009
【図９】
0006643044.tif 000010
【図１０】
0006643044.tif 000011
【図１１】
0006643044.tif 000012
【図１２】
0006643044.tif 000013
【図１３】
0006643044.tif 000014
【図１４】
0006643044.tif 000015
【図１５】
0006643044.tif 000016