(57)【特許請求の範囲】
【請求項１】
３次元の造形物を造形する制御装置についての情報を管理する管理装置であって、
前記管理装置の管理対象の制御装置から、ネットワークを介して、前記管理対象の制御装置で検出されたステータスを含むデバイス情報を取得する取得手段と、
検出したステータスに基づくエラーの判断および出力を行う出力方法がそれぞれで異なる複数の制御装置に対して共通で利用される分析方法を用いて、前記取得手段により取得されたデバイス情報の分析を行う分析手段と、
前記分析の結果に基づいて、前記管理対象の制御装置におけるエラーを含む通知を行う通知手段と、を有することを特徴とする管理装置。
【請求項２】
前記取得手段により取得されるデバイス情報には、前記管理対象の制御装置の出力方法に従い出力されるエラーに対応するステータス以外の該制御装置で検出されたステータスも含まれることを特徴とする請求項１に記載の管理装置。
【請求項３】
前記分析手段は、前記取得手段により取得されたデバイス情報に含まれるステータスが所定の条件を満たすかどうかを判定し、
前記通知手段は、前記分析手段により前記所定の条件を満たさないと判定されたステータスについてエラーを通知することを特徴とする請求項１または２に記載の管理装置。
【請求項４】
前記所定の条件は、制御装置での造形の際に指定される該制御装置の設定を示す設定情報、および、該制御装置で提供可能な造形に係る機能を示す能力情報に基づく条件であることを特徴とする請求項３に記載の管理装置。
【請求項５】
前記分析手段は、前記デバイス情報に含まれる前記制御装置の構成部品の温度のステータスが、前記設定情報に含まれる前記構成部品の温度の設定範囲、および、前記能力情報に含まれる前記構成部品の温度の設定範囲に含まれている場合に、前記所定の条件を満たすと判定することを特徴とする請求項４に記載の管理装置。
【請求項６】
前記分析手段は、前記デバイス情報に含まれる前記制御装置のファンの回転速度のステータスが、前記設定情報に含まれる前記ファンの回転速度の設定範囲、および、前記能力情報に含まれる前記ファンの回転速度の設定範囲に含まれている場合に、前記所定の条件を満たすと判定することを特徴とする請求項４または５に記載の管理装置。
【請求項７】
前記分析手段は、前記デバイス情報にステータスとして含まれる前記制御装置での造形に用いられる消耗材の種類が、前記設定情報に含まれる前記消耗材の種類のうちの少なくとも１つと一致し、かつ、前記能力情報に含まれる前記消耗材の種類のうちの少なくとも１つと一致する場合に、前記所定の条件を満たすと判定することを特徴とする請求項４乃至６のいずれか１項に記載の管理装置。
【請求項８】
前記通知手段による通知には、前記分析の結果として、前記所定の条件を満たさないと判定されたステータスについてのエラーだけでなく、更に、前記デバイス情報に含まれるステータスが含まれることを特徴とする請求項３乃至７のいずれか１項に記載の管理装置。
【請求項９】
前記取得手段は、前記管理対象の制御装置の出力方法に従い出力されたエラーを示すイベントを前記管理装置が受信したことに応じて、該制御装置から前記デバイス情報を取得することを特徴とする請求項１乃至８のいずれか１項に記載の管理装置。
【請求項１０】
前記通知手段は、更に、前記取得手段により取得されたデバイス情報に係る制御装置の出力方法に従い出力されたエラーについても通知することを特徴とする請求項１乃至９のいずれか１項に記載の管理装置。
【請求項１１】
前記取得手段は、所定のスケジュールに従い、前記管理装置の管理対象の制御装置から前記デバイス情報を取得することを特徴とする請求項１乃至１０のいずれか１項に記載の管理装置。
【請求項１２】
前記複数の制御装置においては、製造元または機種が、それぞれ異なることを特徴とする請求項１乃至１１のいずれか１項に記載の管理装置。
【請求項１３】
３次元の造形物を造形し、自装置で検出したステータスに基づくエラーの判断および出力を行う出力方法に従いエラーを出力する制御装置と、３次元の造形物を造形する制御装置についての情報を管理する管理装置とを少なくとも備える管理システムであって、前記制御装置は、
前記管理装置がネットワークを介して取得可能な、前記制御装置で検出されたステータスを含むデバイス情報を保持する保持手段を有し、
前記管理装置は、
ネットワークを介して、前記制御装置で検出されたステータスを含むデバイス情報を前記制御装置から取得する取得手段と、
検出したステータスに基づくエラーの判断および出力を行う出力方法がそれぞれで異なる複数の制御装置に対して共通で利用される分析方法を用いて、前記取得手段により取得されたデバイス情報の分析を行う分析手段と、
前記分析の結果に基づいて、前記制御装置におけるエラーを含む通知を行う通知手段と、を有し、
前記保持手段により保持されるデバイス情報には、前記制御装置の出力方法に従い出力されるエラーに対応するステータス以外の前記制御装置で検出されたステータスが含まれることを特徴とする管理システム。
【請求項１４】
３次元の造形物を造形する制御装置についての情報を管理する管理装置の制御方法であって、
前記管理装置の管理対象の制御装置から、ネットワークを介して、前記管理対象の制御装置で検出されたステータスを含むデバイス情報を取得する取得工程と、
検出したステータスに基づくエラーの判断および出力を行う出力方法がそれぞれで異なる複数の制御装置に対して共通で利用される分析方法を用いて、前記取得工程で取得されたデバイス情報の分析を行う分析工程と、
前記分析の結果に基づいて、前記管理対象の制御装置におけるエラーを含む通知を行う通知工程と、を有することを特徴とする制御方法。
【請求項１５】
３次元の造形物を造形し、自装置で検出したステータスに基づくエラーの判断および出力を行う出力方法に従いエラーを出力する制御装置と、３次元の造形物を造形する制御装置についての情報を管理する管理装置とを少なくとも備える管理システムの制御方法であって、
前記管理装置がネットワークを介して取得可能な、前記制御装置で検出されたステータスを含むデバイス情報を前記制御装置が保持する保持工程と、
前記管理装置が、ネットワークを介して、前記制御装置で検出されたステータスを含むデバイス情報を前記制御装置から取得する取得工程と、
前記管理装置が、検出したステータスに基づくエラーの判断および出力を行う出力方法がそれぞれで異なる複数の制御装置に対して共通で利用される分析方法を用いて、前記取得工程で取得されたデバイス情報の分析を行う分析工程と、
前記管理装置が、前記分析の結果に基づいて、前記制御装置におけるエラーを含む通知を行う通知工程と、を有し、
前記保持工程で保持されるデバイス情報には、前記制御装置の出力方法に従い出力されるエラーに対応するステータス以外の前記制御装置で検出されたステータスが含まれることを特徴とする制御方法。
【請求項１６】
請求項１乃至１２のいずれか１項に記載の手段としてコンピューターを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元の造形物を造形する制御装置におけるエラーの通知に関する。
【背景技術】
【０００２】
近年、３Ｄプリンターが急速に普及してきている。３Ｄ（３−ｄｉｍｅｎｓｉｏｎａｌ）プリンターとは、特殊なモデルデータをもとに、立体（３次元のオブジェクト）を造形する制御装置の総称である。立体造形に係る技術については、Ａｄｄｉｔｉｖｅ  Ｍａｎｕｆａｃｔｕｒｉｎｇ（付加製造）とも呼ばれる。これに対して、２Ｄ（２−ｄｉｍｅｎｓｉｏｎａｌ）プリンターは、紙（シート）などに平面的に印刷する印刷機器を示す。
【０００３】
３Ｄプリンター自体は以前から存在していたが、大型装置である、専用・特殊な設備や材料が必要である、取り扱いが難しい、などの理由から、一部の業種や用途で用いられるのみであった。近年の技術革新により、熱溶解積層法（ＦＤＭ：Ｆｕｓｅｄ  Ｄｅｐｏｓｉｔｉｏｎ  Ｍｏｄｅｌｉｎｇ）など様々な造形方式が考案・実用化されている。他の造形方式としては、光造形方式（ＳＴＬ：Ｓｔｅｒｅｏ  ｌｉｔｈｏｇｒａｐｈｙ）、粉末燃結方式（ＳＬＳ：Ｓｅｌｅｃｔｉｖｅ  Ｌａｓｅｒ  Ｓｉｎｔｅｒｉｎｇ）、インクジェット方式などがある。さらに、一般消費者にも扱える安価な３Ｄプリンターから、製造業や様々な業種の企業向けの高性能な業務用３Ｄプリンターまで幅広く提供されている。
【０００４】
また、３Ｄ造形物出力サービスを事業化する動きも活発になってきている。３Ｄ造形物出力サービスとは、造形対象のオブジェクトを表す３Ｄモデルデータや素材の指定などをユーザーから受け付けて、サービス提供企業が３Ｄプリンターでの造形を代行するサービスである。３Ｄ造形物出力サービスを提供する企業は、ユーザーのニーズにあわせて、様々な造形方式やマテリアルの種類に対応するために、多種の３Ｄプリンターを管理する必要がある。
【０００５】
従来の２Ｄプリンターの分野において、管理対象である２Ｄプリンターを管理する管理システムがある。管理システムでは、２Ｄプリンターから収集したステータス情報やエラー情報を管理、分析することにより様々なサービスを２Ｄプリンターのユーザーへ提供する。提供されるサービスには、例えば、故障した２Ｄプリンターの保守サービスがある。管理対象の２Ｄプリンターからエラー情報を取得した場合、管理システムは、その取得したエラー情報を基に管理者にエラーを通知する。エラー通知がされた管理者は、２Ｄプリンターの故障に対して必要な措置を取ることができる。
【０００６】
従来から、特許文献１に記載されるように、２Ｄプリンターの管理システムでは、標準化されたプロトコルであるＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）に準拠しているメッセージを利用して、２Ｄプリンターからデバイス情報を取得する。具体的には、ＳＮＭＰを用いて、２Ｄプリンターからデバイス情報としてＭＩＢ（Ｍａｎａｇｅｎｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）情報が取得される。ＭＩＢ情報は、ＳＮＭＰで管理される２Ｄプリンターなどのネットワークデバイスが、自装置の動作状態を外部に知らせるために公開する情報であり、ＭＩＢ情報にはネットワークデバイスの識別情報、ステータス情報、能力情報などが含まれる。管理対象の２Ｄプリンターでエラーが起こった際に、管理システムは、ＭＩＢに含まれるｐｒｔＡｌｅｒｔＣｏｄｅの情報から、ジャムなどのエラーの内容を把握することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−３７０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
３Ｄプリンターの業界においても、近年、ＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）によるプロトコルの共通化や、該プロトコルによる３Ｄプリンターのデバイス情報の取得が検討されてきている。ＩＰＰで取得されるデバイス情報には、３Ｄプリンターで検出されたステータスや、検出されたステータスに基づき出力されるエラーなどが含まれる。しかしながら、ＩＰＰによって取得できるエラーの種類は限られており、現状、ＩＰＰによって取得できない種類のエラーが発生した際には“不明のエラー”として通知されてしまうことになる。また、３ＤプリンターごとにＩＰＰによって取得できるデバイス情報の内容に差がある場合もある。つまり、３Ｄプリンターの業界では、従来技術で挙げたＳＮＭＰのような標準化された代表的なプロトコルが未だ確立していないといえる。
【０００９】
また、実運用においては、例えば３Ｄプリンターの製造元ごとまたは機種ごとにＩＰＰとは異なる独自の手法を採用しているため、３Ｄプリンターで発生したエラーの判断や出力の方法がそれぞれで異なる場合がある。そのため、複数の３Ｄプリンターで同じ内容のステータスが検出された場合であっても、各３Ｄプリンターによって異なる内容の通知がされてしまう。
【００１０】
具体的には、マテリアルを押し出すヘッドが低温であるというエラーに対して、ある３Ｄプリンターでは「ヘッドの温度が上がりきっていません」と通知される。一方、別の３Ｄプリンターでは単なるヘッドエラーと判断されて、「ヘッドにエラーが発生しました」などと通知される場合がある。このような同様のステータスに基づく異なるエラー通知に対して、管理者は各３Ｄプリンターのエラー通知の違いを把握して対応しなればならず、管理者の手を煩わせていた。また、ヘッドの温度が設定温度に達していないことが通知されると、管理者は、ヘッドの温度が上がるまで待機するという対応をとることができる。それに対して、ヘッドのエラーである旨が通知されると、管理者は、ヘッドを交換する必要があると判断し、誤った対応をとってしまうことが起こり得る。
【００１１】
本発明は、複数の３次元の造形物を造形する制御装置、とくに自装置で検出したステータスに基づくエラーの判断および出力を行う出力方法がそれぞれで異なる複数の制御装置におけるエラーの通知内容を統一化するための仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の管理装置は、３次元の造形物を造形する制御装置についての情報を管理する管理装置であって、前記管理装置の管理対象の制御装置から、ネットワークを介して、前記管理対象の制御装置で検出されたステータスを含むデバイス情報を取得する取得手段と、検出したステータスに基づくエラーの判断および出力を行う出力方法がそれぞれで異なる複数の制御装置に対して共通で利用される分析方法を用いて、前記取得手段により取得されたデバイス情報の分析を行う分析手段と、前記分析の結果に基づいて、前記管理対象の制御装置におけるエラーを含む通知を行う通知手段と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、複数の３次元の造形物を造形する制御装置、とくに自装置で検出したステータスに基づくエラーの判断および出力を行う出力方法がそれぞれで異なる複数の制御装置におけるエラーの通知内容を統一化することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るシステム構成の例を示す図である。
【図２】情報処理機能ハードウェア構成の例を示す図である。
【図３】本システムのソフトウェアおよびハードウェア構成の例を示す図である。
【図４】デバイス情報３１８の一例を示す図である。
【図５】（Ａ）デバイスからのイベント受信によるエラー通知処理の流れの例を示すフローチャートである。（Ｂ）ポーリングによるエラー通知処理の流れの例を示すフローチャートである。
【図６】エラー分析設定画面ＵＩの一例を示す図である。
【図７】エラー分析処理の流れの例を示すフローチャートである。
【図８】エラー判定リストの一例を示す図である。
【図９】エラー判定処理の流れの例を示すフローチャートである。
【図１０】エラー通知画面ＵＩの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１６】
図１は、本発明の実施形態に係る管理システムのシステム構成の一例を説明する。
【００１７】
ネットワーク１０１は、イントラネットあるいはローカルエリアネットワーク（ＬＡＮ）などである。３Ｄプリンター１０２、１０５は、特殊なモデルデータをもとに立体（３次元のオブジェクト）を造形する制御装置の一例である。３Ｄプリンター１０２と１０５は、異なる機種の３Ｄプリンターである。コンピューター１０３は、造形制御ソフトウェアがインストールされているクライアントコンピューターである。コンピューター１０４は、３Ｄプリンター管理アプリケーションが動作する管理装置である。コンピューター１０３および１０４としては、パーソナルコンピューター（ＰＣ）、タブレットコンピューター、スマートフォンなどの種別が存在する。
【００１８】
３Ｄプリンター１０２、１０５とコンピューター１０３、１０４とは、ネットワーク１０１を介して、相互に情報の送受信が可能である。３Ｄプリンター１０２、１０５は、コンピューター１０４によるネットワーク１０１を介した管理対象の制御装置である。なお、ネットワーク１０１は、無線ＬＡＮなどの無線ネットワークでも構わない。また、ネットワーク１０１は、情報の送信・受信が可能であれば、インターネットなどのパブリックネットワークでもよい。
【００１９】
図２は、３Ｄプリンター１０２、１０５、コンピューター１０３、１０４の情報処理機能のハードウェア構成例を示す図である。なお、３Ｄプリンター１０２、１０５においては、後述する図３に示す３１２などの組み込みコンピューターの構成が、図２で示す情報処理機能のハードウェアに相当する。
【００２０】
ユーザーインターフェース（以下、ＵＩと呼ぶ）２０１は、ディスプレイ、キーボード、マウス、タッチパネル、ボタンなどによる、情報や信号の入出力を行う。これらのハードウェアを備えないコンピューターは、リモートデスクトップやリモートシェルなどにより、他のコンピューターから接続・操作することも可能である。
【００２１】
ネットワークインターフェース２０２は、ＬＡＮなどのネットワークに接続して、他のコンピューターやネットワーク機器との通信を行う。ＲＯＭ２０４には、組込済みプログラムおよびデータが記録されている。ＲＡＭ２０５は一時メモリ領域である。二次記憶装置２０６は、ＨＤＤやフラッシュメモリなどである。ＣＰＵ２０３は、ＲＯＭ２０４、ＲＡＭ２０５、二次記憶装置２０６などから読み込んだプログラムを実行する。以上の各部２０１乃至２０６は、入出力インターフェース２０７を介して接続されている。
【００２２】
３Ｄプリンター１０２、１０５に関しては、さらに、造形方式に応じたハードウェア構成を備える。造形方式に応じたハードウェア構成とは、具体的には、３Ｄプリンター１０２のエンジン部である。エンジン部はＣＰＵやＲＯＭ、ＲＡＭなどの記憶装置に加え、当該ＣＰＵにより制御される造形方式に応じたハードウェアをもつ。例えば、熱溶解積層法の場合、そのハードウェアは、プリントヘッド（ｈｅａｄ，ｅｘｔｒｕｄｅｒ）、ステージやプリントヘッドをＸ、Ｙ、Ｚ軸方向に駆動するモーター、プリントヘッドのノズルを過熱するヒーター、冷却や給気、排気のためのファンなどである。他の造形方式としては、例えば、光造形方式（ＳＴＬ：Ｓｔｅｒｅｏ  ｌｉｔｈｏｇｒａｐｈｙ）、粉末燃結方式（ＳＬＳ：Ｓｅｌｅｃｔｉｖｅ  Ｌａｓｅｒ  Ｓｉｎｔｅｒｉｎｇ）、インクジェット方式などがある。また、３Ｄプリンター１０２、１０５はそれぞれ、ステータスを検出するための複数のセンサー（不図示）等を備えている。センサーの具体例としては、プリントヘッドの温度ステータスを検出するための温度センサーなどがある。
【００２３】
図３は、本システムのソフトウェア構成およびハードウェア構成の例を示す図である。
【００２４】
まず、コンピューター１０３の構成について説明する。
【００２５】
本実施例では、コンピューター１０３で３Ｄプリンターへの印刷ジョブを作成し、コンピューター１０４で３Ｄプリンターの管理を行う構成で説明を行っているが、１つのコンピューターで印刷ジョブを作成し３Ｄプリンターを管理する構成をとっても良い。
【００２６】
造形制御ソフトウェア３０１は、コンピューター１０３にインストールされて実行されるソフトウェアである。造形制御ソフトウェア３０１は、例えば、スライサーと呼ばれる造形に係る設定や制御命令を生成するための機能などを含むソフトウェアである。
【００２７】
設定情報３０２は、造形制御ソフトウェア３０１などで設定される造形に関する設定情報である。造形に関する設定項目には、例えば、使用する３Ｄプリンターの機種名、プリントヘッドなどの構成部品の温度、使用するマテリアルの種類や名前、充填パターンなどが含まれる。
【００２８】
３Ｄモデルデータ３０３は、ユーザーが造形を所望するオブジェクトを３次元形状で表す３次元モデルデータである。３Ｄモデルデータ３０３には、例えば、３次元形状を表現するデータを保存するファイルフォーマットのひとつであるＳＴＬ（ＳＴｅｒｅｏ  Ｌｉｔｈｏｇｒａｐｈｙ）などがある。
【００２９】
制御命令３０４は、３Ｄモデルデータ３０３を元にして造形制御ソフトウェア３０１によって生成される３Ｄプリンターの制御命令であり、例えば、Ｇコード（Ｇ−ｃｏｄｅ）という工作機械の命令を３Ｄプリンター用に拡張した形式が広く用いられている。造形制御ソフトウェア３０１は、３Ｄモデルデータで表される造形部分であるオブジェクト部の造形に関する制御命令だけでなく、造形に必要なサポート（ｓｕｐｐｏｒｔ  ｓｔｒｕｃｔｕｒｅｓ）の造形に関する制御命令も合わせて生成する。
【００３０】
造形制御ソフトウェア３０１は、設定情報３０２からユーザーに選択された設定値に基づき、３Ｄモデルデータ３０３を３Ｄプリンター１０２が実行可能な制御命令３０４に変換する。
【００３１】
さらに、造形制御ソフトウェア３０１は、設定情報３０２および制御命令３０４などを含むジョブ履歴を作成し、コンピューター１０４に送信する機能を有している。なお、ジョブ履歴の作成機能、及び、コンピューター１０４へのジョブ履歴の送信機能については、一般的な造形制御ソフトウェアに対して、プラグインプログラムといった形式で追加されるものであってもよい。または、ジョブ履歴の作成機能、及び、コンピューター１０４へのジョブ履歴の送信機能を有する別のアプリケーション（不図示のプログラム）をコンピューター１０３にインストールして、それら機能を実現することも可能である。該アプリケーションは、造形制御ソフトウェア３０１からのジョブに係る情報や３Ｄプリンター１０２からの実行結果などの情報を収集して、ジョブ履歴を作成する。
【００３２】
次に、３Ｄプリンター１０２の構成について説明する。
【００３３】
ハードウェア３１１は、３Ｄプリンター１０２のエンジン部である。３Ｄプリンターを構成するハードウェアは造形方式によって異なる。例えば、熱溶解積層法（ＦＤＭ）の場合、ハードウェア３１１は、プリントヘッド、ステージやプリントヘッドをＸ、Ｙ、Ｚ軸方向に駆動するモーター、プリントヘッドのノズルを過熱するヒーター、冷却のためのファンなどから構成される。
【００３４】
組み込みコンピューター３１２は、３Ｄプリンター１０２に組み込まれたコンピューターである。組み込みコンピューター３１２は、汎用のコンピューターに比べ、必要な機能に特化し、不必要な機能・性能・部品を削って、安価なコストで製造される。なお、３Ｄプリンターに要求される機能・性能によっては、組み込みコンピューター３１２は、汎用のコンピューターであっても構わない。
【００３５】
３Ｄプリンター制御アプリケーション３１３は、組み込みコンピューター３１２上で実行されるアプリケーションである。３Ｄプリンター制御アプリケーション３１３は、ＵＩ３１４と、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）３１５と、ハードウェア制御部３１６とを備える。
【００３６】
ＵＩ３１４は、廉価なものでは文字のみを数行表示するディスプレイとハードウェア操作ボタンの組み合わせや、他にはタッチパネル付きディスプレイなどがある。ＵＩ３１４の表示内容によって、３Ｄプリンターの状態を確認し、ＵＩ３１４を操作することによって、所望の処理を３Ｄプリンターに命令する。
【００３７】
ＡＰＩ３１５は、外部のコンピューター１０３や１０４から、命令やデータの送受信を受け付ける。ＡＰＩ３１５を介して、外部のコンピューター１０３や１０４から、３Ｄプリンター制御アプリケーション３１３に命令を送信し、３Ｄプリンター１０２を制御する。
【００３８】
ハードウェア制御部３１６は、ＵＩ３１４、ＡＰＩ３１５を介して受信した命令や、３Ｄプリンター制御アプリケーション３１３自体が発行した命令に従い、ハードウェア３１１を構成する各部を動作させ、造形物の出力や出力の前処理・後処理などを実行する。
【００３９】
前述の造形制御ソフトウェア３０１が生成した制御命令３０４は、ネットワーク１０１およびＡＰＩ３１５を介して、３Ｄプリンター制御アプリケーション３１３に送られる。また、コンピューター１０３で生成された制御命令３０４は、コンピューター１０４を経由して３Ｄプリンター制御アプリケーション３１３に送られてもよい。さらに、３Ｄプリンター１０２がネットワークインターフェースを備えない場合などは、ＵＳＢメモリなどの記憶装置を介して、制御命令３０４を３Ｄプリンター制御アプリケーション３１３に送ることも可能である。
【００４０】
３Ｄプリンター制御アプリケーション３１３は、ＵＩ３１４あるいはＡＰＩ３１５からの出力命令により、制御命令３０４を解釈して、ハードウェア制御部３１６がハードウェア３１１各部を動作させ、造形物を出力する。
【００４１】
エラー情報３１７は、３Ｄプリンター１０２内で、３Ｄプリンター１０２に固有の定義に従い特定の状態や障害が検出された場合に、３Ｄプリンター１０２の定義に従ってその内容や通知方法などの出力管理が行われるエラーを示す情報である。エラー情報３１７は、必ずしも存在しなくてもよい。本実施例では、エラー情報３１７は、汎用的な通信プロトコルを用いて管理アプリケーション３２１によって取得される。なお、管理アプリケーション３２１は、３Ｄプリンターの機種や製造元に依存するイベントの内容自体を解釈できない場合もある。
【００４２】
デバイス情報３１８は、３Ｄプリンター１０２のステータス情報などを含むデバイス情報である。本実施例では、デバイス情報３１８として、ＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）で定義された多機種の３Ｄプリンターで共通のプロトコルで取得可能な情報を例に挙げて説明する。ＩＰＰは、汎用的な通信プロトコル上で動作する印刷（造形）データの送受信や造形装置の監視等を行うためのプロトコルである。また、同等の情報取得の定義がある他のプロトコルでも代用できる。また、本発明は、ＩＰＰに加えそのほかのプロトコルで定義されるデバイス情報も併用することも可能であり、デバイス情報３１８にはそれらプロトコルで定義される情報が含まれてもよい。これにより、例えば、機種によりサポートしていないＩＰＰで定義されている情報や、ＩＰＰで未定義のステータス情報についても３Ｄプリンター管理アプリケーション３２１による分析の対象とすることが可能となる。
【００４３】
デバイス情報３１８には、本発明の３Ｄプリンター管理アプリケーション３２１での分析で利用可能な様々な情報が含まれていることになる。デバイス情報３１８には、３Ｄプリンターでの造形の設定に関する設定情報、３Ｄプリンターの機能を示す能力情報、３Ｄプリンターのステータス、エラー情報などが含まれる。また、ステータスとしては、前述したエラー情報３１７として管理されているエラーとの判断に利用されたステータスとそれ以外のステータスを示す情報が含まれることになる。本実施例におけるデバイス情報の一例を、図４を用いて後述する。本実施例では、デバイス情報３１８は、３Ｄプリンター管理アプリケーション３２１により、３Ｄプリンター１０２から取得される。なお、設定情報および能力情報は必ずしも３Ｄプリンター１０２から取得されなくてもよい。例えば、設定情報はコンピューター１０３から取得されてもよい。また、３Ｄプリンターの能力情報は、予めコンピューター１０４の内部または外部の記憶装置で管理されていてもよい。
【００４４】
３Ｄプリンター１０５にも、３Ｄプリンター１０２と同様に、造形方式に応じたてハードウェア構成を備える。また、３Ｄプリンター１０５にも、３Ｄプリンター１０２と同等の、ハードウェアを制御、及びデバイス情報やエラー情報の管理を行うための機能を備える３Ｄプリンター制御アプリケーションが動作している。３Ｄプリンター１０２及び３Ｄプリンター１０５は、それぞれの機器に固有の定義に従い特定の状態や障害が検出された場合に、エラーの発生を検出している。
【００４５】
ここで、３Ｄプリンター１０２と１０５とが、同じ造形方式の３Ｄプリンターであっても、機種によってハードウェア構成が異な検出されるエラーの種類やその出力方法の定義などを含むプログラムが異なる場合がある。また、３Ｄプリンター１０２と１０５とが同機種であっても、該プログラムのバージョン違いなどに起因して、検出されるエラーの種類やその出力方法の定義などが異なる場合がある。出力方法の違いとは、例えば、管理者のコンピューター画面や３Ｄプリンターのパネルなど、エラー内容の表示先の違いや、表示されるメッセージ内容の違いなどである。また、エラーの判断や出力の方法は、３Ｄプリンターの製造元や機種ごとに定められるものである。
【００４６】
次に、コンピューター１０４の構成について説明する。
【００４７】
３Ｄプリンター管理アプリケーション３２１は、コンピューター１０４上で実行されるアプリケーションで、１以上の３Ｄプリンターの情報を取得して管理するアプリケーションである。３Ｄプリンター管理アプリケーション３２１は、デバイス情報取得部３２２と、エラー分析部３２３と、エラー判定部３２４と、通知部３２５と、プリンターリスト３２６と、エラー判定リスト３２７とを備える。
【００４８】
デバイス情報取得部３２２は、３Ｄプリンター１０２からエラー情報３１７やデバイス情報３１８を取得する。取得方法として、デバイス情報取得部３２２が定期的にまたは予め定められたスケジュールに従って３Ｄプリンター１０２から情報を取得する方法がある。また、３Ｄプリンター１０２でエラーが起こるなどしてイベントが発生した際に３Ｄプリンター１０２がコンピューター１０４に発生したイベントを通知することで、デバイス情報取得部３２２は情報を取得できるようにしてもよい。
【００４９】
エラー分析部３２３は、デバイス情報取得部３２２によって取得された情報を基に、対象の３Ｄプリンターで発生しているエラーの分析処理を行う。この分析処理は、機種や製造元が異なる複数の３Ｄプリンターのそれぞれに対して共通で利用することができる。エラーの分析処理では、エラーコードから取得できる種類のエラーについてはエラーコードを使ってエラー情報が取得される。一方、エラーコードから取得できない種類のエラーについては、後述のエラー判定処理によって、デバイス情報などを基にエラー内容が判定される。エラー分析部３２３の分析処理について、図７を用いて後述する。
【００５０】
エラー判定部３２４は、エラーコードから取得できない種類のエラーについて、デバイス情報取得部３２２によって取得されたデバイス情報３１８を基に、３Ｄプリンターで発生しているエラーの内容を判定する。エラー判定部３２４の処理について、図９を用いて後述する。
【００５１】
通知部３２５は、エラー分析部３２３によってエラーコードから取得されたエラー情報、および、エラー判定部３２４によってデバイス情報を基に判定されたエラー内容を、３Ｄプリンターのユーザーや管理者に通知する。通知方法としては、コンピューター１０４のユーザーインターフェース２０１に通知内容を表示してもよいし、通知内容を管理者にメールで送信してもよい。
【００５２】
プリンターリスト３２６は、エラーの判定処理を必要としないプリンターの一覧を保持する。図示しないが、プリンターリストには、プリンターベンダ、プリンターの機種コード、プリンターの機種名等が保持されている。プリンターベンダや機種によってはエラーコードから取得できる種類のエラーが充実しており、デバイス情報を基にしたエラー判定処理を必要としないプリンターも存在する。エラーコードプリンターリストは、コンピューター１０４内であらかじめ保持されていても良いし、設定ファイルが読み込まれたり、ユーザーによってＵＩ等の入力手段から入力されたりすることで入力されても良い。
【００５３】
エラー判定リスト３２７には、エラー判定部３２４で判定するエラーの種類が保持される。エラー判定リスト３２７で保持される情報は、プログラムの設定情報としてＲＯＭ２０４で保持されていても良いし、設定ファイルから読み込んでもよい。エラー判定リスト３２７について、図８を用いて後述する。
【００５４】
図４は、デバイス情報３１８の一例を示す図である。
【００５５】
本実施例では、ＪＳＯＮ形式で定義されたデバイス情報３１８について説明する。ただし本実施例で書かれるデバイス情報は説明を簡便にするための一例であって、デバイス情報の内容やデータ形式は、図４で示す例に制限されるものではない。
【００５６】
４０１〜４０３では、３Ｄプリンターのヘッドの温度に関する情報（ｈｅａｄ−ｔｅｍｐｅｒａｔｕｒｅ）と、ベッドの温度に関する情報（ｂｅｄ−ｔｅｍｐｅｒａｔｕｒｅ）と、ファンのスピードに関する情報（ｆａｎ−ｓｐｅｅｄ）とを一例として挙げている。
【００５７】
ヘッドは、マテリアルを押し出すプリントヘッド（ｐｒｉｎｔｅｒ−ｈｅａｄまたはｅｘｔｒｕｄｅｒ）である。ベッドは、造形中のオブジェクトが載る造形台（ｐｒｉｎｔｅｒ−ｂｅｄまたはｂｕｉｌｄ  ｐｌａｔｆｏｒｍ）である。また、ファンは、造形されたオブジェクトや３Ｄプリンター内部の温度を下げるための送風機である。
【００５８】
３ｄ−ｐｒｉｎｔｅｒ−ｓｅｔｔｉｎｇｓ４０１は、３Ｄプリンターでの造形の際に指定される３Ｄプリンターの設定を示す造形に関する設定情報である。ここには、造形制御ソフトウェア３０１などで設定される造形に関する設定情報３０２の内容が含まれる。なお、設定が行われていない項目については、値が空であるかまたはｆａｌｓｅが入る。例えば、“ｐｒｉｎｔｅｒ−ｂｅｄ−ｔｅｍｐｅｒａｔｕｒｅ”の値が空であるため、ベッドの温度は設定されていないことがわかる。
【００５９】
３ｄ−ｐｒｉｎｔｅｒ−ｃａｐａｂｉｌｉｔｉｅｓ４０２は、３Ｄプリンターで提供可能な造形に係る機能を示す能力情報である。例えば、対象の３Ｄプリンターでは、ベッドの温度を１００度から２００度の範囲内で造形することができる。なお、３Ｄプリンターが提供していない機能の項目については、値が空であるか又はｆａｌｓｅが入る。
【００６０】
３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｕｓｅｓ４０３は、現在の３Ｄプリンターの状態を示すステータスが保持される。３Ｄプリンターのベッドの温度は２１０度である。
【００６１】
３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４は、現在３Ｄプリンターで発生しているエラーのエラーコードが設定される。本実施例では、共通のプロトコルで出力されるエラーの例として、ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓの情報を用いて説明する。３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４は、エラーコードとメッセージのＫｅｙ  −  Ｖａｌｕｅのリストの形式で情報が取得できる。４０４では「ｅｘｔｒｕｄｅｒ−ｆａｉｌｕｒｅ」と「ｍａｔｅｒｉａｌ−ｅｍｐｔｙ」のエラーが発生している状態を例示している。しかしながら、３Ｄプリンターでは、ベッドの温度エラーを判断して出力することができていない。
【００６２】
図５は、エラー通知処理の流れを示すフローチャートである。３Ｄプリンター管理アプリケーション３２１（以下、管理アプリケーション３２１と呼ぶ）が、３Ｄプリンター１０２からエラー情報３１７やデバイス情報３１８を取得し、分析結果に基づきエラーを通知する処理を説明する。本フローチャートの処理は、３Ｄプリンター管理アプリケーション実行時に開始され、アプリケーションが終了するまで繰り返し実行される。
【００６３】
図５（Ａ）を用いて、管理アプリケーション３２１が、３Ｄプリンター１０２からのイベントを受信した場合のエラー通知処理について説明する。
【００６４】
Ｓ５０１において、３Ｄプリンターからイベントを受信した場合はＳ５０２に進む。イベントを受信していない場合は、イベントが発生するまで待機する。なお、イベントとともにエラー情報３１７が送られてきても良いし、イベントを受けてデバイス情報取得部３２２が３Ｄプリンターからエラー情報３１７などを取得しても良い。本実施例では、イベントともにエラー情報３１７が取得できたとして説明を続ける。例えば、エラー情報３１７は、汎用的な通信プロトコルを用いて管理アプリケーション３２１によって取得される。なお、管理アプリケーション３２１は、３Ｄプリンターの機種やベンダに依存するイベントの内容自体を解釈できない場合もある。
【００６５】
なお、本発明に関しては、エラー以外の３Ｄプリンターにおける通知対象イベント（状態変化など）の発生に起因するイベント通知に対しても適用可能である。
【００６６】
Ｓ５０２において、３Ｄプリンターから取得したデバイス情報がプリンターリスト３２６に存在するか否か確認する。プリンターリスト３２６に存在しない場合は、分析の必要な３Ｄプリンターであると判断されてＳ５０３に進む。プリンターリスト３２６に存在する場合は、分析が必要でない３Ｄプリンターであると判断されて、Ｓ５０６へ進みＳ５０１で通知されたエラーをそのまま通知する。
【００６７】
Ｓ５０３において、図６で図示するエラー分析設定画面においてエラーを分析しないと設定された場合はＳ５０６へ進みエラー発生のイベントで受信したエラーをそのまま通知する。エラーを分析すると設定された場合はＳ５０４に進む。
【００６８】
図６に例示するように後述の条件（分析設定、判定設定）によってエラーを分析するかしないか判断しても良い。なお、管理アプリケーション３２１は、事前に管理者により設定できるよう図６で示す設定画面を提供することが可能で、Ｓ５０３のタイミングで表示しないようにすることも可能である。
【００６９】
ここで、分析設定６０１〜６０３について説明する。６０１は、毎回エラー分析を行う設定であって、エラー発生のイベントを受信するたびにエラー分析処理（Ｓ５０４〜Ｓ５０５）を実行する。
【００７０】
６０２は、エラー情報に管理者が設定するＫｅｙｗｏｒｄが含まれていた場合にエラー分析処理（Ｓ５０４〜Ｓ５０５）に進む。例えば、管理者が「ＵＮＫＮＯＷＮ」と設定した時、エラー情報が「ＵＮＫＮＯＷＮ  ＥＲＲＯＲ」である場合はエラー分析処理（Ｓ５０４〜Ｓ５０５）に進み、「ＳＹＳＴＥＭ  ＥＲＲＯＲ」である場合はＳ５０６へ進む。
【００７１】
６０３は、管理者が設定したエラーが存在しない場合にエラー分析処理（Ｓ５０４〜Ｓ５０５）に進み、エラーが存在する場合はＳ５０６に進む。例えば、管理者が「ＥＸＴＲＵＤＥＲ」と設定した場合には、エラー情報が「ＳＹＳＴＥＭ  ＥＲＲＯＲ」である場合はエラー分析処理（Ｓ５０４〜Ｓ５０５）に進み、「ＥＸＴＲＵＤＥＲ  ＥＲＲＯＲ」である場合はＳ５０６へ進む。
【００７２】
また、判定設定６０４は、エラー判定の対象とする項目を管理者が設定可能とするものである。ここでの設定は、Ｓ５０５でのエラー分析処理で利用される。
【００７３】
なお、本実施例では図６を用いて管理者がエラーの分析をするか否かを選択できるケースについて説明したが、エラー分析設定画面を設けず毎回エラーを分析するようにしても良い。Ｓ５０４においてデバイス情報取得部３２２は、３Ｄプリンター１０２からデバイス情報３１８を取得する。例えば、デバイス情報取得部３２２は、ＩＰＰといったプロトコルを用いて、デバイス情報３１８を取得する。なお、デバイス情報取得部３２２は、ステータス情報を含むデバイス情報３１８に相当する情報を送受信可能な、ＩＰＰ以外のプロトコルを利用してもよい。
【００７４】
Ｓ５０５は、Ｓ５０４で取得したデバイス情報３１８を基にエラー分析を行う。Ｓ５０５でのエラー分析処理の詳しい説明は後述の図７のフローチャートにて説明する。Ｓ５０６において通知部３２５はエラー情報を通知する。
【００７５】
なお、管理アプリケーション３２１は、異常時の３Ｄプリンターの画像を蓄積し、３Ｄプリンター１０２から取得した造形中の監視映像から、類似画像検索などの汎用技術を用いて３Ｄプリンター１０２または造形に関する異常を検出してもよい。監視映像から異常が検出されたことに応じて、Ｓ５０２以降の処理が実行されてもよい。
【００７６】
図５（Ｂ）を用いて、管理アプリケーション３２１が、ポーリングなどにより３Ｄプリンター１０２からデバイス情報３１８を取得する場合のエラー通知処理について説明する。デバイス情報３１８が取得されるタイミングは、管理アプリケーション３２１により予めスケジュールなどで定められていてもよい。
【００７７】
Ｓ５１１において、前回３Ｄプリンター１０２から情報を取得してから一定時間が経過したか判断し経過していた場合はＳ５０４へ進む。３Ｄプリンター１０２から情報を取得する間隔はデフォルトで設定されていてもいいし、ユーザーによってＵＩから登録もしくは設定ファイル読み込みなどにより設定値を変更できても良い。
【００７８】
Ｓ５０４においてデバイス情報取得部３２２は、３Ｄプリンター１０２からデバイス情報３１８を取得する。
【００７９】
Ｓ５０５は、Ｓ５０４で取得したデバイス情報３１８を基にエラー分析を行う。エラー分析Ｓ５０５の詳しい説明は後述の図７のフローチャートにて説明する。
【００８０】
Ｓ５１２において、エラー分析Ｓ５０５でエラーが発生していると判断された場合はＳ５０６へ進む。エラーが発生していると判断されなかった場合はＳ５１１へ戻る。
【００８１】
Ｓ５０６において通知部３２５はエラー情報を通知する。
【００８２】
図７は、３Ｄプリンター１０２から取得したデバイス情報３１８を基に３Ｄプリンター１０２のエラーを分析する処理について説明するフローチャートである。図７で示す分析処理は、機種や製造元が異なる複数の３Ｄプリンターのそれぞれに対して共通で利用されることになる。
【００８３】
Ｓ７０１において、以降の分析処理でエラー発生していると判断した場合にエラー情報を格納するためのエラー通知リストを作成する。後述のＳ７０２、Ｓ７０４の処理において、デバイス情報から複数のエラー分析を行い、エラーであると判断された情報を適宜エラー通知リストに追加していく。本フローチャートのエラー分析処理終了後にエラー通知リストに何かしらのエラーが追加されていた場合は通知部３２５によって通知が行われる。
【００８４】
Ｓ７０２において、デバイス情報３１８に含まれる現在３Ｄプリンターで発生しているエラーのエラー情報（エラーコード）を示す３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４の値を確認する。３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４から情報が取得できる場合はＳ７０３に進む。情報が何も取得できない場合はＳ７０４に進む。
【００８５】
Ｓ７０３において、Ｓ７０１で作成したエラー通知リストに３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４で取得できた情報を追加する。
【００８６】
Ｓ７０４〜Ｓ７０６で、エラー判定リスト３２７で保持されるエラーについての処理を行う。
【００８７】
Ｓ７０５において、デバイス情報３１８の３ｄ−ｐｒｉｎｔｅｒ−ｓｅｔｔｉｎｇｓ４０１と３ｄ−ｐｒｉｎｔｅｒ−ｃａｐａｂｉｌｉｔｉｅｓ４０２と３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｕｓｅｓ４０３の値を利用してエラー判定を行う。エラー判定Ｓ７０４は、エラー判定リスト３２７で保持するエラー件数分処理を繰り返す。本実施例では図６で図示するエラー分析設定画面の判定設定６０４によってどのエラー判定を行うか管理者が設定可能とする。もちろんエラー判定項目を管理者に選択させず必ず全ての項目を判定する仕組みにしても良い。エラー判定処理の詳しい説明は後述の図９のフローチャートで説明する。
【００８８】
図８は、エラー判定リスト３２７の一例を示す図である。エラー判定リスト３２７は、本システムで定義するエラーの情報を管理するリストであり、各々のエラーの情報に対応付けて、エラーメッセージやエラーに該当するかの判定を行うため参照先となる情報などが保持されている。エラー判定リスト３２７に含まれる各項目は、３Ｄプリンターに特有なステータスなどの情報に対応している。造形方式や造形に用いるハードウェア構成に依存した特殊なステータスに対応する項目が網羅的にエラー判定リスト３２７で管理されている。エラー判定リスト３２７に含まれる項目の例としては、消耗材を押し出すヘッドの温度や、ヘッドを支持する部材の消耗度（稼働回数）、造形台の温度、ファンの回転速度、消耗材の素材の種類などがある。３Ｄプリンターの造形方式によって、造形に用いられる消耗材の素材の種類が異なる。例えば、ＦＤＭ方式の造形に用いられる消耗材には、ＡＢＳ、ＰＬＡ、ナイロン、ＰＥＴ、サポート専用の水溶性マテリアルなどがある。例えば、インクジェット方式の造形に係る消耗材としては、光硬化性樹脂、ワックスなどがある。ＳＬＳ方式の造形に係る消耗材としては、ナイロンや金属などの粉末がある。光造形方式に係る消耗材としては、特殊な光硬化性樹脂がある。また、石膏などの特殊な粉末と接着剤を用いて造形するような３Ｄプリンターも存在する。
【００８９】
ＥｒｒｏｒＣｏｄｅ８０１は、各種エラーの内容を示す識別情報である。Ｍｅｓｓａｇｅ８０２は、エラーに該当すると判定された場合に通知されるメッセージである。
【００９０】
Ｓｅｔｔｉｎｇｓ８０３は、各種エラーに該当するかを判定する際の参照先となる、設定情報の項目を示す。主に３ｄ−ｐｒｉｎｔｅｒ−ｓｅｔｔｉｎｇｓ４０１に記載される項目が参照先となる。
【００９１】
Ｃａｐａｂｉｌｉｔｉｅｓ８０４は、各種エラーに該当するかを判定する際の参照先となる、デバイスの能力情報の項目を示す。主に３ｄ−ｐｒｉｎｔｅｒ−ｃａｐａｂｉｌｉｔｉｅｓ４０２に記載される項目が参照先となる。
【００９２】
Ｓｔａｔｕｓｅｓ８０５は、各種エラーに該当するかを判定する際の参照先となる、プリンターのステータス情報の項目を示す。主に３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｕｓｅｓ４０３に記載される項目が参照先となる。
【００９３】
Ｐｏｓｉｔｉｏｎ８０６は、３Ｄプリンターにおいて、エラー原因となり得る部分を示す情報である。エラーを判定する際には不要な情報であるがエラーの詳細を把握するために利用できるオプション情報としてあってもよい。
【００９４】
Ｆｌａｇ８０７は、判定の対象となるエラーであるかを示す情報である。本実施例では、図６で示した設定画面において、判定設定６０４で選択された項目が、エラー判定の際のチェック対象の項目として設定される。チェックをつけられた場合はＴｒｕｅとなり、チェックをつけられなかった場合はＦａｌｓｅとなる。エラー判定処理Ｓ７０５ではＦｌａｇ８０７がＴｒｕｅの項目に対してのみ実行される。
【００９５】
エラー判定リスト３２７で選択された項目のエラーすべてに対して判定処理が完了するとエラー判定処理を終了する。
【００９６】
また、本実施例では、デバイスからのイベント通知によりエラー分析が実行された場合も、ポーリングによりエラー分析が実行された場合もエラー判定処理をするとしているが、エラー発生の信頼度によって処理を切り替えても良い。例えば、イベント通知のようにエラーが発生して処理が呼ばれるときはエラー判定処理を行う。ポーリングのように定期的に実行されるような処理の時は、Ｓ７０２で３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４が存在しないと判断された場合にエラー判定処理を行わずに処理を終了するとしても良い。または、イベント通知の時はエラー判定処理を行った結果エラー通知まで行い、ポーリングの時はエラー判定の結果エラーが発生していると判断された場合であってもエラー通知まで行わずログとしてエラー情報を保存しておくような処理にしても良い。
【００９７】
図９は、エラー判定処理の流れを示すフローチャートである。図９を用いて、３Ｄプリンターに特有なステータスなどを含む情報を用いて、エラー判定リスト３２７で保持されるエラーが発生しているか否かをエラー判定部３２４が判定する処理について説明する。本判定処理では、３Ｄプリンターに特有な情報の例として、Ｓｅｔｔｉｎｇｓ８０３とＣａｐａｂｉｌｉｔｉｅｓ８０４とＳｔａｔｕｓｅｓ８０５を用いている。
【００９８】
Ｓ９０１において、Ｃａｐａｂｉｌｉｔｉｅｓ８０４を基に、判定対象の所定のエラーの項目が３Ｄプリンター１０２でサポートされているかが判断される。サポートされていると判断された場合はＳ９０２に進み、サポートされていないと判断された場合は本フローチャートの処理を終了する。
【００９９】
Ｓ９０２において、Ｓｅｔｔｉｎｇｓ８０３を基に、造形設定で設定されている値が取得される。該当の造形設定の項目について設定がされていない場合はＳ９０４に進む。造形設定の設定値が取得された場合は、Ｓ９０３に進む。
【０１００】
Ｓ９０３において、Ｓｔａｔｕｓｅｓ８０５を基に、３Ｄプリンターのステータスが取得され、Ｓ９０２で取得されたＳｅｔｔｉｎｇｓ８０３と比較される。その後、Ｓ９０４において、Ｓ９０３で取得されたステータス値とＳ９０１で取得された能力値を比較する。
【０１０１】
Ｓ９０５において、Ｓ９０３及びＳ９０４における比較の結果に基づき、設定情報および能力情報で定義される設定範囲にステータス値が含まれる場合に、所定の条件を満たすものとして、ステータス値が正常であると判定される。一方、設定情報および能力情報で定義される設定範囲にステータス値が含まれていない場合に、ステータス値が異常であると判定される。具体的には、ステータスの属性値が設定の属性値の範囲および能力の属性値の範囲のいずれにも含まれる場合に、ステータスの属性値が正常であると判定される。一方、ステータスの属性値が設定の属性値の範囲および能力の属性値の範囲のいずれかに含まれない場合に、ステータスの属性値が異常であると判定される。例えば、図４で示すデバイス情報３１８では、ベッドの温度に関する情報（ｂｅｄ−ｔｅｍｐｅｒａｔｕｒｅ）について、３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｕｓｅｓ４０３で示すステータス値が、３ｄ−ｐｒｉｎｔｅｒ−ｃａｐａｂｉｌｉｔｉｅｓ４０２で示す能力情報の属性値の範囲外であり、異常と判定される。
【０１０２】
なお、ステータスの属性値が、設定の属性値の範囲外であるが能力の属性値の範囲内である場合には、３Ｄプリンターまたは造形に関する障害ではないもののユーザーが所望した造形設定で造形されていない旨をエラーとして通知する。ここで、属性値には、数値と文字列とが含まれる。また、属性値の範囲には、１以上の属性値が含まれる。ステータスの属性値が設定または能力の属性値の範囲に含まれる場合とは、ステータスの属性値が、設定または能力の１以上の属性値のうちの一つに一致する場合をいう。なお、設定の属性値または能力の属性値が“ｔｒｕｅ”である場合であって、かつ、ステータスの属性値が数値で表される場合なども、ステータスの属性値は、設定の属性値の範囲または能力の属性値の範囲に含まれると判断される。
【０１０３】
Ｓ９０６において、Ｓ９０１からＳ９０４の判定によりエラーが発生している可能性があると判定されエラー通知リストにＥｒｒｏｒＣｏｄｅ８０１とＭｅｓｓａｇｅ８０２の情報を追加する。
【０１０４】
ここで、図８（ｂ）は、図４で示すデバイス情報３１８を用いた分析結果となるエラー通知リストの例である。
【０１０５】
ＥｒｒｏｒＣｏｄｅ８１１は、管理アプリケーション３２１内でエラーの種類を識別するためのエラーコードである。
【０１０６】
ＳｕｂＣｏｄｅ８１２は、図４で示す３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４から得られたコードである。エラー判定処理Ｓ７０５によってエラー通知リストに追加されたエラーについては、ＳｕｂＣｏｄｅ８１２は“ｎｕｌｌ”となる。これによって、デバイス情報３１８から得られてエラー通知リストに追加されたエラーと、エラー判定処理によってエラー通知リストに追加されたエラーとを区別することができる。
【０１０７】
Ｍｅｓｓａｇｅ８１３は、エラー通知の際に出力されるメッセージであり、３Ｄプリンターごとの定義によらず、管理アプリケーション３２１によって統一化された共通のメッセージである。
【０１０８】
なお、Ｓ９０１〜Ｓ９０３の判断の際に取得した各種３Ｄプリンターの情報をエラー通知の際に詳細情報を通知しても良い。判定を行った際の詳細情報を表示することで３Ｄプリンターの問題のない部分も把握できエラー発生時の切り分けの一助となる。
【０１０９】
図１０は、図５のＳ５０６におけるエラー通知画面のＵＩの一例を説明する。この通知画面は、図８（ｂ）のリストに基づきそれぞれのエラーについての表示が行われる。なお、エラー通知リストに登録されている複数のエラーをまとめて一つの通知画面に表示してもよい。
【０１１０】
１００１は、エラーの概要を表示する。本実施例では、３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４の属性、またはＥｒｒｏｒＣｏｄｅ８０１が表示される。
【０１１１】
１００２は、エラーに関する詳細情報である。本実施例では、３ｄ−ｐｒｉｎｔｅｒ−ｓｔａｔｅ−ｒｅａｓｏｎｓ４０４の属性値、またはＭｅｓｓａｇｅ８０２が表示される。
【０１１２】
１００３は、エラー判定を行った結果が表示される。
【０１１３】
１００４は、エラー原因となり得る部分を示す情報として、Ｐｏｓｉｔｉｏｎ８０６が表示される。
【０１１４】
１００５は、各Ｐｏｓｉｔｉｏｎ８０６に対して、サポートの有無または範囲、設定値、およびステータス値が表示される。これらの情報は、エラー判定処理で利用された情報である。
【０１１５】
本実施例により、３次元の造形物を造形し、自装置で検出したステータスに基づくエラーの判断および出力を行う出力方法がそれぞれで異なる複数の制御装置におけるエラーの通知内容を統一化することができる。
【０１１６】
なお、本実施例では、制御装置の一例として３Ｄプリンターのエラー通知について、以上のように説明をしてきた。しかしながら、ネットワークに接続する他の制御装置に対しても、本発明を適用できる場合がある。
【０１１７】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
【０１１８】
ここで、本発明は、上述した実施形態の機能を実現する１つ以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の１つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の１つ以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の１つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【符号の説明】
【０１１９】
１０４  コンピューター
３２１  ３Ｄプリンター管理アプリケーション
３２２  デバイス情報取得部
３２３  エラー分析部
３２５  通知部
【図１】
0006590629.tif 000002
【図２】
0006590629.tif 000003
【図３】
0006590629.tif 000004
【図４】
0006590629.tif 000005
【図５】
0006590629.tif 000006
【図６】
0006590629.tif 000007
【図７】
0006590629.tif 000008
【図８】
0006590629.tif 000009
【図９】
0006590629.tif 000010
【図１０】
0006590629.tif 000011