(57)【要約】      （修正有）【課題】造形時間を短縮するとともに材料の使用量を減少させることができるシステムや装置等の提供。【解決手段】造形装置１１が第１の造形データに基づき第１の造形物を造形している間に、第２の造形物の造形指示を受け付ける指示受付部３１と、造形装置１１から第１の造形物をどの程度造形したかを示す進捗情報を取得する情報取得部３２と、取得された進捗情報と第１の造形データと造形指示に含まれる第２の造形データとに基づき、第２の造形物を追加造形することが可能かを判断する追加造形判断部３３と、可能と判断された場合、第１の造形データと第２の造形データとを合成し、第１の造形物を引き続き造形するとともに第２の造形物を造形するための合成データを生成するデータ生成部３４と、生成された合成データを造形装置に送信するデータ送信部３５とを含む、三次元形状の造形物を造形する造形装置１１を制御する制御システム。【選択図】図３
2017039252.tif 000002
【特許請求の範囲】
【請求項１】
粉体材料からなる層を結合剤により結合して三次元形状の造形物を造形する造形装置を制御する制御システムであって、
前記造形装置が第１の造形データに基づき第１の造形物を造形している間に、第２の造形物の造形指示を受け付ける指示受付部と、
前記造形装置から前記第１の造形物をどの程度造形したかを示す進捗情報を取得する情報取得部と、
前記情報取得部により取得された前記進捗情報と、前記第１の造形データと、前記指示受付部が受け付けた前記造形指示に含まれる第２の造形データとに基づき、前記第２の造形物を追加造形することが可能か否かを判断する追加造形判断部と、
前記追加造形判断部により追加造形することが可能と判断された場合、前記第１の造形データと前記第２の造形データとを合成し、前記第１の造形物を引き続き造形するとともに前記第２の造形物を造形するための合成データを生成するデータ生成部と、
前記データ生成部により生成された前記合成データを前記造形装置に送信するデータ送信部とを含む、制御システム。
【請求項２】
前記造形装置が造形可能な最大造形領域の情報と、造形物間に確保すべき最小の間隔および前記造形装置と造形物との間に確保すべき最小の間隔の情報とを保持するデータ管理部と、
前記データ管理部が保持する前記情報および前記最小の間隔と、前記第１の造形データと、前記第２の造形データとを用い、前記第１の造形物と前記第２の造形物との間、前記第１の造形物と前記造形装置との間、前記第２の造形物と前記造形装置との間に確保すべき間隔の情報を生成する間隔情報生成部とを含み、
前記追加造形判断部は、前記間隔情報生成部により生成された前記確保すべき間隔を考慮して、前記第２の造形物を追加造形することが可能か否かを判断する、請求項１に記載の制御システム。
【請求項３】
前記データ送信部は、前記合成データとともに、前記造形装置に一括送信された各層の前記第１の造形データを各層の該合成データと置換させる命令を送信する、請求項１または２に記載の制御システム。
【請求項４】
前記データ送信部は、前記指示受付部が前記造形指示を受け付けたとき、前記第１の造形データに基づき造形処理を行う前記造形装置に対して該造形処理を一時停止させる命令を送信し、前記追加造形判断部の判断結果に応じて、前記合成データに基づき造形処理を実行させ、または前記第１の造形データに基づき造形処理を再開させる命令を送信する、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
前記情報取得部は、前記指示受付部が前記第２の造形データを受け付けたとき、前記造形装置が前記第１の造形データに基づき造形処理を実行している間に該造形装置から前記進捗情報を取得し、前記データ送信部は、前記進捗情報から前記合成データを送信するタイミングを判断し、判断したタイミングで該合成データを送信する、請求項１〜４のいずれか１項に記載の制御システム。
【請求項６】
前記データ送信部は、各層の前記第１の造形データを、一層形成する毎に送信し、前記データ生成部が前記合成データを生成した場合、残りの各層の前記第１の造形データに代えて、各層の前記合成データを、一層形成する毎に送信する、請求項１または２に記載の制御システム。
【請求項７】
粉体材料からなる層を結合剤により結合して三次元形状の造形物を造形する造形装置を制御する情報処理装置であって、
前記造形装置が第１の造形データに基づき第１の造形物を造形している間に、第２の造形物の造形指示を受け付ける指示受付部と、
前記造形装置から前記第１の造形物をどの程度造形したかを示す進捗情報を取得する情報取得部と、
前記情報取得部により取得された前記進捗情報と、前記第１の造形データと、前記指示受付部が受け付けた前記造形指示に含まれる第２の造形データとに基づき、前記第２の造形物を追加造形することが可能か否かを判断する追加造形判断部と、
前記追加造形判断部により追加造形することが可能と判断された場合、前記第１の造形データと前記第２の造形データとを合成し、前記第１の造形物を引き続き造形するとともに前記第２の造形物を造形するための合成データを生成するデータ生成部と、
前記データ生成部により生成された前記合成データを前記造形装置に送信するデータ送信部とを含む、情報処理装置。
【請求項８】
請求項７に記載の情報処理装置と、前記情報処理装置から送信された造形データに基づき、造形処理を行う造形装置とを含む、造形システム。
【請求項９】
粉体材料からなる層を結合剤により結合して三次元形状の造形物を造形する造形装置を制御する処理をコンピュータに実行させるためのプログラムであって、
前記造形装置が第１の造形データに基づき第１の造形物を造形している間に、第２の造形物の造形指示を受け付けるステップと、
前記造形装置から前記第１の造形物をどの程度造形したかを示す進捗情報を取得するステップと、
取得された前記進捗情報と、前記第１の造形データと、前記造形指示に含まれる第２の造形データとに基づき、前記第２の造形物を追加造形することが可能か否かを判断するステップと、
追加造形することが可能と判断された場合、前記第１の造形データと前記第２の造形データとを合成し、前記第１の造形物を引き続き造形するとともに前記第２の造形物を造形するための合成データを生成するステップと、
生成された前記合成データを前記造形装置に送信するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、造形物を造形する造形装置を制御する制御システム、情報処理装置、情報処理装置と造形装置とを含む造形システム、その制御をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
3Dプリンタ等の造形装置は、三次元CADプログラムを使用して作成された3Dデータに基づき、材料を積層していくことにより立体的な造形物を造形する。その作成する方式として、インクジェット方式、熱融解積層方式、粉末固着方式等がある。
【０００３】
形状が異なる複数の種類の造形物を造形する場合、１つずつ造形していては時間がかかり、その都度材料を積層するため、材料の使用量も多くなる。そこで、3Dデータにおいて、各造形物の配置や姿勢を調整し、その調整した3Dデータを3Dプリンタへ出力し、一度に複数の造形物を造形する技術が提案されている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、複数の造形物を一度に造形することはできるが、造形途中のジョブに対して、別の造形物のジョブ要求を受け付けても、そのジョブを追加することはできない。これでは、造形途中のジョブが終了した後に、別の造形物のジョブを開始しなければならず、造形時間がかかり、その分の材料も必要となる。
【０００５】
そこで、造形装置が造形物を作成中に別の造形物の造形を可能にし、造形時間を短縮するとともに材料の使用量を減少させることができる装置等の提供が望まれていた。
【課題を解決するための手段】
【０００６】
本発明は、上記課題に鑑み、粉体材料からなる層を結合剤により結合して三次元形状の造形物を造形する造形装置を制御する制御システムであって、造形装置が第１の造形データに基づき第１の造形物を造形している間に、第２の造形物の造形指示を受け付ける指示受付部と、造形装置から第１の造形物をどの程度造形したかを示す進捗情報を取得する情報取得部と、情報取得部により取得された進捗情報と、第１の造形データと、指示受付部が受け付けた造形指示に含まれる第２の造形データとに基づき、第２の造形物を追加造形することが可能か否かを判断する追加造形判断部と、追加造形判断部により追加造形することが可能と判断された場合、第１の造形データと第２の造形データとを合成し、第１の造形物を引き続き造形するとともに第２の造形物を造形するための合成データを生成するデータ生成部と、データ生成部により生成された合成データを造形装置に送信するデータ送信部とを含む、制御システムが提供される。
【発明の効果】
【０００７】
本発明によれば、造形装置が造形物を造形中に別の造形物の作成が可能となり、造形時間を短縮するとともに材料の使用量を減少させることができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置と造形装置とを含む造形システムの構成例を示した図。
【図２】情報処理装置のハードウェア構成を例示した図。
【図３】情報処理装置の機能ブロック図。
【図４】印刷条件の設定画面を例示した図。
【図５】BoundingCubeを説明する図。
【図６】BoundingCylinderを説明する図。
【図７】xmlで記述した造形条件を例示した図。
【図８】xmlで記述したオフセット情報を例示した図。
【図９】第１の造形物を造形するときの取るべき最小余白について説明する図。
【図１０】第２の造形物を造形するときの取るべき最小余白について説明する図。
【図１１】造形可能最大領域に第１の造形物のみを造形するときの第１の造形物の配置を例示した図。
【図１２】造形可能最大領域に第１の造形物を造形し、途中から第２の造形物を造形するときの第２の造形物の配置を例示した図。
【図１３】造形可能最大領域に第１の造形物を造形し、途中から第２の造形物を造形するときの第２の造形物の配置を例示した図。
【図１４】情報処理装置と造形装置との間で行われる第１の処理の流れを示したシーケンス図。
【図１５】情報処理装置と造形装置との間で行われる第２の処理の流れを示したシーケンス図。
【図１６】情報処理装置と造形装置との間で行われる第３の処理の流れを示したシーケンス図。
【図１７】情報処理装置と造形装置との間で行われる第４の処理の流れを示したシーケンス図。
【図１８】情報処理装置が行う処理の流れを示したフローチャート。
【発明を実施するための形態】
【０００９】
図１は、本実施形態の情報処理装置としてのPCと、造形物を造形する造形装置としての3Dプリンタとを含む造形システムの構成例を示した図である。図１に示す造形システムは、PC１０と3Dプリンタ１１とがネットワーク１２に接続され、PC１０から3Dプリンタ１１へネットワーク１２を介して造形データを送信する。3Dプリンタ１１は、造形データを受け取ると、その造形データに基づき、三次元形状の造形物を造形する。
【００１０】
PC１０は、用紙に画像を印刷する通常のプリンタの場合と同様、出力対象のデータを作成するためのアプリケーションと、3Dプリンタ１１を制御するためのプリンタドライバとを実装する。また、アプリケーションで作成したデータを、アプリケーションインタフェース(API)を通じてプリンタドライバが解釈可能な形式にして提供する仲介機能を提供するOSも実装する。プリンタドライバは、アプリケーションで作成された3Dデータを、OSを介して受け取り、3Dプリンタ１１で造形するために使用する造形データにレンダリングし、通信ポートを通じて3Dプリンタ１１に送信する。
【００１１】
3Dプリンタ１１は、三次元形状の造形物を造形する装置で、粉体材料と結合剤とを使用して造形物を造形する粉末固着方式の3Dプリンタである。この3Dプリンタ１１は、粉体材料からなる層を結合剤により結合して三次元形状の造形物を造形する。このため、3Dプリンタ１１は、ベース部に設置される造形槽、ベース部を基準として設定された所定の移動経路に沿って移動可能な結合剤付与装置、造形槽に粉体材料を補給する補給装置を含んで構成される。
【００１２】
ベース部は、3Dプリンタ１１が設置される水平な面を有する床や台等とされる。造形槽は、所定の容積を有する密閉された容器である。補給装置は、造形槽内に粉体材料を指定された厚さで、層状に供給する。結合剤付与装置は、層状に供給された粉体材料上から、その粉体材料の層の所定の箇所あるいは領域に結合剤を吐出して塗布する。
【００１３】
3Dプリンタ１１は、これらの装置により、粉体材料からなる層を形成し、造形データに基づき結合剤を塗布し、その上に再び粉体材料からなる層を形成し、押し固めることを繰り返すことで、三次元形状の造形物を造形する。
【００１４】
PC１０と3Dプリンタ１１との間の通信は、PC１０と3Dプリンタ１１との両方が備える通信ポートを使用して行われる。PC１０が備える通信ポートは、プリンタドライバから造形データを3Dプリンタ１１に送信するために、また、3Dプリンタ１１に対してプリンタの状態（ステータス）を問い合わせるコマンドを送信し、ステータス情報を取得するために使用される。また、この通信ポートは、造形処理を一時停止するコマンドを送信する際にも使用される。3Dプリンタ１１が備える通信ポートは、PC１０から造形データを受信し、上記のコマンドを受信し、上記のステータス情報を送信するために使用される。
【００１５】
図１に示すシステムは、ネットワーク１２に接続されたPC１０および3Dプリンタ１１のみで構成されているが、そのほか、ネットワーク１２に接続されたサーバ装置等を含んでいてもよい。サーバ装置を使用する場合、サーバ装置は、3Dプリンタ１１が造形物を造形するために必要な情報を記憶し、保持することができる。この場合、PC１０は、ユーザからの造形要求を受け付けた際、サーバ装置１３から必要な情報を取得し、その情報を使用して造形データを生成し、3Dプリンタ１１へ送信することができる。
【００１６】
造形物の造形に使用される粉体材料としては、造形物に応じて、フェノール樹脂等の熱硬化性樹脂の粉末、砂、石膏、金属粉等を使用することができる。結合剤としては、粉体同士を接着するためのエポキシ樹脂やウレタン樹脂等からなる接着剤を用いることができる。なお、粉体材料として石膏を用いる場合は、結合剤として水を用いることができる。これらは一例であり、造形物の造形に使用することができる材料であれば、これらの材料に限定されるものではない。また、粉体材料からなる層は、任意に設定した厚さで形成することができる。
【００１７】
図２は、PC１０のハードウェア構成を例示した図である。PC１０は、ハードウェアとして、CPU２０、ROM２１、RAM２２、HDD２３、通信I/F２４、入出力I/F２５、表示装置２６、入力装置２７を備える。CPU２０、ROM２１、RAM２２、HDD２３、通信I/F２４、入出力I/F２５は、バス２８に接続され、バス２８を介して互いにデータ等のやりとりを行う。
【００１８】
CPU２０は、PC１０全体の制御を行う。ROM２１は、PC１０を起動させるためのブートプログラム、表示装置２６や入力装置２７等の動作を制御するためのファームウェア等を格納する。RAM２２は、CPU２０が各種の処理を実行する際の作業領域を提供する。HDD２３は、上記のアプリケーション、プリンタドライバ、OS、各種のデータを格納する。
【００１９】
通信I/F２４は、PC１０をネットワーク１２に接続し、ネットワーク１２に接続された3Dプリンタ１１との通信を可能にする。入出力I/F２５は、表示装置２６や入力装置２７を接続し、情報の入力や造形物の3Dモデルの表示等を可能にする。表示装置２６は、CRT(Cathode Ray Tube)や液晶ディスプレイ等を用いることができ、入力装置２７は、マウスやキーボードを用いることができる。
【００２０】
PC１０は、そのほか、CD-ROMドライブやSDカードスロット等の外部記憶装置I/F、マイク等の音声入力装置、スピーカ等の音声出力装置等を備えていてもよい。HDD２３は、SSD(Solid State Drive)等であってもよい。
【００２１】
図３は、PC１０に実装されるプリンタドライバにより実現される機能を説明する機能ブロック図である。PC１０は、CPU２０がHDD２３からプリンタドライバを読み出し実行することで、各機能を実現するための機能部が構成される。機能部としては、指示受付部３１と、情報取得部３２と、追加造形判断部３３と、データ生成部３４と、データ送信部３５とを少なくとも含むことができる。図３では、これらの機能部のほか、さらに、描画処理部３６、データ管理部３７、間隔情報生成部３８、造形データ保存部３９を含んで構成されている。
【００２２】
ここでは、これらの機能部がプリンタドライバにより実現されることから、図３では、プリンタドライバ３０がこれらの機能部を含むものとして示している。また、プリンタドライバ３０へは、アプリケーションがOSを介して造形物のデータを含む印刷指示を与えることから、図３には、これらのアプリケーション４０およびOS４１も示されている。さらに、プリンタドライバ３０は、造形データを3Dプリンタに送信し、造形物の造形を実行させることから、図３には、3Dプリンタ１１も示されている。
【００２３】
指示受付部３１は、アプリケーション４０から造形物のデータおよび造形条件（印刷条件）を含む造形指示を、OS４１を介して受け付ける。造形物の3Dデータは、造形しようとする造形物の三次元形状データである。印刷条件は、後述するが、使用する粉体材料や結合剤の種類、粉体材料を積層する際の一回の層厚さ等の設定情報である。指示受付部３１は、印刷指示を受け付けると、描画処理部３６に3Dデータおよび印刷条件を渡す。
【００２４】
描画処理部３６は、受け取った3Dデータおよび印刷条件に基づき、描画処理（レンダリング）を行い、造形データを生成する。造形データは、例えば、粉体材料からなる層の上面を造形面とし、その造形面毎に結合剤を塗布する造形点のデータである。より具体的に説明すると、印刷条件で設定された解像度から、造形面をその解像度が示す複数の矩形領域に分割し、その１つの矩形領域を画素として扱い、結合剤を塗布する画素を特定するデータが、造形データである。描画処理部３６は、生成した造形データを、造形データ保存部３９に保存する。
【００２５】
印刷条件は、PC１０が備える表示装置２６に印刷条件設定UI（設定画面）として表示し、ユーザが入力装置２７を使用し、選択する等して設定される。設定画面は、例えば図４に示すような画面である。印刷条件は、モデル名、解像度、積層厚、使用する粉体材料の粉体名、使用する結合剤の結合剤名等を含む。モデル名は、3Dプリンタの機種毎に一意に決まる名称である。
【００２６】
ユーザが設定画面において設定する印刷条件は、上記のモデル名、解像度等であるが、アプリケーション４０は、作成する造形物の大きさを示すBoundingCubeあるいはBoundingCylinderのサイズ等を、印刷条件に含める。ここで、BoundingCube５０は、図５に示すように、六角柱の造形物５１の上下左右の各方向に最も突出した箇所が各面上に位置するように形成された直方体である。BoundingCylinder５２は、図６に示すように、六角柱の造形物５１の上下左右の各方向に最も突出した箇所が各面上に位置するように形成された円柱である。このため、印刷条件は、これらのサイズの情報として、直方体の幅、奥行き、高さの情報、円柱の半径もしくは直径、高さの情報を含む。
【００２７】
図７は、xml(Extensible Markup Language)で記述された印刷条件を例示した図である。この印刷条件では、BoundingCylinder５２に代えて、BoundingSphereが用いられている。BoundingSphereは、造形物の上下左右の各方向に最も突出した箇所が球面上に位置するように形成された球であり、印刷条件には、この球の半径あるいは直径の情報が含まれることになる。
【００２８】
再び図３を参照して、データ管理部３７は、粉体材料や結合剤等の補給品（サプライ）の特性データを保持し、管理する。具体的には、１つの造形物の隣に他の造形物を同時に造形する際に離間させる必要がある最小の間隔、造形槽の内壁と造形物との間に設ける必要がある最小の間隔等のデータを保持し、管理する。このような間隔の情報は、オフセット情報と呼ばれ、粉体材料と結合剤の組み合わせにより異なることから、これらの組み合わせ毎に管理される。オフセット情報は、例えば、図８に示すようなxmlで記述されたものとすることができる。図８では、オフセット情報は、造形物のサイズに応じた上記間隔の情報を含んでいる。
【００２９】
間隔情報生成部３８は、指示受付部３１が受け付けた印刷条件およびデータ管理部３７が管理するオフセット情報を使用して、最小余白の情報を生成する。この3Dプリンタ１１は、結合剤を用いて層状に結合していくため、１の造形物と、隣り合う造形物とを近づけ過ぎると、結合剤によりこれら２つの造形物がくっついてしまう。これら２つの造形物がくっつかない程度に離間させる最小の間隔が最小余白である。間隔情報生成部３８は、BoundingCube５０またはBoundingCylinder５２を水平方向（造形面のxy方向）に切断した断面を、矩形のBoundingBoxもしくは円形のBoundingCircleとする。そして、間隔情報生成部３８は、BoundingBoxまたはBoundingCircleにもたせる余白の最小幅を、最小余白の情報として生成する。
【００３０】
間隔情報生成部３８は、造形物間の最小余白のほか、3Dプリンタ１１が備える造形槽の内壁、底面、頂部と、造形物との間に設けるべき最小余白の情報も生成する。結合剤は液体であるため、造形物と造形槽との間の間隔が狭いと、造形物が造形槽にくっついてしまうからである。
【００３１】
ここで、造形物と最小余白について、図９および図１０を参照して説明する。図９は、造形物の１つを例示した図である。図９（ａ）は、造形物の側面図であり、図９（ｂ）は、その平面図である。造形物は、平坦な支持面、その支持面に対して垂直に延びる脚部、中央へ行くにつれて径が大きく、それを超えて上端に近づくにつれ、径が小さくなった液体を収容する開口および収容部を備えたカップ状の物体である。実際には各層が連続し、液体がこぼれない構造の物体であるが、ここでは単純化して輪もしくは円盤状の二次元造形を積み重ねた構成として示している。
【００３２】
図９（ａ）中、WO1は、3Dプリンタ１１で造形する際に造形物が有する最大幅で、この例では１つの矩形を、結合剤を塗布する点とし、８つ分の点であるから、最大幅が８となっている。HO1は、第１の造形物の高さ（層数）で、この例では２１層となっている。図９（ｂ）中、OYO1は、造形物の隣に配置する他の造形物との間に確保する必要がある最小余白、すなわち最小余白幅で、この例では２となっている。EYO1は、造形物が3Dプリンタ１１の造形領域の端、すなわち内壁に対して確保する必要がある最小余白で、この例では５となっている。図９（ａ）中、YBは、造形を開始するまでに粉体材料を敷いておく必要がある層数で、この例では５層となっている。１層目から結合剤を塗布して造形物を作成すると、造形槽の底へ結合剤が流れ、造形物が造形槽とくっつき、造形槽から造形物を回収する際、造形物が破損してしまう。これを防止するため、少なくとも何層かを敷き詰めておくYBを設けている。YTは、最後に硬化した層の後に粉体材料を積み重ねておく必要がある層で、この例では３層となっている。これも造形物の頂部が造形槽の頂部にくっつかないように設けられる層である。
【００３３】
図１０は、別の造形物を例示した図である。図１０（ａ）は、造形物の側面図であり、図１０（ｂ）は、その平面図である。造形物は、平坦な支持面、支持面に対して垂直に延びる脚部、上端に近づくにつれ、径が大きくなった液体を収容する開口および収容部を備えたカップ状の物体である。これも、実際には各層が連続し、液体を収容することができるものであるが、この例では単純化して輪もしくは円盤状の二次元造形を積み重ねた構成として示している。
【００３４】
この例では、WO2が、造形物が有する最大幅で、８となっている。HO1が、造形物の高さで、１６層となっている。OXO2は、造形物の隣に配置する他の造形物との間に確保する必要がある最小余白で、EYO2は、造形物が3Dプリンタ１１の造形領域の端に対して必要な最小余白で、それぞれ２、５となっている。また、YBは、最初の造形までに積み重ねておく層数で、YTは、造形物上に積み重ねておく必要がある層数で、それぞれ５、３となっている。
【００３５】
再び図３を参照して、データ管理部３７は、オフセット情報のほか、印刷条件として受け付けた造形面のxy方向の解像度や、造形槽で形成可能な最大造形総数（層数）や、情報取得部３２が取得したステータス情報も管理する。データ管理部３７が管理する造形面のxy方向の解像度や最大造形総数（層数）等の情報は、その解像度として、造形領域の幅ZHおよび奥行きZOを含み、最大造形総数として、最大層数ZLを含む。ステータス情報は、3Dプリンタ１１の現在の状態を示す情報で、例えば造形処理を行っておらず、待機中の「なし」、造形処理を実行中であることを示す「造形中」、「一時停止」、「停止」、「エラー」等とすることができる。ステータス情報は、進捗情報として、造形中に敷き詰めた粉体材料の現在の層数Nを含むことができる。
【００３６】
情報取得部３２は、追加の造形物の造形指示を、指示受付部３１が受け付けた際、あるいは任意のタイミングで3Dプリンタ１１に問い合わせ、上記のステータス情報を取得する。そして、情報取得部３２は、取得したステータス情報をデータ管理部３７に渡し、その管理を依頼する。
【００３７】
追加造形判断部３３は、情報取得部３２が取得したステータス情報に含まれる進捗情報と、現在造形中の第１の造形データと、追加造形として受け付けた第２の造形データとに基づき、第２の造形物を追加造形することが可能か否かを判断する。進捗情報からは、残りの層数が分かり、第１の造形データからは、残りの層数において作成すべき造形物の大きさやその位置が分かるので、どの程度の余白があるかを求めることができる。第２の造形データを用い、オフセット情報を参照して、その余白内に第２の造形物が配置できるか否かを判断することにより、追加造形することが可能か否かを判断することができる。なお、第１の造形物は１つに限られるものではなく、２以上であってもよく、第２の造形物も１つに限られるものではなく、２以上であってもよい。
【００３８】
追加造形判断部３３が追加造形可能と判断した場合、データ生成部３４が、第１の造形データと第２の造形データとを合成し、第１の造形物を引き続き造形するとともに第２の造形物を追加造形するための合成データを生成する。データ生成部３４は、生成した合成データを、造形データ保存部３９に保存することができる。合成データは、例えば次の層を形成するときから、3Dプリンタ１１に送信し、第１の造形物を引き続き造形するとともに第２の造形物の造形を開始することができる。したがって、当該次の層を形成するまでの間、造形データ保存部３９に保存することができる。データ送信部３５は、当該次の層の形成を開始する際に、造形データ保存部３９から読み出し、3Dプリンタ１１に送信することができる。
【００３９】
なお、合成データは、次の層を形成する前に3Dプリンタ１１に送信し、次の層からその合成データに基づき造形を行ってもよいし、さらに次の層を形成するときから合成データを使用するように、3Dプリンタ１１に送信するタイミングを調整してもよい。また、第１の造形物の造形が終了するのと同時に、第２の造形物の造形が終了するように所定の層を形成するときから合成データを使用するように、3Dプリンタ１１に送信するタイミングを調整してもよい。
【００４０】
実際に、図９に示す造形物を、造形槽の造形可能な最大造形領域に作成した場合の様子を、図１１に例示する。図１１（ａ）は、造形物の側面図であり、図１１（ｂ）は、その平面図である。YBが５であるから、造形槽の底から粉体材料の層が５層程敷き詰められ、６層目から造形物が造形される。この例では、１つの造形物のみを造形することから、予め設定された最大造形領域の中央に造形物が配置されるように造形される。ここでは中央に造形するように設定されているが、これに限られるものではなく、造形槽の端に近い位置に造形するように設定されていてもよい。
【００４１】
この最大造形領域に収まる形で造形するためには、YBが５層、YTが３層以上確保でき、さらにEYO1が最大造形領域に収まる必要があるが、図１１に示すように、いずれの条件も満たしているので、この造形物は造形可能である。
【００４２】
図９に示した造形物を第１の造形物とし、図１０に示した造形物を第２の造形物として、第１の造形物を造形している途中に、第２の造形物を追加造形する例について、図１２を参照して説明する。図１２（ａ）は、その側面図であり、図１２（ｂ）は、その平面図である。この例では、第１の造形物を１つ造形している途中に、第２の造形物の造形指示を受け付け、第２の造形物を４つ追加造形している。
【００４３】
第２の造形物を追加造形するためには、第２の造形物も、上記のYBが５層、YTが３層以上確保でき、さらにEYO2が最大造形領域に収まる必要がある。それに加えて、第１の造形物についてはOXO1が２、第２の造形物についてはOXO2が２以上離れていなければならない。
【００４４】
現在、第１の造形物の脚部を造形中である場合、図１２に示すような配置が可能であり、この配置では、上記の条件を満たしているので、第２の造形物を４つ追加造形することが可能である。したがって、追加造形判断部３３は、追加造形可能と判断し、データ生成部３４が合成データを生成し、データ送信部３５が、第１の造形物の脚部の造形が終了した後に、その合成データを送信することができる。これにより、3Dプリンタ１１は、第１の造形物を引き続き造形するとともに、４つの第２の造形物の造形を開始させ、図１２に示すような１つの第１の造形物と４つの第２の造形物とを一度に造形することができる。
【００４５】
図１２では、第２の造形物が追加造形することができる場合の例を示したが、図１３を参照して、第２の造形物が追加造形することができない場合についても説明する。この例では、第１の造形物の脚部の造形が終了し、その上の容器部を造形している途中に、追加造形の要求を受けている。このため、追加箇所のタイミングが遅く、YTが３層以上確保することができなくなっている。したがって、追加造形判断部３３は、追加造形が不可と判断し、データ生成部３４は合成データを生成しない。データ送信部３５は、全ての層に対する第１の造形データを最初に送信している場合は、何も送信せず、１層ずつ第１の造形データを送信している場合は、続きの第１の造形データを送信する。これにより、3Dプリンタ１１は、第１の造形物のみを造形する処理を行う。
【００４６】
3Dプリンタ１１は、粉体材料を１層敷き詰め、造形データに基づき目的の位置に結合剤を塗布し、次の粉体材料を１層敷き詰めるという動作を繰り返す。最初に全ての層の造形データを送信している場合は、各層を形成する際、プリンタドライバ３０からその都度指示を出し、各層を形成することができる。また、１層ずつ造形データを送信する場合は、造形データを送信する毎に、各層を形成することができる。したがって、最初に全ての層の造形データを送信している場合は、追加造形するタイミングで、合成データを送信し、合成データに置換させることで、その層の造形から合成データを使用して造形を行うことができる。また、１層ずつ造形データを送信する場合は、追加造形するタイミングで、合成データを送信することで、その層の造形から合成データを使用して造形を行うことができる。
【００４７】
PC１０と3Dプリンタ１１との間で行われる処理の詳細を、図１４〜図１７に示すシーケンス図を参照して説明する。PC１０が、アプリケーション/OSと、プリンタドライバとを備えるものとし、プリンタドライバが上記の各機能部を備え、各処理を実行するものとして説明する。
【００４８】
図１４を参照して、第１の造形物を造形するための第１の造形データを3Dプリンタ１１に一括送信し、途中で合成データを送信して、第１の造形物と第２の造形物とを同時に造形する処理について説明する。プリンタドライバは、アプリケーションからOSを介して造形指示を受け取ると、その造形指示からデータを取り出し、描画処理し、3Dプリンタ１１が造形に使用するデータ形式に変換して第１の造形データとして保存する。
【００４９】
このとき、プリンタドライバは、造形する場所、照射等により固める場所の情報とは別に、EYO1に基づき、第１の造形物と造形槽との間の間隔がEYO以上となるように配置する位置を決定する。決定した位置となるように第１の造形データを生成する。プリンタドライバは、所定のタイミングで、第１の造形データを、通信ポートを介して3Dプリンタ１１に送信する。この例では、全層を一括送信する。データやコマンド等の命令の送信は、上記のデータ送信部３５が行うことができる。3Dプリンタ１１は、第１の造形データを受信し、第１の造形データに基づき、第１の造形物の造形処理を実施する。
【００５０】
アプリケーションは、ユーザから第２の造形物の追加造形要求を受け付けると、第２の造形物の3Dデータおよび印刷条件を含む造形指示をプリンタドライバに送信する。プリンタドライバは、3Dプリンタ１１に対して現在行っている造形処理を一時停止するように指示する。一時停止は、一時停止コマンドを3Dプリンタ１１に送信することで指示することができる。3Dプリンタ１１は、この指示を受けて、現在実行している第１の造形物の造形処理を一時停止する。
【００５１】
3Dプリンタ１１は、造形処理を一時停止した後、どの程度造形が進んでいるかを示す進捗情報をステータス情報に含めてプリンタドライバに送信する。プリンタドライバは、その進捗情報から、追加造形を指示された第２の造形物の追加造形が可能か否かを判断する。この例では、追加造形が可能と判断し、合成データを生成する。プリンタドライバは、その合成データを3Dプリンタ１１に送信し、造形処理を再スタートしたときに使用する造形データからそれ以降の造形データを、合成データに置換する。したがって、3Dプリンタ１１は、それ以降、合成データに基づき造形処理を実行する。
【００５２】
3Dプリンタ１１は、造形処理が終了したところで、終了した旨をプリンタドライバに返し、プリンタドライバは、アプリケーションに第１の造形物および第２の造形物の造形が終了した旨をそれぞれ通知する。アプリケーションは、表示装置２６に第１の造形物および第２の造形物の造形が終了した旨を表示し、この造形処理を終了する。ここではこれで処理を終了しているが、第２の造形物をさらに造形する場合は、続いて第２の造形物のみを造形することができる。第２の造形物のみに限らず、第１および第２以外の第３の造形物を造形してもよいし、第２の造形物と第３の造形物とを同時に造形してもよい。また、第３の造形物は、第２の造形物を造形している間に追加造形してもよい。
【００５３】
図１５を参照して、第１の造形物を造形するための第１の造形データを3Dプリンタ１１に一括で送信し、途中で第２の造形物を追加造形しようとするが、追加造形することができない場合の処理について説明する。3Dプリンタ１１から進捗情報を受けるところまでは、図１４に示した処理と同様である。プリンタドライバは、その進捗情報から、残りの造形領域で第２の造形物の追加造形が可能か否かを判断する。
【００５４】
この例では、図１３に示したように第２の造形物を追加造形することができないので、プリンタドライバは、追加造形不可と判断する。そして、プリンタドライバは、一時停止した第１の造形物の造形を再スタートさせるコマンドを3Dプリンタ１１に送信し、再スタートを指示する。したがって、追加造形判断部３３の判断結果に応じて、上記の合成データに基づき造形処理を実行させ、または第１の造形データに基づき造形処理を再開させる。また、プリンタドライバは、第２の造形物の造形が不可である旨をアプリケーションに通知する。アプリケーションは、表示装置２６に第２の造形物を追加造形できない旨を表示する。
【００５５】
3Dプリンタ１１は、再スタートの指示を受けて、第１の造形物の造形を再開し、第１の造形物の造形が終了すると、終了した旨をプリンタドライバに通知する。プリンタドライバは、その通知を受け取り、さらにアプリケーションにその旨を通知する。アプリケーションは、表示装置２６に第１の造形物の造形が終了した旨を表示し、この造形処理を終了する。
【００５６】
図１４に示す例では、第２の造形物の追加造形要求を受け付けた場合、その時点で実行していた第１の造形物の造形を一時停止していた。しかしながら、一時停止すると、造形処理に時間がかかることから、一時停止せずに追加造形を実施できることが望ましい。図１６を参照して、第１の造形物の造形を一時停止せずに第２の造形物を追加造形する処理について説明する。
【００５７】
3Dプリンタ１１が第１の造形データをプリンタドライバから受信し、第１の造形データに基づき、第１の造形物を造形するところまでは、図１４および図１５に示す例と同様である。アプリケーションは、ユーザから第２の造形物の追加造形要求を受け付けると、第２の造形物の3Dデータおよび印刷条件を含む造形指示をプリンタドライバに送信する。プリンタドライバは、3Dプリンタ１１のステータスを問い合わせるために、3Dプリンタ１１に対してQUERY STATUSコマンドを送信する。3Dプリンタ１１は、その問い合わせに対する回答として、進捗情報をステータス情報に含めて返信する。このとき、3Dプリンタ１１は、第１の造形物の造形処理を継続中である。
【００５８】
プリンタドライバは、残りの造形領域に第２の造形物を、追加造形可能か否かを判断する。追加造形できる場合、次の粉体材料からなる層に結合剤を塗布する位置を定めた合成データを生成し、合成データに置換するように指示するコマンドとともに3Dプリンタ１１に送信する。
【００５９】
3Dプリンタ１１は、そのコマンドを受信すると、置換する合成データがまだ造形を開始していない層以降であることを確認し、一括して送信された第１の造形データを合成データと置換する。そして、3Dプリンタ１１は、置換した合成データを使用し、第１の造形物の造形を引き続き実施するとともに、第２の造形物の造形を開始する。3Dプリンタ１１は、第１の造形物および第２の造形物の造形が終了し、YTの層数だけ粉体材料からなる層を敷き詰めたところで、造形処理が終了した旨の通知を、プリンタドライバに対して送信する。
【００６０】
プリンタドライバは、アプリケーションに造形が終了した旨を通知する。アプリケーションは、表示装置２６に第１の造形物および第２の造形物の造形が終了した旨を表示し、この造形処理を終了する。
【００６１】
これまでは第１の造形データを一括で3Dプリンタ１１に送信していたが、一括で送信する必要はなく、各層の第１の造形データを１つずつ送信してもよい。すなわち、第１の造形データを一層形成するごとに送信してもよい。図１７は、第１の造形データを層毎に3Dプリンタ１１に送信する場合の処理を示したシーケンス図である。この例では、プリンタドライバは、一層毎に第１の造形データを3Dプリンタ１１に送信する。
【００６２】
アプリケーションは、ユーザから第２の造形物の追加造形要求を受け付けると、第２の造形物の3Dデータおよび印刷条件を含む造形指示をプリンタドライバに送信する。プリンタドライバは、次の層以降で第２の造形物を、追加造形可能か否かを判断し、可能である場合、合成データを生成する。そして、プリンタドライバは、次の層の造形データとして合成データを送信する。
【００６３】
3Dプリンタ１１は、受信した合成データに基づき、第１の造形物の造形を引き続き行い、第２の造形物の造形を開始する。それ以降、プリンタドライバは、１層ずつ合成データを3Dプリンタ１１に送信し、3Dプリンタ１１は、受信した合成データに基づき、一層ずつ第１の造形物および第２の造形物を造形する。第１の造形物または第２の造形物の造形が終了したところで、残りの第２の造形物または第１の造形物のみを造形する第２の造形データまたは第１の造形データを3Dプリンタ１１に送信する。これにより、残りの第２の造形物または第１の造形物を造形する。この造形が終了し、YTの層数だけ粉体材料からなる層を形成したところで、造形処理が終了した旨の通知を、プリンタドライバに対して送信する。
【００６４】
プリンタドライバは、アプリケーションに造形が終了した旨を通知する。アプリケーションは、表示装置２６に第１の造形物および第２の造形物の造形が終了した旨を表示し、この造形処理を終了する。
【００６５】
第１の造形データを3Dプリンタ１１に一括送信し、第１の造形物の造形を一時停止せずに第２の造形物を追加造形しようとする場合でも、粉体材料の層を形成するのに時間がかかるため、合成データに置換する時間を充分に確保できる。また、粉体材料の層を形成し終わる直前に合成データが送信された場合であっても、置換指示を受け、置換した後に合成データに基づき結合剤を所定位置に塗布するので、第１の造形物および第２の造形物を造形することができる。
【００６６】
置換指示を受け、置換する処理を行うCPUと、造形データに基づき行われる造形を制御するCPUの２つで独立に実行する構成の場合、追加造形できると判断し、合成データを送信したが、置換が間に合わず、第１の造形データに基づき造形処理を行ってしまうことがある。間に合わないことが分かれば、第１の造形物のみを造形し、その終了後、第２の造形物を別個に造形する方法を採用することができる。しかしながら、上記の場合、合成データが送信されてしまっているので、追加造形されてしまい、第１の造形物も、第２の造形物も所望するものが造形できず、無駄になる場合がある。
【００６７】
そこで、3Dプリンタ１１から進捗情報を含むステータス情報を取得し、その進捗情報から送信するタイミングを判断し、判断したタイミングで送信することができる。送信するタイミングは、第２の造形物を追加造形できるか否かを判断し、合成データを送信し、置換が完了するまでの時間を考慮して決定することができる。なお、このタイミングは、所定の余裕を見て決定することができる。
【００６８】
プリンタドライバで実行される処理は、上記の各機能部で説明した通りであるが、その処理の流れを、図１８に示すフローチャートを参照して簡単に説明する。ステップ１８００から処理を開始し、ステップ１８０５では、指示受付部３１が、第１の造形物の造形指示を受け付ける。描画処理部３６が描画処理を行い、造形データ保存部３９に保存する。ステップ１８１０では、データ送信部３５が、造形データ保存部３９から取りだし、3Dプリンタ１１に送信する。これにより、3Dプリンタ１１は、第１の造形データに基づき、造形処理を実行する。
【００６９】
ステップ１８１５では、指示受付部３１が、第２の造形物の造形指示を受け付ける。ステップ１８２０では、データ送信部３５が、一時停止コマンドを送信し、第１の造形物の造形を一時停止させる。ステップ１８２５では、情報取得部３２が、3Dプリンタ１１から進捗情報を取得する。ステップ１８３０では、追加造形判断部３３が、進捗情報、第１の造形データ、第２の造形データに基づき、追加造形が可能かどうかを判断する。
【００７０】
追加造形可能な場合、ステップ１８３５へ進み、データ生成部３４が、第１の造形データと第２の造形データを合成し、合成データを生成する。ステップ１８４０では、その合成データを3Dプリンタ１１に送信する。一方、追加造形不可の場合、ステップ１８４５へ進み、第１の造形物の造形を再開させる。
【００７１】
ステップ１８５０では、3Dプリンタ１１から造形終了の通知を受け、ステップ１８５５で、アプリケーションに対して造形処理が終了した旨を通知する。この通知が終了したところで、ステップ１８６０へ進み、プリンタドライバによる処理を終了する。
【００７２】
これまで、プリンタドライバを実装したPCを情報処理装置とし、そのPCと3Dプリンタとを含むシステムを造形システムとして説明してきた。プリンタドライバが実装される機器は、情報処理装置だけに限定されるものではなく、２以上の機器により実現されてもよい。このため、プリンタドライバにより実現される処理を実行する制御システムとして提供することも可能である。
【００７３】
このような制御システム、情報処理装置、造形システム、プリンタドライバといったプログラムを提供することで、造形装置が造形物を造形中に別の造形物の作成が可能となり、これにより、造形時間を短縮するとともに材料の使用量を減少させることができる。
【００７４】
これまで本発明を、制御システム、情報処理装置、造形システムおよびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００７５】
したがって、情報処理装置と造形装置とを含む造形物作成システム、情報処理装置が行う情報処理方法、上記プログラムが記録された記録媒体、上記プログラムを提供する外部機器等も提供することができるものである。
【符号の説明】
【００７６】
１０…PC、１１…３Dプリンタ、１２…ネットワーク、１３…サーバ装置、２０…CPU、２１…ROM、２２…RAM、２３…HDD、２４…通信I/F、２５…入出力I/F、２６…表示装置、２７…入力装置、２８…バス、３０…プリンタドライバ、３１…指示受付部、３２…情報取得部、３３…追加造形判断部、３４…データ生成部、３５…データ送信部、３６…描画処理部、３７…データ管理部、３８…間隔情報生成部、３９…造形データ保存部、４０…アプリケーション、４１…OS、５０…BoundingCube、５１…造形物、５２…BoundingCylinder 
【先行技術文献】
【特許文献】
【００７７】
【特許文献１】特開２０１２−９６４２６号公報
【図１】
2017039252.tif 000003
【図２】
2017039252.tif 000004
【図３】
2017039252.tif 000005
【図４】
2017039252.tif 000006
【図５】
2017039252.tif 000007
【図６】
2017039252.tif 000008
【図７】
2017039252.tif 000009
【図８】
2017039252.tif 000010
【図９】
2017039252.tif 000011
【図１０】
2017039252.tif 000012
【図１１】
2017039252.tif 000013
【図１２】
2017039252.tif 000014
【図１３】
2017039252.tif 000015
【図１４】
2017039252.tif 000016
【図１５】
2017039252.tif 000017
【図１６】
2017039252.tif 000018
【図１７】
2017039252.tif 000019
【図１８】
2017039252.tif 000020