(57)【要約】【課題】スライスデータの生成において、非多様体又は干渉等があっても、スライスデータが生成できることを目的とする。【解決手段】３次元データに基づいてスライスデータを生成する情報処理装置が、前記３次元データを２次元に投影し、前記３次元データを入力し、前記スライスデータのスライス面に対して垂直となる第１の方向において、前記スライス面と、前記３次元データが有する第１ポリゴンデータとの距離に基づいて、前記投影で前記第１ポリゴンデータを投影する際の色を決定することにより上記課題を解決する。【選択図】図１
2017058758.tif 000002
【特許請求の範囲】
【請求項１】
３次元データに基づいてスライスデータを生成する情報処理装置であって、
前記３次元データを２次元に投影する投影部と、
前記３次元データを入力する入力部と、
前記スライスデータのスライス面に対して垂直となる第１の方向において、前記スライス面と、前記３次元データが有する第１ポリゴンデータとの距離に基づいて、前記投影部が前記第１ポリゴンデータを投影する際の色を決定する決定部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１の方向において、前記第１ポリゴンデータが前記スライス面より奥となる距離にあると計算されると、前記決定部は、前記第１ポリゴンデータが表であるか裏であるかに基づいて、前記色を決定する請求項１に記載の情報処理装置。
【請求項３】
前記第１ポリゴンデータが表であると、前記決定部は、前記色を背景色と同一の第１色に決定する請求項２に記載の情報処理装置。
【請求項４】
前記第１ポリゴンデータが裏であると、前記決定部は、前記色を背景色とは異なる第２色に決定する請求項２に記載の情報処理装置。
【請求項５】
前記第１の方向において、前記第１ポリゴンデータが前記スライス面と干渉する距離にあると計算されると、前記第１ポリゴンデータを前記スライス面の奥に位置する１以上の第２ポリゴンデータと、前記スライス面の手前に位置する１以上の第３ポリゴンデータとに分割する請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
前記色は、濃淡を示す陰影が除外された色である請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
前記第１ポリゴンデータは、三角形を示すデータである請求項１乃至６のいずれか一項に記載の情報処理装置。
【請求項８】
前記第１の方向において、前記第１ポリゴンデータが前記スライス面より手前となる距離にあると計算されると、前記第１ポリゴンデータに基づく前記投影を制限する請求項１乃至７のいずれか一項に記載の情報処理装置。
【請求項９】
前記投影部が前記３次元データを２次元に投影すると、前記スライスデータが生成される請求項１乃至８のいずれか一項に記載の情報処理装置。
【請求項１０】
３次元データに基づいてスライスデータを生成する１以上の情報処理装置と、前記情報処理装置に接続される３Ｄプリンタとを有する３Ｄプリンタシステムであって、
前記３次元データを２次元に投影する投影部と、
前記３次元データを入力する入力部と、
前記スライスデータのスライス面に対して垂直となる第１の方向において、前記スライス面と、前記３次元データが有する第１ポリゴンデータとの距離に基づいて、前記投影部が前記第１ポリゴンデータを投影する際の色を決定する決定部と、
を備えることを特徴とする３Ｄプリンタシステム。
【請求項１１】
３次元データに基づいてスライスデータを生成する情報処理装置が行う情報処理方法であって、
前記情報処理装置が、前記３次元データを２次元に投影する投影手順と、
前記情報処理装置が、前記３次元データを入力する入力手順と、
前記情報処理装置が、前記スライスデータのスライス面に対して垂直となる第１の方向において、前記スライス面と、前記３次元データが有する第１ポリゴンデータとの距離に基づいて、前記投影手順で前記第１ポリゴンデータを投影する際の色を決定する決定手順と、
を含む情報処理方法。
【請求項１２】
コンピュータに、３次元データに基づいてスライスデータの生成を実行させるためのプログラムであって、
前記コンピュータが、前記３次元データを２次元に投影する投影手順と、
前記コンピュータが、前記３次元データを入力する入力手順と、
前記コンピュータが、前記スライスデータのスライス面に対して垂直となる第１の方向において、前記スライス面と、前記３次元データが有する第１ポリゴンデータとの距離に基づいて、前記投影手順で前記第１ポリゴンデータを投影する際の色を決定する決定手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、３Ｄプリンタシステム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）等のデータに基づいて生成されるスライスデータ等から、３次元に造形を行う方法が知られている。
【０００３】
また、３次元の造形において、ポリゴンメッシュの位相情報を修正する方法が知られている。具体的には、まず、ポリゴンメッシュを輪切りにする際に、輪郭ポリゴンラインが得られるようにポリゴンメッシュの位相情報を変更する。次に、変更されたポリゴンラインから輪郭ポリゴンラインを取得し、更に取得した輪郭ポリゴンライン内の領域である内部を正常に塗り潰せるように輪郭ポリゴンラインを修正する方法が知られている（例えば、特許文献１等）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、スライスデータの生成において、非多様体又は干渉等があると、スライスデータが生成できない場合がある。
【０００５】
本発明は、上記課題に鑑みてなされたものであり、スライスデータの生成において、非多様体又は干渉等があっても、スライスデータが生成できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様における、３次元データに基づいてスライスデータを生成する情報処理装置は、前記３次元データを２次元に投影する投影部と、前記３次元データを入力する入力部と、前記スライスデータのスライス面に対して垂直となる第１の方向において、前記スライス面と、前記３次元データが有する第１ポリゴンデータとの距離に基づいて、前記投影部が前記第１ポリゴンデータを投影する際の色を決定する決定部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明の各実施形態によれば、スライスデータの生成において、非多様体又は干渉等があっても、スライスデータが生成できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図２】本発明の一実施形態に係る情報処理装置の機能構成の一例を示す機能ブロック図である。
【図３】本発明の一実施形態に係る３次元データの例を示す図である。
【図４】本発明の一実施形態に係るスライス面の例を示す図である。
【図５】本発明の一実施形態に係るスライス面の設定の例を示す図である。
【図６】本発明の一実施形態に係るスライス面と第１ポリゴンデータとの距離の計算例を示す図である。
【図７】本発明の一実施形態に係る第１ポリゴンデータを分割する例を示す図である。
【図８】本発明の一実施形態に係るスライスデータの例を示す図である。
【図９】本発明の一実施形態に係る全体処理の一例を示すフローチャートである。
【図１０】本発明の一実施形態に係るスライス面及び視線方向の設定の一例を示す図である。
【図１１】本発明の一実施形態に係る３Ｄプリンタシステムの一例を示す概略図である。
【図１２】本発明の一実施形態に係る３Ｄプリンタの一例を示す概略図である。
【図１３】本発明の一実施形態に係る３Ｄプリンタシステムにおける情報処理装置の機能構成の一例を示す機能ブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付し、重複した説明を省く。
【００１０】
＜情報処理装置例＞
はじめに、本実施形態に係る情報処理装置のハードウェア構成の一例について説明する。
【００１１】
図１は、本発明の一実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。図示するように、情報処理装置は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等である。以下、情報処理装置がＰＣの例で説明する。
【００１２】
具体的には、ＰＣ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０Ｈ１と、入力装置１０Ｈ２と、メモリ１０Ｈ３と、表示装置１０Ｈ４と、外部記憶装置１０Ｈ５とを有する。このように、ＰＣは、ＣＡＤに係るユーザによる操作の入力及びＣＡＤで設計されたモデルを表示する出力を行う。
【００１３】
ＣＰＵ１０Ｈ１は、プログラムを実行する演算装置及び制御装置である。
【００１４】
入力装置１０Ｈ２は、例えば、マウス、キーボード又はこれらの組み合わせである。また、入力装置１０Ｈ２は、ＣＡＤに係るユーザによる操作を入力する。
【００１５】
メモリ１０Ｈ３は、主記憶装置の例である。また、メモリ１０Ｈ３は、ＣＰＵ１０Ｈ１が用いるプログラム及びデータ等を記憶する。
【００１６】
表示装置１０Ｈ４は、例えば、ディスプレイ等である。また、表示装置１０Ｈ４は、ＣＡＤに係る画面を表示する。
【００１７】
外部記憶装置１０Ｈ５は、例えば、ハードディスク等の補助記憶装置である。また、外部記憶装置１０Ｈ５は、プログラム及びデータ等を記憶する。
【００１８】
なお、ハードウェア構成は、図示する構成に限られない。例えば、ＰＣ１０は、インタフェースを有し、ネットワーク及びケーブル等で外部装置と接続して、データ等を入出力してもよい。
【００１９】
また、ＰＣ１０は、図示するハードウェア以外のハードウェアを更に有してもよい。さらに、ＰＣ１０は、例えば、入力装置１０Ｈ２と、表示装置１０Ｈ４とが一体となっているタッチパネル等の入出力装置を有するハードウェア構成でもよい。
【００２０】
＜機能構成例＞
図２は、本発明の一実施形態に係る情報処理装置の機能構成の一例を示す機能ブロック図である。具体的には、ＰＣ１０は、入力部１０Ｆ１と、計算部１０Ｆ２と、決定部１０Ｆ３と、投影部１０Ｆ４とを含む。
【００２１】
＜入力部の例＞
入力部１０Ｆ１は、スライスデータを生成するための３次元データを入力する。具体的には、入力部１０Ｆ１は、入力装置１０Ｈ２（図１）等によって実現され、例えば、３次元データを設計する操作等が入力されると、３次元データが生成される。
【００２２】
＜計算部の例＞
計算部１０Ｆ２は、スライスデータのスライス面に対して垂直となる方向（以下「第１の方向」という。）において、スライス面と、入力部１０Ｆ１が入力する３次元データが有するポリゴンデータ（以下「第１ポリゴンデータ」という。）との距離を計算する。具体的には、計算部１０Ｆ２は、ＣＰＵ１０Ｈ１（図１）等によって実現され、設定されるスライス面と、各第１ポリゴンデータとの距離を計算する。
【００２３】
図３は、本発明の一実施形態に係る３次元データの例を示す図である。以下、図示するようなモデルＭＤＬを示す３次元データが入力される例で説明する。また、モデルＭＤＬは、第１ポリゴンデータの例である三角形の集まり等によって構成されるとする。
【００２４】
図４は、本発明の一実施形態に係るスライス面の例を示す図である。例えば、図３に示す３次元データが入力され、スライスデータが生成される場合には、スライス面ＳＬＰが設定される。スライス面ＳＬＰは、例えば、モデルＭＤＬに対して、図４に図示するように設定される。
【００２５】
図５は、本発明の一実施形態に係るスライス面の設定の例を示す図である。スライスデータを生成するには、例えば、図５（Ａ）に示すように、Ｘ軸、Ｙ軸及びＺ軸で示す３次元上にモデルＭＤＬが置かれ、所定のスライス間隔でスライス面ＳＬＰが設定される。なお、この例では、図５（Ｂ）に示すように、Ｘ軸方向に、スライス間隔で、スライス面ＳＬＰが設定されるとする。この設定では、スライス間隔ごとに、スライスデータが生成される。
【００２６】
これに対して、図５（Ｂ）に示すように、スライス面ＳＬＰに対して垂直となる図示するような方向が第１の方向である。以下、第１の方向の例を視線方向ＤＳとする。即ち、以下、視線方向ＤＳがＸ軸方向である例で説明する。
【００２７】
なお、視線方向ＤＳは、図示する方向に限られない。例えば、視線方向ＤＳは、設定等によって、図示する方向とは異なる方向に設定されてもよい。
【００２８】
図６は、本発明の一実施形態に係るスライス面と第１ポリゴンデータとの距離の計算例を示す図である。なお、図６では、図５に示すモデルＭＤＬに対して、図５に示すようなスライス面ＳＬＰ及び視線方向ＤＳが設定される例で説明する。
【００２９】
モデルＭＤＬは、図６に図示するように、視線方向ＤＳにおいて、スライス面ＳＬＰより奥側に位置する第１ポリゴンデータの例である第１三角形ＰＤ１Ａを有する場合がある。また、モデルＭＤＬは、視線方向ＤＳにおいて、図６に図示するように、スライス面ＳＬＰと干渉する第１ポリゴンデータの例である第２三角形ＰＤ１Ｂを有する場合がある。さらに、モデルＭＤＬは、視線方向ＤＳにおいて、図６に図示するように、スライス面ＳＬＰより手前側に位置する第１ポリゴンデータの例である第３三角形ＰＤ１Ｃを有する場合がある。
【００３０】
例えば、計算部１０Ｆ２（図２）は、原点ＰＯからの各三角形までのそれぞれの距離と、原点ＰＯからのスライス面までの距離とを計算する。このように、各距離が計算されると、ＰＣは、原点ＰＯからのスライス面までの距離と、原点ＰＯからの各三角形までのそれぞれの距離とが比較できる。したがって、距離が計算される計算結果に基づいて、第１ポリゴンデータが、スライス面ＳＬＰより奥となる距離にあるか、スライス面ＳＬＰと干渉する距離にあるか又はスライス面ＳＬＰより手前となる距離にあるかのいずれであるかが計算できる。
【００３１】
また、計算部１０Ｆ２による計算結果に基づいて、第１ポリゴンデータがスライス面ＳＬＰと干渉する距離にあると計算されると、ＰＣは、第１ポリゴンデータを分割する。具体的には、ＰＣは、第１ポリゴンデータをスライス面ＳＬＰより奥に位置する１以上のポリゴンデータ（以下「第２ポリゴンデータ」という。）と、スライス面ＳＬＰより手前に位置する１以上のポリゴンデータ（以下「第３ポリゴンデータ」という。）とに分割する。
【００３２】
図７は、本発明の一実施形態に係る第１ポリゴンデータを分割する例を示す図である。例えば、図７（Ａ）に示すように、図６に示す第２三角形ＰＤ１ＢをモデルＭＤＬが有する例で説明する。
【００３３】
第２三角形ＰＤ１Ｂのように干渉する第１ポリゴンデータがあると、ＰＣは、例えば、図７（Ｂ）に示すように、第２三角形ＰＤ１Ｂを分割する。具体的には、図７（Ａ）に示す第２三角形ＰＤ１Ｂを図７（Ｂ）に示す第２ポリゴンデータＰＤ２及び図７（Ｂ）に示す第３ポリゴンデータＰＤ３に分割する。図示するように、第２ポリゴンデータＰＤ２は、第２三角形ＰＤ１Ｂのうち、スライス面ＳＬＰより奥に位置する三角形である。一方、第３ポリゴンデータＰＤ３は、第２三角形ＰＤ１Ｂのうち、スライス面ＳＬＰより手前に位置する三角形である。
【００３４】
このように、分割すると、ＰＣは、干渉する第１ポリゴンデータを第２ポリゴンデータＰＤ２と、第３ポリゴンデータＰＤ３とに分割できるため、ＰＣは、干渉する第１ポリゴンデータを減らすことができる。
【００３５】
なお、分割は、第２ポリゴンデータＰＤ２と、第３ポリゴンデータＰＤ３とがそれぞれ１つでなくともよい。即ち、第２ポリゴンデータＰＤ２、第３ポリゴンデータＰＤ３又はいずれの両方は、２以上の三角形に分割されてもよい。例えば、図７（Ｃ）に示すように、第２ポリゴンデータは、２つの三角形であってもよい。
【００３６】
また、分割によって生成される第２ポリゴンデータＰＤ２は、以降の処理では、視線方向ＤＳにおいて、スライス面ＳＬＰより奥側に位置する第１ポリゴンデータと同様の処理が行われる。さらに、分割によって生成される第３ポリゴンデータＰＤ３は、以降の処理では、視線方向ＤＳにおいて、スライス面ＳＬＰより手前側に位置する第１ポリゴンデータと同様の処理が行われる。
【００３７】
＜決定部の例＞
図２に戻り、決定部１０Ｆ３は、計算部１０Ｆ２による計算結果に基づいて、投影部１０Ｆ４が第１ポリゴンデータを投影する際の色を決定する。なお、決定部１０Ｆ３は、ＣＰＵ１０Ｈ１（図１）等によって実現される。具体的には、計算部１０Ｆ２による計算結果に基づいて、第１ポリゴンデータがスライス面より奥となる距離にあると計算されると、決定部１０Ｆ３は、第１ポリゴンデータが表であるか裏であるかに基づいて、投影部１０Ｆ４が第１ポリゴンデータを投影する際の色を決定する。なお、第１ポリゴンデータは、表を示すポリゴンデータであるか裏を示すポリゴンデータであるかを判断できるデータをそれぞれ有する。
【００３８】
具体的には、第１ポリゴンデータが表であると、決定部１０Ｆ３は、色を背景色と同一の色（以下「第１色」という。）に決定する。一方、第１ポリゴンデータが裏であると、決定部１０Ｆ３は、第１色とは異なる色（以下「第２色」という。）に決定する。即ち、第２色は、背景色と異なる色である。
【００３９】
なお、第１色及び第２色は、濃淡を示す陰影が除外された色であるのが望ましい。例えば、投影等において、光源の影響が除外されると、濃淡を示す陰影が除外できる。
【００４０】
また、計算部１０Ｆ２による計算結果に基づいて、第１ポリゴンデータがスライス面より手前となる距離にあると計算されると、決定部１０Ｆ３は、第１ポリゴンデータに基づく投影を投影されないようにする等の制限を行う。
【００４１】
＜投影部の例＞
投影部１０Ｆ４は、決定部１０Ｆ３によって決定される色で、３次元データを２次元に投影してスライスデータを生成する。具体的には、投影部１０Ｆ４は、ＣＰＵ１０Ｈ１（図１）等によって実現され、ポリゴンデータを２次元に投影してスライスデータを生成する。
【００４２】
スライスデータは、例えば、スライス面を２値で示すＢＭＰ（Ｂｉｔｍａｐ）形式等の２次元データである。即ち、スライスデータは、例えば、第１色を「０」で示すとすると、第２色を「１」で示すスライスデータ等である。なお、スライスデータは、ＢＭＰ等に限られず、出力先となるプリンタの仕様等に合わせた形式のデータであればよい。
【００４３】
図８は、本発明の一実施形態に係るスライスデータの例を示す図である。図示するスライスデータは、背景部分と、スライス面より奥にあり、かつ、表を示すポリゴンデータとをそれぞれ第１色で示す例である。図内では、第１色は、黒色である。一方、図示するスライスデータは、スライス面より奥にあり、かつ、裏を示すポリゴンデータを第２色で示す例である。図内では、第２色は、白色である。
【００４４】
図示するようなスライスデータが３Ｄプリンタ等に出力されると、出力先となる３Ｄプリンタ等は、複数のスライスデータに基づいて、立体物を造形することができる。
【００４５】
＜全体処理の流れの一例＞
図９は、本発明の一実施形態に係る全体処理の一例を示すフローチャートである。
【００４６】
ステップＳ０１では、ＰＣは、３Ｄデータを入力する。
【００４７】
ステップＳ０２では、ＰＣは、背景色を設定する。即ち、第１色がステップＳ０２で設定される。また、ステップＳ０２では、第２色に、第１色と異なる色が設定される。なお、第１色及び第２色は、初期値等でそれぞれ設定されてもよい。
【００４８】
ステップＳ０３では、ＰＣは、スライス面と、第１ポリゴンデータとの距離を計算する。
【００４９】
ステップＳ０４では、ＰＣは、ステップＳ０３による計算結果に基づいて、第１ポリゴンデータがスライス面より奥にあるか、スライス面より手前にあるか又はスライス面と干渉するかのいずれであるかを判断する。
【００５０】
次に、第１ポリゴンデータがスライス面より奥にあると判断されると（ステップＳ０４で「奥」）、ＰＣは、ステップＳ０６に進む。また、第１ポリゴンデータがスライス面に干渉すると判断されると（ステップＳ０４で「干渉」）、ＰＣは、ステップＳ０５に進む。さらに、第１ポリゴンデータがスライス面より手前にあると判断されると（ステップＳ０４で「手前」）、ＰＣは、ステップＳ０９に進む。
【００５１】
図示するように、第１ポリゴンデータがスライス面より手前にあると判断されると、ＰＣは、ステップＳ０７及びステップＳ０８のように、対象となる第１ポリゴンデータの色を決定しない等の制限を行う。
【００５２】
ステップＳ０５では、ＰＣは、干渉すると判断された第１ポリゴンデータを第２ポリゴンデータと、第３ポリゴンデータとに分割する。次に、分割よって生成される第２ポリゴンデータに対して、ＰＣは、ステップＳ０６に進む。
【００５３】
ステップＳ０６では、ＰＣは、第１ポリゴンデータが有するデータ等に基づいて、第１ポリゴンデータが表を示すか裏を示すか判断する。次に、第１ポリゴンデータが表を示すと判断すると（ステップＳ０６で「表」）、ＰＣは、ステップＳ０８に進む。一方、第１ポリゴンデータが裏を示すと判断すると（ステップＳ０６で「裏」）、ＰＣは、ステップＳ０７に進む。
【００５４】
ステップＳ０７では、ＰＣは、裏部分を第２色に決定する。
【００５５】
ステップＳ０８では、ＰＣは、表部分を第１色に決定する。
【００５６】
ステップＳ０９では、ＰＣは、すべてのポリゴンデータが終了したか否かを判断する。次に、すべてのポリゴンデータが終了したと判断されると（ステップＳ０９でＹＥＳ）、ＰＣは、ステップＳ１１に進む。一方、すべてのポリゴンデータが終了していないと判断されると（ステップＳ０９でＮＯ）、ＰＣは、ステップＳ１０に進む。即ち、ＰＣは、３次元データが有するすべての第１ポリゴンデータに対して、ステップＳ０３乃至ステップＳ０８が行われるように繰り返し処理を行う。
【００５７】
ステップＳ１０では、ＰＣは、次の第１ポリゴンデータを選択する。
【００５８】
ステップＳ１１では、ＰＣは、３次元データを２次元に投影してスライスデータを生成する。
【００５９】
なお、スライス面及び視線方向は、ユーザによる設定又は初期値等によって定められる。
【００６０】
図１０は、本発明の一実施形態に係るスライス面及び視線方向の設定の一例を示す図である。例えば、図１０（Ａ）に示すようなモデルの３次元データが入力されるとする。この例では、まず、ユーザによる設定等で視線方向ＤＳが設定される。また、スライス面に係る設定としてスライス間隔等が設定される。このようなスライス面及び視線方向に係る設定が行われると、スライス面が生成される位置及び角度等が定まり、例えば、図１０（Ａ）に示すモデルの図１０（Ｂ）に示す断面等を見ることができるスライス面が設定できる。
【００６１】
図９に示す処理が行われると、ＰＣは、図８のようなスライスデータを生成することができる。これに対して、スライスデータを生成するのに、３次元モデルと、スライス面との断面線を幾何計算で求める方法等では、３次元モデルにおいて、非多様体があったり、又は自己干渉があったりすると断面線が求まらない場合がある。そのため、スライスデータが生成できない場合がある。
【００６２】
一方で、本発明に係る実施形態では、視線方向において、ＰＣは、スライス面と、第１ポリゴンデータとの距離を計算する。この計算結果に基づいて、投影部１０Ｆ４（図２）が第１ポリゴンデータを投影する際の色が決定される。次に、ＰＣは、決定された色に基づいて、３次元データを２次元データに投影してスライスデータを生成する。このようにすると、ＰＣは、スライスデータの生成において、非多様体又は干渉等があっても、スライスデータを生成できる。
【００６３】
即ち、本発明に係る実施形態では、３次元モデルにおいて、３次元モデルが有する三角形がお互いにめり込んでいたり、離れてしまっていたりする不整合があっても、ＰＣは、スライスデータを生成できる。また、本発明に係る実施形態では、計算に係る処理速度が速くできる場合がある。
【００６４】
特に、３次元データにおいて、非多様体又は干渉等は、微細な箇所にあることが多い。このため、３次元モデルと、スライス面との断面線を幾何計算で求める方法等では、見た目又は３Ｄプリンタで造形する上では、問題がないのに、非多様体又は干渉等があると、スライスデータが生成できない場合がある。これに対して、本発明に係る実施形態では、ＰＣは、スライスデータの生成において、非多様体又は干渉等があっても、３次元データに基づいてスライスデータが生成できるため、３Ｄプリンタ等によって造形を行うことができる。
【００６５】
＜３Ｄプリンタシステム例＞
図１１は、本発明の一実施形態に係る３Ｄプリンタシステムの一例を示す概略図である。図示するように、３Ｄプリンタシステム１は、ＰＣ１０と、３Ｄプリンタ２０とを有する。
【００６６】
３Ｄプリンタ２０は、液滴を吐出するヘッドを有する。また、３Ｄプリンタ２０は、ＰＣ１０から送信されるデータを受信して、そのデータに基づいて、ヘッドによって成形材を吐出して形成する層を積層することにより、立体物を形成する。一方、ＰＣ１０は、図１に示す情報処理装置等である。
【００６７】
図１２は、本発明の一実施形態に係る３Ｄプリンタの一例を示す概略図である。図示するように、３Ｄプリンタ２０は、例えば、一般的な液滴吐出式の３Ｄプリンタと同様の構成を有する。具体的には、３Ｄプリンタ２０は、立体物を成形するために、成形材を積層していく基盤２０１と、成形材を吐出するヘッド２０２と、ヘッド２０２を支持し、基盤２０１上の空間においてヘッド２０２を移動させるアーム２０３とを含む。
【００６８】
３Ｄプリンタ２０は、図１１に示すＰＣ１０から送信されるスライスデータに応じて、ヘッド２０２から成形材を吐出して一層分の成形を行う。このように、３Ｄプリンタ２０は、層を積層して、立体造形を行う。
【００６９】
３Ｄプリンタ２０は、図１１に示すＰＣ１０と同様の情報処理機能を含む。そして、３Ｄプリンタ２０は、３Ｄプリンタ２０が有する情報処理機能によって、ＰＣ１０からの制御を受け付ける。さらに、３Ｄプリンタ２０は、情報処理機能によって実現される制御部によってアーム２０３の移動及びヘッド２０２からの成形材の吐出等を制御する。
【００７０】
図１３は、本発明の一実施形態に係る３Ｄプリンタシステムにおける情報処理装置の機能構成の一例を示す機能ブロック図である。図示するように、ＰＣ１０は、図１に示す入力装置１０Ｈ２及び表示装置１０Ｈ４等で実現するＬＣＤ６０及び操作部７０に加えて、コントローラ１００及びネットワークＩ／Ｆ１０１を含む。また、ネットワークＩ／Ｆ１０１は、ＰＣ１０がネットワークを介して他の機器と通信するためのインタフェースの例であり、Ｅｔｈｅｒｎｅｔ（登録商標）又はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェース等が用いられる。
【００７１】
コントローラ１００は、ソフトウェアとハードウェアとの組み合わせ等によって構成され、ＰＣ１０全体を制御する制御部として機能する。図示するように、コントローラ１００は、処理部１１０及びＰＣ１０が３Ｄプリンタ２０を制御するための機能を提供する３Ｄプリンタドライバ１２０を含む。
【００７２】
処理部１１０は、入力される３Ｄデータのスライスデータを生成する図９に示す処理等を行う。まず、図９に示すステップＳ０１では、例えば、ネットワーク等を介してＰＣ１０に３次元データの例である３Ｄデータが入力される。このように、３Ｄデータが入力されると、処理部１１０は、３Ｄデータを取得できる。なお、操作部７０に対してユーザが操作を行うと、操作によって指定されたファイルパスのデータを処理部１１０が取得してもよい。
【００７３】
処理部１１０は、入力される３Ｄデータから図９に示す処理等によってスライスデータを生成する。次に、処理部１１０は、入力される３Ｄデータによって造形される立体物の周囲の空間を解析する。この解析の結果、立体物の造形において、鉛直下方が基盤に接しておらず空間になっているため、支持が必要な部分を支持するための支持部が必要となる場合がある。そのため、処理部１１０は、支持部のデータを生成して、元々の３Ｄデータに追加する。このような処理部１１０を実現するためのソフトウェア・プログラムが用いられる。
【００７４】
３Ｄプリンタドライバ１２０は、ＰＣ１０から３Ｄプリンタ２０を動作させるためのソフトウェア・モジュールであり、一般的な３Ｄプリンタのドライバソフトウェアと同様の機能を有する。例えば、３Ｄプリンタドライバ１２０は、一般的な紙のプリンタにおけるプリンタドライバの機能に準じており、入力される３Ｄデータに基づいて３Ｄプリンタ２０を動作させるためのスライスデータ等を生成して、制御用のデータと共に３Ｄプリンタ２０に送信する。
【００７５】
＜まとめ＞
以上の説明から明らかなように、本実施形態に係る情報処理装置及び３Ｄプリンタシステムでは、
・計算部は、スライスデータのスライス面に対して垂直となる第１の方向において、スライス面と、入力部が入力する３次元データが有する第１ポリゴンデータとの距離を計算する構成である。
・決定部は、計算部による計算結果に基づいて、投影部が第１ポリゴンデータを投影する際の色を決定する構成である。
・投影部は、決定部で決定される色で、３次元データを２次元に投影してスライスデータを生成する構成である。
【００７６】
このように、本発明に係る実施形態では、視線方向等の第１の方向において、計算部は、スライス面と、入力部によって入力される３次元データが有する第１ポリゴンデータとの距離を計算する。この計算結果に基づいて、決定部が色を決定する。続いて、決定部が決定した色で、投影部は、３次元データを２次元に投影してスライスデータを生成する。これによって、スライスデータの生成において、非多様体又は干渉等があっても、スライスデータが生成できる。
【００７７】
なお、本発明に係る各処理の全部又は一部は、アセンブラ等の低水準言語、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）又はオブジェクト指向言語等の高水準言語等で記述されるコンピュータに実行させるためのプログラムによって実現されてもよい。即ち、プログラムは、情報処理装置又は１以上の情報処理装置を含む情報処理システム等のコンピュータに各処理を実行させるためのコンピュータプログラムである。
【００７８】
また、プログラムは、コンピュータが読み取り可能な記録媒体に記憶して頒布することができる。なお、記録媒体は、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ、フレキシブルディスク、ブルーレイディスク等の光ディスク、ＳＤ（登録商標）カード又はＭＯ等である。さらに、プログラムは、電気通信回線を通じて頒布することができる。
【００７９】
さらに、情報処理システムは、ネットワーク等によって相互に接続される２以上の情報処理装置を有し、各種処理の全部又は一部を複数の情報処理装置が分散、並列、又は冗長してそれぞれ処理を行ってもよい。
【００８０】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【符号の説明】
【００８１】
１  ３Ｄプリンタシステム
１０  ＰＣ
２０  ３Ｄプリンタ
ＭＤＬ  モデル
ＳＬＰ  スライス面
ＰＤ１Ａ  第１三角形
ＰＤ１Ｂ  第２三角形
ＰＤ１Ｃ  第３三角形
ＤＳ  視線方向
ＰＤ２  第２ポリゴンデータ
ＰＤ３  第３ポリゴンデータ
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特開２０１５−２４６３１号公報
【図１】
2017058758.tif 000003
【図２】
2017058758.tif 000004
【図３】
2017058758.tif 000005
【図４】
2017058758.tif 000006
【図５】
2017058758.tif 000007
【図６】
2017058758.tif 000008
【図７】
2017058758.tif 000009
【図８】
2017058758.tif 000010
【図９】
2017058758.tif 000011
【図１０】
2017058758.tif 000012
【図１１】
2017058758.tif 000013
【図１２】
2017058758.tif 000014
【図１３】
2017058758.tif 000015