(57)【特許請求の範囲】
【請求項１】
３Ｄプリンタを管理する管理システムであって、
３Ｄプリンタへの継ぎ足し、３Ｄプリンタでの再利用が可能な第１の造形材の在庫を管理する第１の管理手段と、
所定の容器により３Ｄプリンタに補充される第２の造形材の在庫を管理する第２の管理手段と、を有し、
前記第１の管理手段は、オブジェクト造形で利用された第１の造形材の量と廃棄された第１の造形材の量とを求めるために、第１の造形材を利用する３Ｄプリンタにおける第１の造形材の量を監視し、
前記第２の管理手段は、３Ｄプリンタでの第２の造形材の使用量に従い、第２の造形材のための所定の容器の在庫の数を管理する
ことを特徴とする管理システム。
【請求項２】
前記第１の管理手段及び前記第２の管理手段は、在庫が所定の閾値より少なくなった場合に、通知を行う
ことを特徴とする請求項１に記載の管理システム。
【請求項３】
前記通知は、在庫の自動配送のための通知を含む
ことを特徴とする請求項２に記載の管理システム。
【請求項４】
前記第２の管理手段は、３Ｄプリンタで使用中の前記第２の造形材の残量が、所定の残量閾値より少なくなった場合に、警告を行い、
３Ｄプリンタで使用中の前記第２の造形材の残量が、造形で必要となる前記第２の造形材の量より少なくなった場合に、前記所定の残量閾値を変更する
ことを特徴とする請求項２または請求項３に記載の管理システム。
【請求項５】
前記第２の管理手段は、中古の第２の造形材と新品の第２の造形材を区別して管理し、前記中古の第２の造形材の在庫が所定の中古閾値より大きくなった場合、前記所定の閾値を変更する
ことを特徴とする請求項２乃至４のうちいずれか１項に記載の管理システム。
【請求項６】
前記第２の管理手段は、前記第２の造形材の使用量または前記第２の造形材の配送にかかる配送時間に基づき、前記所定の閾値を変更する
ことを特徴とする請求項２乃至５のうちいずれか１項に記載の管理システム。
【請求項７】
前記第１の管理手段及び前記第２の管理手段は、３Ｄプリンタの造形能力、台数、稼働時間、造形材の在庫量、前記所定の閾値のうち少なくとも一つに基づいて在庫量が所定の閾値より少なくなるまでの予測の日数を算出し、前記通知が前記予測の日数より短い日数で行われた場合、故障の警告を行う
ことを特徴とする請求項２乃至６のうちいずれか１項に記載の管理システム。
【請求項８】
３Ｄプリンタを管理する管理方法であって、
３Ｄプリンタへの継ぎ足し、３Ｄプリンタでの再利用が可能な第１の造形材の在庫を管理する第１の管理工程と、
所定の容器により３Ｄプリンタに補充される第２の造形材の在庫を管理する第２の管理工程と、を有し、
前記第１の管理工程においては、オブジェクト造形で利用された第１の造形材の量と廃棄された第１の造形材の量とを求めるために、第１の造形材を利用する３Ｄプリンタにおける第１の造形材の量を監視し、
前記第２の管理工程においては、３Ｄプリンタでの第２の造形材の使用量に従い、第２の造形材のための所定の容器の在庫の数を管理する
ことを特徴とする管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄプリンタで使用する消耗品を管理する管理システム及び管理方法に関する。
【背景技術】
【０００２】
近年、３Ｄプリンタが急速に普及してきている。３Ｄプリンタ自体は以前から存在していたが、近年の技術革新により、熱溶解積層法（ＦＤＭ方式）、光造形方式、粉末焼成積層方式、石膏パウダー積層方式、インクジェット方式等、様々な造形方式が考案・実用化されている。さらに、３Ｄプリンタを使用するユーザの中には、複数の造形方式の３Ｄプリンタを所有し、造形物の内容（造形精度や作成コスト等）に応じて、３Ｄプリンタを使い分けているユーザも存在する。
【０００３】
一方で、従来の２Ｄプリンタの分野においては、プリンタで使用する消耗品を管理・運用するための様々なアプリケーションが存在する。例えば、トナーを使って印刷を行う２Ｄプリンタの場合、トナーを格納しているトナーカートリッジに、不揮発なメモリを持ちトナーの残量を当該メモリに記憶しておく形式のものが存在する。また、トナーカートリッジを使用する２Ｄプリンタの場合、トナー残量が一定の閾値に達した事を検知し、その情報をインターネット上にある集計サーバへ通知する事もできる。さらに、２Ｄプリンタのメーカーや販売会社は、集計サーバに通知されたトナーカートリッジの情報を元に、２Ｄプリンタを使用しているユーザに対してトナーカートリッジを配送（補充）することが出来る。こうする事で、トナーが完全に無くなる前に、２Ｄプリンタを使用しているユーザは新しいトナーカートリッジを入手できる為、トナー切れによる２Ｄプリンタのダウンタイムが発生し難くなる。特許文献１は、２Ｄプリンタ側で検知しているトナーの残量の状態履歴を監視し、トナー残量が少ない状態から（多い状態へ）復帰した事を、トナーカートリッジの交換と判定し、トナーカートリッジの在庫の本数を減算する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−００５５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これに対して、特に液体や粉末等のマテリアルを使用する３Ｄプリンタの場合は、マテリアルの性質上、マテリアルの容器に残ったマテリアルの残量や、空になったマテリアルの容器の個数等を自動検知できないため、２Ｄプリンタのような方式が難しい。特許文献１は、トナーカートリッジの本数（容器の数）を管理するというものであり、マテリアルの種類毎の在庫の総量（総容量）を管理することはできない。そのため、在庫に残っているマテリアルの残量は、ユーザが自分自身で集計サーバへ通知する等、手動で設定するしかその方法がない。そこで、３Ｄプリンタで使用するマテリアルの種類毎に在庫の総容量を管理し、より無駄の少ない在庫管理を行う事ができる管理システムが求められている。
【０００６】
本発明は、３Ｄプリンタで使用するマテリアルの在庫を適切に管理する管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、３Ｄプリンタを管理する管理システムであって、３Ｄプリンタへの継ぎ足し、３Ｄプリンタでの再利用が可能な第１の造形材の在庫を管理する第１の管理手段と、所定の容器により３Ｄプリンタに補充される第２の造形材の在庫を管理する第２の管理手段と、を有し、前記第１の管理手段は、オブジェクト造形で利用された第１の造形材の量と廃棄された第１の造形材の量とを求めるために、第１の造形材を利用する３Ｄプリンタにおける第１の造形材の量を監視し、前記第２の管理手段は、３Ｄプリンタでの第２の造形材の使用量に従い、第２の造形材のための所定の容器の在庫の数を管理する。
【発明の効果】
【０００８】
本発明によれば、３Ｄプリンタで使用するマテリアルの在庫を適切に管理する管理システムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】システム全体の構成を示す図である。
【図２】ハードウェアモジュール構成を示す図である。
【図３】マテリアル種１の３Ｄプリンタの造形方法を示す図である。
【図４】マテリアル種２の３Ｄプリンタで使用するマテリアルカートリッジを示す図である。
【図５】本発明の処理を示すフローチャートである。
【図６】本発明の処理を示すフローチャートである。
【図７】マテリアル種１の在庫量等を設定した状態を示す図である。
【図８】マテリアル種２の在庫量等を設定した状態を示す図である。
【図９】実施例の処理を示すフローチャートである。
【図１０】実施例の処理を示すフローチャートである。
【図１１】実施例におけるマテリアル廃棄に関する情報を示す図である。
【図１２】実施例３の処理を示すフローチャートである。
【図１３】残量閾値の設定を確認する画面とメッセージの一例を示す図である。
【図１４】実施例３で表示する画面とメッセージの一例を示す図である。
【図１５】実施例４の処理を示すフローチャートである。
【図１６】実施例４の処理を示すフローチャートである。
【図１７】実施例４で中古のカートリッジのカウントを示す図である。
【図１８】実施例４で表示する画面とメッセージの一例を示す図である。
【図１９】実施例５の処理を示すフローチャートである。
【図２０】実施例５におけるマテリアルの使用量の情報を示す図である。
【図２１】実施例６の処理を示すフローチャートである。
【図２２】実施例６におけるマテリアルの予測消費期間等の情報を示す図である。
【図２３】実施例６で表示する画面とメッセージの一例を示す図である。
【発明を実施するための形態】
【００１０】
（実施例１）
図１は、本実施例の管理システム全体の構成を示す例である。ネットワーク１０１は、イントラネットあるいはローカルエリアネットワーク（ＬＡＮ）等のネットワークである。ネットワーク１０１は有線方式であってもＷｉ−Ｆｉ等の無線方式でも、または、情報の送信・受信が可能であれば、インターネットなどのパブリックネットワークでも構わない。３Ｄプリンタ１０２〜１０７、サーバ１０８、クライアントＰＣ１０９〜１１０の機器はそれぞれネットワーク１０１に接続しており、それぞれが相互に情報の送受信が可能である。
【００１１】
３Ｄプリンタ１０２〜１０４は３Ｄプリンタであるが、これらの３Ｄプリンタの造形で使用するマテリアルは液体や粉末である。液体や粉末は、３Ｄプリンタ１０２〜１０４への継ぎ足しや、再利用が可能な造形材である。
３Ｄプリンタ１０５〜１０７も３Ｄプリンタであるが、こちらの３ＤプリンタはＦＤＭ（Ｆｕｓｅｄ  Ｄｅｐｏｓｉｔｉｏｎ  Ｍｏｄｅｌｉｎｇ）方式で造形するため、使用するマテリアルはＡＢＳやＰＬＡ等のフィラメントである。フィラメントは、所定の容器により３Ｄプリンタ１０５〜１０７に補充される造形材である。
本実施例では、造形で液体や粉末のマテリアルを使用する３Ｄプリンタ、造形でフィラメントを使用する３Ｄプリンタをそれぞれ３台ずつ管理する例を示しているが、３Ｄプリンタの台数は各々何台であっても構わない。
【００１２】
サーバ１０８は、３Ｄプリンタの管理を行う管理アプリケーション（以下、管理アプリケーションと言う）を実行するサーバである。クライアントＰＣ１０９及び１１０はクライアントＰＣであり、ここからサーバ１０８を経由して、１０２〜１０７の３Ｄプリンタへ印刷ジョブを送信し、造形を実行する。パブリックネットワーク１１１はインターネット等のパブリックネットワークである。サーバ１０８はパブリックネットワーク１１１にも接続する様になっており、パブリックネットワーク１１１を経由して、不図示の別のクライアントから、管理アプリケーションの情報等を取得する事もできる。
【００１３】
図２は、３Ｄプリンタ１０２〜１０７及びサーバ１０８のハードウェアモジュールの構成を示す図である。ユーザインタフェース２０１は、ディスプレイ、キーボード、マウス、タッチパネル、ボタン、スピーカーなどにより情報や信号の入出力を行う。ネットワークインタフェース２０２は、ＬＡＮなどのネットワークに接続して、他の機器との通信を行う。ＲＯＭ２０４は、組込済みプログラムおよびデータが記録されているＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。ＲＡＭ２０５は、一時メモリ領域のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。二次記憶装置２０６は、ＨＤＤやフラッシュメモリに代表されるような二次記憶装置である。ＣＰＵ２０３はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、ＲＯＭ２０４、ＲＡＭ２０５、二次記憶装置２０６などから読み込んだプログラムの実行や、各部とのデータのやり取りを行う。ユーザインタフェース２０１〜二次記憶装置２０６の各部は、入出力インタフェース２０７を介して接続されている。
また、３Ｄプリンタ１０２〜１０４におけるＣＰＵ２０３は、後述するレベル計３０７等の各種センサーや装置類などの外部機器とのインタフェースや通信機能を有している。同様に、３Ｄプリンタ１０５〜１０７におけるＣＰＵ２０３も、後述するカートリッジ４０１や各種装置類などの外部機器とのインタフェースや通信機能を有している。
【００１４】
図３を用いてマテリアル種１の３Ｄプリンタによるオブジェクト造形を説明する。ここで、マテリアル種１の３Ｄプリンタは、造形でマテリアルとして液体や粉末を使用する３Ｄプリンタ１０２〜１０４である。図３は、３Ｄプリンタ１０２〜１０４において印刷ジョブに従って造形する仕組み、特に造形で使用するマテリアルが液体の場合の造形の仕組みを簡略的に示した図である。
図３（Ａ）は、造形中の３Ｄプリンタを示している。プール３０１には、液体マテリアル３０２がある程度、満たされた状態になっている。造形を実行する時、ステージ３０３は液体マテリアル３０２の中に浸かった状態になっている。この状態で、レーザー光線発生装置３０４から出力するレーザー光線をミラー３０５に反射させる形で、ステージ３０３の造形面３０６に照射する。レーザー光線が照射された部分の液体マテリアルは造形面３０６で固まるので、ミラー３０５の角度を制御する事により、造形面３０６の部分に目的の造形物を一層ずつ作成する事ができる。造形面３０６で一層分の造形が完了すると、ステージ３０３を引き上げ、次の一層分の造形を行う。一層分の造形と一層分のステージ３０３の引き上げを繰り返す事により、最終的に目的の造形物を完成させる。
【００１５】
レベル計３０７は、液面３０８の高さを計測する事が可能である。レベル計３０７は、まずステージ３０３が液体マテリアル３０２に入る前の図３（Ｂ）の液面３０９の高さを測る。次に、造形が完了した後にステージ３０３を引き上げて、液体マテリアル３０２から造形物３１０を引き上げた後の図３（Ｃ）の液面３１１の高さを測る。上記の２つの液面の高さを比較することで、３Ｄプリンタ１０２〜１０４で実行した印刷ジョブで使用した液体マテリアルの使用量を検知（算出）する事が可能である。また、造形で使用するマテリアルが粉末であった場合も、類似した仕組みで、３Ｄプリンタ１０２〜１０４で実行した印刷ジョブで使用した粉末マテリアルの使用量の情報を検知する事が可能である。
【００１６】
図４は、マテリアル種２の３Ｄプリンタで使用するマテリアルカートリッジ（以下、カートリッジと記載する）を示す図である。ここでマテリアル種２の３Ｄプリンタとは、ＦＤＭ方式でマテリアルとしてフィラメントを用いて造形を行う３Ｄプリンタ１０５〜１０７である。カートリッジ４０１は、リール４０２に３Ｄプリンタ１０５〜１０７の印刷ジョブで使用するフィラメント４０３を巻き付けた形態となっている。また、カートリッジ４０１は、図示しない読み書き可能なフラッシュメモリ等の不揮発な記憶手段を有し、カートリッジ毎のユニークな番号（シリアルナンバー）やフィラメントの種類等、各種情報が記憶されている。なお、本実施例のカートリッジ４０１はリール４０２にフィラメント４０３を巻き付けた形式であるが、カートリッジの形態はどの様なものであっても、本実施例の効果に影響を与るものではない。
【００１７】
次に、図５〜図８を用いて、実施例１における管理アプリケーションによるマテリアルの在庫管理の処理を説明する。
図５及び図６は、サーバ１０８上で動作する管理アプリケーションの処理の流れを示すフローチャートである。処理は、特別な説明が無ければＲＯＭ２０４もしくは二次記憶装置２０６からＲＡＭ２０５にコピーされたプログラムをＣＰＵ２０３が実行する事によって行われる。
まず、ステップＳ５０１で管理アプリケーションは、３Ｄプリンタ１０２〜１０７から各種情報を取得する。具体的には、３Ｄプリンタ１０２〜１０７のプリンタの機種名、造形に使用するマテリアルの種類、造形方式等の情報等、さらには、３Ｄプリンタ１０５〜１０７で使用しているカートリッジ４０１の記憶手段に記憶された情報等である。上記の各種情報取得方法は、代表的な例としてＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）を使用してＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）の情報を取得する方法であってもよい。もしくは、３Ｄプリンタのメーカーが独自に作成して３Ｄプリンタに実装している、３Ｄプリンタの機器情報を管理する機能を使用しても構わない。
【００１８】
ステップＳ５０１で取得した３Ｄプリンタ１０２〜１０７の情報を元に、ステップＳ５０２では、マテリアルの種類を判断し以降の処理を切替える。マテリアルの種類が液体や粉末など（第１の造形材。以下、マテリアル種１と記載する）の場合はステップＳ５０３に進む。一方、マテリアルの種類がフィラメントなど（第２の造形材。以下、マテリアル種２と記載する）の場合はステップＳ５１０に進む。なお、ステップＳ５０３及びステップＳ５１１からの処理は各々別タスクや別スレッドで独立した処理として並行動作が可能である。タスクやスレッド、またはプロセスを使用して、複数の処理が並行動作する仕組みは、管理アプリケーションが動作するオペレーティングシステムの機能であり、本実施例の効果に影響を与えないので、詳細な説明は省略する。
【００１９】
次に、ステップＳ５０２においてマテリアルがマテリアル種１であると判断した場合のステップＳ５０３〜ステップＳ５０９の処理について説明する。ステップＳ５０３〜ステップＳ５０９は、管理アプリケーションの第１の管理手段によるマテリアル種１の在庫の管理の処理である。
まず、ステップＳ５０３で管理アプリケーションが管理するマテリアル種１の在庫量を設定する。マテリアル種１の中にも様々な種類が存在するので、それらの種類毎に在庫量を管理アプリケーションに設定する。マテリアル種１の在庫量の設定は、管理アプリケーションを起動したタイミング、もしくは、マテリアル種１のマテリアルを在庫として入荷したタイミングで行う。管理アプリケーションへの設定方法は、管理者ユーザが手動で行っても良いし、管理アプリケーションがマテリアルの入荷を管理する、不図示の別のアプリケーションと連携して、自動的に行ってもよい。また、在庫量として設定する単位は、体積（リットル等）でも、重量（キログラム等）でもよい。マテリアル種１の在庫量等の情報を具体的に保持するのは、例えば二次記憶装置２０６に構築するデータベース等である。
マテリアル種１の在庫量を設定した状態のイメージを示す表を図７に示す。ステップＳ５０３でマテリアル種１の在庫量を設定した状態が図７（Ａ）である。マテリアル種１は種類Ａ〜Ｃの３種類に分かれていて、設定した在庫量はそれぞれ、１０、５、８リットルである。
【００２０】
次に、ステップＳ５０４で管理アプリケーションはマテリアル種１の３Ｄプリンタを監視し、３Ｄプリンタが印刷ジョブ毎にマテリアルをどの位使用したか、使用量を算出する。当該印刷ジョブで使用したマテリアルの使用量は、印刷ジョブを開始する前のマテリアルの残量と、印刷ジョブが完了し造形物を取り出したタイミングのマテリアルの残量とを比較することによりを計算する。このとき、マテリアル種１の３Ｄプリンタからマテリアルの残量を取得する方法は、ステップＳ５０１で説明したＳＮＭＰや、３Ｄプリンタのベンダーが独自に実装している機器情報を管理する機能等を使用する。
なお、本実施例において、ステップＳ５０４でマテリアルの使用量を求める動作は、図３で説明した方法で行った。しかし、３Ｄプリンタで実行される印刷ジョブのデータから、当該ジョブで作成する造形物の体積を管理アプリケーションが計算し、それをマテリアルの使用量としてステップＳ５０４以降の処理を実施するようにしてもよい。
【００２１】
次に、ステップＳ５０５では、ステップＳ５０４の監視で得られたマテリアル種１の使用量をステップＳ５０３で設定した在庫量から減算する。減算は、マテリアル種１の種類毎に行う。例えば、最初の印刷ジョブでマテリアル種１の種類Ａのマテリアルが０．１リットル使用されたとすると、種類Ａの在庫量は図７（Ａ）の１０リットルから、９．９リットルとなる。種類Ａの在庫量が９．９リットルになった状態のイメージを図７（Ｂ）に示す。
【００２２】
次に、ステップＳ５０６でマテリアル種１の各種類のマテリアルの在庫量が、所定の閾値まで減ったかを確認する。
所定の閾値の設定は、ステップＳ５０４を実行する前であれば、管理アプリケーションを起動するタイミングで設定しても良いし、ステップＳ５０１を実行する段階で設定しても良い。所定の閾値の値は、管理者ユーザが自由に決定する事ができる。例えば、図７の表の「閾値」の列に示す様に、種類Ａは３リットル、種類Ｂは１リットル、種類Ｃは２リットルなど、マテリアル種１の種類毎に別々の閾値を設定可能である。
ステップＳ５０６でマテリアル種１の各種類のマテリアルの在庫量が、所定の閾値まで減っていない場合は、ステップＳ５０４に戻り、３Ｄプリンタの監視を継続する。ステップＳ５０６でマテリアル種１の各種類のマテリアルの在庫量が、所定の閾値まで減っている場合は、ステップＳ５０７へ進む。
【００２３】
ステップＳ５０７では、在庫量が閾値以下に減ったマテリアルに対して、後述するステップＳ５０８の発注に関する処理が実施されているかどうかを確認し、ステップＳ５０８の処理が未実施であれば、ステップＳ５０８へ進む。ステップＳ５０８の処理が実施済であれば、ステップＳ５０９へ進む。ステップＳ５０８の処理が実施済であるかどうかは、例えば、図７の表の「通知」の列を確認する事で行う。在庫量が閾値以下になったマテリアルの「通知」列が“済”となっていれば、ステップＳ５０８の処理を実施済であり、“未”となっていれば、ステップＳ５０８の処理は未実施であると判断する。
【００２４】
次に、ステップＳ５０８では、マテリアル種１のどれかの種類の在庫量が閾値以下になった場合の発注に関する処理を実行する。例えば、サーバ１０８のユーザインタフェース２０１のディスプレイ上に在庫量が閾値以下になったマテリアルの種類とその時の在庫量を表示して、当該マテリアルを購入する必要がある旨、警告表示を行なう。または、管理アプリケーションから３Ｄプリンタ１０２〜１０４の管理者ユーザに対して、当該マテリアルの購入が必要である旨、メッセージを電子メールで送信する。さらには、在庫量が閾値以下になった当該マテリアルを製造、販売しているメーカーや販売会社に対して、電子メール等の手段を使って自動的に発注動作を行う等の処理（自動配送）を実行するようにしてもよい。ステップＳ５０８の処理はマテリアルの在庫量が残り少なくなった事に対して、マテリアルの在庫補充を実行する為に行われる何らかの処理であれば、どの様な内容であっても構わない。ステップＳ５０８では最後に在庫量が閾値以下になったマテリアルの図７の表の「通知」列の状態を“済”へ変更しステップＳ５０４へ戻る。
図７（Ｃ）に“種類Ａ”のマテリアルの在庫量が２．８リットルになり閾値“３”を下回り、ステップＳ５０８の処理を実行する事により、「通知」の列の状態が“済”に変更された状態のイメージを示す。
【００２５】
次にステップＳ５０９では、在庫量が閾値以下になったマテリアルが新たに入荷されたかどうかを判断する。この判断は、例えば、図７の表の「入荷」の列を確認する事で行う。在庫量が閾値以下になった種類Ａのマテリアルの「入荷」の欄が図７（Ｄ）に示す様に“済”となっていれば、当該マテリアルは入荷済であり、図７（Ｃ）の様に“未”となっていればマテリアルは入荷されていない。「入荷」の列の状態を設定するのは、管理者ユーザが手動で行ってもよいし、前述した様にマテリアルの入荷を管理する図示しない別のアプリケーションと連携して、自動的に行っても良い。在庫量が閾値以下になったマテリアルが新たに入荷されている場合、ステップＳ５０３へ進み、マテリアルがまだ入荷されていない場合は、ステップＳ５０４へ戻る。ステップＳ５０３では、入荷されたマテリアルを当該マテリアルの在庫量に加算し、且つ、「通知」と「入荷」の列の状態を“未”に戻し、図７（Ａ）に示す様なイメージとなる。
【００２６】
次に、ステップＳ５０２においてマテリアルがフィラメント（マテリアル種２）であると判断した場合のステップＳ５１０〜ステップＳ５２１の処理について説明する。ステップＳ５１０〜ステップＳ５２１は、管理アプリケーションの第２の管理手段によるマテリアル種２の在庫の管理の処理である。
まず、ステップＳ５１０で管理アプリケーションが管理するマテリアル種２の在庫量を設定する。在庫量として設定する単位は、カートリッジ４０１（フィラメントのための所定の容器）の数である。また、マテリアル種２の中にも様々な種類が存在するので、それらの種類毎に在庫量を管理アプリケーションに設定する。マテリアル種２の在庫量の設定は、管理アプリケーションを起動したタイミング、もしくは、マテリアル種２のマテリアルを入荷したタイミングで行う。管理アプリケーションへの設定方法は、管理者ユーザが手動で行っても良いし、マテリアルの入荷を管理する図示しない別のアプリケーションと連携して、自動的に行っても良い。なお、マテリアル種２の在庫量等の情報を具体的に保持するのは、例えば二次記憶装置２０６に構築するデータベース等である。
マテリアル種２の在庫量を設定した状態のイメージを示す表を図８に示す。図８（Ａ）に示すように、マテリアル種２は種類Ｘ〜Ｚの３種類に分かれていて、設定した在庫量はそれぞれ３、９、５個である。
【００２７】
次に、ステップＳ５１１において、３Ｄプリンタ１０５〜１０７から取得するステータス情報等を使用して、３Ｄプリンタ１０５〜１０７で使用中のカートリッジ４０１の情報を監視する。
次に、ステップＳ５１２において、残量アラートが既に発生済であるかを残量アラート発生済フラグの状態によって確認する。残量アラート発生済フラグがセットされている場合（＝残量アラートは既に発生していた場合）、ステップＳ５１５へ進む。残量アラート発生済フラグがセットされていない場合（＝まだ残量アラートは発生していない場合）、ステップＳ５１３へ進む。
【００２８】
ここで残量アラートについて説明する。残量アラートとは、マテリアル種２の３Ｄプリンタで使用中のカートリッジ４０１内のマテリアルの残量が、一定の閾値（以下、残量閾値）よりも少なくなった事を示すステータス情報である。例えば、残量閾値が５％に設定されているなら、カートリッジ４０１内のマテリアルの残量が新品時の容量の５％以下にになったタイミングで残量アラートが発生する仕組みとなっている。また、残量アラートが発生すると、管理アプリケーションが動作するサーバ１０８のユーザインタフェース２０１のディスプレイ等に、マテリアルの残量が残り少ない事を示す表示が行われる。図１３（Ｃ）は、上記のマテリアル残量が残り少ない事を示す表示が、管理アプリケーションが動作するサーバ１０８のユーザインタフェース２０１のディスプレイに表示されたイメージを示す図である。また、上記のマテリアル残量が残り少ない事を示す表示は、３Ｄプリンタ１０５〜１０７のディスプレイ、さらにクライアントＰＣ１０９〜１１０のディスプレイにも表示されてもよい。残量アラート及び残量閾値は、３Ｄプリンタ１０５〜１０７のＲＯＭ２０４や二次記憶装置２０６等の不揮発な記憶手段に保存している。残量アラートは、残量アラート発生から、カートリッジが新品に交換されるまでの期間だけ保持する。
【００２９】
次に、ステップＳ５１３では、３Ｄプリンタ１０５〜１０７で残量アラートが発生しているかどうかを確認し、残量アラートが発生している場合は、ステップＳ５１４へ進み、残量アラートが発生していない場合は、ステップＳ５１１へ戻る。
ステップＳ５１４では、残量アラート発生済フラグをセットし、ステップＳ５１１へ戻る。
【００３０】
次に、ステップＳ５１５では、ステップＳ５１１で監視した情報から３Ｄプリンタ１０５〜１０７で使用中のカートリッジ４０１が新品に交換されたかどうかを判断する。新品に交換されている場合は、ステップＳ５１６へ進み、そうでない場合はステップＳ５１１に戻る。
カートリッジが新品に交換されたかの判断は、以下の様な流れで行われる。例えば、あるタイミングで監視した３Ｄプリンタ１０５で使用中のカートリッジ４０１のシリアルナンバーが５０００番で、次に監視した時にはカートリッジ４０１のシリアルナンバーが６０００番であったとする。このカートリッジ４０１のシリアルナンバーの変化を３Ｄプリンタ１０５のカートリッジ４０１が新品に交換されたと判断する情報として使用する。また、３Ｄプリンタ１０６と１０７では６０００番のシリアルナンバーのカートリッジ４０１が使用されていないこと、さらに、過去に６０００番のシリアルナンバーは３Ｄプリンタ１０５〜１０７で使用されたことがないという情報も確認すればより確実である。どの３Ｄプリンタで何番のシリアルナンバーのカートリッジが使用されたという情報は上述した二次記憶装置２０６に構築するデータベースに記憶しておけばよい。
次に、ステップＳ５１６で、使用中のカートリッジ４０１が新品に交換された３Ｄプリンタの残量アラート発生済フラグをクリアする。
【００３１】
次に、ステップＳ５１７で、マテリアル種２の各種類のマテリアルの在庫量から新品に交換されたマテリアルの種類の在庫量を減算する。例えば、図８（Ａ）に示す状態で、新品に交換されたマテリアルの種類が“種類Ｙ”だった場合、「在庫量」の列の“９”の部分を（１減算し）“８”と変更する。図８（Ｂ）に、上記マテリアルの種類の“種類Ｙ”の「在庫量」が“８”へ変更された状態を示す。
【００３２】
続いてステップＳ５１８で、マテリアル種２の各種類のマテリアルの在庫量が、所定の閾値まで減ったかを確認する。所定の閾値は、ステップＳ５１１を実行する前であれば管理アプリケーションを起動するタイミングで設定しても良いし、ステップＳ５０１を実行する段階で設定しても良い。所定の閾値の値は、管理者ユーザが自由に決定する事ができる。例えば、図８の表の「閾値」の列に示す様に、マテリアル種２の種類毎に閾値を設定可能である。
ステップＳ５１８でマテリアル種２の各種類のマテリアルの在庫量が、所定の閾値まで減っていない場合は、ステップＳ５１１に戻り、３Ｄプリンタの監視を継続する。ステップＳ５１８でマテリアル種２の各種類のマテリアルの在庫量が、所定の閾値まで減っている場合は、ステップＳ５１９へ進む。
【００３３】
ステップＳ５１９では、在庫量が閾値以下に減ったマテリアルに対して、後述するステップＳ５２０の処理が実施されているかどうかを確認し、ステップＳ５２０の処理が未実施であれば、ステップＳ５２０へ進み、そうでなければステップＳ５２１へ進む。ステップＳ５２０の処理が実施済であるかどうかは、例えば、図８の表の「通知」の列を確認する事で行う。在庫量が閾値以下になったマテリアルの「通知」列が“済”となっていれば、ステップＳ５２０の処理を実施済であり、“未”となっていれば、ステップＳ５２０の処理は未実施であると判断する。
【００３４】
次に、ステップＳ５２０では、マテリアル種２のどれかの種類が閾値以下になった場合の処理を実行する。例えは、サーバ１０８のユーザインタフェース２０１のディスプレイ上に在庫量が閾値以下になったマテリアルの種類とその時の在庫量を表示して、当該マテリアルを購入する必要がある旨、警告表示を行なう。または、在庫量が閾値以下になった当該マテリアルを製造、販売しているメーカーや販売会社に対して、電子メール等の手段を使って自動的に発注動作を行う等の処理（自動配送）を実行するようにしてもよい。ステップＳ５２０の処理はマテリアルの在庫量が残り少なくなった事に対して、マテリアルの補充を実行する為の何らかの処理であれば、どの様な内容であっても、本実施例の効果に影響を与えない。
ステップＳ５２０では、在庫量が閾値以下になったマテリアルの図８の表の「通知」列の状態を“済”へ変更しステップＳ５１１へ戻る。図８（Ｃ）は、“種類Ｙ”のマテリアルの在庫量が閾値“４”を下回り、ステップＳ５２０の処理を実行する事により、「通知」の列の状態が“済”に変更された状態のイメージを示している。
【００３５】
次にステップＳ５２１では、在庫量が閾値以下になったマテリアルが新たに入荷されたかどうかを判断する。この判断も、図８の表の「入荷」の列を確認する事で行う。在庫量が閾値以下になったマテリアルの「入荷」の列が、図８（Ｄ）に示す様に“済”となっていれば、当該マテリアルは入荷済であり、図８（Ｃ）の様に“未”となっていればマテリアルは入荷されていない。なお、「入荷」の列の状態を設定するのは、管理者ユーザが手動で行ってもよいし、前述した様にマテリアルの入荷を管理する図示しない別のアプリケーションと連携して、自動的に行っても良い。在庫量が閾値以下になったマテリアルが新たに入荷されている場合、ステップＳ５１０へ進み、マテリアルがまだ入荷されていない場合は、ステップＳ５１１へ戻る。ステップＳ５１０では、入荷されたマテリアルを当該マテリアルの在庫量に加算し、且つ、「通知」と「入荷」の列の状態を“未”に戻す。
【００３６】
以上説明したように、本実施例によると、マテリアル容器の数やマテリアル全体の容量の管理（主に残量の管理）が難しいマテリアルであっても、マテリアルの種類毎の在庫の総量（総容量）を自動的に管理することができる。
【００３７】
（実施例２）
実施例１において、３Ｄプリンタ１０２〜１０４は、プール３０１に液体や粉末のマテリアルをある程度満たした状態で造形を行う事を、図３を用いて説明した。この場合、プール３０１に満たした液体や粉末のマテリアルが経年変化等によりその性能が劣化し、造形が正確に行われない等の影響が出ることがある。そのため、造形物の品質を一定に保つため、一定の期間または一定の回数造形を行った後にプール３０１に残っているマテリアルを廃棄する必要がある。そこで本実施例では、一定の期間または一定の回数造形を行ったマテリアルについて廃棄を促す警告を行い、廃棄を行った場合は、廃棄されたマテリアルの量を在庫の管理に反映する。
図９及び図１０のフローチャートを用いて、マテリアルの破棄に関する管理について説明する。管理は、サーバ１０８上で動作する３Ｄプリンタのマテリアル管理用の管理アプリケーションが行う。以下に説明する管理に関する処理は、特別な説明が無ければ、ＲＯＭ２０４もしくは二次記憶装置２０６からＲＡＭ２０５にコピーされたプログラムをＣＰＵ２０３が実行する事によって行われる。
【００３８】
まず、ステップＳ９０１でマテリアル種１の３Ｄプリンタ１０２〜１０４で使用するマテリアルの廃棄に関する情報を初期化する。このマテリアルの廃棄に関する情報も、実施例１で説明した、二次記憶装置２０６に構築するデータベース等に保持する。
データベース上で初期化されたマテリアル廃棄に関する情報のイメージを図１１（Ａ）に示す。「プリンタ」の列にはマテリアル種１を使用する３Ｄプリンタ１０２〜１０４を識別する情報を設定する。便宜上ここでは記号１０２〜１０４を使用しているが、例えば各３Ｄプリンタのシリアルナンバー等でもよい。「造形開始時刻」の列はまだ造形を開始していないので、初期値として、例えば“９９：９９”を設定する。「合計造形時間」と「造形回数」の列も同様に初期値として“０”を設定する。また、各３Ｄプリンタで使用するマテリアルの性能劣化が始まるタイミング（＝閾値）を、それぞれ「時間閾値」、「回数閾値」に設定する。例えば、３Ｄプリンタ１０２には、「時間閾値」を“５０”と設定し、回数閾値」を“２００”と設定する。この閾値は、後述するステップＳ９０６の判断で使用する。
【００３９】
次にステップＳ９０２に進み、マテリアル種１を使用する３Ｄプリンタを監視する。３Ｄプリンタの監視は、前記実施例で説明したＳＮＭＰや、３Ｄプリンタのベンダーが独自に実装している機器情報を管理する機能を使用する。そして、監視の結果、３Ｄプリンタで造形が開始されたかを判断する。造形が開始されたと判断した場合は、ステップＳ９０３に進み、そうでない場合は監視を継続する。
【００４０】
ステップＳ９０３では、廃棄に関する情報の中の「造形開始時刻」を更新する。例えば、３Ｄプリンタ１０２の造形が１３：００に開始されたのであれば、その時刻を設定する。３Ｄプリンタ１０２の「造形開始時刻」を“１３：００”に設定したイメージを、図１１（Ｂ）の「造形開始時刻」の列の「プリンタ」１０２の行に示す。
次にステップＳ９０４に進み、再度マテリアル種１を使用する３Ｄプリンタを監視する。監視の結果、３Ｄプリンタの造形が終了したかを判断し、造形が終了した場合は、ステップＳ９０５へ進む。
ステップＳ９０５では、ステップＳ９０３で記憶した、造形を開始した時刻とステップＳ９０４で判断した造形を終了した時刻から、造形に掛った時間を求め、「合計造形時間」に加算し、「造形回数」も１加算する。図１１（Ｂ）の「プリンタ」１０２の行に、ステップＳ９０５の処理を行った結果のイメージを示す。例えば、３Ｄプリンタ１０２の「合計造形時間」は“５０：００”、「造形回数」は“１０”となる。
【００４１】
次にステップＳ９０６では、廃棄が必要な時間や造形回数が経過した３Ｄプリンタ存在するかを判断する。例えば、３Ｄプリンタ１０２で使用するマテリアルについては、「時間閾値」の列に“５０”が設定されているので、造形時間が５０時間以上経過すると、品質が劣化する製品仕様である。３Ｄプリンタ１０２の「合計造形時間」は“５０：００”となっており、「時間閾値」“５０”に達している。したがって、ステップＳ９０６で３Ｄプリンタ１０２のマテリアルの廃棄が必要であると判断される。また、例えば、３Ｄプリンタ１０２の「合計造形時間」が“５０”に達していなくても「造形回数」が“２００”を超えていた場合、同様にステップＳ９０６でマテリアルの廃棄が必要であると判断される。ステップＳ９０６で、マテリアルの廃棄が必要であると判断した場合は、ステップＳ９０７に進む。一方、ステップＳ９０６でマテリアルの廃棄が必要ではないと判断した場合は、ステップＳ９０２へ戻る。
【００４２】
次にステップＳ９０７で、マテリアル廃棄の警告を行う。具体的には、マテリアルの廃棄を管理者ユーザに警告したり、マテリアルの廃棄が必要なった３Ｄプリンタが発生した事を、当該３Ｄプリンタを製造、販売しているメーカーに通知したりする。例えば、サーバ１０８のユーザインタフェース２０１のディスプレイ上に、「３Ｄプリンタ１０２のマテリアルの廃棄が必要である」とのメッセージを表示する。または、当該３Ｄプリンタ（この場合は、３Ｄプリンタ１０２）を製造、販売しているメーカーや販売会社に対して、電子メール等の手段を使ってマテリアルの廃棄が必要になった事を示す情報を送信する。メーカーや販売会社へ通知する事により、サーバ１０８のユーザインタフェース２０１のディスプレイ上の警告に気付かなかった場合でも、メーカーや販売会社側から廃棄が必要になった旨、管理者ユーザに連絡する事が可能となり、廃棄忘れの防止にもつながる。
【００４３】
次にステップＳ９０８で、マテリアルの廃棄が必要になった３Ｄプリンタで、実際のマテリアル廃棄が行われたか否かを判断する。マテリアルが廃棄されたかどうかは、レベル計３０７によってプール３０１からマテリアルが無くなるかを監視することで判断する。
マテリアルの廃棄が確認された場合は、ステップＳ９１０へ進む。一方、マテリアルの廃棄が確認できない場合は、ステップＳ９０９に進む。
【００４４】
ステップＳ９０９で、廃棄処理がスキップされたかどうかを判断する。これは、マテリアル廃棄の警告があっても管理者ユーザがマテリアルを必ず廃棄するとは限らないためである。廃棄処理のスキップは、管理者ユーザが明示的に管理アプリケーションに対して、マテリアル廃棄のスキップを指示する場合と、次の印刷ジョブによる造形が開始される場合の２種類がある。上記のどちらかの方法で廃棄処理がスキップされた場合は、ステップＳ９０２に戻る。
【００４５】
ステップＳ９１０で、マテリアルが廃棄された３Ｄプリンタの廃棄に関する情報を初期化する。図１１（Ｃ）の表に３Ｄプリンタ１０２の廃棄に関する情報が初期化されたイメージを示す。例えば、ステップＳ９０８で３Ｄプリンタ１０２のマテリアルの廃棄が行われたと判断された場合、３Ｄプリンタ１０２についての廃棄に関する情報を初期化する。初期化は、「造形開始時刻」を初期値の“９９：９９”に、同じく「合計造形時間」と「造形回数」に初期値の“０”を更新することで行われる。
次にステップＳ９１１において、廃棄されたマテリアルの容量を、マテリアル種１の在庫量、すなわち、実施例１のステップＳ５０２で設定した在庫量から減算する。なお、廃棄されたマテリアルの容量は、造形が完了し、ステージ３０３を引き上げて液体マテリアル３０２から造形物３１０を引き上げた後の液面３１１の高さを測る事で、計算可能である。
【００４６】
次にステップＳ９１２〜Ｓ９１６の処理によって、実施例１のステップＳ５０６〜Ｓ５０９及びステップＳ５０３と同様の処理を行う。すなわち、マテリアル種１の在庫量が所定の閾値以下になったかどうかを確認し、閾値以下になった場合は、警告や通知を行う。
さらに、閾値以下になったマテリアルが入荷されたかの確認を行い、入荷済である場合は、入荷されたマテリアルの在庫量の情報を管理アプリケーションに設定するといった処理を行う。また、ステップＳ９１２、ステップＳ９１４〜ステップＳ９１６でマテリアルの在庫に関する処理から抜ける分岐処理となった場合は、ステップＳ９０２へ戻る。
なお、実施例２のステップＳ９１１〜Ｓ９１６と実施例１のステップＳ５０３〜Ｓ５０９の処理は並列して動作しているので、マテリアル種１の在庫量に関する情報にアクセスする時には排他処理を行い、情報の破壊等を起こさないようにしている。
【００４７】
以上説明したように、本実施例によると、一定の期間または一定の回数造形を行った後にプール３０１に残っているマテリアルを廃棄するように警告を発することができる。そのため、プール３０１に満たした液体や粉末のマテリアルが経年変化等によりその性能が劣化し、造形が正確に行われない等の影響を抑え、造形物の品質を一定に保つことが可能となる。また、廃棄されたマテリアルの分量を在庫管理に反映することで、適切な在庫の管理を行うことができる。
また、印刷ジョブを実行していない最中にマテリアルが無くなった場合、プール３０１から無くなったマテリアルは、廃棄された分として扱ってもよい。これにより、マテリアルの劣化のタイミングを監視した場合のみではなく、不意にマテリアルが無くなる様な状態に対しても同様の効果を得られる。例えば、マテリアル種１の３Ｄプリンタが印刷ジョブを実行していない時に、マテリアルがプール３０１から無くなるかどうかを監視する。そして、印刷ジョブを実行していない最中にマテリアルが無くなった場合、プール３０１から無くなったマテリアルは廃棄された分として、在庫量の減算などの処理、即ちステップＳ９１１以降の処理を行う。
【００４８】
（実施例３）
実施例１ではマテリアル種２の３Ｄプリンタ１０５〜１０７に対して、新品カートリッジへの交換について監視する様にしていた。これに加え、本実施例では、３Ｄプリンタ１０５〜１０７のマテリアル残量と印刷ジョブで使用するマテリアルの分量の関係を監視し、その関係を元にマテリアル残量に関する警告を行う契機となる残量閾値を調整することにより、適切な在庫量の管理を実施する。
図１２のフローチャートを用いて実施例３を説明する。なお、実施例３は実施例１の図５及び図６のフローチャートのステップＳ５１０とＳ５１１の間に実行する処理である。
また、実施例３は実施例１や実施例２と同様に、サーバ１０８上で動作する管理アプリケーションの処理である。さらに、特別な説明が無ければ以下に説明する実施例３の処理は、サーバ１０８のＲＯＭ２０４もしくは二次記憶装置２０６からＲＡＭ２０５にコピーされたプログラムをＣＰＵ２０３が実行する事によって行われる。
【００４９】
まず、図６のステップＳ５１０に続いて、図１２のステップＳ１２０１でクライアントＰＣ１０９〜１１０から３Ｄプリンタ１０５〜１０７のどれかへ印刷ジョブが投入されるのを待ち、印刷ジョブが投入されると、次のステップＳ１２０２へ進む。
ステップＳ１２０２では、投入された印刷ジョブを一旦停止する。この時、印刷ジョブの停止は管理アプリケーションから印刷ジョブを投入したクライアントＰＣに対して指示しても良いし、印刷ジョブを投入された当該３Ｄプリンタに対して指示しても良い。
【００５０】
次にステップＳ１２０３では、当該３Ｄプリンタで使用中のカートリッジ４０１に残っているマテリアルの残量を取得する。
そしてステップＳ１２０４では、当該３Ｄプリンタで実行しようとしている印刷ジョブのデータから作成する造形物の体積やサポート材の体積を計算し、造形に必要とするマテリアルの量を求める。
【００５１】
次にステップＳ１２０５で、ステップ１００３で取得したマテリアルの残量と、ステップＳ１２０４で計算した造形に必要とするマテリアルの量を比較する。比較の結果、ステップ１００３で取得したマテリアルの残量の方がステップ１００４で計算したマテリアルの量より多い、すなわち、このまま印刷ジョブが最後まで実行可能であれば、ステップＳ１２１１へ進む。一方、ステップ１００３で取得したマテリアルの残量の方がステップ１００４で計算したマテリアルの量より少ない、すなわち、このままではマテリアルが不足し、印刷ジョブが最後まで実行不可能であれば、ステップＳ１２０６へ進む。
【００５２】
ステップＳ１２０６では、管理アプリケーションを実行しているサーバ１０８のユーザインタフェース２０１のディスプレイ上に、当該３Ｄプリンタで使用するカートリッジ４０１に対する残量閾値を変更するかどうかを確認する画面を表示する。
図１３（Ａ）に残量閾値の設定を変更するかどうかを管理者ユーザに対して確認する画面とメッセージの例を示す。図１３（Ａ）では、５％に設定されている残量閾値を１０％に変更するかどうかを確認する画面とメッセージとなっているが、例えば、図１３（Ｂ）に示すように管理者ユーザに残量閾値の値を直接入力させる様な画面とメッセージであってもよい。
【００５３】
ここで残量閾値について説明する。残量閾値は、３Ｄプリンタで使用中のマテリアルの残量アラート発生の契機である。それと同時に、図１３（Ｃ）に示すような、３Ｄプリンタの管理者ユーザや、クライアントＰＣ１０９〜１１０から印刷ジョブを実行する一般ユーザに使用中のマテリアルの残量が少なくなった事を警告する契機でもある。通常、残量閾値は３ＤプリンタのＲＯＭ２０４や二次記憶装置２０６等の不揮発な記憶手段に記憶しておき、必要な時に読みだして使用する。
なお、ステップ１２０６では、管理アプリケーションを実行しているサーバ１０８のユーザインタフェース２０１のディスプレイ上に、管理者ユーザへの画面やメッセージを表示したが、同時に電子メール等の手段で管理者ユーザへ同様の内容を通知しても良い。例えば、管理者ユーザが遠隔地で上記の電子メール等による通知を受け取った場合、管理者ユーザはサーバ１０８へリモートでログインすることで、前記ステップＳ１２０６で表示したメッセージに対応する操作を行う事もできる。
【００５４】
次に、ステップＳ１２０７では、ステップＳ１２０６で表示したメッセージに対応した操作が管理者ユーザによって行われるのを待ち、残量閾値を変更する操作が行われたか否か判断する。ステップＳ１２０７で管理者ユーザが残量閾値を変更すると決定する入力を行った場合は、ステップＳ１２０８へ進む。一方、閾値を変更しないと決定する入力を行った場合は、ステップＳ１２０９へ進む。
ステップＳ１２０８では、ステップＳ１２０７で決定された、変更後の残量閾値を当該３ＤプリンタのＲＯＭ２０４や二次記憶装置２０６等の不揮発な記憶手段へ、古い残量閾値を上書きする形で書き込む。
【００５５】
次にステップＳ１２０９では、ステップＳ１２０２で停止した印刷ジョブを再開するかどうか、管理アプリケーションを実行しているサーバ１０８のユーザインタフェース２０１のディスプレイ上に画面とメッセージを表示する。該画面とメッセージのイメージの一例を図１４に示す。このとき、このまま印刷を続けるとマテリアルが不足し、印刷ジョブが最後まで実行不可能であることをメッセージに表示してもよい。
次にステップＳ１２１０で、上記Ｓ１２０９で表示した画面とメッセージに対する管理者ユーザの入力に応じて、続く処理を切替える。管理者ユーザがステップＳ１２０２で停止した印刷ジョブを再開すると入力した場合は、ステップＳ１２１１に進み、印刷ジョブを再開する。管理者ユーザがステップＳ１２０２で停止した印刷ジョブは中止すると入力した場合は、ステップＳ１２１２に進み、印刷ジョブをキャンセルする。
ステップＳ１２１１、または、ステップＳ１２１２の処理が終わると、図６のステップＳ５１１へ戻る。
【００５６】
以上説明したように、本実施例によると、３Ｄプリンタ１０５〜１０７のマテリアル残量と印刷ジョブで使用するマテリアルの分量の関係を監視し、その関係を元にマテリアル残量に関する警告を行う契機となる残量閾値を調整することができる。それにより、より適切な在庫量の管理を実施することが可能となる。
【００５７】
（実施例４）
実施例１において、マテリアル種２のカートリッジ４０１の交換は、残量アラートが発生してから、カートリッジ４０１が交換されたかどうかを確認していた。これに対して本実施例では、残量アラートが発生していない状態でもカートリッジ４０１の交換が行われた場合の管理を加えることにより、適切な在庫量の管理を実施する。
実施例４について、図１５及び図１６のフローチャート等を用いて説明する。実施例４は前記実施例や他の実施例と同様に、サーバ１０８上で動作する管理アプリケーションの処理である。さらに、特別な説明が無ければ以下に説明する実施例４の処理はサーバ１０８のＲＯＭ２０４もしくは二次記憶装置２０６からＲＡＭ２０５にコピーされたプログラムをＣＰＵ２０３が実行する事によって行われる。実施例４は、実施例１の図５及び図６のステップＳ５１０に続く処理である為、図１５のフローチャートはそこからの説明となる。
【００５８】
まず、ステップＳ１５０１では３Ｄプリンタ１０５〜１０７から取得するステータス情報等を使用して、３Ｄプリンタ１０５〜１０７で使用中のカートリッジ４０１の情報を監視する。
次にステップＳ１５０２において、残量アラートが既に発生済であるかを、残量アラート発生済フラグの状態によって確認する。残量アラート発生済フラグがセットされている（＝残量アラートは既に発生していた）場合、ステップＳ１５０５へ進む。一方、残量アラート発生済フラグがセットされていない（＝まだ残量アラートは発生していない）場合、ステップＳ１５０３へ進む。
【００５９】
ステップＳ１５０３では、３Ｄプリンタ１０５〜１０７で残量アラートが発生しているかどうかを確認する。残量アラートが発生している場合は、ステップＳ１５０４へ進む。一方、残量アラートが発生していない場合は、ステップＳ１５０５へ進む。
ステップＳ１５０４では、残量アラート発生済フラグをセットし、ステップＳ１５０１へ戻る。
【００６０】
次にステップＳ１５０５では、ステップＳ１５０１で監視した情報から３Ｄプリンタ１０５〜１０７で使用中のカートリッジ４０１が新品に交換されたかどうかを判断する。新品に交換されている場合はステップＳ１５０６へ進み、そうでない場合はステップＳ１５０１に戻る。カートリッジ４０１が新品に交換されたかの判断は、実施例１のステップＳ５１５の方法と同じである。
【００６１】
ステップＳ１５０６では、再び残量アラート発生済フラグを確認する。残量アラートが発生済の場合はステップＳ１５０７へ進む。一方、残量アラート発生済フラグがセットされていない場合はステップＳ１５１３へ進む。なお、ステップＳ１５１３以降の説明は後述する。
ステップＳ１５０７では、残量アラート発生済フラグをクリアする。
次にステップＳ１５０８では、マテリアル種２の各種マテリアルの在庫量から新品に交換されたマテリアルの種類の在庫量を減算する。減算のイメージは、実施例１の図８（Ｂ）で説明した通りである。
【００６２】
ステップＳ１５０９〜ステップＳ１５１２の各ステップの処理は、図６のステップＳ５１８〜ステップＳ５２１と同様の処理となるため、ここでは説明を省略する。ただし、ステップＳ１５０９、ステップＳ１５１１及びＳ１５１２のステップの判断で、先へ（＝ステップＳ５１０へ）進まない分岐となった場合に戻る処理のステップは、ステップＳ１５０１である。
【００６３】
次に、前記ステップＳ１５０６において、残量アラートが発生済でない場合の処理について説明する。ステップＳ１５０６において、残量アラートが発生済ではないという事は、カートリッジ４０１内のマテリアルが少なくなっていないにも関わらず、カートリッジが交換された事を示している。例えば、実施例３で説明したように、印刷ジョブを実行する前に使用中のカートリッジ４０１のマテリアル残量では印刷ジョブが最後まで実行できないと判断し、新品のカートリッジ４０１に交換した場合などである。この場合、新品のカートリッジ４０１へ交換されたカートリッジ４０１（以下、中古のカートリッジと呼ぶ）は、マテリアル種２の在庫量からは減算されないが、新品のカートリッジ４０１に比べると、印刷可能なジョブ（＝造形可能なサイズ）は小さくなる。本実施例では、中古のカートリッジの数は在庫量から減算されないので、新品と中古のカートリッジを区別して管理し、その数を別途カウントしておく。
【００６４】
ステップＳ１５１３は中古のカートリッジの数をカウントする処理である。図１７（Ａ）及び図１７（Ｂ）の表に、中古のカートリッジをカウントするイメージを示す。
図１７（Ａ）は、図６のステップＳ５１０でマテリアル種２の在庫量を設定したタイミングの表である。中古のカートリッジの数は「中古在庫量」列で管理するので、このタイミングでは全て“０”となっている。さらに、後述するが、中古のカートリッジが一定量以上溜まった場合の判定を行う為の閾値として「中古閾値」の列も存在する。例えば、図１７（Ａ）においては、種類Ｚの「中古閾値」は、“２”となっている。図１７（Ｂ）は、ステップＳ１５１３で“種類Ｚ”の中古のカートリッジがカウントされたイメージを示している。
【００６５】
ステップＳ１５１４では、中古のカートリッジが一定量以上溜まってしまったかを、中古在庫量と中古閾値の値を比較することで確認する。中古在庫量が中古閾値よりも小さければステップＳ１５０１へ戻る。一方、中古在庫量が中古閾値以上の場合は、ステップＳ１５１５へ進む。図１７（Ｃ）の表の“種類Ｚ”の行にその例を示す。「中古在庫量」が“３”、「中古閾値」が“２”である為、ステップＳ１５１４の比較の結果、ステップＳ１５１５へ進む。
【００６６】
次にステップＳ１５１５では中古在庫量が中古閾値以上になったカートリッジ（ここでは“種類Ｚ”のカートリッジ）に対して、後述するステップＳ１５１９もしくはステップＳ１５１１の処理が実施済であるかを確認する。ステップＳ１５１９もしくはステップＳ１５１１の処理が実施済であるかどうかは、図１７の表の「通知」の列を確認する事で行う。中古のカートリッジが一定量以上溜まったマテリアル種の「通知」の列が“済”となっていれば、ステップＳ１５１９もしくはステップＳ１５１１の処理は実施済であり、“未”となっていれば、未実施である。実施済の場合は、ステップＳ１５１２へ進む。一方、二実施の場合は、ステップＳ１５１６に進む。
【００６７】
次にステップＳ１５１６では、マテリアル種２のカートリッジ４０１の在庫量が所定の数まで減ったかを確認する時に使用する「閾値」に関して、その値を大きくするか管理者ユーザに対して確認する。この閾値は実施例１の図８や本実施例の図１７の表にある「閾値」の事である。実施例１で説明した通り、マテリアル種２のカートリッジ４０１の在庫量が「閾値」よりも少なくなると、図６のステップＳ５２０で説明したような表示を行う。例えは、サーバ１０８のユーザインタフェース２０１のディスプレイ上に在庫量が「閾値」以下になったマテリアルの種類とその時の在庫量を表示して、当該マテリアルを購入する必要がある旨、警告表示する。または、在庫量が「閾値」以下になった当該マテリアルを製造、販売しているメーカーや販売会社に対して、電子メール等の手段を使って自動的に発注動作を行う等の処理（自動配送）を実行したりする。
しかし、中古のカートリッジが一定量以上溜まっている状態では、この「閾値」までマテリアル種２のカートリッジ４０１の在庫量が減っていなくても、新品のカートリッジ４０１の量は一定量以下になっている。したがって、このままでは「閾値」までカートリッジの在庫量が減ったタイミングで、上記の警告等の処理を実施しても、新品のカートリッジが枯渇する状態に陥って、造形に大量のマテリアルを使用する印刷ジョブが実施出来ない可能性が出てくる。そこで、「閾値」を現状よりも大きくし、従来よりも早めに警告や発注を行うようにする。
【００６８】
ステップＳ１５１６でサーバ１０８のユーザインタフェース２０１のディスプレイ上に表示する画面とメッセージの一例を、図１８（Ａ）に示す。ステップＳ１５１６では、上記例の画面とメッセージを表示した後、それに対応して管理者ユーザが入力を行った結果に従い、次に行う処理を切替える。管理者ユーザが「閾値」を変更する入力をおこなった場合はステップＳ１５１７へ進み、そうでない（「閾値」を変更しない）場合はステップＳ１５０１へ戻る。
【００６９】
ステップＳ１５１７では、「閾値」を現状の値から変更する。図１７（Ｄ）にマテリアル種「種類Ｚ」の「閾値」を“２”から“３”へ変更した例を示す。
次にステップＳ１５１８において、新品の量が一定以下になったカートリッジ４０１について、発注を行うかどうか管理者ユーザに対して確認する。ステップＳ１５１８においてサーバ１０８のユーザインタフェース２０１のディスプレイ上に表示する画面とメッセージの一例を、図１８（Ｂ）に示す。ステップＳ１５１８でも、画面とメッセージを表示した後、それに対応して管理者ユーザが入力を行った結果に従い、次の処理を切替える。
管理者ユーザがカートリッジ４０１の発注を行う入力を行った場合は、ステップＳ１５１９へ進み、そうでない場合はステップＳ１５０１へ戻る。
【００７０】
ステップＳ１５１９では、当該カートリッジ４０１（本説明では「種類Ｚ」のカートリッジ４０１）を製造、販売しているメーカーや販売会社に対して、電子メール等の手段を使い、発注を依頼する処理を行う。さらに、カートリッジ４０１の発注を行った事を記憶するため、図１７（Ｅ）に例を示す様に「種類Ｚ」の「通知」列を“済”に変更する。ステップＳ１５１９の処理が終わると、ステップＳ１５０１へ戻る。
【００７１】
以上説明したように、本実施例においては、残量アラートが発生していない状態でもカートリッジ４０１の交換が行われ中古カートリッジの在庫量が一定量以上溜まってしまった場合に、閾値を大きくすることで従来よりも早めに警告や発注を行うようにする。これにより、新品のカートリッジが枯渇する状態に陥って、造形に大量のマテリアルを使用する印刷ジョブが実施出来なくなる場合を抑制することができる。したがって、本実施例では、残量アラートが発生していない状態でもカートリッジ４０１の交換が行われた場合の管理を加えることにより、適切な在庫量の管理を実施することが可能となる。
【００７２】
（実施例５）
本実施例においては、マテリアル種２の平均的な使用量を監視し、それに基づいてマテリアルの発注タイミングを自動的に変化させる。それにより、マテリアルの在庫切れにリスクを低減する。
図１９のフローチャート等を用いて、実施例５を説明する。実施例５の図１９のフローチャートの処理は、図６のステップＳ５１０とステップＳ５１１の間にキックされるスレッドやタスク、プロセス等で動作し、実施例１など他の実施例の処理とは並行して動作する。また、実施例５は、他の実施例と同様にサーバ１０８上で動作する管理アプリケーションの処理の一部である。さらに、特別な説明が無ければ、以下に説明する実施例５の処理は、サーバ１０８のＲＯＭ２０４もしくは二次記憶装置２０６からＲＡＭ２０５にコピーされたプログラムをＣＰＵ２０３が実行する事によって行われる。
【００７３】
実施例５の処理を開始すると、まずステップＳ１９０１で処理に必要な設定値等を初期化する。図２０（Ａ）の表に初期化された測定や判断に必要な値のイメージを示す。図２０（Ａ）の「在庫量（個）」「閾値」「通知」「入荷」の列のそれぞれの値は、実施例１など他の実施例で使われる設定値であり、ステップＳ１９０１で初期化するのはそれ以外の項目である。
【００７４】
ステップＳ１９０１で初期化する各項目について、以下に簡単に説明する。
「測定間隔（時間）」は、マテリアル種２の３Ｄプリンタ１０５〜１０７を監視する時間間隔である。
「判断間隔（日）」は、後述する「想定閾値」を使った、「閾値」を変更するかどうかを判定する間隔を示す日数である。
「測定日数」は、本実施例の処理を実際に動作させた日数である。前記「判断間隔（日）」が経過し、実際の判断処理が行われたら、“０”に設定される。
「前回残量（％）」は、マテリアル種２の３Ｄプリンタ１０５〜１０７で使用中のカートリッジに残っているマテリアル残量である。
「測定回数」は、「判断間隔（日）」の期間にマテリアル種２の３Ｄプリンタ１０５〜１０７を監視して、マテリアル残量を測定した回数である。
「合計使用量」は、「判断間隔（日）」の期間に使用されたマテリアル種２のカートリッジの個数である。
「平均使用量（個）」は、「測定間隔（時間）」の時間に使用されるマテリアルの量の平均値である。
「配送時間」は、各「マテリアル種」のカートリッジを発注してから納入されるまでに掛る時間である。「配送時間」は、当該カートリッジを製造、販売しているメーカーや販売会社から得られる場合もあるし、管理者ユーザがこれまでの経験に基づいて設定値を決めても良い。
「想定閾値」は、この値以上に実際の「閾値」を設定しておけば、「配送時間」の期間（時間）には在庫のマテリアルが無くならないと想定される値である。上記の各項目の値から計算して求める。
ステップＳ１９０１では、以上の項目について初期化し、初期値を設定する。
【００７５】
次にステップＳ１９０２で、マテリアル種２の３Ｄプリンタ１０５〜１０７で使用中のカートリッジ４０１に残っているマテリアルの残量を取得し、「前回残量（％）」に設定する。
次にステップＳ１９０３では、「測定間隔（時間）」に設定されている値を不図示のタイマーにセットする。例えば、図２０（Ａ）では、「測定間隔（時間）」の設定値は“２”なので、２時間のタイマーとなる。タイマーは、サーバ１０８のＣＰＵ２０３に内蔵されているものを使用する。
次にステップＳ１９０４で、タイマーにセットした時間が経過するのを待つ。ここでは単純なループ処理としているが、タイマーによる、割り込み処理等を使用して時間経過を待つ事もできる。タイマーにセットし時間が経過すると、ステップＳ１９０５へ進む。
【００７６】
ステップＳ１９０５では、まず「測定回数」を更新する。そして、ステップＳ１９０２と同様に、マテリアル種２の３Ｄプリンタ１０５〜１０７で使用中のカートリッジ４０１に残っているマテリアルの残量を取得する。さらに、ステップＳ１９０５では、各「マテリアル種」について、取得したマテリアルの残量と「前回残量（％）」とを比較し「測定間隔（時間）」で使用されたマテリアルの量を計算する。計算で得られた「測定間隔（時間）」で使用されたマテリアルの量は「合計使用量」に加算される。ステップＳ１９０５で取得した、マテリアル種２の３Ｄプリンタ１０５〜１０７で使用中のカートリッジ４０１に残っているマテリアルの残量は、「前回残量（％）」に上書きする形で保存する。
【００７７】
次にステップＳ１９０６では、ステップＳ１９０５で得た結果から「平均使用量（個）」と「想定閾値」を計算する。「平均使用量（個）」は、「合計使用量」を「測定回数」で割る事で計算する。「想定閾値」は、「配送時間」の期間に使用するマテリアルの量となるので、「配送時間」を平均の単位時間である「測定間隔（時間）」で割った値に、前記で計算した「平均使用量（個）」を掛けて求める。
【００７８】
図２０（Ｂ）にステップＳ１９０１で初期化後、１回目の測定（Ｓ１９０５）と計算（Ｓ１９０６）が完了した状態を示す。例えば、「マテリアル種」が“種類Ｘ”の「合計使用量（個）」が“０．０３”（個）、測定回数は“１”（回）なので「平均使用量（個）」は“０．０３”（個）となる。また、「配送時間」は“４８”（時間）なので、それを「測定間隔（時間）」の“２”（時間）で割った値に「平均使用量（個）」の“０．０３”を掛けた“０．７２”が「想定閾値」となっている。「マテリアル種」が“種類Ｙ”と“種類Ｚ”の「想定閾値」も、“種類Ｘ”と同様の計算を行い、求められている。
【００７９】
次に、ステップＳ１９０７で「判断間隔（日）」と「測定日数」を比較し、測定した日数が所定の日数（＝「判断間隔（日）」）に達したかを確認する。「測定日数」が「判断間隔（日）」の“１０”（日）に達していない場合は、ステップＳ１９０３へ戻る。一方、「測定日数」が「判断間隔（日）」の“１０”（日）に達している場合は、ステップＳ１９０８へ進む。
ステップＳ１９０８では、「想定閾値」と「閾値」を比較する。比較した結果、「想定閾値」が「閾値」を超えている場合は、ステップＳ１９０９へ進み、超えていない場合は、ステップＳ１９１０へ進む。
【００８０】
ステップＳ１９０９では、ステップＳ１９０８の結果「想定閾値」が「閾値」を超えている「マテリアル種」の「閾値」を「想定閾値」以上の値へ設定し直す。
図２０（Ｃ）は、ステップＳ１９０６の計算により「マテリアル種」が“種類Ｘ”の「想定閾値」が“１．２”となったので、ステップＳ１９０９で元々の「閾値」の“１”を“２”へ変更した時のイメージである。上記では「マテリアル種」の“種類Ｙ”と“種類Ｚ”の「想定閾値」は、各々の「閾値」を超えていない為、変更されていない。
次にＳ１９１０で、「測定日数」「測定回数」「合計使用量（個）」「平均使用量（個）」「想定閾値」を初期化し、ステップＳ１９０３へ戻る。図２０（Ｄ）はステップＳ１９１０で初期化を行った後のイメージである。
【００８１】
以上説明したように、マテリアルの使用量を監視して平均的な消費量を計測しおくことで、在庫量が不足した時に発注を実施するタイミングを自動的に変化させる事が可能となる。自動的に変化した発注のタイミングであれば、発注したマテリアルが納品されるまでの期間にマテリアルの在庫が無くなるリスクが軽減され、より適切な在庫管理を行うことができる。
【００８２】
（実施例６）
実施例１など他の実施例において、マテリアルの残量の計測が行われている。本実施例においては、３Ｄプリンタのマテリアル残量検知に係わる機構に不具合が起きた場合に、不具合を検出することで、警告を表示することを可能にする。
図２１のフローチャート等を用いて、実施例６を説明する。実施例６の図２１のフローチャートの処理は、図５のステップＳ５０３もしくはステップＳ５０８のどちらかが実施された場合にキックされるスレッドやタスク、プロセス等で動作し、他の実施例の処理とは並行して動作する。また、実施例６は、他の実施例と同様に、サーバ１０８上で動作する管理アプリケーションの処理の一部である。さらに、特別な説明が無ければ、以下に説明する実施例６の処理は、サーバ１０８のＲＯＭ２０４もしくは二次記憶装置２０６からＲＡＭ２０５にコピーされたプログラムをＣＰＵ２０３が実行する事によって行われる。
【００８３】
実施例６の処理を開始すると、まずステップＳ２１０１で、処理に必要な情報を図５及び図６のステップＳ５０３、Ｓ５１０で取得した値と同期させる。図２２（Ａ）に、ステップＳ２１０１で設定値を同期したイメージを示す。「マテリアル種」「在庫量」「閾値」「通知」「入荷」の値が同期した設定値である。これらの同期した値は、図５図６の処理が実施され、値が更新されると自動的に同期して更新される仕組みになっている。さらに、ステップＳ２１０１では、実施例６の処理に必要な「監視周期（時間）」「１日の稼働時間」「稼働日数」をそれぞれ管理者ユーザが設定する。
【００８４】
次にステップＳ２１０２で、同期した「在庫量」と「閾値」から、それぞれのマテリアルが最大で消費された場合の発注処理実施までの日数を計算し、「予測（日数）」の箇所に設定する。発注処理実施までの日数の計算は、図５のステップＳ５０１で取得した、管理対象の３Ｄプリンタの種類の情報から、それぞれの３Ｄプリンタの造形能力とその台数が分かるので、それを元に上記ステップＳ２１０１で得た各種情報から行う。例えば、図２２（Ａ）に示すように「マテリアル種」が“種類Ａ”の場合、上記の計算結果は“１５”（日）である。つまり、「在庫量」が“１０”の状態から「閾値」である“３”以下までマテリアルを使用（消費）するには、最短でも１５日間要するという計算結果である。
【００８５】
次にステップＳ２１０３で、「監視周期（時間）」に設定された“４”（時間）をタイマーに設定し、続くステップＳ２１０４で上記設定したタイマーがタイムアップするのを待つ。
ステップＳ２１０４において、タイマーがタイムアップすると、ステップＳ２１０５に進む。
ステップＳ２１０５では、各３Ｄプリンタの稼働状態を監視し、その結果を反映する。図２２（Ｂ）に、ステップＳ２１０５の結果を示す。監視開始から４時間経過しているので「稼働日数」は「１日の稼働時間」の半分である“０．５”（日）となっている。この後、処理が繰り返され２回目の監視（ステップＳ２１０５）が行われると、監視を開始してから８時間後となるので「稼働日数」は“１”（日）となる。なお、ステップＳ２１０５を実施したタイミングで、マテリアル種毎に、それを使用している３Ｄプリンタが全て動作していなければ、マテリアルを消費していないとして「稼働日数」を変化させない。
【００８６】
次にステップＳ２１０６では、マテリアルの発注に係わる処理が実施されたかを確認する。マテリアルの発注に係わる処理とは、図５及び図６のステップＳ５０８、Ｓ５２０の処理の事である。マテリアルの発注に係わる処理が実施されたか否かは、各マテリアル種について図２２に示す「通知」の箇所が“済”になっているかを見て判断する。マテリアルの発注に係わる処理が実施されたマテリアル種があれば、ステップＳ２１０７へ進む。一方、実施されたマテリアル種が１つもなければ、ステップＳ２１０３へ戻る。
【００８７】
次にステップＳ２１０７では、マテリアルの発注に係わる処理が実施されたマテリアル種について、ステップＳ２１０２で計算した「予測（日数）」よりも短い「稼働日数」で当該発注に係わる処理が行われたかを確認する。例えば、図２２（Ｃ）で示すように“種類Ａ”のマテリアルは「予測（日数）」が“１５”（日）、「稼働日数」が“１０”（日）である。そのため、ステップＳ２１０２で計算した「予測（日数）」よりも短い「稼働日数」で当該発注に係わる処理が行われたと判断する。「予測（日数）」よりも短い「稼働日数」で当該発注に係わる処理が行われたと判断した場合は、ステップＳ２１０８へ進み、そうでない場合は、ステップＳ２１０９へ進む。
【００８８】
次にステップＳ２１０８では、まずサーバ１０８のユーザインタフェース２０１のディスプレイ上において、管理者ユーザに対して、３Ｄプリンタのマテリアル残量検知に係わる機構が故障している可能性がある旨、警告表示を行う。図２３に上記警告表示の画面とメッセージの例を示す。さらに、Ｓ２１０８では、該当する３Ｄプリンタを製造、販売しているメーカーや販売会社に対して、電子メール等の手段を使って、マテリアルの残量検知に係わる機構に故障が発生している可能性について報告を行う。
【００８９】
次にステップＳ２１０９へ進み、当該マテリアルが新たに入荷されたかどうか在庫量を確認する事で判断する。例えば、図２２（Ｄ）に示すように“種類Ａ”のマテリアルの「在庫量」は“２”から“１２”に変化している。この場合は、当該マテリアルが新たに入荷されたと判断し、ステップＳ２１１０へ進む。
ステップＳ２１１０では、ステップＳ２１０２で実施したように「在庫量」と「閾値」から、マテリアルが最大で消費された場合の発注処理実施までの日数を計算し、「予測（日数）」の箇所に新たに設定する。さらに、ステップＳ２１１０では「稼働日数」も初期化する。図２２（Ｄ）の“種類Ａ”の「予測（日数）」と「稼働日数」は、ステップＳ２１１０の処理を行った後の状態を示している。
【００９０】
次にステップＳ２１１１では、ステップＳ２１０７〜Ｓ２１１０の処理が全てのマテリアル種に対して行われたかを確認し、処理が行われている場合はステップＳ２１０３へ戻り、そうでない場合はＳ２１０７〜Ｓ２１１０の処理を繰り返す。
以上説明したように、本実施例によれば、マテリアルが最速で消費される期間を計算しておき、実際の消費の状態と比較することにより、３Ｄプリンタのマテリアル残量検知に係わる機構の不具合を検出できる。
【００９１】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
0006732497.tif 000002
【図２】
0006732497.tif 000003
【図３】
0006732497.tif 000004
【図４】
0006732497.tif 000005
【図５】
0006732497.tif 000006
【図６】
0006732497.tif 000007
【図７】
0006732497.tif 000008
【図８】
0006732497.tif 000009
【図９】
0006732497.tif 000010
【図１０】
0006732497.tif 000011
【図１１】
0006732497.tif 000012
【図１２】
0006732497.tif 000013
【図１３】
0006732497.tif 000014
【図１４】
0006732497.tif 000015
【図１５】
0006732497.tif 000016
【図１６】
0006732497.tif 000017
【図１７】
0006732497.tif 000018
【図１８】
0006732497.tif 000019
【図１９】
0006732497.tif 000020
【図２０】
0006732497.tif 000021
【図２１】
0006732497.tif 000022
【図２２】
0006732497.tif 000023
【図２３】
0006732497.tif 000024