(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-29
(45)【発行日】2024-02-06
(54)【発明の名称】情報処理装置、立体造形システム、立体データ生成方法およびプログラム
(51)【国際特許分類】
G06T 19/20 20110101AFI20240130BHJP
B33Y 10/00 20150101ALI20240130BHJP
B33Y 50/00 20150101ALI20240130BHJP
B33Y 30/00 20150101ALI20240130BHJP
B29C 64/386 20170101ALI20240130BHJP
【FI】
G06T19/20
B33Y10/00
B33Y50/00
B33Y30/00
B29C64/386
(21)【出願番号】P 2020064514
(22)【出願日】2020-03-31
【審査請求日】2023-01-16
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】土田 頼史
(72)【発明者】
【氏名】畑中 伸一
(72)【発明者】
【氏名】村井 宏亘
(72)【発明者】
【氏名】高橋 健太
【審査官】粕谷 満成
(56)【参考文献】
【文献】特開2017-120571(JP,A)
【文献】特開平09-006828(JP,A)
【文献】特開2015-098165(JP,A)
【文献】特表2009-532243(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/20
B33Y 10/00
B33Y 50/00
B33Y 30/00
B29C 64/386
(57)【特許請求の範囲】
【請求項1】
立体物の画像データから分割された複数のレイヤ画像を、表示部に表示させる表示制御部と、
前記各レイヤ画像について、立体形状を造形するための高さ情報を生成する生成部と、
前記生成部により生成された前記各レイヤ画像の前記高さ情報を合成する合成部と、
を備えた情報処理装置。
【請求項2】
前記レイヤ画像から、前記高さ情報の生成の対象となる対象領域を抽出する抽出部を、さらに備え、
前記生成部は、前記各レイヤ画像の前記対象領域において、前記高さ情報を生成する請求項1に記載の情報処理装置。
【請求項3】
前記レイヤ画像は、グレースケールの画像であり、
前記生成部は、前記レイヤ画像の明度に基づいて、前記高さ情報を生成する請求項1または2に記載の情報処理装置。
【請求項4】
前記生成部は、入力部により入力された、前記対象領域の輪郭から該対象領域内の各位置までの距離と高さとの関係を示す曲線に基づいて、前記対象領域内の位置毎に、各位置と前記輪郭の一点との距離に応じた高さを求め、該高さに基づいて前記対象領域の前記高さ情報を生成する請求項2に記載の情報処理装置。
【請求項5】
前記対象領域の各位置に対応する前記輪郭の一点は、前記各位置に最も近い前記輪郭上の点である請求項4に記載の情報処理装置。
【請求項6】
前記対象領域の各位置に対応する前記輪郭の一点は、前記各位置に最も遠い前記輪郭上の点である請求項4に記載の情報処理装置。
【請求項7】
前記立体物の画像データから、前記複数のレイヤ画像に分割する分割部を、さらに備えた請求項1~6のいずれか一項に記載の情報処理装置。
【請求項8】
前記合成部は、前記各レイヤ画像の前記高さ情報について、四則演算の少なくともいずれかを行うことによって合成する請求項1~7のいずれか一項に記載の情報処理装置。
【請求項9】
前記レイヤ画像ごとに、予め四則演算のうちいずれかの演算方法が割り当てられており、
前記合成部は、前記レイヤ画像ごとに割り当てられた前記演算方法に従って、前記各レイヤ画像の前記高さ情報を合成する請求項1~8のいずれか一項に記載の情報処理装置。
【請求項10】
前記表示制御部は、前記合成部により合成された前記高さ情報に基づいて生成した立体形状の画像を、前記表示部に表示させる請求項1~9のいずれか一項に記載の情報処理装置。
【請求項11】
立体物の画像データから分割された複数のレイヤ画像を、表示部に表示させる表示制御部と、
前記各レイヤ画像について、立体形状を造形するための高さ情報を生成する生成部と、
前記生成部により生成された前記各レイヤ画像の前記高さ情報を合成する合成部と、
前記合成部により合成された前記高さ情報と、前記立体物の画像データとに基づいて、該立体物を造形する造形部と、
を備えた立体造形システム。
【請求項12】
前記立体造形システムは、情報処理装置と、立体造形装置と、を備え、
前記情報処理装置は、前記表示制御部と、前記生成部と、前記合成部とを備え、
前記立体造形装置は、前記造形部を備えた請求項11に記載の立体造形システム。
【請求項13】
立体物の画像データから分割された複数のレイヤ画像を、表示部に表示させる表示制御ステップと、
前記各レイヤ画像について、立体形状を造形するための高さ情報を生成する生成ステップと、
生成した前記各レイヤ画像の前記高さ情報を合成する合成ステップと、
を有する立体データ生成方法。
【請求項14】
コンピュータに、
立体物の画像データから分割された複数のレイヤ画像を、表示部に表示させる表示制御ステップと、
前記各レイヤ画像について、立体形状を造形するための高さ情報を生成する生成ステップと、
生成した前記各レイヤ画像の前記高さ情報を合成する合成ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、立体造形システム、立体データ生成方法およびプログラムに関する。
【背景技術】
【0002】
従来、3次元の立体物を造形する立体造形手法として、インクジェット法、溶融物堆積法、ラピッド・プロトタイピング法、インクジェットバインダ法、光造形法、および粉末焼結法等が知られている。このような立体造形手法では、造形対象の立体物の3次元の形状を示す3次元形状情報を用いて、当該立体物を造形することが一般的である。
【0003】
上述した3次元形状情報の作成手法としては、造形対象の立体物の見本となる造形物を測定して作成する方法、造形対象の立体物を示す3次元の画像データから作成する方法、および造形対象の立体物を示す2次元の画像データに高さ情報を付与して作成する方法等が挙げられる。
【0004】
このような3次元形状情報を作成する技術として、2次元の画像データにより示される平面形状の内部に1つの頂点と、この頂点の高さとを指定することで、平面形状の周囲部から頂点へ向けて高さが変化する立体形状のデータを生成する技術が開示されている(例えば特許文献1)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載された技術では、1つの頂点を指定し、周辺部から1つの頂点に向けて高さが変化する錐状の立体形状(例えば円錐形状等)しか生成することができないという問題がある。
【0006】
本発明は、上述の問題点に鑑みてなされたものであって、簡便な操作で自由度の高い立体データを生成することができる情報処理装置、立体造形システム、立体データ生成方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明は、立体物の画像データから分割された複数のレイヤ画像を、表示部に表示させる表示制御部と、前記各レイヤ画像について、立体形状を造形するための高さ情報を生成する生成部と、前記生成部により生成された前記各レイヤ画像の前記高さ情報を合成する合成部と、を備えたことを特徴とする。
【発明の効果】
【0008】
本発明によれば、簡便な操作で自由度の高い立体データを生成することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る立体造形システムの全体の外観の一例を示す図である。
【
図2】
図2は、実施形態に係る立体造形装置の平面図である。
【
図3】
図3は、実施形態に係る立体造形装置の側面図である。
【
図4】
図4は、実施形態に係る立体造形装置の正面図である。
【
図5】
図5は、実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【
図6】
図6は、実施形態に係る立体造形装置のハードウェア構成に一例を示す図である。
【
図7】
図7は、実施形態に係る立体造形システムの機能ブロックの構成の一例を示す図である。
【
図8】
図8は、立体物の画像データから各レイヤの画像に分割する動作を説明する図である。
【
図9】
図9は、レイヤを合成して3次元データを得るためのメイン画面の一例を示す図である。
【
図12】
図12は、高さ情報の生成方法の一例を説明する図である。
【
図13】
図13は、高さ情報の生成方法の一例を説明する図である。
【
図14】
図14は、対象領域の任意の一点から輪郭までの距離を説明する図である。
【
図15】
図15は、高さ情報を加算する動作の一例を説明する図である。
【
図16】
図16は、高さ情報を加算する動作の一例を説明する図である。
【
図17】
図17は、高さ情報を加算する動作の一例を説明する図である。
【
図18】
図18は、高さ情報を減算する動作の一例を説明する図である。
【
図26】
図26は、実施形態に係る情報処理装置の高さ情報の生成処理の流れの一例を示すフローチャートである。
【
図27】
図27は、実施形態に係る立体造形装置の立体物の造形動作の流れの一例を示すフローチャートである。
【
図28】
図28は、実施形態に係る立体造形装置の立体物の造形動作における造形処理の流れの一例を示すフローチャートである。
【
図29】
図29は、変形例に係る立体造形装置のヘッドユニットの構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、
図1~
図29を参照しながら、本発明に係る情報処理装置、立体造形システム、立体データ生成方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【0011】
(立体造形システムの全体構成)
図1は、実施形態に係る立体造形システムの全体の外観の一例を示す図である。
図1を参照しながら、本実施形態に係る立体造形システム1の全体構成について説明する。
【0012】
図1に示すように、立体造形システム1は、情報処理装置10と、立体造形装置20と、を含む。
【0013】
情報処理装置10は、立体造形装置20で立体物を造形するための3次元データを生成するための情報処理装置である。情報処理装置10は、例えば、PC(Personal Computer)、またはタブレット端末等の汎用の情報処理装置であってもよく、または、立体造形装置20の専用の情報処理装置であってもよい。なお、情報処理装置10は、立体造形装置20に内蔵されているものとしてもよい。
【0014】
また、情報処理装置10は、例えばUSB(Universal Serial Bus)規格のケーブルによって、立体造形装置20に接続される。なお、情報処理装置10は、TCP(Transmission Control Protocol)/IP(Internet Protocol)に準拠したイーサネット(登録商標)のケーブルによって、インターネットまたはLAN(Local Area Network)等のネットワークを介して、立体造形装置20とデータ通信が可能となるように接続されるものとしてもよい。情報処理装置10は、上述の接続態様に基づく通信により、生成した3次元データを、立体造形装置20へ送信する。
【0015】
立体造形装置20は、インクジェット方式の立体物の造形装置である。立体造形装置20は、再現する立体物のデータ(3次元データ)に基づいて、ガイド部材692に沿って副走査方向に移動するステージ695上の記録媒体Pに液体の紫外線硬化インクIを吐出するヘッドユニット670を備えている。
【0016】
ヘッドユニット670は、記録媒体Pに吐出された紫外線硬化インクIに紫外線を照射して硬化させて造形層Lを形成する照射装置672を備えている。また、ヘッドユニット670は、ガイド部材691に沿って主走査方向に移動するキャリッジ693により支持されている。また、ヘッドユニット670は、供給チューブ662を経由して、吐出する紫外線硬化インクIが供給される。そして、立体造形装置20は、紫外線硬化インクIを造形層L上に吐出して、照射装置672の紫外線による硬化処理を繰り返すことによって、立体物を造形する。
【0017】
記録媒体Pとしては、ヘッドユニット670から吐出された紫外線硬化インクIが定着する任意の材料が用いられる。例えば、記録媒体Pは、記録紙等の紙、キャンバス等の布、またはシート等のプラスチックである。
【0018】
(立体造形装置の全体構成)
図2は、実施形態に係る立体造形装置の平面図である。
図3は、実施形態に係る立体造形装置の側面図である。
図4は、実施形態に係る立体造形装置の正面図である。
図2~
図4を参照しながら、本実施形態に係る立体造形装置20の全体構成について説明する。
【0019】
図2~
図4に示すように、立体造形装置20は、ヘッドユニット670と、ステージ695と、タンク機構660と、メンテナンス機構680と、を備えている。
【0020】
ヘッドユニット670は、上述のように、ステージ695上の記録媒体Pに液体の紫外線硬化インクIを吐出するユニットである。ヘッドユニット670は、ガイド部材691に沿って
図2および
図4に示すX方向(主走査方向)に移動するキャリッジ693に支持されている。ガイド部材691は、立体造形装置20の筐体の両側の側面650によって保持されている。キャリッジ693は、モータによってプーリおよびベルトを介して、主走査方向に往復移動される。また、ヘッドユニット670は、モータによって
図3および
図4に示すZ方向(高さ方向)に移動可能なように、キャリッジ693に支持されている。
【0021】
ヘッドユニット670には、6種の紫外線硬化インクI(以下、単に「インク」と称する場合がある)をそれぞれ吐出する吐出ヘッド671K、671C、671M、671Y、671CL、671Wが、X方向に沿って順に配置されている。なお、吐出ヘッド671K、671C、671M、671Y、671CL、671Wについて、任意の吐出ヘッドを示す場合、または総称する場合、単に「吐出ヘッド671」と称するものとする。また、ヘッドユニット670は、6種のインクをそれぞれ吐出する吐出ヘッド671を備えるものとしているが、これに限定されるものではなく、インクは6種に限られず、画像の再現上、必要な色の種類に応じて1種以上の任意の種類であってもよい。この場合、インクの種類に応じて1以上の吐出ヘッド671を備えるものとしてもよい。例えば、インクの種類が7以上である場合、ヘッドユニット670に追加の吐出ヘッド671を設けてもよく、また、インクの種類が5以下である場合、いずれのかの吐出ヘッド671を稼動させないか、搭載しなくてもよい。
【0022】
吐出ヘッド671Kは、キープレートとしてのブラック(K)の紫外線硬化インクを吐出する。吐出ヘッド671Cは、シアン(C)の紫外線硬化インクを吐出する。吐出ヘッド671Mは、マゼンタ(M)の紫外線硬化インクを吐出する。吐出ヘッド671Yは、イエロー(Y)の紫外線硬化インクを吐出する。吐出ヘッド671CLは、クリア(CL)の紫外線硬化インクを吐出する。吐出ヘッド671Wは、ホワイト(W)の紫外線硬化インクを吐出する。各吐出ヘッド671は、ノズルまたはノズル列を有しており、タンク機構660から供給された紫外線硬化インクを吐出する。
【0023】
また、ヘッドユニット670には、6つの吐出ヘッド671の両側にそれぞれ照射装置672が配置されている。照射装置672は、吐出ヘッド671から記録媒体Pへ吐出された紫外線硬化インクを硬化するための紫外線を照射する紫外線照射装置である。なお、紫外線硬化インクを硬化させることが可能であれば、電子線照射装置等のその他の照射装置であってもよい。また、照射装置の種類としては、高圧水銀灯、超高圧水銀灯、メタルハライドランプ等が挙げられる。超高圧水銀灯は、点光源であるが、光学系と組み合わせて光利用効率を高くした短波長領域の照射が可能である。メタルハライドランプは、波長領域が広いため有効である。メタルハライドランプには、インクに含まれる光開始剤の吸収スペクトルに応じてPb、Sn、Fe等の金属のハロゲン化物が用いられる。また、照射装置672には、紫外線等の照射により発生するオゾンを除去する機構が具備されていることが好ましい。また、照射装置672の数は2つに限定されず、例えば、ヘッドユニット670を往復させて造形するか否か等に応じて、任意の数を配置してもよい。また、2つの照射装置672のうち1つだけ稼働させてもよい。
【0024】
ステージ695は、
図2および
図3に示すY方向(副走査方向)に延びる2つのガイド部材692に沿って、モータによってプーリおよびベルトを介して副走査方向に往復移動される。ステージ695には、吐出ヘッド671からと吐出されるインクによって立体物を造形するための記録媒体Pが配置される。
【0025】
タンク機構660は、ブラック(K)、シアン(C)、マゼンタ(M)、イエロー(Y)、クリア(CL)およびホワイト(W)の各インクを収容した複数のタンク661が搭載されている。タンク661に収容された各インクは、6つの供給チューブ662を介して、各吐出ヘッド671へ供給される。
【0026】
メンテナンス機構680は、吐出ヘッド671の維持回復を行うユニットであり、立体造形装置20においてX方向の一方側に配置されている。メンテナンス機構680は、
図2に示すように、キャップ682と、ワイパ683と、を有する。キャップ682は、吐出ヘッド671のノズル面(ノズルが形成された面)に密着して、メンテナンス機構680によるノズル内のインクの吸引により、ノズルに詰まった高粘度化したインクを排出させるための部材である。ワイパ683は、ノズルのメニスカスの形成のため、ノズル面をワイピング(払拭)する部材である。メンテナンス機構680は、吐出ヘッド671によるインクの吐出が行われない場合に、当該吐出ヘッド671のノズル面をキャップ682で覆い、インクが乾燥することを防止する。
【0027】
(情報処理装置のハードウェア構成)
図5は、実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
図5を参照しながら、本実施形態に係る情報処理装置10のハードウェア構成について説明する。
【0028】
図5に示すように、情報処理装置10は、CPU(Central Processing Unit)501と、ROM(Read Only Memory)502と、RAM(Random Access Memory)503と、補助記憶装置505と、メディアドライブ507と、ディスプレイ508(表示装置)と、ネットワークI/F509(受信部)と、キーボード511と、マウス512と、DVD(Digital Versatile Disc)ドライブ514と、外部I/F515と、を備えている。
【0029】
CPU501は、情報処理装置10全体の動作を制御する演算装置である。ROM502は、情報処理装置10用のプログラムを記憶している不揮発性記憶装置である。RAM503は、CPU501のワークエリアとして使用される揮発性記憶装置である。
【0030】
補助記憶装置505は、造形対象となる3次元データの基となる立体物の画像データ等、およびプログラム等を記憶するHDD(Hard Disk Drive)またはSSD(Solid State Drive)等の記憶装置である。メディアドライブ507は、CPU501の制御に従って、フラッシュメモリ等の記録メディア506に対するデータの読み出しおよび書き込みを制御する装置である。
【0031】
ディスプレイ508は、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示する液晶または有機EL(Electro-Luminescence)等によって構成された表示装置である。
【0032】
ネットワークI/F509は、ネットワークを利用して立体造形装置20等の外部装置とデータを通信するためのインターフェースである。ネットワークI/F509は、例えば、イーサネットに対応し、TCP/IP等に準拠した通信が可能なNIC(Network Interface Card)等である。
【0033】
キーボード511は、文字、数字、各種指示の選択、およびカーソルの移動等を行う入力装置である。マウス512は、各種指示の選択および実行、処理対象の選択、ならびにカーソルの移動等を行うための入力装置である。
【0034】
DVDドライブ514は、着脱自在な記憶媒体の一例としてのDVD-ROMまたはDVD-R(Digital Versatile Disk Recordable)等のDVD513に対するデータの読み出しおよび書き込みを制御する装置である。
【0035】
外部I/F515は、外部装置(例えば立体造形装置20等)とデータ通信を行うためのUSB(Universal Serial Bus)等の規格に対応したインターフェースである。
【0036】
上述のCPU501、ROM502、RAM503、補助記憶装置505、メディアドライブ507、ディスプレイ508、ネットワークI/F509、キーボード511、マウス512、DVDドライブ514および外部I/F515は、アドレスバスおよびデータバス等のバス510によって互いに通信可能に接続されている。
【0037】
なお、
図5に示した情報処理装置10のハードウェア構成は一例を示すものであり、
図5に示した構成要素を全て含む必要はなく、または、その他の構成要素を含むものとしてもよい。また、情報処理装置10は、
図5に示す単一の情報処理装置で構成されていることに限定されず、複数の情報処理装置等の複数のネットワーク機器により構成されているものとしてもよい。
【0038】
(立体造形装置のハードウェア構成)
図6は、実施形態に係る立体造形装置のハードウェア構成に一例を示す図である。
図6を参照しながら、本実施形態に係る立体造形装置20のハードウェア構成について説明する。
【0039】
図6に示すように、立体造形装置20は、制御部600と、操作パネル621と、センサ622と、を備えている。また、立体造形装置20が、ヘッドユニット670と、メンテナンス機構680と、を備えているのは上述した通りである。
【0040】
制御部600は、立体造形装置20全体の動作を制御する装置である。制御部600は、
図6に示すように、CPU601と、ROM602と、RAM603と、NVRAM(Non-Volatile RAM)604と、ASIC(Application Specific Integrated Circuit)605と、I/O606と、ホストI/F607と、ヘッド駆動部611と、照射駆動部612と、モータ駆動部613と、メンテナンス駆動部614と、を備えている。
【0041】
CPU601は、立体造形装置20全体の動作制御を司る演算装置である。ROM602は、立体造形装置20の電源が遮断されている間もデータおよびプログラムを保持している不揮発性メモリである。RAM603は、CPU601のワークエリア(作業領域)として機能する揮発性メモリである。NVRAM604は、印刷データ(3次元データ)、設定情報、および各種プログラム等を記憶する不揮発性記憶装置である。
【0042】
ASIC605は、印刷データに対する各種信号処理、および並び替え等を行なう画像処理、またはその他立体造形装置20全体を制御するための入出力信号を処理する集積回路である。
【0043】
I/O606は、各種センサ(センサ622等)からの検出信号を入力するインターフェースである。ホストI/F607は、外部機器(例えば情報処理装置10)との間でデータ(3次元データ等)および信号の送受を行うインターフェースである。ホストI/F607は、例えば、TCP/IPに準拠したネットワークインターフェース、または、USB等のインターフェースであってもよい。
【0044】
ヘッド駆動部611は、吐出ヘッド671を駆動制御する。ヘッド駆動部611は、印刷データ(3次元データに基づく情報)をシリアルデータで吐出ヘッド671内部の駆動回路へ転送する。このとき、ヘッド駆動部611は、印刷データの転送および転送の確定等に必要な転送クロックおよびラッチ信号、ならびに、吐出ヘッド671からインクを吐出する際に使用する駆動波形を生成し、吐出ヘッド671内部の駆動回路へ出力する。吐出ヘッド671内部の駆動回路は、入力した印刷データに対応する駆動波形を選択的に、吐出ヘッド671の各ノズルの圧電素子(アクチュエータ)に入力する。
【0045】
照射駆動部612は、CPU601の制御下で、照射装置672による紫外線の照射制御を行う。具体的には、照射駆動部612は、紫外線の照射タイミング、照度、および照射時間(光量)等を制御する。
【0046】
モータ駆動部613は、ヘッドユニット670のキャリッジ693をX方向(主走査方向)に移動させるX方向走査機構696のモータへ駆動電圧を出力することにより、当該モータを駆動する。また、モータ駆動部613は、ステージ695をY方向(副走査方向)に移動させるY方向走査機構697のモータへ駆動電圧を出力することにより、当該モータを駆動する。さらに、モータ駆動部613は、ヘッドユニット670をZ方向(高さ方向)に移動させることによりZ方向走査記憶698のモータへ駆動電圧を出力することにより、当該モータを駆動する。
【0047】
メンテナンス駆動部614は、メンテナンス機構680へ駆動信号を出力することにより、メンテナンス機構680を駆動する。
【0048】
操作パネル621は、ユーザの操作に応じた各種の入力を受け付けると共に、各種の情報(例えば、受け付けた操作に応じた情報、立体造形装置20の動作状況を示す情報、および設定画面等)を表示する、入力機能および表示機能を有した装置である。操作パネル621は、例えば、タッチパネル機能を搭載した液晶表示装置(LCD:Liquid Crystal Display)で構成される。なお、操作パネル621は、液晶表示装置に限定されるものではなく、例えば、タッチパネル機能が搭載された有機ELの表示装置で構成されていてもよい。また、操作パネル621は、タッチパネル機能に加えてまたはこれに代えて、ハードウェアキー等の操作部、またはランプ等の表示部を設けることもできる。
【0049】
なお、
図6に示した立体造形装置20のハードウェア構成は、一例を示すものであり、
図6に示した構成要素を全て含む必要はなく、または、その他の構成要素を含むものとしてもよい。
【0050】
(立体造形システムの機能ブロックの構成および動作)
図7は、実施形態に係る立体造形システムの機能ブロックの構成の一例を示す図である。
図8は、立体物の画像データから各レイヤの画像に分割する動作を説明する図である。
図7および
図8を参照しながら、本実施形態に係る立体造形システム1の機能ブロックの構成および動作について説明する。
【0051】
図7に示すように、立体造形システム1の情報処理装置10は、通信部101と、入力部102と、分割部103と、表示制御部104と、表示部105と、対象領域抽出部106(抽出部)と、高さ情報生成部107(生成部)と、合成部108と、出力部109と、記憶部110と、を有する。
【0052】
通信部101は、立体造形装置20との間で各種データ(例えば3次元データ等)の通信を行う機能部である。通信部101は、
図5に示すCPU501によるプログラムの実行、およびネットワークI/F509または外部I/F515によって実現される。
【0053】
入力部102は、ユーザからのデータの入力操作を受け付ける機能部である。入力部102は、例えば、
図5に示すキーボード511およびマウス512によって実現される。
【0054】
分割部103は、立体物の画像データ(2次元の画像データ)について、複数のモノクロ(グレースケール)の画像データに分割する機能部である。ここで、立体物の画像データは、例えば、立体物を撮像した画像データとしてもよく、立体物を描画した画像データ等であってもよい。また、立体物の画像データは、通信部101により受信された画像データであってもよく、記憶部110に記憶された画像データであってもよい。また、本実施形態においては、立体物の画像データは、例えばR(赤)、G(緑)、B(青)のカラー画像データであるものとする。また、分割部103による分割の対象となる立体物の画像データは、通信部101により受信された画像データであってもよく、記憶部110に記憶された画像データであってもよい。また、分割部103により分割されたグレーススケールの画像データは、各画素の画素値として、例えば8ビット(0~255)の階調で示される明度を含む。なお、分割部103により分割されたグレースケールの画像データ(レイヤ画像の一例)を、以下では「レイヤ」と称する場合がある。
【0055】
図8に示す例では、分割部103は、花の立体物の画像を含む画像データIMGを分割して、2つのレイヤL1、L2に分割している。レイヤL2は、元の画像データIMGに含まれる花群のうち中央の花部分の画像を抽出してグレースケールの画像データとして分割されたものである。レイヤL1は、元の画像データIMGに含まれる花群のうち中央の花部分の画像が除かれたグレースケールの画像データとして分割されたものである。なお、この場合、
図8では、レイヤL1において、除かれた中央の花の部分が、明度が「0」(黒)として描画されているが、これに限定されるものではなく、明度が「255」(白)とする画素値で構成されるものとしてもよい。また、分割部103の分割動作の説明上、レイヤL1において、除かれた中央の花の部分が、レイヤL2として描画され、当該レイヤL1の当該部分には画像が描画されていない明度が「0」または「255」の領域となっているが、これに限定されるものではない。例えば、レイヤL1の画像が描画されていない部分にも、新たに画像を追加する処理等によって、画像が含まれているものとしてもよい。
【0056】
分割部103は、分割したレイヤを、記憶部110に記憶させる。分割部103は、例えば、
図5に示すCPU501によるプログラムの実行によって実現される。なお、立体物の画像データから分割された複数のレイヤについては、通信部101を介して外部装置から取得されるものとしてもよい。すなわち、分割部103の機能は当該外部装置のプログラムの実行によって実現されるものとしてもよい。
【0057】
表示制御部104は、表示部105の表示動作を制御する機能部である。表示制御部104は、例えば、後述する
図9に示すメイン画面1000、および、
図10に示す高さ情報設定画面1100を、表示部105に表示させる。表示制御部104は、例えば、
図5に示すCPU501によるプログラムの実行によって実現される。表示部105は、
図5に示すディスプレイ508によって実現される。
【0058】
対象領域抽出部106は、後述する
図10に示す高さ情報設定画面1100において表示された特定のレイヤの画像において、ユーザによる入力部102を介した操作に従って、立体形状を生成する対象領域を抽出する機能部である。対象領域抽出部106は、例えば、
図5に示すCPU501によるプログラムの実行によって実現される。
【0059】
高さ情報生成部107は、特定のレイヤにおいて対象領域抽出部106により抽出された対象領域において、当該対象領域の画素ごとに高さ情報を生成する機能部である。高さ情報の生成方法については、後述の
図10~
図14で詳細に説明する。高さ情報生成部107は、例えば、
図5に示すCPU501によるプログラムの実行によって実現される。
【0060】
合成部108は、後述する
図9に示すメイン画面1000において、ユーザによる入力部102を介した操作に従って、各レイヤの高さ情報を合成(マージ)する機能部である。具体的には、合成部108は、各レイヤの対応する画素の高さ情報について、加算、減算、乗算、または除算、すなわち四則演算をすることによって、画素ごとに1つの合成された高さ情報を求める。合成部108は、例えば、
図5に示すCPU501によるプログラムの実行によって実現される。
【0061】
出力部109は、分割部103による分割の対象となった立体物の画像データ、および合成部108により合成された高さ情報を、立体造形装置20へ出力する機能部である。出力部109は、例えば、立体物の画像データおよび高さ情報を通信部101を介して、立体造形装置20へ出力するものとすればよい。
【0062】
なお、立体物の画像データと、高さ情報とを1つのデータとして扱ってもよい。例えば、立体物の画像データの画素に、画素値としてのRGBの色値だけでなく、高さ情報を関連付けたデータとして扱ってもよい。また、上述の3次元データとは、合成部108により合成された高さ情報と捉えることもでき、上述のように立体物の画像データと高さ情報とが1つのデータとして扱われる場合の当該データと捉えることもできる。
【0063】
出力部109は、例えば、
図5に示すCPU501によるプログラムの実行によって実現される。
【0064】
記憶部110は、立体物の画像データ、当該画像データに基づく複数のレイヤ、および当該レイヤを合成することにより得られた3次元データ(高さ情報等)を記憶する機能部である。記憶部110は、
図5に示す補助記憶装置505によって実現される。
【0065】
なお、分割部103、表示制御部104、対象領域抽出部106、高さ情報生成部107、合成部108および出力部109の一部または全部は、ソフトウェアであるプログラムではなく、FPGA(Field-Programmable Gate Array)等のハードウェア回路(集積回路等)によって実現されてもよい。
【0066】
また、
図7に示した情報処理装置10の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、
図7に示した情報処理装置10で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、
図7に示した情報処理装置10での1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0067】
図7に示すように、立体造形システム1の立体造形装置20は、取得部201と、色情報生成部202と、層情報生成部203と、搬送制御部204と、移動制御部205と、造形部206と、を有する。
【0068】
取得部201は、情報処理装置10から、立体物の画像データおよび高さ情報を取得する機能部である。例えば、取得部201は、情報処理装置10に対して立体物の画像データおよび高さ情報の取得要求を送信し、当該取得要求に対する応答として、情報処理装置10から当該立体物の画像データおよび高さ情報を取得するものとすればよい。または、取得部201は、情報処理装置10からの造形指令と共に、立体物の画像データおよび高さ情報を取得するものとしてもよい。取得部201は、例えば、
図6に示すCPU601によるプログラムの実行、およびホストI/F607によって実現される。
【0069】
色情報生成部202は、取得部201により取得された立体物の画像データに基づいて、当該立体物の画像の画素毎のRGBの色値に基づいて色情報を生成する機能部である。例えば、色情報生成部202は、取得部201により取得された立体物の画像データのRGB値をCMYK値に変換することによって、色情報を生成する。色情報生成部202は、例えば、
図6に示すCPU601によるプログラムの実行によって実現される。
【0070】
層情報生成部203は、取得部201により取得された高さ情報と、色情報生成部202により生成された色情報とを用いて、立体物を造形するための層毎の画素の配置を層情報(スライス情報)を生成する機能部である。層情報生成部203による層情報の生成動作については、後述の
図21で詳細に説明する。層情報生成部203は、例えば、
図6に示すCPU601によるプログラムの実行によって実現される。
【0071】
搬送制御部204は、ヘッドユニット670により立体物の造形が行われる記録媒体Pが載置されたステージ695の副走査方向(Y方向)の往復移動をさせるために、モータ駆動部613(Y方向走査機構697)の動作を制御する機能部である。搬送制御部204は、例えば、
図6に示すCPU601によるプログラムの実行によって実現される。
【0072】
移動制御部205は、ヘッドユニット670による立体物の造形動作において、当該ヘッドユニット670の主走査方向(X方向)および高さ方向(Z方向)の往復移動をさせるために、モータ駆動部613(X方向走査機構696、Z方向走査記憶698)の動作を制御する機能部である。移動制御部205は、例えば、
図6に示すCPU601によるプログラムの実行によって実現される。
【0073】
造形部206は、層情報生成部203により生成された層毎の層情報に基づいて、記録媒体P上に紫外線硬化インクを積層させ、立体物を造形する機能部である。また、造形部206は、立体物の形状を造形する場合には、色情報が示す色とは異なる色の紫外線硬化インクを用いて造形する。例えば、造形部206は、立体物の形状の造形には、ホワイト(W)、クリア(CL)またはこれらを混合した紫外線硬化インクを用いるものとすればよい。造形部206による立体物の造形処理については、後述の
図22~
図25で詳細に説明する。造形部206は、
図6に示すヘッド駆動部611、照射駆動部612およびヘッドユニット670によって実現される。
【0074】
なお、色情報生成部202、層情報生成部203、搬送制御部204および移動制御部205の一部または全部は、ソフトウェアであるプログラムではなく、FPGA等のハードウェア回路(集積回路等)によって実現されてもよい。
【0075】
また、
図7に示した立体造形装置20の各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、
図7に示した立体造形装置20で独立した機能部として図示した複数の機能部を、1つの機能部として構成してもよい。一方、
図7に示した立体造形装置20での1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0076】
(画面操作について)
図9は、レイヤを合成して3次元データを得るためのメイン画面の一例を示す図である。
図10は、高さ情報設定画面の一例を示す図である。
図11は、高さ情報を説明する図である。
図12および
図13は、高さ情報の生成方法の一例を説明する図である。
図14は、対象領域の任意の一点から輪郭までの距離を説明する図である。
図9~
図14を参照しながら、本実施形態に係る情報処理装置10で表示される各種画面の操作および機能について説明する。
【0077】
表示制御部104は、ユーザによる入力部102を介した操作に従って、表示部105に、
図9に示すようなメイン画面1000を表示させる。メイン画面1000は、分割部103により立体物の画像データから分割された各レイヤについての編集、および、当該各レイヤを合成して3次元データを生成するための画面である。メイン画面1000は、
図9に示すように、メニューバー1001と、立体表示領域1002と、ステータスバー1003と、更新ボタン1004と、リスト表示切替ボタン1005と、操作ボタン群1006と、レイヤ一覧表示領域1007と、を含む。
【0078】
メニューバー1001は、各種操作を行うためのメニューボタンは配置された領域である。
【0079】
立体表示領域1002は、レイヤ一覧表示領域1007で一覧表示されたレイヤを合成した3次元データの画像(3Dオブジェクト)を表示する領域である。
【0080】
ステータスバー1003は、各種ステータス情報を表示する領域である。表示させるステータス情報としては、例えば、読み込まれた立体物の画像データのファイル名、当該画像データのサイズ、当該画像データの読み込み時に指定した解像度(dpi)、解像度に対応した画像のサイズ(mm×mm)、ならびに、レイヤ一覧表示領域1007において現在選択されているレイヤの番号および全レイヤ数等が挙げられる。
【0081】
更新ボタン1004は、レイヤ一覧表示領域1007で選択されているレイヤの合計の高さを表示させるためのボタンである。リスト表示切替ボタン1005は、レイヤ一覧表示領域1007でレイヤを一覧表示(リスト表示)をさせる場合の表示形式を切り替えるためのボタンである。
【0082】
操作ボタン群1006は、レイヤ一覧表示領域1007に表示されたレイヤ、および、立体表示領域1002に表示された3Dオブジェクトに対して各種操作を行うためのボタンである。例えば、合成部108は、ユーザによる入力部102を介した操作ボタン群1006に対する操作に従って、レイヤ一覧表示領域1007で選択された複数のレイヤの高さ情報を、四則演算によって合成(マージ)する。また、表示制御部104は、ユーザによる入力部102を介した操作ボタン群1006に対する操作に従って、レイヤ一覧表示領域1007によって選択されたレイヤを編集するための
図10に示す高さ情報設定画面1100を表示部105に表示させる。
【0083】
レイヤ一覧表示領域1007は、分割部103により立体物の画像データから分割された各レイヤを一覧表示する領域である。レイヤ一覧表示領域1007では、各レイヤにチェックボックスが付いており、当該チェックボックスにチェックを入れることで、対応するレイヤを選択状態にすることができる。なお、表示制御部104は、レイヤ一覧表示領域1007で一覧表示されたレイヤのうち、所望するレイヤに対して入力部102を介した操作(例えばマウス512によるダブルクリック操作)がなされることによって、当該レイヤを編集するための
図10に示す高さ情報設定画面1100を表示部105に表示させるものとしてもよい。
【0084】
図10に、所望するレイヤについて編集(高さ情報の生成等)するための高さ情報設定画面1100を示す。高さ情報設定画面1100は、
図10に示すように、領域Aと、領域Bと、領域Cと、を含む。
【0085】
領域Aは、メイン画面1000のレイヤ一覧表示領域1007に表示されたレイヤのうち操作対象とされたレイヤを2次元表示し、対象領域抽出部106による抽出対象となる対象領域を指定するための領域である。領域Bは、レイヤの各画素に高さ情報を与えるための曲線を編集するための領域である。領域Cは、領域Aで指定された対象領域について、領域Bでの曲線に基づいて生成された高さ情報に基づく立体形状の画像を表示する領域である。
【0086】
ここで、
図11を参照しながら、レイヤの対象領域の各画素について生成される高さ情報について説明する。
図11は説明を簡便にするために、レイヤの対象領域の画素についての高さ情報を2次元で表示している。
図11に示す白い各矩形の高さが、対象領域の画素ごとの高さ情報を示しており、1画素に対応する高さ情報は、例えば8ビット(0~255)で表されるものとする。したがって、
図11に示す例では、対象領域のうち、「201」に対応する画素が最も高さが高く、「24」に対応する画素が最も高さ低い。また、高さ情報生成部107により生成される各レイヤの高さ情報は、上述の画素ごとに対応する8ビットの値としてもよく、所定の高さを基準にして変換された実際の高さとしてもよい。所定の高さを基準にして変換された実際の高さとして、例えば、8ビットの値の最高値である「255」を、各レイヤの高さとして設定された設定値に対応させ、対象領域の各画素の8ビットの値の「255」に対する割合を当該設定値に乗算することによって求めた値としてもよい。この場合、例えば、特定のレイヤの高さ(実際の高さ)が25.5[mm]に設定されている場合、8ビット値の「255」を25.5[mm]に対応させ、対象領域の特定の画素の8ビットの値が例えば「128」であるとき、当該画素の高さ情報としては、25.5×(128/255)=12.8[mm]となる。または、所定の高さを基準にして変換された実際の高さとして、例えば、対象領域の各画素の8ビットの値の最高値(
図11の例では「201」)を、実際の高さとして設定した値に対応させ、対象領域の各画素の8ビットの値の当該最高値に対する割合を当該設定した値に乗算することによって求めた値としてもよい。この場合、例えば、特定のレイヤの対象領域における各画素の8ビットの値の最高値が、
図11に示すように「201」である場合、この最高値に対して実際の高さとして20.1[mm]を設定した場合、対象領域の特定の画素の8ビットの値が例えば「112」であるとき、当該画素の高さ情報としては、20.1×(111/201)=11.2[mm]となる。
【0087】
次に、レイヤの対象領域における高さ情報の生成方法の一例として、第1の方法および第2の方法について説明する。まず、当該生成方法の第1の方法について、
図12~
図14を参照しながら説明する。
【0088】
ユーザは、高さ情報設定画面1100の領域Aにおいて表示された立体物の画像データから分割された特定のレイヤであるレイヤL11において、入力部102を介した操作により、対象領域とする領域を指定する。対象領域抽出部106は、例えば、
図12(a)に示すように、当該操作により指定された領域を、対象領域TR11として抽出する。ここで、対象領域TR11の輪郭を、輪郭O11とする。
【0089】
そして、高さ情報生成部107は、対象領域抽出部106により抽出された対象領域TR11内の各位置のうち、輪郭O11から最も離れている位置と輪郭O11との距離(最大距離)を算出する。また、表示制御部104は、高さ情報設定画面1100の領域Bに、0から最大距離までを横軸とし、高さを縦軸として、対象領域における立体形状を規定するための曲線のグラフを表示させる。なお、当該曲線として、デフォルトでは、
図12(a)に示すように、横軸および縦軸の原点から、横軸および縦軸の最大値の点までを結ぶ直線をグラフとして表示されるものとしてもよい。また、高さ情報生成部107は、最大距離を算出せずに、ユーザによる入力部102を介した操作により入力された値(距離)を、領域Bの横軸の最大値に設定するものとしてもよい。
【0090】
そして、表示制御部104は、ユーザによる入力部102を介した操作に従って、領域Bのグラフとしての直線を、曲線等に編集された結果(
図12(a)の例では曲線C11a)を表示させる。ここで、編集される線(グラフ)は、曲線、直線、または折り曲げ線等が含まれるように編集されるものとしてもよい。また、例えば、ユーザは、入力部102を介して、デフォルトの直線の任意の一点を選択して移動することによって、直線を変形させて曲線とすることもできる。なお、ユーザは、入力部102の一例であるマウス512の操作に基づいて、領域B上を移動するポインタの軌跡を曲線として入力できるものとしてもよい。このように、ユーザは、高さ情報設定画面1100の領域Bを用いて曲線を自由に入力することができ、曲線を極めて簡易に入力することができる。
【0091】
そして、高さ情報生成部107は、ユーザにより入力部102を介して編集された曲線のグラフに基づいて、
図12(a)に示すように、対象領域の輪郭からの距離に応じて高さが変化する立体形状のデータである立体形状S11aを生成する。そして、表示制御部104は、高さ情報生成部107により生成された立体形状S11aを、領域Cに表示させる。すなわち、高さ情報生成部107は、入力された曲線に基づいて、対象領域の位置ごとに、各位置と輪郭の一点との距離に応じた高さを求め、当該高さに基づいて対象領域において立体形状のデータである立体形状S11aを生成する。
【0092】
そして、高さ情報生成部107は、生成した対象領域の立体形状S11aに基づいて、当該対象領域について高さ情報を生成する。高さ情報の生成方法は、上述の
図11で説明した通りである。
【0093】
図12(a)に示す例では、領域Bに入力された曲線C11aは、輪郭O11から中心部に向けて高さが高くなり、途中で高さが低くなり、再び、中心部に向けて高さが高くなっている。そして、高さ情報生成部107は、対象領域TR11の画素毎に、輪郭O11までの最小距離をグラフに当てはめ、その画素の位置での高さを求める。その結果、
図12(a)では、輪郭O11で示される対象領域TR11を底面とし、輪郭O11から中心部に向けて高さが高くなり、途中で高さが低くなり、再び、中心部に向けて高さが高くなる立体形状S11aが、領域Cに表示される。
【0094】
図12(b)に示す例では、領域Bに入力された曲線C11bは、輪郭O11から中心部に向けて高さが山なりに変化している。そして、高さ情報生成部107は、対象領域TR11の画素毎に、輪郭O11までの最小距離をグラフに当てはめ、その画素の位置での高さを求める。その結果、
図12(b)では、輪郭O11で示される対象領域TR11を底面とし、輪郭O11から中心部に向けて高さが一度高くなった後に低くなる中央部が凹んだ立体形状S11bが、領域Cに表示される。
【0095】
図12に示すように、対象領域TR11が円形状の場合、輪郭O11からの距離は、円の中心が最も大きく、輪郭O11に近づくほど小さくなる。このため、立体形状の表面の形状は、距離が最大側の縦軸を軸としてグラフを回転したときに当該グラフの軌跡に対応した形状となる。したがって、ユーザは、入力する曲線と立体形状との対応関係を容易に認識することができる。また、
図12に示すように、高さの変化を示す曲線を自由かつ簡易に入力できるため、対象領域から頂点に向けて高さが徐々に大きくなる立体形状だけでなく、高さの上昇または下降が途中で変化する立体形状を容易に生成することができる。
【0096】
図13に示す例では、領域Aにおいて表示された立体物の画像データから分割された特定のレイヤであるレイヤL12において、ユーザによる入力部102を介した操作により、対象領域として、2つの円の一部を重複させた形状である対象領域TR12が抽出された状態を示している。ここで、対象領域TR12の輪郭を、輪郭O12とする。
【0097】
図13(a)の例では、領域Bにおいて、
図12(a)の曲線C11aと同じ曲線である曲線C12aが入力され、
図13(b)に示す例では、領域Bにおいて、
図12(b)の曲線C11bと同じ曲線である曲線C12bが入力されている。
【0098】
そして、高さ情報生成部107は、対象領域抽出部106により抽出された対象領域TR12内の各位置のうち、輪郭O12から最も離れている位置と輪郭O12との距離(最大距離)を算出する。
図13に示す例の場合、対象領域TR12の形状において、領域Bでの横軸の最大値は、輪郭O12から2つの円のそれぞれの中心までの距離に等しい。そして、高さ情報生成部107は、対象領域TR12の画素毎に、輪郭O12までの最小距離をグラフ(曲線C12a、C12b)に当てはめ、その画素の位置での高さを求める。その結果、
図13(a)では、輪郭O12で示される対象領域TR12を底面とし、輪郭O12から中心部に向けて高さが高くなり、途中で高さが低くなり、再び、中心部に向けて高さが高くなる立体形状S12aが、領域Cに表示される。また、
図13(b)では、輪郭O12で示される対象領域TR12を底面とし、輪郭O12から中心部に向けて高さが一度高くなった後に低くなる中央部が凹んだ八の字形状の立体形状S12bが、領域Cに表示される。そして、高さ情報生成部107は、生成した対象領域の立体形状S12a、S12bに基づいて、当該対象領域について高さ情報を生成する。高さ情報の生成方法は、上述の
図11で説明した通りである。
【0099】
そして、高さ情報生成部107により生成されたレイヤごとの高さ情報は、各レイヤの基となる立体物の画像データと共に、記憶部110に記憶される。
【0100】
また、
図14に示すように、対象領域TRにおいて、任意の一点(例えば画素)から輪郭までの距離は複数ある。上述のように、任意の一点の高さを輪郭からの距離に応じて決定するため、考えられる複数の距離から1つの距離を決定する必要がある。上述の
図12および
図13の例では、高さ情報生成部107は、対象領域の各点について、輪郭を形成する複数の点までの距離のうち、最も小さい距離を求め、求めた距離をグラフに当てはめ、その点での高さを求めるものとしている。ここで、高さ情報生成部107は、対象領域の各画素について、輪郭を形成する複数の点までの距離のうち、最も大きい距離を求め、当該距離をグラフに当てはめ、その画素の位置での高さを求めるものとしてもよい。また、高さ情報生成部107は、対象領域の各画素について、輪郭を形成する複数の点までの距離の平均値をグラフに当てはめ、その画素の位置での高さを求めるものとしてもよい。
【0101】
また、
図14に示すように、対象領域の各画素から輪郭を形成する複数の点の距離については、直線で結んだ距離であるユークリッド距離を想定しているが、これに限定されるものではなく、横軸および縦軸に平行移動しながら算出されるマンハッタン距離を用いるものとしてもよい。距離の算出方法は、対象領域内の各点における高さの決定方法に関係し、距離の算出方法によって、各点での高さの値は異なるため、最終的に生成される立体形状も異なってくる。
【0102】
次に、レイヤの対象領域における高さ情報の生成方法として、第2の方法について説明する。上述のように、分割部103は、立体物の画像データ(2次元の画像データ)について、複数のモノクロ(グレースケール)の画像データ(レイヤ)に分割する。そして、このレイヤは、各画素の画素値として、例えば8ビット(0~255)の階調で示される明度を含む。当該第2の方法では、各レイヤの各画素の明度を、そのまま高さ情報の生成に用いる。すなわち、高さ情報生成部107は、特定のレイヤにおいて対象領域抽出部106により抽出された対象領域において、当該対象領域の各画素の明度に基づいて、高さ情報を生成する。具体的な高さ情報の生成方法は、上述の
図11で説明した通りである。
【0103】
これによって、分割部103により分割されたレイヤにおけるグレースケールの濃淡をそのまま立体形状に反映させることができる。また、レイヤの明度を高さ情報の生成に用いる場合、上述の第1の方法における
図12および
図13で示したような、高さ情報を生成するために用いる領域Bにおける曲線の入力および編集操作を必要としないため、作業の手間を省くことができる。なお、第2の方法においても、
図10の高さ情報設定画面1100に準じた画面によって、高さ情報の基となる対象領域における各画素の明度を編集できるものとしてもよい。
【0104】
(レイヤの高さ情報に対する四則演算による合成動作)
図15~
図17は、高さ情報を加算する動作の一例を説明する図である。
図18は、高さ情報を減算する動作の一例を説明する図である。
図15~
図18を参照しながら、合成部108による各レイヤの高さ情報を合成(マージ)する動作について説明する。
【0105】
上述の
図11~
図14で説明したように、立体物の画像データから分割部103により分割された各レイヤについて、高さ情報生成部107により高さ情報がそれぞれ生成される。そして、合成部108は、メイン画面1000において、ユーザによる入力部102を介した操作ボタン群1006の操作に従って、各レイヤの高さ情報を合成(マージ)する。具体的には、合成部108は、各レイヤの対応する画素の高さ情報について、加算、減算、乗算、または除算、すなわち四則演算を行うことによって、画素ごとに1つの合成された高さ情報を求める。
【0106】
図15~
図17は、各レイヤの高さ情報を加算することによって合成する動作の一例を示している。ここで、上述の
図8に示したレイヤL1、L2についての合成を考える。そして、レイヤL1において、除かれた中央の花の部分について明度が「0」(黒)であるものする。ここでは、レイヤの明度が高さ情報であるものとして説明する。そして、合成部108により、レイヤL1の高さ情報と、レイヤL2の高さ情報とが加算によって合成された状態を、概念的に示したのが
図15である。
図15において、白の矩形で示される部分がレイヤL1に対応し、ハッチングの矩形で示される部分がレイヤL2に対応している。レイヤL1における除かれた花の部分が、明度が「0」である真中の部分に相当する。そして、レイヤL1の高さ情報とレイヤL2の高さ情報との加算により、このレイヤL1における明度が「0」の部分に対して、レイヤL2の高さ情報が加算されるため、合成された高さ情報における、レイヤL1の除かれた花の部分に相当する部分は、レイヤL2の高さ情報と一致することになる。
【0107】
また、レイヤL1において、除かれた中央の花の部分について明度が「255」(白)である場合を考える。そして、合成部108により、レイヤL1の高さ情報と、レイヤL2の高さ情報とが加算によって合成された状態を、概念的に示したのが
図16である。レイヤL1における除かれた花の部分が、明度が「255」である真中の部分に相当する。そして、レイヤL1の高さ情報とレイヤL2の高さ情報との加算により、このレイヤL1における明度が「255」の部分に対して、レイヤL2の高さ情報が加算されるため、合成された高さ情報における、レイヤL1の除かれた花の部分に相当する部分は、明度「255」に対して、さらにレイヤL2の高さ情報が加算された状態となる。これによって、レイヤL1に描画されている花に対して、レイヤL2に描画されている花が飛び出したような立体形状を造形することが可能となる。
【0108】
また、レイヤL1において、除かれた中央の花の部分について、新たに画像を追加する処理等が行われ、「1」以上の明度が加わっている場合を考える。そして、合成部108により、レイヤL1の高さ情報と、レイヤL2の高さ情報とが加算によって合成された状態を、概念的に示したのが
図17である。レイヤL1における除かれた花の部分に新たに画像を追加する処理等が行われた部分が、真中に位置する明度が「110」、「160」、「125」、「127」、「87」である部分(以下、新たな画像部分と称する)に相当する。そして、レイヤL1の高さ情報とレイヤL2の高さ情報との加算により、このレイヤL1における新たな画像部分に対して、レイヤL2の高さ情報が加算されるため、合成された高さ情報における、レイヤL1の除かれた花の部分に相当する部分は、新たな画像部分の高さ情報に対して、さらにレイヤL2の高さ情報が加算された状態となる。
【0109】
また、
図18は、レイヤの高さ情報を減算することによって合成する動作の一例を示している。ここで、上述の
図8に示したレイヤL1、L2についての合成を考える。そして、レイヤL1において、除かれた中央の花の部分について明度が「255」(白)であるものする。そして、合成部108により、レイヤL1の高さ情報から、レイヤL2の高さ情報が減算されることによって合成された状態を、概念的に示したのが
図18である。レイヤL1の高さ情報からレイヤL2の高さ情報が減算されることにより、このレイヤL1における明度が「255」の部分から、レイヤL2の高さ情報が減算されるため、合成された高さ情報における、レイヤL1の除かれた花の部分に相当する部分は、凹んだ形状を示す高さ情報となる。
【0110】
なお、
図15~
図18では、四則演算のうち加算および減算を用いて、各レイヤの高さ情報を合成する例を説明したが、同様の態様によって、各レイヤの高さ情報について乗算、または除算により合成することも可能である。また、合成する方法は、四則演算に限定されるものではなく、例えば、各レイヤに重みを付けて加重和を行うことにより合成するものとしてもよい。
【0111】
また、合成部108による各レイヤの高さ情報の合成は、四則演算のうち、予め定められた演算方法によって行われるものとしてもよく、あるいは、レイヤごとに四則演算のうち特定の演算方法を割り当てることができるものとしてもよい。各レイヤへの演算方法の割り当ては、
図9に示したメイン画面1000において設定ができるものとすればよい。この場合、合成部108は、各レイヤに割り当てられた演算方法に従って、各レイヤの高さ情報の合成を行うものとすればよい。
【0112】
そして、表示制御部104は、合成部108により合成された高さ情報に基づいて生成した立体形状の画像を、メイン画面1000における立体表示領域1002に表示させる。
【0113】
以上のように、本実施形態では、立体物の画像データから分割部103により分割されたレイヤごとに高さ情報生成部107により高さ情報が生成されたうえで、合成部108により四則演算により1つの高さ情報に合成されるものとしている。これによって、レイヤごとに簡便な操作に基づいて生成された高さ情報を、四則演算により合成することができるので、簡便な操作性を維持したまま、複雑な構成の高さ情報を生成することができ、複雑な立体物の造形が可能となる。
【0114】
(3次元データを用いた造形動作について)
図19は、色情報の一例を示す図である。
図20は、高さ情報を概念的に表した図である。
図21は、層情報の生成方法を説明する図である。
図22~
図25は、立体物の造形方法の一例を示す図である。
図19~
図25を参照しながら、3次元データを用いた造形動作について説明する。
【0115】
上述のように、取得部201は、情報処理装置10から、3次元データとして、立体物の画像データ、および合成部108により合成された高さ情報を取得する。そして、色情報生成部202は、取得部201により取得された立体物の画像データに基づいて、当該立体物の画像の画素毎のRGBの色値に基づいて色情報を生成する。例えば、色情報生成部202は、取得部201により取得された立体物の画像データのRGB値をCMYK値に変換することによって、色情報を生成する。
図19に、色情報生成部202により生成された色情報の一例を概念的に示す。
図19に示す例では、符号Yは、画素(以下、「ドット」と称する場合がある)の色がイエローであることを示し、符号Cは、画素の色がシアンであることを示し、符号Mは、画素の色がマゼンタであることを示し、符号Kは、画素の色がブラックであることを示す。以下では、符号Yが付された画素と同一模様の画素の色はイエローを示し、符号Cが付された画素と同一模様の画素の色はシアンを示し、符号Mが付された画素と同一模様の画素の色はマゼンタを示し、符号Kが付された画素と同一模様の画素の色はブラックを示すものとする。
【0116】
図20に、合成部108により合成された高さ情報を概念的に示す。
図20に示すように、高さ情報は、複数層の情報である。すなわち、高さ情報は、3次元の情報であり(ただし、
図20では、簡略に説明するため2次元で図示している)、
図20では、簡便のため高さ情報がピラミッド形状を示す情報として説明する。
【0117】
次に、
図21を参照しながら、層情報の生成方法を概念的に説明する。層情報生成部203は、
図20に示した高さ情報を示すドット上に、色情報生成部202により生成された色情報が示すドットを配置することによって、層情報の基となる立体画像情報を生成する。そして、層情報生成部203は、
図21に示すように、立体画像情報を層毎に分離することによって、層毎の画素の配置を示す層情報(
図21に示す例では4層の層情報)を生成する。さらに、層情報生成部203は、生成した層情報を、形状用のドットの配置を示す形状層情報と、色用のドットの配置を示す色層情報と、に分離する。なお、
図21に示す例では、最上位の4層目の層情報は、色層情報のみで構成されている。
【0118】
造形部206は、色層情報に基づく紫外線硬化インクの積層を、同一層の形状層情報よりもm(1以上の自然数)層分遅らせて行う。ここでは、
図21に示す層情報を例に取り、m=1の場合の積層手法について説明する。なお、積層手法についてはこれに限定されるものではない。
【0119】
まず、造形部206は、
図22に示すように、ホワイト(W)の紫外線硬化インクを用いて、1層目の形状層情報が示すドット441を記録媒体P上に積層する。
【0120】
次に、造形部206は、
図23に示すように、ホワイト(W)の紫外線硬化インクを用いて、2層目の形状層情報が示すドット451をドット441上に積層すると共に、イエロー(Y)の紫外線硬化インクを用いて、1層目の色層情報が示すドット442を記録媒体P上に積層する。
【0121】
次に、造形部206は、
図24に示すように、ホワイト(W)の紫外線硬化インクを用いて、3層目の形状層情報が示すドット461をドット451上に積層すると共に、イエロー(Y)の紫外線硬化インクを用いて、2層目の色層情報が示すドット452をドット441上に積層する。
【0122】
最後に、造形部206は、
図25に示すように、シアン(C)の紫外線硬化インクを用いて、3層目の色層情報が示すドット462をドット451上に積層すると共に、マゼンタ(M)の紫外線硬化インクを用いて、4層目の色層情報が示すドット472をドット461上に積層する。
【0123】
なお、上述の
図22~
図25の例では、形状層情報に基づいてホワイト(W)の紫外線硬化インクを積層する例を示したが、これに限定されるものではなく、他の色(例えばクリア(CL))の紫外線硬化インクを積層するものとしてもよい。また、形状層情報に基づいてホワイト(W)以外の他の色(例えばクリア(CL))で積層して立体物の形状を形成し、その上にホワイト(W)で白色層を形成し、そして、色層情報に基づいて色用のドットを配置する(色層を形成する)ものとしてもよい。
【0124】
(高さ情報の生成処理の流れ)
図26は、実施形態に係る情報処理装置の高さ情報の生成処理の流れの一例を示すフローチャートである。
図26を参照しながら、本実施形態に係る情報処理装置10の高さ情報の生成処理の流れについて説明する。なお、立体物の画像データについては、予め分割部103により複数のレイヤに分割されているものとする。また、レイヤの対象領域における高さ情報の生成方法として、上述の第1の方法を採用した場合について説明する。
【0125】
<ステップS11>
表示制御部104は、記憶部110に記憶されている、分割部103により分割された画像データであるレイヤを読み込む。レイヤが読み込まれた場合(ステップS11:Yes)、ステップS12へ移行し、読み込まれない場合(ステップS11:No)、待機する。
【0126】
<ステップS12>
表示制御部104は、メイン画面1000を表示部105に表示させ、読み込んだレイヤに基づいて、レイヤ一覧表示領域1007にレイヤを一覧表示させる。また、表示制御部104は、ユーザによる入力部102を介した操作ボタン群1006に対する操作に従って、レイヤ一覧表示領域1007によって選択されたレイヤを編集するための
図10に示した高さ情報設定画面1100を表示部105に表示させる。そして、ステップS13へ移行する。
【0127】
<ステップS13>
対象領域抽出部106は、高さ情報設定画面1100において表示された特定のレイヤ(メイン画面1000で選択されたレイヤ)の画像において、ユーザによる入力部102を介した操作に従って、立体形状を生成する対象領域を抽出する。そして、ステップS14へ移行する。
【0128】
<ステップS14>
表示制御部104は、高さ情報設定画面1100の領域Aに表示されたレイヤの画像において、対象領域抽出部106により抽出された対象領域の輪郭を表示させる。また、高さ情報生成部107は、対象領域抽出部106により抽出された対象領域内の各位置のうち、輪郭から最も離れている位置と輪郭との距離(最大距離)を算出する。そして、表示制御部104は、高さ情報設定画面1100の領域Bに、0から最大距離までを横軸とし、高さを縦軸として、対象領域における立体形状を規定するための曲線のグラフを表示させる。なお、当該曲線として、デフォルトでは、横軸および縦軸の原点から、横軸および縦軸の最大値の点までを結ぶ直線をグラフとして表示されるものとしてもよい。そして、ステップS15へ移行する。
【0129】
<ステップS15>
ユーザによる入力部102を介した操作に従って、領域Bのグラフとしての直線を、曲線等に編集された(曲線等が入力された)場合(ステップS15:Yes)、ステップS16へ移行し、曲線等が入力されていない場合(ステップS15:No)、入力されるまで待機する。
【0130】
<ステップS16>
高さ情報生成部107は、ユーザにより入力部102を介して編集された曲線のグラフに基づいて、対象領域の輪郭からの距離に応じて高さが変化する立体形状のデータである立体形状を生成する。そして、表示制御部104は、高さ情報生成部107により生成された立体形状を、高さ情報設定画面1100の領域Cに表示させる。そして、ステップS17へ移行する。
【0131】
<ステップS17>
ユーザによる入力部102を介した操作に従って、領域Bのグラフとしての曲線が再度編集された(曲線が再入力された)場合(ステップS17:Yes)、ステップS15へ戻り、曲線が再入力されない場合(ステップS17:No)、ステップS18へ移行する。
【0132】
<ステップS18>
そして、高さ情報生成部107は、生成した対象領域の立体形状に基づいて、当該対象領域について高さ情報を生成する。高さ情報設定画面1100において、すべてのレイヤについて対象領域の曲線の編集が終了した場合(ステップS18:Yes)、ステップS19へ移行し、終了していない場合(ステップS18:No)、ステップS12へ戻る。
【0133】
<ステップS19>
合成部108は、メイン画面1000において、ユーザによる入力部102を介した操作ボタン群1006の操作に従って、各レイヤの高さ情報を合成(マージ)する。具体的には、合成部108は、各レイヤの対応する画素の高さ情報について、加算、減算、乗算、または除算、すなわち四則演算を行うことによって、画素ごとに1つの合成された高さ情報を生成する。そして、高さ情報の生成処理を終了する。
【0134】
(立体物の造形動作の流れ)
図27は、実施形態に係る立体造形装置の立体物の造形動作の流れの一例を示すフローチャートである。
図28は、実施形態に係る立体造形装置の立体物の造形動作における造形処理の流れの一例を示すフローチャートである。
図27および
図28を参照しながら、本実施形態に係る情報処理装置10の立体物の造形動作の流れについて説明する。
【0135】
<ステップS21>
まず、取得部201は、情報処理装置10から、立体物の画像データおよび高さ情報を取得する。そして、ステップS22へ移行する。
【0136】
<ステップS22>
続いて、色情報生成部202は、取得部201により取得された立体物の画像データに基づいて、当該立体物の画像の画素毎のRGBの色値に基づいて色情報を生成する。そして、ステップS23へ移行する。
【0137】
<ステップS23>
続いて、層情報生成部203は、高さ情報を示すドット上に、色情報生成部202により生成された色情報が示すドットを配置することによって、層情報の基となる立体画像情報を生成する。そして、層情報生成部203は、立体画像情報を層毎に分離することによって、層毎の画素の配置を示す層情報を生成する。さらに、層情報生成部203は、生成した層情報を、形状用のドットの配置を示す形状層情報と、色用のドットの配置を示す色層情報と、に分離する。そして、ステップS24へ移行する。
【0138】
<ステップS24>
造形部206は、層情報生成部203により生成された層毎の層情報に基づいて、記録媒体P上に紫外線硬化インクを積層させて立体物を造形する
図28に示す造形処理(ステップS241~S244)を実行する。なお、
図28に示す例では、i(iは2 以上の自然数)-mが0以下の場合、色層情報に基づく紫外線硬化インクの積層は行われないものとする。また、nは最上位層であり、mは、上述の通り、1以上の自然数である。
【0139】
<<ステップS241>>
まず、造形部206は、紫外線硬化インクを用いて、1層目の形状層情報が示すドットを記録媒体上に積層する。そして、ステップS242へ移行する。
【0140】
<<ステップS242>>
続いて、造形部206は、紫外線硬化インクを用いて、2層目の形状層情報が示すドットを1層目の形状層情報が示すドット上に積層すると共に、2-m層目の色層情報が示すドットを記録媒体P上に積層する。
【0141】
以下、造形部206は、i=n-1となるまで、紫外線硬化インクを用いて、i層目の形状層情報が示すドットをi-1層目の形状層情報が示すドット上に積層すると共に、i-m層目の色層情報が示すドットを記録媒体P、またはi-m-1層目の形状層情報が示すドット上に積層する。ここでは、iは3から始まり、処理が行われる毎に、値がインクリメントされる。そして、ステップS242へ移行する。
【0142】
<<ステップS243>>
続いて、造形部206は、紫外線硬化インクを用いて、n層目の形状層情報が示すドットをn-1層目の形状層情報が示すドット上に積層すると共に、n-m層目の色層情報が示すドットをn-m-1層目の形状層情報が示すドット上に積層する。そして、ステップS244へ移行する。
【0143】
<<ステップS244>>
最後に、造形部206は、紫外線硬化インクを用いて、n-m+1層目の色層情報が示すドット~n層目の色層情報が示すドットをそれぞれ、n-m層目の形状層情報が示すドット上~n-1層目の形状層情報が示すドット上に積層する。そして、立体物の造形動作を終了する。
【0144】
以上のように、本実施形態に係る情報処理装置10では、立体物の画像データから分割部103により分割されたレイヤごとに高さ情報生成部107により高さ情報が生成されたうえで、合成部108により四則演算により1つの高さ情報に合成されるものとしている。これによって、レイヤごとに簡便な操作に基づいて生成された高さ情報を、四則演算により合成することができるので、簡便な操作性を維持したまま、複雑な構成の高さ情報を生成することができ、複雑な立体物の造形が可能となり、簡便な操作で自由度の高い立体データを生成することができる。
【0145】
また、レイヤの対象領域における高さ情報の生成方法の方法として上述の第2の方法を採用した場合、分割部103により分割されたレイヤにおけるグレースケールの濃淡をそのまま立体形状に反映させることができる。また、レイヤの明度を高さ情報の生成に用いる場合、上述の第1の方法における
図12および
図13で示したような、高さ情報を生成するために用いる領域Bにおける曲線の入力および編集操作を必要としないため、作業の手間を省くことができる。
【0146】
(変形例)
変形例に係る立体造形システム1について、上述の実施形態に係る立体造形システム1と相違する点を中心に説明する。
【0147】
図29は、変形例に係る立体造形装置のヘッドユニットの構成の一例を示す図である。
図29を参照しながら、本変形例に係る立体造形システム1の立体造形装置20のヘッドユニット1670について説明する。
【0148】
本変形例に係る立体造形システム1の立体造形装置20は、上述の実施形態に係る立体造形装置20のヘッドユニット670の代わりに、溶融(サーマル)式のヘッドユニット1670を有する。ヘッドユニット1670は、溶融(サーマル)ヘッド1671を有する。
【0149】
溶融ヘッド1671は、溶融インクIaを有し、溶融インクIaを加熱することにより、記録媒体Pに対し、溶融インクIaを吐出する。溶融インクIaは、インクジェット方式と同様、ホワイト(W)、クリア(CL)、イエロー(Y)、シアン(C)、マゼンタ(M)、およびブラック(K)の溶融インクで構成される。
【0150】
このような、溶融(サーマル)式のヘッドユニット1670を有する構成においても、上述の実施形態に係る構成と同様の効果を奏する。
【0151】
なお、上述の実施形態および変形例において、情報処理装置10および立体造形装置20の各機能部の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の実施形態および変形例に係る情報処理装置10および立体造形装置20で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk-Recordable)、またはDVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施形態および変形例に係る情報処理装置10および立体造形装置20で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態および変形例に係る情報処理装置10および立体造形装置20で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施形態および変形例に係る情報処理装置10および立体造形装置20で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPU501(CPU601)が上述の記憶装置(補助記憶装置505またはNVRAM604)からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置(例えば、RAM503またはRAM603)上にロードされて生成されるようになっている。
【符号の説明】
【0152】
1 立体造形システム
10 情報処理装置
20 立体造形装置
101 通信部
102 入力部
103 分割部
104 表示制御部
105 表示部
106 対象領域抽出部
107 高さ情報生成部
108 合成部
109 出力部
110 記憶部
201 取得部
202 色情報生成部
203 層情報生成部
204 搬送制御部
205 移動制御部
206 造形部
441、442、451、452、461、462、472 ドット
501 CPU
502 ROM
503 RAM
505 補助記憶装置
506 記録メディア
507 メディアドライブ
508 ディスプレイ
509 ネットワークI/F
510 バス
511 キーボード
512 マウス
513 DVD
514 DVDドライブ
515 外部I/F
600 制御部
601 CPU
602 ROM
603 RAM
604 NVRAM
605 ASIC
606 I/O
607 ホストI/F
611 ヘッド駆動部
612 照射駆動部
613 モータ駆動部
614 メンテナンス駆動部
621 操作パネル
622 センサ
650 側面
660 タンク機構
661 タンク
662 供給チューブ
670 ヘッドユニット
671、671C、671CL、671M、671K、671W、671Y 吐出ヘッド
672 照射装置
680 メンテナンス機構
682 キャップ
683 ワイパ
691 ガイド部材
692 ガイド部材
693 キャリッジ
695 ステージ
696 X方向走査機構
697 Y方向走査機構
698 Z方向走査機構
1000 メイン画面
1001 メニューバー
1002 立体表示領域
1003 ステータスバー
1004 更新ボタン
1005 リスト表示切替ボタン
1006 操作ボタン群
1007 レイヤ一覧表示領域
1100 高さ情報設定画面
1670 ヘッドユニット
1671 溶融ヘッド
A~C 領域
C11a、C11b、C12a、C12b 曲線
I 紫外線硬化インク
Ia 溶融インク
IMG 画像データ
L 造形層
L1、L2 レイヤ
L11、L12 レイヤ
O11、O12 輪郭
P 記録媒体
S11a、S11b、S12a、S12b 立体形状
TR、TR11、TR12 対象領域
【先行技術文献】
【特許文献】
【0153】