(57)【要約】【目的】３Ｄ印刷装置に印刷中断が発生した後に、印刷中断が発生した時の中断位置を計算することのできる３Ｄ印刷装置およびその印刷再開方法を提供する。【解決手段】この方法は、印刷を行うよう３Ｄ印刷装置のプリントヘッドを制御するように、複数の印刷命令を順番に実行するステップと；印刷中断が発生した時に、印刷中断が発生している間に実行されている第１印刷命令を取得し、第１印刷命令に基づいて印刷を再開するステップとを含む。【選択図】        図３
2018158566.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄ印刷装置に適用される印刷再開方法であって、
印刷を行うよう前記３Ｄ印刷装置のプリントヘッドを制御するように、複数の印刷命令を順番に実行するステップと、
印刷中断が発生した時に、前記印刷中断が発生している間に実行されている第１印刷命令を取得し、前記第１印刷命令に基づいて印刷を再開するステップと、
を含む印刷再開方法。
【請求項２】
１つの印刷命令を実行した時に計数値を１つ追加するステップと、
所定の周期に基づいて、前記計数値を不揮発性メモリに周期的に記録するステップと、
を含み、前記第１印刷命令に基づいて印刷を再開する前記ステップが、
前記印刷中断が発生した時に、前記計数値に対応する前記第１印刷命令を取得するように、前記不揮発性メモリに保存された前記計数値を読み出し、前記３Ｄ印刷装置が前記第１印刷命令を実行した時の時間から前記印刷中断が発生した時の時間までの時間周期を取得するステップと、
前記第１印刷命令、前記第１印刷命令の前に実行された第２印刷命令、および前記時間周期に基づいて、前記印刷中断が発生した時の中断位置を計算するステップと、
前記第１印刷命令に基づいて、前記中断位置から印刷を再開するステップと、
を含む請求項１に記載の印刷再開方法。
【請求項３】
各前記印刷命令が、少なくとも印刷位置を含み、前記時間周期の値が０である時、前記第２印刷命令に含まれる前記印刷位置が、前記中断位置として使用され、印刷を再開する請求項２に記載の印刷再開方法。
【請求項４】
各前記印刷命令が、少なくとも印刷位置および各前記印刷命令に対応するプリントヘッドの移動速度を含み、前記第１印刷命令、前記第１印刷命令の前に実行された前記第２印刷命令、および前記時間周期に基づいて、前記印刷中断が発生した時の前記中断位置を計算する前記ステップが、
前記第１印刷命令に含まれる前記印刷位置および前記第２印刷命令に含まれる前記印刷位置に基づいて、変位ベクトルおよび前記変位ベクトルに対応する変位量を計算するステップと、
前記第１印刷命令に対応する前記プリントヘッドの移動速度および前記時間周期に基づいて、移動距離を計算するステップと、
前記第２印刷命令に含まれる前記印刷位置、前記変位ベクトル、前記変位量、および前記移動距離に基づいて、前記中断位置を取得するステップと、
を含む請求項２に記載の印刷再開方法。
【請求項５】
各前記印刷命令が、少なくとも印刷位置および各前記印刷命令に対応するプリントヘッドの移動速度を含み、前記印刷再開方法が、さらに、
前記第２印刷命令に含まれる印刷位置が、前記印刷命令の間にあり、且つ前記第１印刷命令の前に実行される複数の実行された印刷命令が実行された後の第１印刷位置と同じであるかを認証するステップと、
前記第２印刷命令に含まれる前記印刷位置が前記第１印刷位置と同じであると認証された時、前記第１印刷位置、前記第１印刷命令に対応する前記プリントヘッドの移動速度、前記時間周期、および前記第１印刷命令に含まれる前記印刷位置に基づいて、前記中断位置を計算するステップと、
を含む請求項２に記載の印刷再開方法。
【請求項６】
各前記印刷命令が、Ｇコードである請求項１に記載の印刷再開方法。
【請求項７】
プリントヘッドと、
前記プリントヘッドに結合されるとともに、複数の印刷命令を順番に実行して、印刷を行うよう前記プリントヘッドを制御するよう構成されたコントローラと、
を含み、印刷中断が発生した時、前記コントローラが、前記印刷中断が発生している間に実行されている第１印刷命令を取得し、前記第１印刷命令に基づいて印刷を再開する３Ｄ印刷装置。
【請求項８】
前記コントローラに結合され、所定の周期に基づいて、計数値を周期的に記録する不揮発性メモリをさらに含み、
前記印刷中断が発生した時、前記コントローラが、前記印刷中断が発生した時に実行されている前記計数値に対応する前記第１印刷命令を取得するように、前記不揮発性メモリに保存された前記計数値を読み出すとともに、前記３Ｄ印刷装置が前記第１印刷命令を実行した時の時間から前記印刷中断が発生した時の時間までの時間周期を取得し、前記第１印刷命令、前記第１印刷命令の前に実行された前記第２印刷命令、および前記時間周期に基づいて、前記印刷中断が発生した時の中断位置を計算し、前記第１印刷命令に基づいて、前記中断位置から印刷を再開するよう前記プリントヘッドを制御する請求項７に記載の３Ｄ印刷装置。
【請求項９】
各前記印刷命令が、少なくとも印刷位置を含み、前記時間周期の値が０である時、前記コントローラが、前記第２印刷命令に含まれる前記印刷位置を前記中断位置として使用し、印刷を再開するよう前記プリントヘッドを制御する請求項８に記載の３Ｄ印刷装置。
【請求項１０】
各前記印刷命令が、少なくとも印刷位置および各前記印刷命令に対応するプリントヘッドの移動速度を含み、
前記第１印刷命令、前記第１印刷命令の前に実行された前記第２印刷命令、および前記時間周期に基づいて、前記印刷中断が発生した時の前記中断位置を計算する前記ステップにおいて、前記コントローラが、
前記第１印刷命令に含まれる前記印刷位置および前記第２印刷命令に含まれる前記印刷位置に基づいて、変位ベクトルおよび前記変位ベクトルに対応する変位量を計算し、
前記第１印刷命令に対応する前記プリントヘッドの移動速度および前記時間周期に基づいて、移動距離を計算し、
前記第２印刷命令に含まれる前記印刷位置、前記変位ベクトル、前記変位量、および前記移動距離に基づいて、前記印刷中断が発生した時の前記中断位置を取得する請求項８に記載の３Ｄ印刷装置。
【請求項１１】
各前記印刷命令が、少なくとも印刷位置および各前記印刷命令に対応するプリントヘッドの移動速度を含み、前記印刷中断が発生した時に前記コントローラが実行する前記ステップにおいて、前記コントローラが、さらに、
前記第２印刷命令に含まれる印刷位置が、前記印刷命令の間にあり、且つ前記第１印刷命令の前に実行される複数の実行された印刷命令が実行された後の第１印刷位置と同じであるかを認証し、
前記第２印刷命令に含まれる前記印刷位置が前記第１印刷位置と同じであると認証された時、前記第１印刷位置、前記第１印刷命令に対応する前記プリントヘッドの移動速度、前記時間周期、および前記第１印刷命令に含まれる前記印刷位置に基づいて、前記中断位置を計算する請求項８に記載の３Ｄ印刷装置。
【請求項１２】
各前記印刷命令が、Ｇコードである請求項７に記載の３Ｄ印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置の印刷方法に関するものであり、特に、３Ｄ（three-dimensional）印刷装置およびその印刷再開方法に関するものである。
【背景技術】
【０００２】
技術の進歩に伴い、３Ｄ印刷技術は、発展中の最も重要な技術の１つとなっている。３Ｄ印刷技術は、ラピッドプロトタイプ（rapid prototyping, RP）技術の一種である付加製造（additive manufacturing, AM）技術とも称され、粉末金属またはプラスチック材料等の接合材料を使用して、デジタル形成図面ファイルに基づいて層毎（layer-by-layer）の印刷を行うことにより、３Ｄ物体を構築することができる。
【０００３】
現在利用可能な３Ｄ印刷装置は、印刷命令を実行することによって、プリントヘッドを特定の位置に移動させ、３Ｄ印刷を行うことができる。停電、材料不足、予期せぬ不具合等の理由が生じて、３Ｄ印刷装置が強制シャットダウンした時、３Ｄ印刷装置は、リスタート後に、前回の強制シャットダウンが生じている間の印刷命令の実際の実行経過を得ることができないため、３Ｄ印刷装置は、印刷の再開（resume）に失敗する。その結果、印刷された半製品を使用することができず、無駄になる。
【０００４】
上述した問題を克服するため、製造業者は、３Ｄ印刷装置に無停電電源（uninterruptible power supply, UPS）をインストールして、強制シャットダウンが生じた時に、３Ｄ印刷装置が現在の印刷命令を完全に実行できることを確実にしなければならない。しかしながら、無停電電源（ＵＰＳ）をインストールすることにより、３Ｄ印刷装置のコストおよび体積を増加させやすい。そのため、印刷中断が発生した時に３Ｄ印刷装置が印刷方法を再開できるようにする別の方法を探すことが、各製造業者にとって達成すべき目標の１つとなっている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、３Ｄ印刷装置に印刷中断が発生した後に、印刷中断が発生した時の中断位置を計算することのできる３Ｄ印刷装置およびその印刷再開方法を提供する。そのため、印刷を再開した時、３Ｄ印刷装置は、正確な中断位置から引き続き前回の印刷操作を行うことができる。
【課題を解決するための手段】
【０００６】
本発明は、３Ｄ印刷装置に適用できる印刷再開方法を提供する。この方法は、印刷を行うよう３Ｄ印刷装置のプリントヘッドを制御するように、複数の印刷命令を順番に実行するステップと；印刷中断が発生した時に、印刷中断が発生している間に実行されている第１印刷命令を取得し、第１印刷命令に基づいて印刷を再開するステップとを含む。
【０００７】
別の側面に基づき、本発明は、３Ｄ印刷装置を提供する。３Ｄ印刷装置は、プリントヘッドと、コントローラとを含む。コントローラは、プリントヘッドに結合されるとともに、複数の印刷命令を順番に実行して、印刷を行うようプリントヘッドを制御するよう構成される。印刷中断が発生した時、コントローラは、印刷中断が発生している間に実行されている第１印刷命令を取得し、第１印刷命令に基づいて印刷を再開するステップを実行する。
【発明の効果】
【０００８】
以上のように、本発明は、３Ｄ印刷装置に印刷中断が発生した後に、印刷中断が発生した時の中断位置を計算することのできる３Ｄ印刷装置およびその印刷再開方法を提供する。３Ｄ印刷装置が印刷を再開しようとする時、コントローラは、プリントヘッドを正確な中断位置に移動させ、印刷中断が発生した時に終了しなかった印刷命令を引き続き完了することができる。それにより、本発明の３Ｄ印刷装置は、印刷中断が発生した時に無停電電源（ＵＰＳ）をインストールしなくても、３Ｄ印刷を正確に再開することができる。
【０００９】
本発明の上記および他の目的、特徴、および利点をより分かり易くするため、図面と併せた幾つかの実施形態を以下に説明する。
【図面の簡単な説明】
【００１０】
添付図面は、本発明の原理がさらに理解されるために含まれており、本明細書に組み込まれかつその一部を構成するものである。図面は、本発明の実施形態を例示しており、説明とともに、本発明の原理を説明する役割を果たしている。
【００１１】
【図１】本発明の１つの実施形態に係る３Ｄ印刷装置を示す概略図である。
【００１２】
【図２】本発明の１つの実施形態に係る印刷プラットフォーム、および中断位置を計算する例を概略的に示したものである。
【００１３】
【図３】本発明の１つの実施形態に係る印刷再開方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
３Ｄ印刷装置は、通常、ある印刷命令の実行中に予期せぬ印刷中断が発生する。ある印刷命令が、プリントヘッドを制御して、 ある時間周期に特定の速度で移動させるために使用されるものと仮定する。その時間周期がまだ終了していない時に予期せぬ中断が発生した場合、３Ｄ印刷装置は、再開した後、中断が発生した時間周期におけるきっかりの時間点を決定するか、あるいは印刷中断が発生した時のプリントヘッドの位置を決定することができる。つまり、印刷中断が発生した後に印刷を再開するために、３Ｄ印刷装置は、印刷中断が発生した時のプリントヘッドの位置を計算して、それにより、前回の印刷操作を引き続き実行できなければならない。また、３Ｄ印刷装置が再開した後、印刷中断が発生した時にどの印刷命令が実行されていたかを探す方法があるはずである。
【００１５】
したがって、本発明の実施形態に係る３Ｄ印刷装置およびその印刷再開方法は、３Ｄ印刷装置に印刷中断が発生した後、不揮発性メモリに保存された情報に基づいて、印刷中断が発生した時に実行された特定の印刷命令を識別し、現在の印刷命令の実行時間長に基づいて、３Ｄ印刷装置のコントローラによって印刷中断が発生した時の中断位置を計算することができる。そのため、印刷を再開する時、３Ｄ印刷装置は、正確な中断位置から引き続き前回の印刷操作を行うことができる。
【００１６】
図１は、本発明の１つの実施形態に係る３Ｄ印刷装置を示す概略図である。図１を参照すると、３Ｄ印刷装置１００は、プリントヘッド１０１と、コントローラ１０３とを含む。３Ｄ印刷装置１００は、例えば、３Ｄプリンタ（3D printer）であってもよい。プリントヘッド１０１は、例えば、選択的レーザー焼結（selective laser sintering, SLS）技術、選択的レーザー溶融（selective laser melting, SLM）技術、石膏３Ｄプリント（plaster-based 3D printing, PP）技術、および熱溶解積層法（fused deposition modeling, FDM）技術等を使用して印刷を行うことができる。コントローラ１０３は、例えば、中央処理装置（central processing unit, CPU)、マイクロプロセッサ（micro-processor）、または埋め込みコントローラ（embedded controller）等の一般用途または特殊用途向けプログラム可能デバイスであってもよい。
【００１７】
コントローラ１０３は、プリントヘッド１０１に結合され、複数の印刷命令を順番に実行して、印刷を行うようプリントヘッド１０１を制御する。印刷命令は、例えば、Ｇコード（ＲＳ−２７４とも称す）であってもよく、表１に、Ｇコードの例を列記する。
【００１８】
【表１】
2018158566.tif 000003
【００１９】
表１に示すように、３Ｄ印刷装置１００は、複数のコラムのＧコードを順番に実行することによって、３Ｄ印刷操作を実行することができる。Ｇコードは、主に、目的地位置およびプリントヘッドの速度を含む。コラム数が１０７６８のＧコードを例に挙げて説明する。欄「Ｆ１２００．０００」は、３Ｄ印刷装置１００がプリントヘッドを１２００ｍｍ／分の速度で移動するよう制御することを示す。すなわち、「Ｆ１２００．０００」は、Ｇコードにおけるプリントヘッドの欄である。欄「Ｘ１５．０００  Ｙ２０．０００」は、コラム数１０７６８のＧコードの実行が完了した後にプリントヘッドが最後に位置した目的地座標（すなわち、（１５，２０））を示す。つまり、「Ｘ１５．０００  Ｙ２０．０００」は、ＧコードのＸ軸とＹ軸を指す。Ｇコードの一部は、Ｚ軸座標を有するが、これは、プリントヘッドの高度を調整する必要があることを示す。欄「Ｅ４．７４３２９」は、プリントヘッドの材料供給速度を示す。Ｇコードの一部は、プリントヘッドの速度欄（例えば、「ＦＸＸＸ」）または材料供給速度欄（例えば、「ＥＸＸＸ」）を有さないため、３Ｄ印刷装置１００が前のＧコードに含まれる速度欄情報または材料供給速度欄情報をそのＧコードに含まれる速度または材料供給速度として使用することを示す。例えば、コントローラ１０３がコラム数１０７６８のＧコードを実行した時、プリントヘッド１０１は、目的地座標（１５，２０）に向かって１２００ｍｍ／分の速度で移動し、移動の過程中に４．７４３２９ｍｍ／分の速度で材料を供給する。同じようにして、コントローラ１０３がコラム数１０７６９のＧコードを実行した時、プリントヘッド１０１は、目的地座標（２４，３２）に向かって１２００ｍｍ／分の速度で移動し、移動の過程中に４．７６４４７ｍｍ／分の速度で材料を供給する。
【００２０】
本発明の別の実施形態において、３Ｄ印刷装置１００は、さらに、不揮発性メモリ１０５を含む。不揮発性メモリ１０５は、例えば、ＮＡＮＤフラッシュメモリまたはＮＯＲフラッシュメモリであってもよい。不揮発性メモリ１０５は、コントローラ１０３に結合され、所定の周期に基づいて、計数値を周期的に記録する。コントローラ１０３は、印刷命令を実行した時に計数値を１つ追加する。コントローラ１０３が印刷命令を実行している間、不揮発性メモリ１０５は、印刷命令に対応する計数値を記録することができる。
【００２１】
例えば、コントローラ１０３が第１コラムのＧコードを実行した時、コントローラ１０３は、さらに、第１コラムのＧコードに対応する計数値「１」を不揮発性メモリ１０５で記録することができる。そして、コントローラ１０３が第２コラムのＧコードを実行した時、コントローラ１０３は、計数値を１つ追加する他に、さらに、更新した計数値、すなわち、第２コラムのＧコードに対応する計数値「２」を不揮発性メモリ１０５で記録することができる。
【００２２】
３Ｄ印刷の過程中にシャットダウンによって印刷中断が発生した場合、コントローラ１０３は、印刷中断が発生した時に実行されている第１印刷命令を取得し、第１印刷命令に基づいて印刷を再開することができる。詳しく説明すると、コントローラ１０３は、下記の手順を実行して、印刷が中断された位置から３Ｄ印刷装置１００が印刷を再開できるようにする。まず、コントローラ１０３は、不揮発性メモリ１０５から計数値を読み出して、計数値に対応する第１印刷命令を取得し、３Ｄ印刷装置１００が第１印刷命令を実行した時の時間から印刷中断が発生した時の時間までの時間周期を取得する。例えば、表１に列記したＧコードの一部を例に挙げると、コラム数１０７６８のＧコード、コラム数１０７６９のＧコード、およびコラム数１０７７０のＧコードを順番に記録する。印刷中断が発生した時、コントローラ１０３は、不揮発性メモリ１０５から計数値を読み出すことができる。不揮発性メモリ１０５から読み出した計数値が１０７６９の場合、コントローラ１０３は、それに基づいて、中断が発生している間に３Ｄ印刷装置１００がコラム数１０７６９のＧコードを実行していると判断することができる。つまり、コントローラ１０３は、コラム数１０７６９のＧコードを第１印刷命令として使用する。同様に、印刷中断が発生した時に、コントローラ１０３が読み出した計数値が１０７７０であると仮定する場合、コントローラ１０３は、それに基づいて、中断が発生している間に３Ｄ印刷装置１００がコラム数１０７７０のＧコードを実行していると判断することができる。つまり、コントローラ１０３は、コラム数１０７７０のＧコードを第１印刷命令として使用する。
【００２３】
３Ｄ印刷装置１００は、また、使用需要または実際のハードウェア処理速度に基づいて、計数値を記録するための所定の周期を調整する。例えば、３Ｄ印刷装置１００のハードウェア能力が悪い時、３Ｄ印刷装置１００は、計数値を記録するための所定の周期を延長することができるため、不揮発性メモリ１０５は、コントローラ１０３が２コラムまたは３コラムの印刷命令を実行した時に計数値を一回記録することができる。記録の所定の周期が２コラムの印刷命令を実行する場合を例に挙げて説明すると、コントローラ１０３が第１コラムのＧコードを実行した時、コントローラ１０３は、第１コラムのＧコードに対応する計数値「１」を不揮発性メモリ１０５で記録する。そして、コントローラ１０３が第２コラムのＧコードを実行した時、コントローラ１０３は、計数値を１つ追加するが、計数値を不揮発性メモリ１０５で記録しない。その後、コントローラ１０３は、第３コラムのＧコードを実行する時に、第３コラムのＧコードに対応する計数値「３」を不揮発性メモリ１０５で記録する。ユーザーは、使用需要に基づいて、所定の周期の長さを調整することができるため、本発明はこれに限定されない。
【００２４】
第１印刷命令が実行された時の時間から印刷中断が発生した時の時間までの時間周期は、例えば、コントローラ１０３内のタイマーにより取得することができるが、本発明はこれに限定されない。本発明のコントローラ１０３内のタイマーは、実行中に現在実行された命令に関する時間長情報を一時的に保存することができ、現在実行された命令の実行が完了した後、タイマーは、時間長情報を削除する。つまり、印刷中断が発生した時、コントローラ１０３内のタイマーは、前回の実行中に前回実行された命令に関する時間長情報を保存する。時間長情報は、あるＧコードを実行し始めた時の時間から印刷中断が発生した時の時間までの時間周期として使用することができる。例えば、表１に示したＧコードを例に挙げ、印刷中断が発生した後にコントローラ１０３によって不揮発性メモリ１０５から読み出すことのできる計数値が１０７６８であり、コラム数１０７６９のＧコードを第１印刷命令として使用すると仮定する。一方、コントローラ１０３は、コラム数１０７６９のＧコードを実行し始めた時の時間から印刷中断が発生した時の時間までの時間周期をコントローラ内のタイマーから取得することもできる。
【００２５】
第１印刷命令および第１印刷命令が実行された時の時間から印刷中断が発生した時の時間までの時間周期を取得した後、コントローラ１０３は、第１印刷命令、第１印刷命令の前に実行された第２印刷命令、および第１印刷命令が実行された時の時間から印刷中断が発生した時の時間までの時間周期に基づいて、印刷中断が発生した時の中断位置を計算することができ、第１印刷命令に基づいて中断位置から印刷を再開するようプリントヘッド１０１を制御する。例えば、表１に示したＧコードを例に挙げ、印刷中断がコラム数１０７６９のＧコードの実行中に発生し、不揮発性メモリ１０５によって保存された計数値が１０７６９であると仮定すると、コントローラ１０３は、計数値１０７６９に対応するコラム数１０７６９のＧコード（すなわち、第１印刷命令）、コラム数１０７６９のＧコードの前に実行されたコラム数１０７６８のＧコード（すなわち、第２印刷命令）、およびコラム数１０７６９のＧコードを実行し始めた時の時間から印刷中断が発生した時の時間までの時間周期に基づいて、印刷中断が発生した時の中断位置を計算することができる。
【００２６】
以下、印刷中断が発生した時の中断位置を計算する方法について具体的に説明する。図２および表１を参照すると、図２は、本発明の１つの実施形態に係る印刷プラットフォーム２００、および３Ｄ印刷装置１００で中断位置を計算する例を概略的に示したものである。図２に示した実施形態および表１に示したＧコードを例に挙げ、印刷中断がコラム数１０７６９のＧコードの実行中に発生し、不揮発性メモリ１０５によって現在保存された計数値がコラム数１０７６９のＧコードに対応する計数値１０７６９であると仮定する。不揮発性メモリ１０５から読み出すことによって、コントローラ１０３は、中断が発生した時に、３Ｄ印刷装置１００がコラム数１０７６９のＧコードを実行していることを知ることができる。また、コントローラ１０３は、例えば、コントローラ１０３内のタイマーで、コラム数１０７６９のＧコードを実行し始めた時の時間から印刷中断が発生した時の時間までの時間周期ｔｐ（図示せず）を知ることができる。コントローラ１０３は、計数値を記録する度に、タイマーを０に戻し、次の計数値が記録されるまで計算を再開する。コントローラ１０３内のタイマーを使用する他に、コントローラ１０３は、例えば、コントローラ１０３に結合されたマイクロコントローラユニット（microcontroller unit, MCU）を使用することにより、上述した時間周期ｔｐを取得することができるが、本発明はこれに限定されない。
【００２７】
2018158566.tif 000004
【００２８】
2018158566.tif 000005
【００２９】
【数１】
2018158566.tif 000006
【００３０】
したがって、中断位置２０５の座標（ｘ，ｙ）は、下記のように計算することができる。
【００３１】
【数２】
2018158566.tif 000007
【００３２】
言及すべきこととして、３Ｄ印刷装置１００が第１印刷命令を実行した時の時間から印刷中断が発生した時の時間までの時間周期ｔｐが０である時、第１印刷命令がちょうど実行され、印刷中断が発生した時にプリントヘッド１０１が移動し始めていないことを示し、この場合、コントローラ１０３は、第２印刷命令に含まれる印刷位置を中断位置として使用し、印刷を継続することができる。例えば、印刷中断が発生し、第１印刷命令がコラム数１０７６９のＧコードであり、時間周期ｔｐが０である時、コントローラ１０３は、コラム数１０７６８のＧコードに含まれる印刷位置（Ｘ１５．０００，Ｙ２０．０００）を中断位置として使用し、印刷を継続することができる。
【００３３】
図２に示した実施形態において、３Ｄ印刷装置１００は、主に、計数値に対応する第１印刷命令（例えば、表１のコラム数１０７６９のＧコード）および第１印刷命令前に実行された第２印刷命令（例えば、表１のコラム数１０７６８のＧコード）に基づいて中断された位置を計算する。しかしながら、不揮発性メモリ１０５が計数値を記録するために使用する所定の周期は異なるため、第１印刷命令と計数値の間の対応関係も様々である。 不揮発性メモリ１０５が長期の所定周期に基づいて計数値を記録すると仮定すると、例えば、不揮発性メモリ１０５は、各２つのコラムの印刷命令が実行される度に計数値を一回記録する。したがって、不揮発性メモリ１０５は、各コラムのＧコードが実行された時に対応する計数値を１つ１つ記録することができない。そのため、中断が発生した時、コントローラ１０３は、中断が発生した時に３Ｄ印刷装置１００がどのコラムのＧコードを実行していたかを正確に知ることができない。しかしながら、本発明の１つの実施形態に基づくと、中断が発生した時にどのコラムのＧコードが実行されていたかを正確に知ることができなくても、印刷が中断された位置を計算することができる。具体的に説明すると、コントローラ１０３は、現在の計数値に対応する第１印刷命令、第１印刷命令前に実行された第２印刷命令、第１印刷命令を実行し始めた時の時間から印刷中断が発生した時の時間までの時間周期、および第１印刷命令に対応するプリントヘッドの移動速度に基づいて、中断が発生した時に３Ｄ印刷装置１００がどのコラムのＧコードを実行していたかを推定することにより、そのＧコードを新しい第１印刷命令として使用して、印刷が中断された位置を計算することができる。
【００３４】
図２および表１に示したＧコードを例に挙げると、本実施形態において、印刷中断が発生したと仮定した時、不揮発性メモリ１０５によって保存された計数値がコラム数１０７６８のＧコードに対応する計数値１０７６８であると仮定する。つまり、この場合の第１印刷命令は、コラム数１０７６８のＧコードである。不揮発性メモリ１０５から読み出すことによって、コントローラ１０３は、コラム数１０７６８のＧコードを実行し始めた後に印刷中断が発生したことを知ることができる。コラム数１０７６８のＧコードを実行し始めた時の時間から印刷中断が発生した時の時間までの時間周期ｔｐ２（図示せず）が０．２５秒であり、コラム数１０７６８のＧコードに対応するプリントヘッドの移動速度が２０ｍｍ／秒であると仮定する。コラム数１０７６８のＧコードの開始位置は、コラム数１０７６７のＧコード（すなわち、第２印刷命令）に含まれる印刷位置に基づいて、点２０７であることがわかり、コラム数１０７６９のＧコードの開始位置は、コラム数１０７６８のＧコードの印刷命令に基づいて、点２０１であることがわかる。
【００３５】
2018158566.tif 000008
【００３６】
本発明の１つの実施形態において、３Ｄ印刷装置１００が印刷中断から再開した時、３Ｄ印刷装置１００のコントローラ１０３は、実行したＧコードを分析して、印刷中断が発生した時に実行されているＧコードのコラム数を迅速に見つけることができる。図２を例に挙げて、詳しく説明すると、コラム数１０７６９のＧコードが実行された時に、印刷中断が発生し、３Ｄ印刷装置１００がリセットされて印刷を再開した場合、所望のコラム数の特定のＧコードは、Ｇコードを直接検索することにより取得することができないため、コントローラ１０３は、第１コラムのＧコードから読み出しを開始し、不揮発性メモリ１０５に保存された計数値に対応する第１印刷命令（すなわち、コラム数１０７６９のＧコード）が読み出されるまで、不揮発性メモリ１０５に保存された計数値よりも少ないコラム数のＧコードを無視する。第１印刷命令が読み出される前、コントローラ１０３は、読み出しを行うだけで、第１印刷命令（コラム数１０７６９の前にあるＧコード）の前に実行された印刷命令を実行しない、つまり、プリントヘッドが対応して移動しないようにするため、それにより、印刷再開の手順を迅速化し、不要な電力消費を回避する。不揮発性メモリ１０５に保存された計数値に対応する第１印刷命令が読み出された後、コントローラ１０３は、第２印刷命令に含まれる印刷位置（本実施形態では、コラム数１０７６８のＧコードに含まれる印刷位置）に基づいて、正確な開始位置を取得することができる。その後、コントローラ１０３は、正確な開始位置、第１印刷命令（すなわち、コラム数１０７６９のＧコード）に対応するプリントヘッドの移動速度、第１印刷命令が実行された時の時間から印刷中断が発生した時の時間までの時間周期、および第１印刷命令（すなわち、コラム数１０７６９のＧコード）に含まれる印刷位置に基づいて、中断位置を計算することができる。
【００３７】
上述した実施形態のプロセスは、単にプリントヘッドの位置を計算するために使用される。このプロセスの間、３Ｄ印刷装置１００は、例えば、その中のコントローラ１０３を使用して、プリントヘッド１０１の正確な開始位置（第２印刷命令に含まれる印刷位置、つまり、本実施形態では、コラム数１０７６８のＧコードに含まれる印刷位置）を計算し、複数の実行された印刷命令が実行された後に第１印刷命令を実行することができる。第２印刷命令に含まれる印刷位置が計算した正確な開始位置と同じ時、コントローラ１０３は、正確な開始位置、第１印刷命令（すなわち、コラム数１０７６９のＧコード）に対応するプリントヘッドの移動速度、第１印刷命令が実行された時の時間から印刷中断が発生した時の時間までの時間周期、および第１印刷命令（すなわち、コラム数１０７６９のＧコード）に含まれる印刷位置に基づいて、中断位置を計算することができる。
【００３８】
図３は、本発明の１つの実施形態に係る印刷再開方法を示すフローチャートである。この方法は、３Ｄ印刷装置１００に適用される。ステップＳ３０１において、コントローラ１０３は、複数の印刷命令を順番に実行し、印刷を行うよう３Ｄ印刷装置１００のプリントヘッド１０１を制御するとともに、１つの印刷命令を実行した時に計数値を１つ追加することができる。ステップＳ３０３において、不揮発性メモリ１０５は、所定の周期に基づいて、計数値を周期的に記録することができる。ステップＳ３０１およびＳ３０３の順番は、ユーザーの要求に応じて調整可能であるため、本発明に限定されない。そして、ステップＳ３０５において、コントローラ１０３は、印刷中断が発生したかどうかを判断することができ、印刷中断が発生しなかった場合にはステップＳ３０１に戻り、そうでなければステップＳ３０７に進む。
【００３９】
ステップＳ３０７において、コントローラ１０３は、不揮発性メモリ１０５に保存された計数値を読み出すことにより、その計数値に対応する第１印刷命令を取得し、３Ｄ印刷装置１００が第１印刷命令を実行した時の時間から印刷中断が発生した時の時間までの時間周期ｔｐを取得する。その後、ステップＳ３０９において、コントローラ１０３は、第１印刷命令の実行時間長と第１印刷命令を実行し始めた時の時間から印刷中断が発生した時の時間までの時間周期を比較することによって、現在の計数値に対応する第１印刷命令が、印刷中断が発生した時に３Ｄ印刷装置１００によって実行されていた印刷命令であるかどうかを判断することができる。第１印刷命令が、印刷中断が発生した時に実行された印刷命令ではない場合、この方法は、ステップＳ３１１に進む。詳しく説明すると、コントローラ１０３は、現在の計数値に対応する第１印刷命令、第１印刷命令の前に実行された第２印刷命令、第１印刷命令を実行し始めた時の時間から印刷中断が発生した時の時間までの時間周期、および第１印刷命令に対応するプリントヘッドの移動速度に基づいて、中断が発生した時に３Ｄ印刷装置１００によって実行されていたＧコードを推定することができる。そして、ステップＳ３１１において、コントローラ１０３は、元の第１印刷命令の後に実行された印刷命令を新しい第１印刷命令として使用し、元の第１印刷命令を新しい第２印刷命令として使用し、３Ｄ印刷装置１００が元の第１印刷命令を実行した時の時間から印刷中断が発生した時の時間までの時間周期をステップＳ３０５において計算した実行時間長で差し引き、それを新しい第１印刷命令を実行し始めた時の時間から印刷中断が発生した時の時間までの新しい時間周期ｔｐとして使用することができる。そして、ステップＳ３０９を再度実行する。
【００４０】
ステップＳ３０９において、第１印刷命令が、印刷中断が発生した時に実行された印刷命令であるとコントローラ１０３が判断した場合、この方法は、ステップＳ３１３に進む。ステップＳ３１３において、コントローラ１０３は、第１印刷命令、第１印刷命令の前に実行された第２印刷命令、および時間周期に基づいて、印刷中断が発生した時の中断位置を計算することができる。詳しく説明すると、コントローラ１０３は、第１印刷命令に含まれる印刷位置および第２印刷命令に含まれる印刷位置に基づいて、変位ベクトルおよび変位ベクトルに対応する変位量を計算することができる。また、コントローラ１０３は、第１印刷命令に対応するプリントヘッドの移動速度および時間周期に基づいて、移動距離を計算することができる。最後に、コントローラ１０３は、第２印刷命令に含まれる印刷位置、変位ベクトル、変位量、および移動距離に基づいて、印刷中断が発生した時の中断位置を取得することができる。
【００４１】
ステップＳ３１３が終了した時、ステップＳ３１５において、コントローラ１０３は、第１印刷命令に基づいて、中断位置から印刷を再開することができる。
【００４２】
以上のように、本発明は、３Ｄ印刷装置に印刷中断が発生した後に、印刷中断が発生した時の中断位置を計算することのできる３Ｄ印刷装置およびその印刷再開方法を提供する。３Ｄ印刷装置が印刷を再開しようとする時、コントローラは、正確な中断位置に移動するようプリントヘッドを制御して、印刷中断が発生した時に終了していない印刷命令を引き続き完了させることができる。それにより、本発明の３Ｄ印刷装置は、印刷中断が発生した時に無停電電源（ＵＰＳ）をインストールしなくても、３Ｄ印刷を正確に再開することができる。言及すべきこととして、本発明が提供する印刷再開方法は、予期せぬ印刷中断が生じた際に適用することができるだけでなく、例えば、２つの異なる３Ｄ印刷装置を使用して３Ｄ印刷操作を完了させる場合にも適用することができる。例えば、ユーザーは、本発明が提供する印刷再開方法を使用して、異なる場所で異なる３Ｄ印刷装置を使用するが、同じ印刷符号集合（code set）を使用する３Ｄ印刷操作を継続して完了させることができる。印刷符号集合は、例えば、クラウド（cloud）方式により２つの３Ｄ印刷装置間で交換することができるが、本発明はこれに限定されない。
【００４３】
以上のごとく、この発明を実施形態により開示したが、もとより、この発明を限定するためのものではなく、当業者であれば容易に理解できるように、この発明の技術思想の範囲内において、適当な変更ならびに修正が当然なされうるものであるから、その特許権保護の範囲は、特許請求の範囲および、それと均等な領域を基準として定めなければならない。
【産業上の利用可能性】
【００４４】
本発明の３Ｄ印刷装置およびその印刷再開方法を３Ｄ印刷産業に適用することができる。
【符号の説明】
【００４５】
１００  ３Ｄ印刷装置
１０１  プリントヘッド
１０３  コントローラ
１０５  不揮発性メモリ
２００  印刷プラットフォーム
２０１  コラム数１０７６９のＧコードに含まれる印刷位置
２０３  コラム数１０７７０のＧコードに含まれる印刷位置
２０７  コラム数１０７６８のＧコードに含まれる印刷位置
２０５  中断位置
Ｄ  移動距離
ｔｐ、ｔｐ１  時間周期
ｘ  中断位置のＸ軸位置
ｙ  中断位置のＹ軸位置
2018158566.tif 000009
【図１】
2018158566.tif 000010
【図２】
2018158566.tif 000011
【図３】
2018158566.tif 000012
【外国語明細書】
2018158566000001.pdf