(57)【要約】【課題】  プログラム、情報処理装置、制御方法および造形装置を提供すること。【解決手段】  本プログラム２１４は、造形装置１５０を制御するためのプログラムである。本プログラム２１４は、コンピュータ１１０を、三次元形状の断面画像列での複数の画像が一致するか否かを判定する判定手段２２０、判定手段２２０により一致すると判定された画像の層数を計数する計数手段２２２、造形装置１４５０に対し、判定手段２２０により一致すると判定された画像の画像データを送信する画像送信手段２２６、および、造形装置１５０に対し、計数手段２２０により計数された層数分の画像データによる造形処理を要求する、層厚情報を指定した指令を送信する指令送信手段２２４として機能させる。【選択図】  図４
2017094586.tif 000002
【特許請求の範囲】
【請求項１】
造形装置を制御するためのプログラムであって、コンピュータを、
三次元形状の断面画像列での複数の画像が一致するか否かを判定する判定手段、
前記判定手段により一致すると判定された画像の層数を計数する計数手段、
前記造形装置に対し、前記判定手段により一致すると判定された画像の画像データを送信する画像送信手段、および
前記造形装置に対し、前記計数手段により計数された層数分の前記画像データによる造形処理を要求する、層厚情報を指定した指令を送信する指令送信手段
として機能させるためのプログラム。
【請求項２】
前記層厚情報は、層数、繰り返し数、単一層の厚みおよび滴量の階調またはこれらの少なくとも１つの指定を含み、前記造形装置が前記層厚情報に基づく造形処理を行う機能を備えている場合には、前記指令送信手段は、前記画像データに関連付けて、前記層厚情報を指定した指令を送信する、請求項１に記載のプログラム。
【請求項３】
前記層厚情報は、少なくとも滴量の階調の指定を含み、前記プログラムは、コンピュータを、
前記計数手段により計数された層数を充足する、それぞれ指定可能な階調の中からの階調および層数を含む１以上の組み合わせを計算する計算手段
としてさらに機能させる、請求項１または２に記載のプログラム。
【請求項４】
前記造形装置が前記層厚情報に基づく造形処理に対応していない場合に、前記指令送信手段による前記層厚情報を指定した指令を送信することに代えて、前記画像送信手段が、前記画像データの送信を、前記計数手段により計数された層数分繰り返す、請求項１〜３のいずれか１項に記載のプログラム。
【請求項５】
前記画像送信手段は、前記画像データを送信して前記造形装置に前記画像データを登録する手段であり、前記指令送信手段は、登録された前記画像データを指定した前記層厚情報を指定した指令を送信する手段である、請求項１〜４のいずれか１項に記載のプログラム。
【請求項６】
前記断面画像列での第１の画像を保存する保存手段、および
前記断面画像列での前記第１の画像に後続する第２の画像と、前記保存手段により保存された前記第１の画像とを比較する比較手段
としてさらに機能させ、
前記判定手段により一致すると判定された場合には、前記計数手段は、層数を増加させ、前記判定手段により一致しないと判定された場合には、前記指令送信手段は、前記第１の画像の画像データの前または後に、計数された層数にて前記層厚情報を指定した指令を送信する、請求項１〜５のいずれか１項に記載のプログラム。
【請求項７】
前記造形装置は、前記画像データおよび前記層厚情報に基づいて、前記計数手段により計数された層数分の造形処理を実行する機能を備える、請求項１〜６のいずれか１項に記載のプログラム。
【請求項８】
前記プログラムは、三次元モデリングソフトウェアのコンポーネントまたはデバイスドライバとして提供される、請求項１〜７のいずれか１項に記載のプログラム。
【請求項９】
造形装置を制御するための情報処理装置であって、
三次元形状の断面画像列での複数の画像が一致するか否かを判定する判定手段と、
前記判定手段により一致すると判定された画像の層数を計数する計数手段と、
前記造形装置に対し、前記判定手段により一致すると判定された画像の画像データを送信する画像送信手段と、
前記造形装置に対し、前記計数手段により計数された層数分の前記画像データによる造形処理を要求する、層厚情報を指定した指令を送信する指令送信手段と
を含む、情報処理装置。
【請求項１０】
造形装置を制御する制御方法であって、前記造形装置に接続されたコンピュータが、
三次元形状の断面画像列での複数の画像が一致するか否かを判定するステップと、
前記判定するステップで一致すると判定された画像の層数を計数するステップと、
前記造形装置に対し、前記判定するステップで一致すると判定された画像の画像データを送信するステップと、
前記画像データを送信するステップと同時に、該ステップの前に、または該ステップの後に、前記造形装置に対し、前記計数するステップで計数された層数分の前記画像データによる造形処理を要求する、層厚情報を指定した指令を送信するステップと
を実行する、制御方法。
【請求項１１】
コンピュータと通信可能であり、コンピュータ上で動作するプログラムからのデータを受信して、三次元形状を造形する造形装置であって、
前記コンピュータ上の前記プログラムから、前記三次元形状の断面画像列を構成する画像の画像データを含む造形用データを受信する受信手段と、
前記コンピュータ上の前記プログラムから受信した前記造形用データ中に、画像データによる複数層分の造形処理を要求する、層厚情報が指定された指令が含まれるか否かを解釈する解釈手段と、
前記層厚情報が指定された指令が含まれる場合に、該指令で指定される層厚情報に基づいて層厚設定を行う設定手段と、
前記層厚設定に基づいて、前記複数層分の造形処理が要求された画像データを用いた造形処理を実行する造形処理手段と
を含む、造形装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置、制御方法および造形装置に関する。
【背景技術】
【０００２】
従来、三次元モデリング・アプリケーションで作成した三次元モデルを３Ｄ（3 Dimensional）プリンタなどの造形装置を制御して印刷する技術が知られている。また、アプリケーションから造形装置に造形用データを送信する際に、三次元モデルを水平方向に複数の層に切り分けて断面画像データを構成し、送信する断面画像データを動画データ圧縮時の各フレームとみなして圧縮符号化する技術が知られている。
【０００３】
例えば、特開２０１４‐１５６１２０号公報（特許文献１）は、複数層を積み重ねることにより造形を行う層を表したスライスデータを複数のフレームとみなして、動画として圧縮符号化する技術を開示する。
【０００４】
しかしながら、上記特許文献１の従来技術では、どのような三次元モデルであっても、断面毎にデータを作成し、全てのフレームのデータを送信する必要があり、全てのスライスデータ毎に処理を行う必要があった。このため、通信データの削減量には限界があった。特に、三次元モデルに同一形状が連続する部分を有しており、複数面で同一の断面が連続するような造形用データの場合でも、全てのフレーム毎に処理を行う必要があるため、効率化の観点から充分なものではなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記従来技術に鑑みてなされたものであり、本発明は、複数面で一致する画像が使用されるような三次元形状を造形処理する際に造形装置との間でやり取りされる情報量を削減することが可能なプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明では、上記課題を解決するために、下記特徴を有する、造形装置を制御するためのプログラムを提供する。本プログラムは、コンピュータを、三次元形状の断面画像列での複数の画像が一致するか否かを判定する判定手段、上記判定手段により一致すると判定された画像の層数を計数する計数手段、造形装置に対し、上記判定手段により一致すると判定された画像の画像データを送信する画像送信手段、および、造形装置に対し、上記計数手段により計数された層数分の画像データによる造形処理を要求する、層厚情報を指定した指令を送信する指令送信手段として機能させる。
【発明の効果】
【０００７】
上記構成により、複数面で一致する画像が使用されるような三次元形状を造形処理する際に造形装置との間でやり取りされる情報量を削減することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態による三次元造形システムを示す概略構成図。
【図２】本実施形態によるホスト・コンピュータのハードウェア構成図。
【図３】本実施形態による三次元造形装置のハードウェア構成図。
【図４】本実施形態による（Ａ）ホスト・コンピュータ上の機能構成および（Ｂ）三次元造形装置の機能構成を示す図。
【図５】本実施形態によるホスト・コンピュータが実行する、三次元造形装置を制御する処理を示すフローチャート。
【図６】例示的な（Ａ）三次元形状モデルおよび（Ｂ，Ｃ）三次元形状モデルの各部分と各部分に対応する断面画像データとを説明する図。
【図７】本実施形態によるホスト・コンピュータが三次元造形装置に送信する層厚指定コマンドを含む例示的な造形用データの概略を説明する図。
【図８】層厚指定コマンドを含まない場合の例示的な造形用データの概略を説明する図。
【図９】層厚指定コマンドを含まず、フレーム間圧縮が行われる場合の例示的な造形用データの概略を説明する図。
【図１０】別の実施形態によるホスト・コンピュータが実行する三次元造形装置を制御する処理における滴量指定コマンド送信にかかる処理の詳細を示すフローチャート。
【図１１】図１０に示した実施形態によるホスト・コンピュータが三次元造形装置に送信する層厚指定コマンドを含む例示的な造形用データの概略を説明する図。
【発明を実施するための形態】
【０００９】
以下、本実施形態について説明するが、本実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下の説明では、造形装置を制御するためのプログラムおよび情報処理装置として、三次元造形装置を制御するための三次元プリンタドライバ、および、該三次元プリンタドライバを動作させるホスト・コンピュータを一例として説明する。
【００１０】
図１は、本実施形態による三次元造形システム１００の概略構成を示す図である。図１に示すように、三次元造形システム１００は、ネットワーク１０２を介して相互に接続される、ホスト・コンピュータ１１０と、三次元造形装置１５０とを含み構成される。ホスト・コンピュータ１１０は、パーソナル・コンピュータ、ワークステーションなどの汎用コンピュータ、タブレット・コンピュータなどの携帯情報端末などとして構成される。
【００１１】
三次元造形装置１５０は、三次元のオブジェクトを造形処理する造形装置である。三次元造形装置１５０としては、バインダージェッティング法、マテリアルジェッティング法、熱溶融積層（ＦＤＭ：Fused Deposition Modeling）法、粉末焼結堆積造形（ＳＬＳ：Selective Laser Sintering）法、光造形（ＳＬＡ：Stereo-Lithography Apparatus）法などのこれまで知られた如何なる方式に基づく造形装置を挙げることができる。
【００１２】
ネットワーク１０２は、例示的には、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）プロトコルスタックによる有線や無線のＬＡＮ（Local Area Network）などとして構成されるが、特に限定されるものではない。ＬＡＮなどに代えて、例えばＵＳＢ（Universal Serial Bus）などのケーブルを介して、ホスト・コンピュータ１１０と三次元造形装置１５０とが接続されてもよい。
【００１３】
ホスト・コンピュータ１１０は、本実施形態による三次元プリンタドライバを動作させており、三次元造形装置１５０に対し、造形処理の実行指令（以下、印刷指令と参照する。）とともに造形用データを送信することにより、三次元造形装置１５０に所望の造形処理を行わせる。
【００１４】
以下、図２を参照しながら、本実施形態におけるホスト・コンピュータ１１０のハードウェア構成について説明する。ホスト・コンピュータ１１０は、典型的には、汎用コンピュータ装置として構成される。図２は、本実施形態による汎用コンピュータ装置のハードウェア構成を示す図である。
【００１５】
汎用コンピュータ装置１１０は、デスクトップ型やラップトップ型のパーソナル・コンピュータやワークステーションなどとして構成されている。汎用コンピュータ装置１１０のボード上には、ＣＰＵ（Central Processing Unit）１２と、ＣＰＵ１２とメモリとの接続を担うノースブリッジ１４と、サウスブリッジ１６とが含まれる。サウスブリッジ１６は、上記ノースブリッジ１４と専用バスまたはＰＣＩバスを介して接続され、ＰＣＩバスやＵＳＢなどのＩ／Ｏとの接続を担う。
【００１６】
ノースブリッジ１４には、ＣＰＵ１２の作業領域を提供するＲＡＭ（Random Access Memory）１８と、映像信号を出力するグラフィックボード２０とが接続される。グラフィックボード２０には、映像出力インタフェースを介してディスプレイ４０に接続される。
【００１７】
サウスブリッジ１６には、ＰＣＩ（Peripheral Component Interconnect）２２、ＬＡＮポート２４、ＩＥＥＥ（The Institute of Electrical and Electronics Engineers, Inc.）１３９４ポート２６、ＵＳＢポート２８、補助記憶装置３０、オーディオ入出力３２およびシリアルポート３４が接続される。補助記憶装置３０は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などであり、汎用コンピュータ装置１１０を制御するためのＯＳ（Operating System）、三次元プリンタドライバのプログラムや各種システム情報や各種設定情報を格納する。ＬＡＮポート２４は、汎用コンピュータ装置１１０を有線および無線でネットワークに接続させるインタフェース機器である。ＵＳＢポート２８には、キーボード４２およびマウス４４などの入力装置が接続され、操作者からの各種指示の入力を受け付けるためのユーザ・インタフェースを提供する。説明する実施形態では、汎用コンピュータ装置１１０は、ＬＡＮポート２４を介して、三次元造形装置１５０と接続されるものとして説明するが、他の実施形態では、ＵＳＢポート２８などを介して、三次元造形装置１５０と接続されていてもよい。
【００１８】
本実施形態による汎用コンピュータ装置１１０は、補助記憶装置３０からプログラムを読み出し、ＲＡＭ１８が提供する作業空間に展開する。これにより、ＣＰＵ１２の制御の下、後述する各機能部および各処理を実現する。
【００１９】
以下、図３を参照して、三次元造形装置１５０のハードウェア構成について説明する。図３は、例示的な実施形態による三次元造形装置１５０のハードウェア構成を示す。三次元造形装置１５０は、コントローラ５２と、オペレーションパネル８２と、三次元造形エンジン８４とを含み構成される。コントローラ５２は、ＣＰＵ５４と、ＮＢ（ノースブリッジ）５８と、ＮＢ５８を介してＣＰＵ５４と接続するＡＳＩＣ６０と、システムメモリ５６とを含み構成される。システムメモリ５６は、描画用メモリなどとして用いられる。オペレーションパネル８２は、コントローラ５２のＡＳＩＣ６０と接続され、オペレータからの各種指示の入力を受付けや、画面表示を行なうためのユーザ・インタフェースを提供する。
【００２０】
ＡＳＩＣ６０は、ローカルメモリ６２と、ハードディスクドライブ６４と、フラッシュメモリなどの不揮発性メモリ（以下、ＮＶ−ＲＡＭとして参照する。）６６と接続する。ローカルメモリ６２は、画像バッファや符号バッファとして用いられ、ＨＤＤ６４は、画像データやプログラムなどを蓄積するストレージである。ＮＶ−ＲＡＭ６６は、三次元造形装置１５０を制御するための制御プログラムや各種システム情報や各種設定情報を格納する。
【００２１】
コントローラ５２は、さらにＳＢ（サウスブリッジ）６８と、ＮＩＣ（ネットワーク・インタフェース・カード）７０と、ＳＤ（Secure Digital）カード・スロット７２と、ＵＳＢインタフェース７４と、ＩＥＥＥ１３９４インタフェース７６と、セントロニクス・インタフェース７８とを含み構成され、これらはＰＣＩバスを介してＮＢ５８と接続される。ＳＢ６８は、図示しないＲＯＭやＰＣＩバス周辺デバイスなどとＮＢ５８とを接続するためのブリッジである。ＮＩＣ７０は、三次元造形装置１５０をＬＡＮなどのネットワークに接続するインタフェース機器であり、ネットワークを介した指令を受付けている。ＳＤカード・スロット７２は、図示しないＳＤカードを着脱可能に装着する。ＵＳＢインタフェース７４、ＩＥＥＥ１３９４インタフェース７６およびセントロニクス・インタフェース７８は、それぞれの規格に準じたインタフェースである。
【００２２】
三次元造形エンジン８４は、コントローラ５２からの造形処理の実行指令に応答して、ホスト・コンピュータ１１０からの造形用データに基づき造形処理を実行する。特定の実施形態において、三次元造形エンジン８４は、造形槽８６と、粉体補給装置８８と、結合剤付与装置９０と、紫外線照射装置９２とを含み構成される。
【００２３】
粉体補給装置８８は、石膏パウダーや樹脂パウダーなの粉体材料を造形槽８６に補給する装置である。結合剤付与装置９０は、設定された移動経路に沿って移動可能に構成されたインクジェットヘッドを備え、所定の位置を基準として結合剤を付与する装置である。結合剤は、特に限定されるものではないが、例えば紫外線硬化型の接着剤を挙げることができる。紫外線照射装置９２は、紫外線を照射し、結合剤付与装置９０により塗布された結合剤を硬化させる。なお、説明する実施形態では、結合剤を噴射して粉体を一層ずつ固めることにより造形するバインダージェッティング方式の三次元造形装置について説明したが、これに限定されるものではなく、採用する方式に応じて適切な装置、機構やモジュールを備えればよい。
【００２４】
本実施形態による三次元造形装置１５０は、ハードディスクドライブ６４やＮＶ−ＲＡＭ６６から制御プログラムを読み出し、システムメモリ５６やローカルメモリ６２が提供する作業空間に展開する。これにより、ＣＰＵ５４の制御の下、後述する各機能部および各処理を実現する。
【００２５】
図４（Ａ）は、本実施形態におけるホスト・コンピュータ１１０上の機能構成を示すブロック図である。図４（Ａ）には、ホスト・コンピュータ１１０上の機能ブロック２１０として、三次元モデリング・アプリケーション・ソフトウェア（以下、単にアプリケーションと参照する。）２１２と、三次元プリンタドライバ２１４と、ポート２３０とが示されている。アプリケーション２１２は、３ＤＣＡＤ（3D Computer Aided Design）や３ＤＣＧ（3D Computer Graphics）などの三次元モデルを作成するためのアプリケーションである。三次元プリンタドライバ２１４は、本実施形態によるプログラムが提供する、三次元造形装置１５０を制御するためのドライバソフトウェアである。これらのアプリケーション２１２および三次元プリンタドライバ２１４が、ホスト・コンピュータ１１０にインストールされている。
【００２６】
アプリケーション２１２は、ユーザ操作に応答して、本実施形態による三次元プリンタドライバ２１４が提供する印刷設定用のユーザ・インタフェースを呼び出すことができる。また、アプリケーション２１２は、ユーザ操作に応答して、行われた印刷設定に基づく印刷要求を三次元プリンタドライバ２１４に発行することができる。三次元プリンタドライバ２１４は、アプリケーション２１２からの印刷要求に応答して、アプリケーション２１２から渡されるデータに基づいて造形用データを生成し、印刷指令と共に造形用データを三次元造形装置１５０に送信する。ポート２３０は、ホスト・コンピュータ１１０上で、三次元造形装置１５０などの外部機器との通信を行う、ＵＳＢやＬＡＬポートと言った通信ポートを抽象化したものである。
【００２７】
三次元プリンタドライバ２１４は、より具体的には、ＵＩ（User Interface）モジュール２１６と、描画モジュール２１８とを含み構成される。ＵＩモジュール２１６および描画モジュール２１８は、特定の実施形態では、別のコンポーネントとして提供される。
【００２８】
ＵＩモジュール２１６は、ユーザに対し印刷設定を表示したり、ユーザからの印刷設定の変更を受け付けるための印刷設定用ＧＵＩ（Graphical User Interface）を提供する。ＵＩモジュール２１６が提供する印刷設定画面により、ユーザは、印刷解像度、印刷領域や積層高などの三次元造形に関する印刷条件を指定することができる。
【００２９】
描画モジュール２１８は、アプリケーション２１２から、三次元形状を規定するデータを受け取り、印刷設定を反映して描画データを作成し、作成した描画データや各種コマンドを含む造形用データを、ポート２３０を介して三次元造形装置１５０へ送信する。三次元造形装置１５０へ送信される描画データには、要求にかかる三次元モデルを水平方向に所定間隔で複数の層に切り分けて構成された複数の断面画像データが含まれる。断面画像データは、三次元オブジェクトの造形を行うための各層の断面形状を規定するデータであり、断面画像データが規定する断面形状を有した層を積み重ねることにより、所望の三次元オブジェクトが造形されることになる。断面画像データは、ビットマップ形式などの画像フォーマットのデータであるが、適宜圧縮符号化が行われる。
【００３０】
なお、三次元プリンタドライバ２１４に渡される三次元形状を規定するデータは、アプリケーション２１２が三次元モデルから上述した断面画像データを構成する機能を有する場合は、断面画像データを要素とした断面画像列データとすることができる。この場合、本実施形態による三次元プリンタドライバ２１４は、渡された画像列データから、情報量を削減して、造形用データを作成し、作成した造形用データを、ポート２３０を介して三次元造形装置１５０へ送信することになる。
【００３１】
あるいは、三次元プリンタドライバ２１４が、３ＤＣＡＤの中間ファイルやＳＬＴ（Standard Triangulated Language）などにより記述された三次元モデル・データから断面画像データを構成する機能を有する場合は、渡される三次元形状を規定するデータは、そのような三次元モデル・データそのものであってもよい。この場合、本実施形態による三次元プリンタドライバ２１４は、三次元モデル・データから内部的に断面画像列データを生成し、生成した断面画像列データから情報量を削減して造形用データを作成し、作成した造形用データを、ポート２３０を介して三次元造形装置１５０へ送信することになる。
【００３２】
以下の説明では、説明の便宜上、アプリケーション２１２から三次元プリンタドライバ２１４へ複数の断面画像データを要素として含む断面画像列データとして渡されるものとして説明する。
【００３３】
図４（Ａ）には、三次元プリンタドライバ２１４の描画モジュール２１８のさらなる詳細が示されている。図４（Ａ）に示す描画モジュール２１８は、画像比較判定部２２０と、層数計数部２２２と、層厚指定コマンド送信部２２４と、画像データ送信部２２６とを含み構成される。なお、図４（Ａ）に示す破線で示されたブロックについては、別の実施形態として詳細を後述する。
【００３４】
画像比較判定部２２０は、三次元形状を規定する断面画像列データにおいて複数の断面画像が一致するか否かを判定する。画像比較判定部２２０は、より具体的には、断面画像列データにおける断面画像を順次、ＲＡＭ１８などの記憶領域に保存し、後続する断面画像と、保存された断面画像とを比較することにより、一致する画像を検出する。画像の比較は、典型的には、ＣＰＵ１２により、ＲＡＭ１８上に展開された画像全体をピクセル単位で一致しているか否かを検証することにより行われる。なお、画像比較判定部２２０は、本実施形態における判定手段、保存手段および比較手段を構成する。
【００３５】
層数計数部２２２は、画像比較判定部２２０により一致するものと判定された断面画像の層数を計数する。層数計数部２２２は、一致すると判定された場合には、現在保持している層数のカウンタをインクリメントする。また、一致しないと判定された場合には、層数計数部２２２は、後続の断面画像について新たに層数をカウントし直すため層数のカウンタをリセットする。層数の計数は、典型的には、ＣＰＵ１２により、ＲＡＭ１８上に層数を保持するカウンタの記憶領域を確保し、初期値をセットし、一致すると判定された場合に、該記憶領域に保持された値を増加させることによって行われる。層数計数部２２２は、本実施形態における計数手段を構成する。
【００３６】
層厚指定コマンド送信部２２４は、三次元造形装置１５０に対し、層数計数部２２２により計数された層数分の所定の断面画像データによる造形処理を要求するための層厚指定コマンドを送信する。層厚指定コマンドは、層厚情報が指定された指令であり、造形用データの一部を構成する。層厚情報は、層数、繰り返し数、単一層の厚みおよび滴量の階調またはこれらの少なくとも１つの指定を含むことができる。三次元造形装置１５０側では、層厚指定コマンドに含まれる層厚情報に基づき、指定された層数分の所定の断面画像データによる造形処理を実行することになる。
【００３７】
層厚指定コマンド送信部２２４は、後述する断面画像データと同時に、その前にまたはその後に層厚指定コマンドを送信することにより、指定層数分の造形を要求する断面画像データを特定することができる。あるいは、所定の断面画像データを識別する識別情報を付した層厚指定コマンドを送信することにより、指定層数分の造形を要求する断面画像データを特定してもよい。層厚指定コマンド送信部２２４は、本実施形態における指令送信手段を構成する。
【００３８】
画像データ送信部２２６は、ＵＩモジュール２１６で設定された解像度や積層高などの印刷条件と、アプリケーション２１２から渡された断面画像列データとに基づいて、三次元造形装置１５０に送信するための描画コマンドを作成し、三次元造形装置１５０に対し、描画データを含む造形用データを送信する。送信される描画データには、各層の断面画像データが含まれるが、本実施形態では、三次元モデルから切り出されたすべての断面画像を送信するのではなく、画像比較判定部２２０により一致すると判定された断面画像については、少なくとも一層分の断面画像データが送信された以降は、重複する断面画像データの送信が省略される。
【００３９】
特定の実施形態では、画像データ送信部２２６は、画像比較判定部２２０が一致すると判定したタイミングでは送信せず、一致しないと判定されたタイミングで、層厚指定コマンドに関連付けて、保存していた断面画像データを送信することができる。あるいは、他の実施形態では、画像データ送信部２２６は、画像比較判定部２２０が最初に一致するかの判定を行ったタイミングで、断面画像データを送信することもできる。この場合、層厚指定コマンド送信部２２４は、一致しないと判定されたタイミングで該当断面画像データによる層数を確定し、送信済みの断面画像データを特定して層厚指定コマンドを送信すればよい。画像データの送信は、典型的には、ＣＰＵ１２が、ＲＡＭ１８上の断面画像データを読み出し、所定のコマンドを付加して、ポート２３０を介して外部にデータを送出させることにより行われる。画像データ送信部２２６は、本実施形態における画像送信手段を構成する。
【００４０】
なお、断面画像の画像データは、積層造形法において層内の材料が存在する箇所の分布を規定するビットマップである。画像データは、そのままの形で送信されてもよいが、好適には、圧縮符号化されてもよい。また、説明する実施形態では、プログラムが、三次元造形装置１５０のデバイスドライバとして提供されるものとして説明したが、これに限定されるものではない。他の実施形態では、アプリケーション２１２に当初から含まれるコンポーネントとして提供されてもよいし、アプリケーション２１２のアドインや拡張機能のコンポーネントとして提供されてもよい。
【００４１】
以下、図４（Ｂ）を参照しながら、三次元造形装置１５０側の機能構成について説明する。図４（Ｂ）は、本実施形態における三次元造形装置１５０上の機能構成を示すブロック図である。図４（Ｂ）に示す機能ブロック２５０は、造形用データ受信部２５２と、命令解釈部２５４と、造形処理部２５８とを含み構成される。なお、図４（Ｂ）に示す破線で示されたブロックについては、別の実施形態として詳細を後述する。
【００４２】
造形用データ受信部２５２は、ホスト・コンピュータ１１０上の三次元プリンタドライバ２１４の描画モジュール２１８から、三次元形状の各断面画像の画像データおよび層厚指定コマンドを含む造形用データを受信する。造形用データの受信は、ＣＰＵ５４がＮＩＣ７０を介して受信した造形用データをシステムメモリ５６やローカルメモリ６２などに格納することによって行われる。造形用データ受信部２５２は、本実施形態による受信手段を構成する。
【００４３】
命令解釈部２５４は、三次元プリンタドライバ２１４から受信した造形用データを解釈し、解釈結果に基づいて造形処理部２５８に対し指令する。本実施形態による命令解釈部２５４は、受信した造形用データ中に、所定の断面画像データによる複数層分の造形処理を要求する層厚指定コマンドが含まれるか否かを判定する。造形用データの解釈は、ＣＰＵ５４がメモリ５６，６２上に格納された造形用データの各コマンドおよびデータを所定の構文に従って解析することによって行われる。命令解釈部２５４は、本実施形態による解釈手段を構成する。
【００４４】
本実施形態による命令解釈部２５４は、より具体的には、層厚指定コマンド処理部２５６を含む。層厚指定コマンド処理部２５６は、造形用データ中に層厚指定コマンドが含まれる場合に、該コマンドで指定される層厚情報に基づいて層厚設定を行い、造形処理部２５８に対し、層厚指定コマンドで特定される断面画像データに基づく造形処理を指令する。層厚指定コマンド処理部２５６は、本実施形態による設定手段を構成する。
【００４５】
造形処理部２５８は、断面画像データを用いて、層厚設定に基づいて造形処理を実行する。造形処理は、三次元造形エンジン８４により、断面画像データに従って、粉体補給装置８８のインクジェットヘッドを移動し、粉体が供給される造形槽８６内の所定の箇所に結合剤を付与し、紫外線照射装置９２により、付与された結合剤を硬化させることにより行われる。造形処理部２５８は、本実施形態による造形処理手段を構成する。
【００４６】
三次元造形装置１５０において積層ピッチが可変であれば、層数に応じた積層ピッチを設定することにより所定層数分の造形処理を行うことができる。三次元造形装置１５０において積層ピッチが可変でなければ、内部的に断面画像データを複数回使用して造形処理を繰り返すことによって所定層数分の造形処理を行うことができる。このように、本実施形態では、三次元造形装置１５０が、断面画像データおよび層厚指定コマンドに指定された層厚情報に基づいて、指定された層数分の造形処理を実行する機能を有するものとして説明を続ける。
【００４７】
図５は、本実施形態によるホスト・コンピュータ１１０が実行する、三次元造形装置１５０を制御する処理を示すフローチャートである。また、図６（Ａ）は、以下の説明で用いる例示的な三次元形状モデルを示す。図６（Ｂ）および図６（Ｃ）は、図６（Ａ）に示した三次元形状モデルの各部分と、各部分に対応する断面画像データとを例示している。以下、図６（Ａ）に示すような三次元形状を有する筐体を造形する場合を一例として、本実施形態による三次元造形制御について説明する。
【００４８】
図６（Ａ）に示す三次元形状モデル３００は、平板部３０２および円柱部３０４を含み構成される。平板部３０２に対しては、図６（Ｂ）の右側に示すような断面画像データ３１０が１０層分、アプリケーション２１２から三次元プリンタドライバ２１４に渡される。同様に、円柱部３０４に対しては、図６（Ｃ）の右側に示すような断面画像データ３２０が、２０層分、アプリケーション２１２から三次元プリンタドライバ２１４に渡される。ここでは、断面画像データ３１０を用いて１０層形成し、その上に断面画像データ３２０を用いて２０層形成することで、図６（Ａ）に示すような三次元形状モデル３００の筐体を作成するものとして説明する。
【００４９】
図５に示す処理は、ユーザが、三次元プリンタドライバ２１４により提供される印刷設定画面を介して印刷条件を設定し、アプリケーション２１２に対し印刷指示を行ったことに応答して、ステップＳ１００から開始される。このとき、アプリケーション２１２から三次元プリンタドライバ２１４へ印刷要求が発行される。
【００５０】
ステップＳ１０１では、三次元プリンタドライバ２１４は、アプリケーション２１２から印刷条件を取得する。印刷条件が確定されると、三次元プリンタドライバ２１４は、ステップＳ１０２で、印刷を開始するためのコマンドを送信する。印刷開始コマンドは、通常、印刷ジョブを開始するためのジョブ開始コマンドと、解像度や積層高などジョブ内で一意に設定される印刷条件設定コマンドを含む。
【００５１】
図７は、本実施形態によるホスト・コンピュータ１１０が三次元造形装置１５０に送信する層厚指定コマンドを含む例示的な造形用データの概略を説明する。図７に示す造形用データは、図６（Ａ）に示した三次元モデルの筐体を作成する場合の印刷データを例示したものである。図７に示されるように、造形用データでは、まず、印刷ジョブ開始コマンド（StartJobコマンド）と、印刷条件設定コマンドとが送信される。
【００５２】
再び図５を参照すると、ステップＳ１０３では、三次元プリンタドライバ２１４は、層数計数部２２２により、同一の断面画像の層数を計数するためのカウンタをリセットする。ステップＳ１０３においては、断面画像が保存されているか否かを判定するため、カウンタは０にリセットされる。ステップＳ１０４では、三次元プリンタドライバ２１４は、アプリケーション２１２から、印刷するための断面画像列を構成する断面画像データを取得する。アプリケーション２１２が断面画像データを作成する場合を一例として説明するが、上述したようにアプリケーション２１２から三次元形状のデータを取得し、三次元プリンタドライバ２１４内で断面画像データを生成することもできる。
【００５３】
ステップＳ１０５では、三次元プリンタドライバ２１４がアクセス可能な記憶領域上に断面画像が既に保存されているかを、カウンタを参照することによって判定する。ステップＳ１０５で、カウンタが０であり未だ断面画像が保存されてないと判定された場合（ＮＯ）は、ステップＳ１０６へ処理が進められる。ステップＳ１０６では、三次元プリンタドライバ２１４は、画像比較判定部２２０により、取得した断面画像を所定の記憶領域に保存する。ステップＳ１０７では、三次元プリンタドライバ２１４は、層数計数部２２２により、同一の断面画像の層数を計数するためのカウンタをインクリメントする。そして、処理は、再びステップＳ１０４へ戻され、次の断面画像データへと処理が進められる。
【００５４】
一方、ステップＳ１０５で、カウンタが１以上であり、既に断面画像が保存されていると判定された場合（ＹＥＳ）は、ステップＳ１０８へ処理が分岐される。ステップＳ１０８では、三次元プリンタドライバ２１４は、画像比較判定部２２０により、ステップＳ１０６で記憶領域に保存した断面画像と、その断面画像に後続するステップＳ１０４で取得した断面画像とを比較する。ステップＳ１０９では、三次元プリンタドライバ２１４は、画像比較判定部２２０により、比較の結果、同一の画像データであるか否かを判定する。画像の比較は、画像全体をピクセル単位で一致しているかを検証することによって行われる。
【００５５】
ステップＳ１０９で、両断面画像が一致し、同一であると判定された場合（ＹＥＳ）は、ステップＳ１１０へ処理が進められる。ステップＳ１１０では、三次元プリンタドライバ２１４は、現在処理対象である層が最終層であるか否かを判定する。ステップＳ１１０で、最終層ではないと判定された場合（ＮＯ）は、ステップＳ１０７へ処理が分岐される。ステップＳ１０７では、三次元プリンタドライバ２１４は、層数計数部２２２によりカウンタをインクリメントし、処理は、再びステップＳ１０４へ戻される。一方、ステップＳ１１０で最終層であると判定された場合（ＹＥＳ）は、ステップＳ１１１へ処理が分岐される。ステップＳ１１１では、三次元プリンタドライバ２１４は、層数計数部２２２により、カウンタをインクリメントし、処理がステップＳ１１２へ進められる。
【００５６】
ステップＳ１０９で同一ではないと判定された場合（ＮＯ）は、ステップＳ１１２へ処理が進められる。ステップＳ１１２では、三次元プリンタドライバ２１４は、層厚指定コマンド送信部２２４により、層数計数部２２２のカウンタの値から層の厚さを計算し、層厚指定コマンドを送信する。ステップＳ１１３では、三次元プリンタドライバ２１４は、保存してある断面画像データに基づき描画データを作成し、ステップＳ１１４で、画像データ送信部２２６により、断面画像データを含む描画データを送信する。
【００５７】
再び図７を参照すると、印刷条件設定コマンドに続いて、層厚を指定する層厚指定コマンドが送信される。図６（Ａ）に示す三次元形状モデルを用いる場合、平板部３０２として１０層必要であるが、その場合この層厚指定コマンドは、層数が「１０」であることを示すコマンドとなっている。なお、説明する実施形態では、層厚指定コマンドは、層厚を示すものとするが、同じ層を１０回作成することを示す繰り返し数であってもよく、層厚を示す如何なる情報であってもよい。そして、ページ処理開始コマンド（StartPageコマンド）およびページ終了コマンド（EndPageコマンド）に挟まれて、断面画像データ３１０から作成された１層分の断面画像データ描画コマンドが送信される。
【００５８】
ここで、ページ処理開始コマンドは、断面画像データを三次元造形装置１５０で描画するためページ処理の開始を宣言するものである。三次元造形装置１５０では、このページ処理開始コマンドを受信すると、三次元形状モデルの筐体を作成するための層の準備を行う。ページ処理終了コマンドは、処理対象の層の処理が終了したことを三次元造形装置１５０に通知するものである。三次元造形装置１５０では、層厚情報（１０）と断面画像データ３１０とを受信して、層厚情報に従って同一の断面画像データを繰り返し使用して１０層分の三次元モデルの平板部３０２を造形する。
【００５９】
再び図５を参照すると、ステップＳ１１５では、三次元プリンタドライバ２１４は、最終層に到達したか否かを判定する。ステップＳ１１５で、最終層に到達していないと判定された場合（ＮＯ）は、ステップＳ１１６へ処理が分岐される。ステップＳ１１６では、保存されたものと同一ではないとされた断面画像データを保存し、ステップＳ１１７で、カウンタをリセットし、ステップＳ１０４へ処理をループさせる。なお、ステップＳ１１７においては、カウンタが、１つの断面画像が保存されていることを示す１にリセットされる。そして、最終層に到達するまで、処理が繰り返される。
【００６０】
ステップＳ１１５で、最終層に到達したと判定された場合（ＹＥＳ）は、ステップＳ１１８へ処理が分岐される。ステップＳ１１８では、三次元プリンタドライバ２１４は、終了コマンドを送信し、ステップＳ１１７で、三次元プリンタドライバ２１４の印刷処理が完了する。
【００６１】
再び図７を参照すると、同様に、引き続いて、三次元形状モデル３００の円柱部３０４を作成するために、２０層を指定した層厚指定コマンドが送信され、１層分の断面画像データ３２０が送信される。三次元造形装置１５０は、これにより、１０層の平板部３０２上に２０層分の三次元筐体の円柱部３０４が造形される。すべての部分３０２，３０４の筐体が連続で作成されると、印刷終了コマンド（EndJobコマンド）が送信されて、三次元プリンタドライバ２１４の処理が完了する。
【００６２】
以下、比較のため、層厚指定コマンドを含まない場合の例示的な造形用データについて図８および図９について説明する。図８は、層厚指定コマンドを含まない場合の例示的な造形用データを示す。
【００６３】
図８を参照すると、図７の場合と同様に、印刷ジョブの開始を告げるジョブ開始コマンド（StartJobコマンド）が送信され、次に解像度や積層高などを指定するための各種印刷条件を設定した印刷条件設定コマンドが送信される。そして、ページ処理開始コマンド（StartPageコマンド）が送信され、次にページデータとして断面画像データから作成した断面画像データ描画コマンドが送信される。この層のイメージの描画コマンドの送信が終了すると、ページ終了コマンド（EndPageコマンド）が送信され、当該層の処理が終了したことが三次元造形装置１５０に通知される。図８に示す造形用データでは、平板部３０４に対応してページ処理開始コマンド、断面画像データ３１０描画コマンドおよびページ終了コマンドのセットが１０回繰り返される。そして、円柱部３０４を平板部３０２の上に作成するために、さらに、ページ処理開始コマンド、断面画像データ３２０描画コマンドおよびページ終了コマンドのセットが２０回繰り返される。すべての部分３０２，３０４の筐体が連続で作成されると、印刷終了コマンド（EndJobコマンド）が送信されて、三次元プリンタドライバの処理が完了する。
【００６４】
図８に示す造形用データでは、フレーム間の圧縮が行われなかった。図９は、図８と同様に層厚指定コマンドを含まないが、さらに、フレーム間圧縮が行われる場合の例示的な造形用データの概略を説明する。図９を参照すると、図７および図８の場合と同様に、ジョブ開始コマンド、印刷条件設定コマンド、ページ開始コマンドが送信され、１層目の断面画像データが送信され、ページ終了コマンドが送信される。２層目も同様に、ページ開始コマンドが送信されるが、断面画像データは、１層目を基準に差分圧縮した圧縮断面画像データ描画コマンドが送信される（図中グレーで示す）。平板部３０２では、１０層を作成する必要があり、２層目以降は同じ圧縮断面画像データが続くので、最初の１層を除いた残り９層分、同じ圧縮データが都度作成され送信される。さらに、円柱部３０４では、２０層を作成する必要があるので、同様に、１層目の断面画像データ描画コマンドが送信された後、２層目以降は、圧縮断面画像データ描画コマンドが作成され、残り１９層に対し都度圧縮データが作成されて送信されることになる。
【００６５】
図８では、断面画像間の圧縮がないまま３０層分の断面画像データを三次元造形装置１５０に送信する必要がある。一方で、図９では、断面画像間の圧縮が行われるため、図８の場合に比較して幾分情報量が削減されている。しかしながら、図９の場合でも、図６（Ａ）に示すような同じ画像が複数層連続で続くようなデータであっても、図８の場合と同様に、３０層分の断面画像データが必要となる点では変わりはなく、送信データの削減量が限られている。
【００６６】
これに対して、本実施形態による三次元プリンタドライバ２１４が生成する層厚指定コマンドを含む造形用データでは、図７と、図８および図９とを比較すると明らかなように、２層分の断面画像データを送信するだけで、合計３０層の造形処理を必要とする三次元形状モデルの筐体を作成することが可能となる。
【００６７】
このように、同じ断面画像データが連続する場合に、１層分の断面画像データが送信され、残りの層数分の断面画像データが層厚指定コマンドに置換されることになる。層厚指定コマンド自体は、断面画像データに比較して非常にサイズも小さいため、複数面で同じ画像が続くような三次元モデルの場合に、送信データの情報量を好適に削減することが可能となる。
【００６８】
なお、上述した説明では、層厚が複数の場合に、断面画像データを送信する前に層厚指定コマンドを送信するものとして説明した。しかしながら、このような実施形態に限定されるものではない。他の実施形態では、画像データ送信部２２６が、断面画像データを同一のものを省いた形で三次元造形装置１５０のメモリ上に登録し、層厚指定コマンド送信部２２４が、その登録された断面画像データを識別する情報で指定して層厚指定コマンドを送信することができる。これにより、三次元造形装置１５０側で、メモリに登録された断面画像データを指定された層数分繰り返し使用し、三次元形状モデルの筐体を作成する構成としてもよい。
【００６９】
また、説明する実施形態では、画像の比較は、断面画像全体同士を比較するものとして説明したが、全体の画像を複数の領域に分割し、全体から分割された分割画像について、独立に、上述した制御を適用することもできる。例えば、断面画像を４分割して、各４分割された断面分割画像データを独立に取り扱うことができる。これにより、層間で形状が変化するものの一部であり、残りの部分は不変な断面画像データが生成される三次元モデルであっても、好適に送信データ量を削減することができるようになる。
【００７０】
上述までの実施形態は、三次元造形装置１５０が、断面画像データおよび層厚指定コマンドに指定された層厚情報に基づいて、指定された層数分の造形処理を実行する機能を有するものとして説明した。以下、三次元造形装置１５０が有する機能に応じて制御を変えることができる別の実施形態について、図４、図５、図１０および図１１を参照しながら、説明する。なお、以下に説明する実施形態は、図１〜図７を参照して説明した実施形態と同様の構成を備えるので、以下、相違点を中心に説明する。
【００７１】
図４には、さらに別の実施形態におけるホスト・コンピュータ１１０および三次元造形装置１５０上の機能構成が示されている。別の実施形態では、図４（Ａ）および図４（Ｂ）に示す破線で示されたブロックが新たに追加される。
【００７２】
別の実施形態において、ホスト・コンピュータ１１０上の三次元プリンタドライバ２１４の描画モジュール２１８は、画像比較判定部２２０、層数計数部２２２、層厚指定コマンド送信部２２４および画像データ送信部２２６に加えて、さらに、能力情報取得部２２８を備える。また、三次元造形装置１５０上の機能ブロック２５０は、造形用データ受信部２５２、命令解釈部２５４および造形処理部２５８に加えて、さらに、能力情報提供部２６０を備える。
【００７３】
三次元造形装置１５０の能力情報提供部２６０は、外部機器からの問い合わせに応答して、自身が備える能力を記述する能力情報を提供する。能力情報提供部２６０は、例えば、自身が、単一層の厚みや層数繰り返し数を指定した層厚指定コマンドに対応して本体側で同一断面画像データによる複数層分の造形処理を行う機能を有しているか否か、自身がインクジェットヘッドから吐出する滴量の階調を指定した層厚指定コマンド（以下、滴量指定コマンドと参照する。）に対応してインクジェットヘッドから吐出する滴量を制御することで層厚を制御する機能を備えているか否かといった情報を提供する。
【００７４】
三次元プリンタドライバ２１４の能力情報取得部２２８は、三次元造形装置１５０の能力情報提供部２６０に対し、上述した能力情報を問い合わせて取得する。そして、三次元プリンタドライバ２１４は、取得した能力情報に応じて制御を変える。
【００７５】
別の実施形態によるホスト・コンピュータ１１０が実行する、三次元造形装置１５０を制御する処理は、図５のフローチャートに示したものと概ね同じであるが、ステップＳ１１２〜ステップＳ１１４の層厚指定コマンド送信にかかる処理が異なっている。図１０は、別の実施形態によるホスト・コンピュータが実行する三次元造形装置を制御する処理における層厚指定コマンド送信にかかる処理の詳細を示すフローチャートである。
【００７６】
図１０に示すステップＳ２００の処理の開始は、図５に示すステップＳ１１２の層厚が求められた時点である。ステップＳ２０１では、三次元プリンタドライバ２１４は、ここで求められた層数が、複数層であるか否かに応じて処理を分岐させる。
【００７７】
ステップＳ２０１で、単一層であると判定された場合（ＮＯ）は、ステップＳ２０２へ処理が分岐される。ステップＳ２０２では、三次元プリンタドライバ２１４は、保存してある断面画像データに基づき描画データを作成し、ステップＳ２０３で、画像データ送信部２２６により、断面画像データを含む描画データを送信し、ステップＳ２１５で本処理を終了し、図５に示したステップＳ１１４の終了点に戻される。
【００７８】
ステップＳ２０１で、複数層であると判定された場合（ＹＥＳ）、ステップＳ２０４へ処理が分岐される。ステップＳ２０４では、三次元プリンタドライバ２１４は、さらに、能力情報取得部２２８により三次元造形装置１５０に問い合わせて、または、事前に問い合わせて取得した情報に基づいて、三次元造形装置１５０側で、層数や層の厚みを指定することで指定した任意の層数の造形処理を行う能力を保持しているか判定する。
【００７９】
ステップＳ２０４で、複数層の処理能力を有していると判定された場合（ＹＥＳ）は、ステップＳ２０５へ処理が分岐される。ステップＳ２０５では、三次元プリンタドライバ２１４は、層厚指定コマンド送信部２２４により、カウンタの値に応じた層数や層の厚みを指定した層厚指定コマンドを送信する。三次元プリンタドライバ２１４は、ステップＳ２０２で、保存してある断面画像データに基づき描画データを作成し、ステップＳ２０３で、画像データ送信部２２６により、断面画像データを含む描画データを送信する。
【００８０】
一方、ステップＳ２０４で、指定した任意の層数の造形処理を行う能力を有していないと判定された場合（ＮＯ）は、ステップＳ２０６へ処理が分岐される。ステップＳ２０６では、三次元プリンタドライバ２１４は、さらに、能力情報取得部２２８により三次元造形装置１５０に問い合わせて、または、事前に問い合わせて取得した情報に基づいて、三次元造形装置１５０側で、粉体を結合するために使用する結合剤の射出量（滴量）の変更が不可であるか否かを判定する。
【００８１】
ステップＳ２０６で、滴量変更が不可であると判定された場合（ＹＥＳ）は、ステップＳ２０７へ処理が分岐される。ステップＳ２０７では、三次元プリンタドライバ２１４は、保存してある断面画像データに基づき描画データを作成し、ステップＳ２０８で、画像データ送信部２２６により、断面画像データを含む描画データを送信する。ステップＳ２０９では、求められた層数分の断面画像データの送信が完了したか否かを判定し、層数分完了するまでの間（ＮＯの間）、ステップＳ２０７およびステップＳ２０８を繰り返し実行する。ステップＳ２０９で、層数分完了したと判定された場合（ＹＥＳ）は、ステップＳ２１５へ処理が進められ、ステップＳ２１５で本処理を終了し、図５に示したステップＳ１１４の終了点に戻される。
【００８２】
一方、ステップＳ２０６で、滴量変更が可能であると判定された場合（ＮＯ）は、ステップＳ２１０へ処理が分岐される。ステップＳ２１０では、三次元プリンタドライバ２１４は、層厚指定コマンド送信部２２４により、層厚に基づく滴量計算を実行する。ステップＳ２１４においては、滴量と該滴量で作成できる層数の関係から、それぞれ三次元造形装置１５０に指定可能な階調の中から、計数された層数を充足するような滴量の階調（あるいは層厚）および層数を含む組み合わせが計算されることになる。
【００８３】
ステップＳ２１１では、三次元プリンタドライバ２１４は、層厚指定コマンド送信部２２４により、層厚指定コマンドを送信する。この場合、層厚情報は、滴量計算で求められた滴量の階調の指定を含むことになる。三次元プリンタドライバ２１４は、ステップＳ２１２で、保存してある断面画像データに基づき描画データを作成し、ステップＳ２１３で、画像データ送信部２２６により、断面画像データを含む描画データを送信する。なお、滴量が可変の場合、必要に応じて、断面画像データの解像度を変更する処理が施されてもよい。例えば、大きな滴量では、粗い画像データに変換してもよい。
【００８４】
ステップＳ２１４では、求められた層数分の処理が完了したか否かを判定し、求められた層数分完了するまでの間（ＮＯの間）、ステップＳ２１０へ処理をループさせる。ステップＳ２１４で、求められた層数分完了したと判定された場合（ＹＥＳ）、ステップＳ２１５へ処理が進められて、ステップＳ２１５で本処理を終了し、図５に示したステップＳ１１４の終了点に戻される。
【００８５】
図１１は、別の実施形態によるホスト・コンピュータ１１０が三次元造形装置１５０に送信する滴量指定コマンドを含む、例示的な造形用データの概略を説明する。以下の説明では、滴量が、「大滴」、「中滴」、「小滴」の３階調で指定可能であり、それぞれの滴量に対し、作成される層厚が、３層、２層、１層であるものとして、以下、説明を続ける。図１１に示す造形用データは、同様に、図６（Ａ）に示した三次元筐体を作成する場合の印刷データを例示したものである。図１１に示されるように、造形用データでは、まず、ジョブ開始コマンド（StartJobコマンド）と、印刷条件設定コマンドとが送信される。
【００８６】
図１１を参照すると、引き続いて、平板部３０２に対応するコマンド群が送信される。まず、層の厚さに対応する滴量を指定する滴量指定コマンドが送信される。ここでは、１０層作成する必要があるので、最大である大滴を指定して３層まとめて作成される。大滴指定コマンドが送信された後、その大滴で作成する断面画像データ描画コマンドが送信される。上述した大滴指定コマンドに引き続き、合計３回繰り返して、断面画像データ描画コマンドが送信され、９層分作成される。残りは１層となるので、１層作成するため小滴指定コマンドが送信され、次に断面画像データ描画コマンドが送信され、残りの１層分の層が作成される。以上の処理により、大滴で３層分を３回作成し、小滴で１層分作成することで、１０層分の層が作成される。
【００８７】
図１１を参照すると、引き続いて、平板部３０２上に円柱部３０４を形成するためのコマンド群が送信される。まず、層の厚さに対応する滴量を指定するコマンドが送信される。ここでは２０層作成する必要があるので、大滴を指定し３層まとめて作成される。大滴指定コマンドが送信された後、その大滴で作成する断面画像データ描画コマンドが送信される。この大滴指定コマンドに引き続き、合計６回繰り返して、断面画像データ描画コマンドが送信されるので、１８層分作成される。残りは２層となるので、２層作成するため中滴指定コマンドが送信され、次に断面画像データ描画コマンドが送信され、残りの２層分の層が作成される。以上の処理により、大滴で３層分を６回作成し、中滴で２層分作成することで、２０層分の層が作成される。以上で三次元モデルの筐体の作成処理が完了する。
【００８８】
別の実施形態による三次元プリンタドライバ２１４が生成する滴量指定コマンドを含む造形用データでは、図１１と、図８および図９とを比較すると明らかなように、三次元造形装置１５０が指定した任意の層数の造形処理を行う能力を保持していない場合であっても、滴量制御により、１１層分の断面画像データを送信するだけで、合計３０層の造形処理を必要とする三次元形状モデルの筐体を作成することが可能となる。さらに、三次元造形装置１５０がそもそも、指定した任意の層数の造形処理を行う能力も、滴量制御により複数層分の造形処理を一括で行う機能を有していない場合でも、層厚情報を指定した層厚指定コマンド（あるいは滴量指定コマンド）を送信することに代えて画像データ送信部２２６が、断面画像データの送信を、計数された層数分繰り返すこと、三次元造形装置１５０に対して必要な造形処理を行わせることができる。
【００８９】
なお、上述した説明では、滴量指定コマンドに後続して複数回の断面画像データ描画コマンドが送信されるものとして説明した。しかしながら、説明した実施形態に限定されるものではなく、さらに、滴量の階調の指定に加えて層数を指定して、各滴量指定コマンドに対し１層分の断面画像データの送信のみとしてもよい。その場合、４層分の断面画像データを送信するだけで、合計３０層の造形処理を必要とする三次元形状モデルの筐体を作成することが可能となる。
【００９０】
以上説明したように、上述した本実施形態によれば、複数面で一致する画像が使用されるような三次元形状を造形装置により造形処理する際に造形装置との間でやり取りする情報量を一層削減することが可能なプログラム、情報処理装置、制御方法および造形装置を提供することができる。
【００９１】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【００９２】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００９３】
１００…三次元造形システム、１０２…ネットワーク、１１０…ホスト・コンピュータ、１５０…三次元造形装置、２１０…機能ブロック、２１２…アプリケーション、２１４…三次元プリンタドライバ、２１６…ＵＩモジュール、２１８…描画モジュール、２２０…画像比較判定部、２２２…層数計数部、２２４…層厚指定コマンド送信部、２２６…画像データ送信部、２２８…能力情報取得部、２３０…ポート、２５０…機能ブロック、２５２…造形用データ受信部、２５４…命令解釈部、２５６…層厚指定コマンド処理部、２５８…造形処理部、２６０…能力情報提供部、３００…三次元形状モデル、３０２…平板部、３０４…円柱部、３１０，３２０…断面画像データ、１０…ボード、１２…ＣＰＵ、１４…ノースブリッジ、１６…サウスブリッジ、１８…ＲＡＭ、２０…グラフィックボード、２２…ＰＣＩ、２４…ＬＡＮポート、２６…ＩＥＥＥ１３９４ポート、２８…ＵＳＢポート、３０…補助記憶装置、３２…オーディオ入出力、３４…シリアルポート、４０…ディスプレイ、４２…キーボード、４４…マウス、５２…コントローラ、５４…ＣＰＵ、５６…システムメモリ、５８…ＮＢ、６０…ＡＳＩＣ、６２…ローカルメモリ、６４…ハードディスクドライブ、６６…不揮発性メモリ、６８…ＳＢ、７０…ＮＩＣ、７２…ＳＤカード・スロット、７４…ＵＳＢインタフェース、７６…ＩＥＥＥ１３９４インタフェース、７８…セントロニクス・インタフェース、８２…オペレーションパネル、８４…三次元造形エンジン、８６…造形槽、８８…粉体補給装置、９０…結合剤付与装置、９２…紫外線照射装置
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】特開２０１４‐１５６１２０号公報
【図１】
2017094586.tif 000003
【図２】
2017094586.tif 000004
【図３】
2017094586.tif 000005
【図４】
2017094586.tif 000006
【図５】
2017094586.tif 000007
【図６】
2017094586.tif 000008
【図７】
2017094586.tif 000009
【図８】
2017094586.tif 000010
【図９】
2017094586.tif 000011
【図１０】
2017094586.tif 000012
【図１１】
2017094586.tif 000013