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