(57)【要約】【課題】三次元閾値マトリクスをユーザーの操作によって１つ１つ作成する場合と比較して、効率良く三次元閾値マトリクスを生成する。【解決手段】三次元形状データの生成装置は、複数のボクセルで表される三次元形状の三次元形状データと、基本形状に対応して閾値が三次元領域に配置された三次元閾値マトリクスと、の比較結果から複数のボクセルの造形の有無を算出する場合に用いる三次元閾値マトリクスを生成するための基本形状を受け付ける基本形状受付部５０と、基本形状に対応する位置から離れるに従って閾値が徐々に変化するように三次元閾値マトリクスを生成する生成部５２と、を備える。【選択図】図３
2020075451.tif 000002
【特許請求の範囲】
【請求項１】
複数のボクセルで表される三次元形状の三次元形状データと、基本形状に対応して閾値が三次元領域に配置された三次元閾値マトリクスと、の比較結果から前記複数のボクセルの造形の有無を算出する場合に用いる前記三次元閾値マトリクスを生成するための基本形状を受け付ける基本形状受付部と、
前記基本形状に対応する位置から離れるに従って前記閾値が徐々に変化するように前記三次元閾値マトリクスを生成する生成部と、
を備えた三次元閾値マトリクスの生成装置。
【請求項２】
前記生成部は、前記基本形状の中心部から外縁部に向かうに従って前記閾値が徐々に大きくなるように前記三次元閾値マトリクスを生成する
請求項１記載の三次元閾値マトリクスの生成装置。
【請求項３】
前記生成部は、前記基本形状を含む予め定めた形状を複数のボクセルで表したパターンピースの各ボクセルについて、隣接するボクセルの有無の数を算出することにより前記三次元閾値マトリクスを生成する
請求項２記載の三次元閾値マトリクスの生成装置。
【請求項４】
前記三次元閾値マトリクスの前記閾値の数を決定するためのパラメータを受け付けるパラメータ受付部を備え、
前記パターンピースのサイズ及び前記パラメータを用いて前記三次元閾値マトリクスのサイズを算出する算出部
を備えた請求項３記載の三次元閾値マトリクスの生成装置。
【請求項５】
前記基本形状の基準肉厚を受け付ける肉厚受付部を備え、
前記生成部は、前記肉厚受付部が受け付けた基準肉厚に対応する前記パターンピースの各ボクセルについて、隣接するボクセルの有無の数を用いて前記三次元閾値マトリクスを生成する
請求項３又は請求項４記載の三次元閾値マトリクスの生成装置。
【請求項６】
前記肉厚受付部は、複数の基準肉厚を受け付け、
前記生成部は、前記複数の基準肉厚の各々に対応する複数の前記パターンピースについて生成した複数の前記三次元閾値マトリクスの同じ位置の閾値を積算することにより前記三次元閾値マトリクスを生成する
請求項５記載の三次元閾値マトリクスの生成装置。
【請求項７】
前記肉厚受付部は、最小肉厚及び最大肉厚の少なくとも一方を受け付け、
前記生成部は、前記最小肉厚を受け付けた場合は、前記最小肉厚よりも肉厚が小さくならないように前記三次元閾値マトリクスを生成し、前記最大肉厚を受け付けた場合は、前記最大肉厚よりも肉厚が大きくならないように前記三次元閾値マトリクスを生成する
請求項５又は請求項６記載の三次元閾値マトリクスの生成装置。
【請求項８】
前記生成部は、前記パターンピースの各ボクセルについて算出した前記隣接するボクセルの有無の数を、隣接するボクセルとの接触の種類に応じて重み付けする
請求項３〜７の何れか１項に記載の三次元閾値マトリクスの生成装置。
【請求項９】
前記生成部は、前記接触の種類が、面接触、線接触、及び点接触の順に重みが大きくなるように重み付けする
請求項８記載の三次元閾値マトリクスの生成装置。
【請求項１０】
前記生成部は、前記パターンピースの各ボクセルについて算出した前記隣接するボクセルの有無の数を、隣接するボクセルとの接続強度に基づいて重み付けする
請求項８又は請求項９記載の三次元閾値マトリクスの生成装置。
【請求項１１】
複数のボクセルで表される三次元形状の三次元形状データと、請求項１〜１０の何れか１項に記載の三次元閾値マトリクスの生成装置により生成された三次元閾値マトリクスと、を用いて前記複数のボクセルの造形の有無を算出する算出部
を備えた三次元形状データの生成装置。
【請求項１２】
コンピュータを、請求項１〜１０の何れか１項に記載の三次元閾値マトリクスの生成装置の各部として機能させるための三次元閾値マトリクスの生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元形状データの生成装置、三次元造形装置、及び三次元形状データの生成プログラムに関する。
【背景技術】
【０００２】
特許文献１には、造形対象の立体物、及び、該立体物を支持する支持部を構成するドットを形成するためのドット形成部と、形成されるドットによる前記立体物及び前記支持部の造形を制御する制御部と、を備える立体物造形装置であって、前記制御部は、前記支持部において、該支持部を表現するボクセル集合に含まれるボクセルにおけるドットの形成率を表す入力値とディザマスクとに基づいて、前記立体物を支持する支持構造が形成されるようにドットを前記ボクセル集合に配置する、立体物造形装置が開示されている。
【０００３】
特許文献２には、液体を吐出可能なヘッドユニットと、前記ヘッドユニットから吐出された液体を硬化させてドットを形成する硬化ユニットと、造形すべき立体物の形状をボクセル集合で表し、当該ボクセル集合のうち、決定部がドットを形成する対象として決定したボクセルにドットを形成することで、ドットの集合体として前記立体物が造形されるように前記ヘッドユニットの動作を制御する造形制御部と、を備え、前記決定部は、前記ボクセル集合のうち前記立体物の内部に位置するボクセルにおけるドットの形成率に応じた値である形成指標値と、ディザマスクの有する閾値との比較結果に応じて、ドットを形成する対象のボクセルを決定する、ことを特徴とする立体物造形装置が開示されている。
【０００４】
特許文献３には、第１の造形物の形状を規定する第１の３次元データを用いて出力装置が出力した第１の造形物の形状を測定した測定結果を受け付ける測定結果受付部と、前記測定結果受付部が受け付けた測定結果の第１の３次元データが規定する形状からの誤差に基づいて補正用データを算出する補正用データ算出部と、前記補正用データ算出部が算出した補正用データを用いて、第２の造形物の形状を規定する第２の３次元データを補正するデータ補正部と、を有する３次元データ生成装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−１０９４２７号公報
【特許文献２】特開２０１７−３０１７７号公報
【特許文献３】特開２０１８−１７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
基本形状が繰り返し配置される三次元形状を造形するために、基本形状に対応した三次元閾値マトリクスを用いて三次元形状データを生成する場合に、基本形状の周期を所望の周期に変調するための三次元閾値マトリクスを生成する手段が無かった。このため、三次元閾値マトリクスをユーザーの操作によって１つ１つ作成する必要が有り非効率であった。
【０００７】
本発明は、三次元閾値マトリクスをユーザーの操作によって１つ１つ作成する場合と比較して、効率良く三次元閾値マトリクスを生成することができる三次元閾値マトリクスの生成装置、三次元形状データの生成装置、及び三次元閾値マトリクスの生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１態様に係る三次元閾値マトリクスの生成装置は、複数のボクセルで表される三次元形状の三次元形状データと、基本形状に対応して閾値が三次元領域に配置された三次元閾値マトリクスと、の比較結果から前記複数のボクセルの造形の有無を算出する場合に用いる前記三次元閾値マトリクスを生成するための基本形状を受け付ける基本形状受付部と、前記基本形状に対応する位置から離れるに従って前記閾値が徐々に変化するように前記三次元閾値マトリクスを生成する生成部と、を備える。
【０００９】
第２態様に係る三次元閾値マトリクスの生成装置は、第１態様に係る三次元閾値マトリクスの生成装置において、前記生成部は、前記基本形状の中心部から外縁部に向かうに従って前記閾値が徐々に大きくなるように前記三次元閾値マトリクスを生成する。
【００１０】
第３態様に係る三次元閾値マトリクスの生成装置は、第２態様に係る三次元閾値マトリクスの生成装置において、前記生成部は、前記基本形状を含む予め定めた形状を複数のボクセルで表したパターンピースの各ボクセルについて、隣接するボクセルの有無の数を算出することにより前記三次元閾値マトリクスを生成する。
【００１１】
第４態様に係る三次元閾値マトリクスの生成装置は、第３態様に係る三次元閾値マトリクスの生成装置において、前記三次元閾値マトリクスの前記閾値の数を決定するためのパラメータを受け付けるパラメータ受付部を備え、前記パターンピースのサイズ及び前記パラメータを用いて前記三次元閾値マトリクスのサイズを算出する算出部を備える。
【００１２】
第５態様に係る三次元閾値マトリクスの生成装置は、第３態様又は第４態様に係る三次元閾値マトリクスの生成装置において、前記基本形状の基準肉厚を受け付ける肉厚受付部を備え、前記生成部は、前記肉厚受付部が受け付けた基準肉厚に対応する前記パターンピースの各ボクセルについて、隣接するボクセルの有無の数を用いて前記三次元閾値マトリクスを生成する。
【００１３】
第６態様に係る三次元閾値マトリクスの生成装置は、第５態様に係る三次元閾値マトリクスの生成装置において、前記肉厚受付部は、複数の基準肉厚を受け付け、前記生成部は、前記複数の基準肉厚の各々に対応する複数の前記パターンピースについて生成した複数の前記三次元閾値マトリクスの同じ位置の閾値を積算することにより前記三次元閾値マトリクスを生成する。
【００１４】
第７態様に係る三次元閾値マトリクスの生成装置は、第５態様又は第６態様に係る三次元閾値マトリクスの生成装置において、前記肉厚受付部は、最小肉厚及び最大肉厚の少なくとも一方を受け付け、前記生成部は、前記最小肉厚を受け付けた場合は、前記最小肉厚よりも肉厚が小さくならないように前記三次元閾値マトリクスを生成し、前記最大肉厚を受け付けた場合は、前記最大肉厚よりも肉厚が大きくならないように前記三次元閾値マトリクスを生成する。
【００１５】
第８態様に係る三次元閾値マトリクスの生成装置は、第３態様〜第７態様の何れかの態様に係る三次元閾値マトリクスの生成装置において、前記生成部は、前記パターンピースの各ボクセルについて算出した前記隣接するボクセルの有無の数を、隣接するボクセルとの接触の種類に応じて重み付けする。
【００１６】
第９態様に係る三次元閾値マトリクスの生成装置は、第８態様に係る三次元閾値マトリクスの生成装置において、前記生成部は、前記接触の種類が、面接触、線接触、及び点接触の順に重みが大きくなるように重み付けする。
【００１７】
第１０態様に係る三次元閾値マトリクスの生成装置は、第８態様又は第９態様の何れかの態様に係る三次元閾値マトリクスの生成装置において、前記生成部は、前記パターンピースの各ボクセルについて算出した前記隣接するボクセルの有無の数を、隣接するボクセルとの接続強度に基づいて閾値を重み付けする。
【００１８】
第１１態様に係る三次元形状データの生成装置は、第１態様〜第１０態様の何れかの態様に係る三次元閾値マトリクスの生成装置により生成された三次元閾値マトリクスと、を用いて前記複数のボクセルの造形の有無を算出する算出部を備える。
【００１９】
第１２態様に係る三次元閾値マトリクスの生成プログラムは、コンピュータを、第１態様〜第１０態様の何れかの態様に係る三次元閾値マトリクスの生成装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２０】
第１、第１１、第１２態様によれば、三次元閾値マトリクスをユーザーの操作によって１つ１つ作成する場合と比較して、効率良く三次元閾値マトリクスを生成することができる、という効果を有する。
【００２１】
第２態様によれば、基本形状からの距離に関係なく閾値が設定される場合と比較して、基本形状の太さを容易に調整できる、という効果を有する。
【００２２】
第３態様によれば、パターンピースの各ボクセルについて、隣接するボクセルの有無の数に関係なく閾値を設定する場合と比較して、三次元閾値マトリクスを容易に生成することができる、という効果を有する。
【００２３】
第４態様によれば、三次元閾値マトリクスの閾値の数を決定するためのパラメータを受け付けない場合と比較して、所望のサイズの三次元閾値マトリクスを生成することができる、という効果を有する。
【００２４】
第５態様によれば、基本形状の基準肉厚を受け付けない場合と比較して、様々な種類の三次元閾値マトリクスを生成することができる、という効果を有する。
【００２５】
第６態様によれば、基本形状の基準肉厚を１つしか受け付けない場合と比較して、様々な種類の三次元閾値マトリクスを生成することができる、という効果を有する。
【００２６】
第７態様によれば、最小肉厚及び最大肉厚の少なくとも一方を受け付けない場合と比較して、三次元形状の肉厚を最小肉厚以上又は最大肉厚以下にすることができる、という効果を有する。
【００２７】
第８態様によれば、パターンピースの各ボクセルについて算出した隣接するボクセルの有無の数を、隣接するボクセルとの接触の種類に関係なく算出する場合と比較して、様々な種類の三次元閾値マトリクスを生成することができる、という効果を有する。
【００２８】
第９態様によれば、面接触、線接触、及び点接触の順に形状を変調することができる、という効果を有する。
【００２９】
第１０態様によれば、パターンピースの各ボクセルについて算出した隣接するボクセルの有無の数を、隣接するボクセルとの接続強度に関係なく算出する場合と比較して、様々な種類の三次元閾値マトリクスを生成することができる、という効果を有する。
【図面の簡単な説明】
【００３０】
【図１】三次元造形システムの構成図である。
【図２】三次元形状データの生成装置の構成図である。
【図３】三次元形状データの生成装置の機能構成を示すブロック図である。
【図４】ボクセルデータで表された三次元形状の一例を示す図である。
【図５】三次元造形装置の構成図である。
【図６】三次元形状データの生成プログラムによる処理の流れを示すフローチャートである。
【図７】三次元閾値マトリクスの一例を示す図である。
【図８】三次元閾値マトリクスを構成する閾値テーブルの一例を示す図である。
【図９】造形材料の吐出の有無について説明するための図である。
【図１０】基本形状の一例を示す図である。
【図１１】造形材料の吐出の有無について説明するための図である。
【図１２】基本形状の一例を示す図である。
【図１３】閾値マトリクス、第１の属性値、及び第２の属性値の一例を示す図である。
【図１４】閾値マトリクス、第１の属性値、及び第２の属性値の一例を示す図である。
【図１５】閾値マトリクス、第１の属性値、及び第２の属性値の一例を示す図である。
【図１６】閾値マトリクス、第１の属性値、及び第２の属性値の一例を示す図である。
【図１７】三次元閾値マトリクスの生成プログラムによる処理の流れを示すフローチャートである。
【図１８】三次元閾値マトリクスを生成する場合の条件を設定するための条件設定画面の一例を示す図である。
【図１９】パターンピースの一例を示す図である。
【図２０】パターンピースの断面を示す図である。
【図２１】隣接するボクセルの有無の数を算出する場合について説明するための図である。
【図２２】三次元閾値マトリクスの一例を示す図である。
【図２３】肉厚と閾値との関係を示す線図である。
【図２４】複数の肉厚のパターンピースの一例を示す図である。
【図２５】三次元閾値マトリクスの一例を示す図である。
【図２６】肉厚と閾値との関係を示す線図である。
【図２７】三次元閾値マトリクスの一例を示す図である。
【図２８】肉厚と閾値との関係を示す線図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。
【００３２】
図１は、本実施形態に係る三次元造形システム１の構成図である。図１に示すように、三次元造形システム１は、三次元形状データの生成装置１０及び三次元造形装置１００を備える。なお、生成装置１０は、後述する三次元閾値マトリクスの生成装置としての機能も有する。本実施形態では、生成装置１０が三次元形状データの生成装置として機能すると共に三次元閾値マトリクスの生成装置としても機能する場合について説明するが、両者を別個の装置としてもよい。
【００３３】
次に、図２を参照して、本実施形態に係る三次元形状データの生成装置１０の構成について説明する。
【００３４】
生成装置１０は、例えばパーソナルコンピュータ等で構成され、コントローラ１２を備える。コントローラ１２は、ＣＰＵ（Central Processing Unit）１２Ａ、ＲＯＭ（Read Only Memory）１２Ｂ、ＲＡＭ（Random Access Memory）１２Ｃ、不揮発性メモリ１２Ｄ、及び入出力インターフェース（Ｉ／Ｏ）１２Ｅを備える。そして、ＣＰＵ１２Ａ、ＲＯＭ１２Ｂ、ＲＡＭ１２Ｃ、不揮発性メモリ１２Ｄ、及びＩ／Ｏ１２Ｅがバス１２Ｆを介して各々接続されている。
【００３５】
また、Ｉ／Ｏ１２Ｅには、操作部１４、表示部１６、通信部１８、及び記憶部２０が接続されている。
【００３６】
操作部１４は、例えばマウス及びキーボードを含んで構成される。
【００３７】
表示部１６は、例えば液晶ディスプレイ等で構成される。
【００３８】
通信部１８は、三次元造形装置１００等の外部装置とデータ通信を行うためのインターフェースである。
【００３９】
記憶部２０は、ハードディスク等の不揮発性の記憶装置で構成され、後述する三次元形状データの生成プログラム、三次元閾値マトリクスの生成プログラム、三次元形状データ（ボクセルデータ）、及び生成した三次元閾値マトリクス等を記憶する。ＣＰＵ１２Ａは、記憶部２０に記憶された三次元形状データの生成プログラム又は三次元閾値マトリクスの生成プログラムを読み込んで実行する。
【００４０】
次に、生成装置１０が三次元閾値マトリクスの生成装置として機能する場合におけるＣＰＵ１２Ａの機能構成について説明する。
【００４１】
図３に示すように、ＣＰＵ１２Ａは、機能的には、基本形状受付部５０、生成部５２、パラメータ受付部５４、算出部５６、及び肉厚受付部５８を備える。
【００４２】
基本形状受付部５０は、複数のボクセルで表される三次元形状の三次元形状データと、基本形状に対応して閾値が三次元領域に配置された三次元閾値マトリクスと、の比較結果から複数のボクセルの造形の有無を算出する場合に用いる三次元閾値マトリクスを生成するための基本形状を受け付ける。例えばユーザーは、表示部１６に表示された複数の基本形状の中から所望の基本形状を選択する。
【００４３】
生成部５２は、基本形状に対応する位置から離れるに従って閾値が徐々に変化するように三次元閾値マトリクスを生成する。
【００４４】
パラメータ受付部５４は、三次元閾値マトリクスの閾値の数を決定するためのパラメータ、例えば三次元閾値マトリクスのボクセルピッチを受け付ける。
【００４５】
算出部５６は、基本形状を含む予め定めた形状を複数のボクセルで表したパターンピースのサイズ及びパラメータ受付部５４が受け付けたパラメータを用いて三次元閾値マトリクスのサイズを算出する。
【００４６】
肉厚受付部５８は、基本形状の肉厚を受け付ける。なお、肉厚とは、例えば基本形状の骨格部分の厚みをいう。例えば基本形状の骨格部分が直方形状の場合は直方形状の幅をいい、基本形状の骨格部分が球の場合は球の直径をいう。
【００４７】
肉厚受付部５８が肉厚を受け付けた場合、生成部５２は、肉厚受付部５８が受け付けた肉厚に対応するパターンピースの各ボクセルについて、隣接するボクセルの有無の数を用いて三次元閾値マトリクスを生成する。
【００４８】
図４には、三次元形状をボクセルの集合で表した三次元形状データ（ボクセルデータ）によって表された三次元形状３２を示した。図４に示すように、三次元形状３２は、複数のボクセル３４で構成される。
【００４９】
ここで、ボクセル３４は、三次元形状３２の基本要素であり、例えば直方体が用いられるが、直方体に限らず、球又は円柱等を用いてもよい。ボクセル３４を積み上げることで所望の三次元形状が表現される。
【００５０】
三次元形状を造形する三次元造形法としては、例えば熱可塑性樹脂を溶かし積層させることで三次元形状を造形する熱溶解積層法（FDM:Fused Deposition Modeling）、粉末状の金属材料にレーザービームを照射し、焼結することで三次元形状を造形するレーザー焼結法（ＳＬＳ法：Selective Laser Sintering）等が適用されるが、他の三次元造形法を用いても良い。本実施形態では、熱溶解積層法を用いて三次元形状を造形する場合について説明する。
【００５１】
次に、三次元形状データの生成装置１０により生成された三次元形状データを用いて三次元形状を造形する三次元造形装置について説明する。
【００５２】
図５には、本実施の形態に係る三次元造形装置１００の構成を示した。三次元造形装置１００は、熱溶解積層法により三次元形状を造形する装置である。
【００５３】
図５に示すように、三次元造形装置１００は、吐出ヘッド１０２、吐出ヘッド駆動部１０４、造形台１０６、造形台駆動部１０８、取得部１１０、及び制御部１１２を備える。なお、吐出ヘッド１０２、吐出ヘッド駆動部１０４、造形台１０６、及び造形台駆動部１０８は造形部の一例である。
【００５４】
吐出ヘッド１０２は、三次元形状４０を造形するための造形材料を吐出する造形材吐出ヘッドと、サポート材を吐出するサポート材吐出ヘッドと、を含む。サポート材は、三次元形状のオーバーハング部分（「張り出し部分」ともいう）を、造形が完了するまで支持する用途で用いられ、造形完了後に除去される。
【００５５】
吐出ヘッド１０２は、吐出ヘッド駆動部１０４によって駆動され、ＸＹ平面上を二次元に走査される。また、造形材吐出ヘッドは、複数種類の属性（例えば色）の造形材料に対応して複数の吐出ヘッドを備える場合がある。
【００５６】
造形台１０６は、造形台駆動部１０８によって駆動され、Ｚ軸方向に昇降される。
【００５７】
取得部１１０は、三次元形状データの生成装置１０が生成した三次元形状データ及びサポート材データを取得する。
【００５８】
制御部１１２は、取得部１１０が取得した三次元形状データに従って造形材料が吐出されると共に、サポート材データに従ってサポート材が吐出されるように、吐出ヘッド駆動部１０４を駆動して吐出ヘッド１０２を二次元に走査させると共に、吐出ヘッド１０２による造形材料及びサポート材の吐出を制御する。
【００５９】
また、制御部１１２は、各層の造形が終了する毎に、造形台駆動部１０８を駆動して造形台１０６を予め定めた積層間隔分降下させる。これにより、三次元形状データに基づく三次元形状が造形される。
【００６０】
次に、図６を参照して、本実施の形態に係る生成装置１０が、三次元形状データの生成装置として機能する場合における作用について説明する。ＣＰＵ１２Ａにより三次元形状データの生成プログラムを実行させることで、図６に示す生成処理が実行される。なお、図６に示す生成処理は、例えば、ユーザーの操作により生成プログラムの実行が指示された場合に実行される。また、本実施形態では、サポート材データの生成処理については説明を省略する。
【００６１】
また、本実施形態では、各ボクセルには、第１の属性値としてボクセルの強度を表す強度値が各々設定されており、第２の属性値としてボクセルの造形の有無を算出する場合について説明する。
【００６２】
ステップＳ１００では、造形対象の三次元形状に対応するボクセルデータを例えば記憶部２０から読み出すことにより取得する。なお、通信部１８を介して外部装置からボクセルデータを通信により取得してもよい。
【００６３】
ステップＳ１０２では、ステップＳ１００で取得したボクセルデータから三次元形状の表示データを生成し、表示部１６に表示させる。
【００６４】
ステップＳ１０３では、後述する調整係数を受け付ける受付画面を表示部１６に表示させ、ユーザーによる調整係数の入力を受け付ける。調整係数は、互いに直交するＸ軸、Ｙ軸、及びＺ軸の３軸の軸毎に設定する。なお、ユーザーがＸ軸、Ｙ軸、及びＺ軸の軸毎に調整係数を入力するようにしてもよいし、１つの調整係数を入力すると、入力した調整係数がＸ軸、Ｙ軸、及びＺ軸の全ての軸の調整係数として設定されるようにしてもよい。
【００６５】
ステップＳ１０４では、各ボクセルの造形の有無を算出する際に用いられる三次元閾値マトリクスを設定する。三次元閾値マトリクスには、予め定めた基本形状に対応して閾値が三次元領域に配置されている。
【００６６】
図７には、一例として三次元閾値マトリクスＭを示した。図７に示すように、三次元閾値マトリクスＭは、７層の閾値テーブルＺ１〜Ｚ７から構成されている。
【００６７】
図８には、閾値テーブルＺ１〜Ｚ７の一例を示した。後述するように、各ボクセルの造形の有無を算出する際には、閾値テーブルＺ１〜Ｚ７をディザマトリクスとして、各閾値テーブルに対応する各層のボクセルデータに対して所謂ハーフトーン処理と同様の処理を実行する。すなわち、閾値テーブルの各閾値と、対応するボクセルの強度値と、を比較し、強度値が閾値以上であれば、そのボクセルの造形を「有り」とし、強度値が閾値未満の場合は、そのボクセルの造形を「無し」とする。ここで、本実施形態では、強度値が取り得る値が「０」以上であるものとする。この場合、閾値が「０」の場合は、その閾値に対応するボクセルの造形は必ず「有り」となる。従って、閾値が「０」の部分が基本形状に相当することとなる。
【００６８】
図８の例では、全ての層の中心に閾値「０」が設定され、Ｚ軸方向において中央の層である４層目の閾値テーブルＺ４は、ＸＹ平面において十字形状に閾値「０」が設定されている。すなわち、基本形状に対応する位置の閾値が、閾値が取り得る値の範囲の最小値に設定されている。従って、三次元閾値マトリクスＭが設定された場合において、例えば各ボクセルの強度値が全て「０」であったとすると、図９に示すように、「■」で示す位置に造形材料が吐出されることとなる。従って、三次元閾値マトリクスＭの基本形状は、図１０に示すような基本形状Ｋとなる。
【００６９】
なお、図８に示すように、閾値テーブルＺ１〜Ｚ７の基本形状に対応した位置以外の閾値は全て「３５」以上となっている。このため、例えば各ボクセルの強度値が全て「３５」未満の場合は、全て図１０に示すような基本形状Ｋとなる。また、例えば各ボクセルの強度値が全て「５０」であった場合は、図１１に示すように、「■」で示す位置に造形材料が吐出されることとなる。従って、三次元閾値マトリクスＭの基本形状は、図１２に示すように、図１０に示す基本形状Ｋを太らせた基本形状Ｋ２となる。
【００７０】
また、図８に示すように、閾値テーブルＺ１〜Ｚ７に設定された閾値のうち、基本形状に対応する位置以外の閾値は、中心から外側に向かうに従って大きくなるように設定されている。従って、三次元閾値マトリクスＭに設定された各閾値は、三次元閾値マトリクスＭで示される三次元領域の中心から外側に向かうに従って大きくなるように設定されている。すなわち、三次元閾値マトリクスＭに設定された各閾値は、三次元閾値マトリクスＭで示される三次元領域の中心から外側に向かうに従って、造形が「有り」となるボクセルの割合が少なくなるように設定されている。換言すれば、三次元閾値マトリクスＭで示される三次元領域の中心に向かうに従って強度が高くなるように閾値が設定されている。なお、三次元閾値マトリクスのサイズが小さくなるに従って、基本形状のサイズは小さくなり三次元形状が密な構造となるため硬くなる。一方、三次元閾値マトリクスのサイズが大きくなるに従って、基本形状のサイズは大きくなり三次元形状が粗な構造となるため柔らかくなる。従って、硬くしたい部分については、サイズが小さい三次元閾値マトリクスを設定し、柔らかくしたい部分については、サイズが大きい三次元閾値マトリクスを設定してもよい。
【００７１】
本実施形態では、記憶部２０には、様々な種類の基本形状に対応した三次元閾値マトリクスが記憶されている。ユーザーは、操作部１４を操作して、所望の基本形状、すなわち三次元閾値マトリクスを選択する。なお、選択する三次元閾値マトリクスは１つに限らず、三次元形状の部分毎に複数の三次元閾値マトリクスを選択してもよい。
【００７２】
ステップＳ１０６では、ボクセルデータで表される複数のボクセルの各々に設定された強度値と、ステップＳ１０４で設定された三次元閾値マトリクスと、ステップＳ１０３で受け付けた調整係数と、に基づいて、複数のボクセルの各々について造形の有無を算出する。具体的には、前述したように、閾値テーブルＺ１〜Ｚ７をディザマトリクスとして、各閾値テーブルに対応する各層のボクセルデータに対して所謂ハーフトーン処理と同様の処理を各々実行する。すなわち、閾値テーブルの閾値と、閾値に対応する位置のボクセルの強度値と、を比較し、強度値が閾値以上であれば、そのボクセルの造形を「有り」とし、強度値が閾値未満の場合は、そのボクセルの造形を「無し」とする処理を閾値テーブルの各閾値について行う。
【００７３】
ここで、ボクセルの第１の属性値をＶ１（ｉ、ｊ、ｋ）、三次元閾値マトリクスの閾値をＭｔ（ｌ、ｍ、ｎ）、第２の属性値をＶ２（ｉ、ｊ、ｋ）とした場合、次式により第２の属性値、すなわち造形の有無を算出する。
【００７４】
Ｖ２（ｉ、ｊ、ｋ）＝ＶｍａｘＭ、Ｖ１（ｉ、ｊ、ｋ）＜Ｍｔ（ｌ、ｍ、ｎ）
・・・（１）
Ｖ２（ｉ、ｊ、ｋ）＝ＶｍａｘＰ、Ｖ１（ｉ、ｊ、ｋ）≧Ｍｔ（ｌ、ｍ、ｎ）
・・・（２）
【００７５】
ここで、ｉはＸ軸の座標値、ｊはＹ軸の座標値、ｋはＺ軸の座標値である。また、ｌ、ｍ、ｎは、三次元閾値マトリクスの閾値のＸ座標、Ｙ座標、Ｚ座標を示し、次式で表される。
【００７６】
ｌ＝ＭＯＤ（Ａｘ×ｉ、Ｍｘ）      ・・・（３）
ｍ＝ＭＯＤ（Ａｙ×ｊ、Ｍｙ）      ・・・（４）
ｎ＝ＭＯＤ（Ａｚ×ｋ、Ｍｚ）      ・・・（５）
【００７７】
ここで、ＭＯＤ（ａ、ｂ）は、ａをｂで除算した場合の剰余を表す。従って、ｌは、Ａｘ×ｉをＭｘで除算した場合の剰余である。同様に、ｍは、Ａｙ×ｊをＭｙで除算した場合の剰余である。同様に、ｎは、Ａｚ×ｋをＭｚで除算した場合の剰余である。なお、Ｍｘは三次元閾値マトリクスのＸ軸方向のサイズ、すなわちＸ軸方向の閾値の数である。同様に、Ｍｙは三次元閾値マトリクスのＹ軸方向のサイズ、すなわちＹ軸方向の閾値の数である。同様に、Ｍｚは三次元閾値マトリクスのＺ軸方向のサイズ、すなわちＺ軸方向の閾値の数である。
【００７８】
また、Ａｘ、Ａｙ、Ａｚは次式で表される。
【００７９】
Ａｘ＝Ａｘ０×Ｖ１（ｉ、ｊ、ｋ）／ＶｍａｘＰ＋１    ・・・（６）
Ａｙ＝Ａｙ０×Ｖ１（ｉ、ｊ、ｋ）／ＶｍａｘＰ＋１    ・・・（７）
Ａｚ＝Ａｚ０×Ｖ１（ｉ、ｊ、ｋ）／ＶｍａｘＰ＋１    ・・・（８）
【００８０】
ここで、Ａｘ０はＸ軸の調整係数、Ａｙ０はＹ軸の調整係数、Ａｚ０はＺ軸の調整係数であり、０≦Ａｘ０≦Ｂｘ、０≦Ａｙ０≦Ｂｙ、０≦Ａｚ０≦Ｂｚである。Ｂｘは調整係数Ａｘが取り得る値の最大値である。同様に、Ｂｙは調整係数Ａｙが取り得る値の最大値、Ｂｚは調整係数Ａｚが取り得る値の最大値である。本実施形態では、一例としてＢｘ＝Ｂｙ＝Ｂｚ＝１である場合について説明するが、調整係数の最大値は１に限られるものではない。なお、全ての調整係数を「０」とした場合、すなわち、Ａｘ０＝Ａｙ０＝Ａｚ０＝０とした場合は、三次元閾値マトリクスの周期は調整されない。また、調整係数が０より大きくなるに従って、調整の度合いが大きくなる。従って、調整の度合いの最大値を大きくするには、Ｂｘ、Ｂｙ、Ｂｚの値を大きくすればよい。
【００８１】
また、ＶｍａｘＭは、Ｖ１（ｉ、ｊ、ｋ）が取り得る値の上限値に負の符号「−」を付した値である。本実施形態では、一例としてＶ１（ｉ、ｊ、ｋ）が８ビットで表され、０〜２５５の値を取り得るものとする。従って、ＶｍａｘＭ＝−２５５である。また、ＶｍａｘＰは、Ｖ１（ｉ、ｊ、ｋ）が取り得る値の上限値に正の符号「＋」を付した値である。従って、ＶｍａｘＰ＝＋２５５である。なお、ＶｍａｘＭは、「造形無し」を意味し、ＶｍａｘＰは、「造形有り」を意味する。
【００８２】
このように、第１の属性値Ｖ１（ｉ、ｊ、ｋ）が閾値Ｍｔ（ｌ、ｍ、ｎ）未満の場合は、第２の属性値Ｖ２（ｉ、ｊ、ｋ）はＶｍａｘＭとなり、「造形無し」となる。また、第１の属性値Ｖ１（ｉ、ｊ、ｋ）が閾値Ｍｔ（ｌ、ｍ、ｎ）以上の場合は、第２の属性値Ｖ２（ｉ、ｊ、ｋ）はＶｍａｘＰとなり、「造形有り」となる。
【００８３】
例えば図１３に示すように、閾値マトリクスＭｔ１と、ボクセルの第１の属性値Ｖ１と、を比較した場合について説明する。なお、調整係数はＡｘ０＝Ａｙ０＝Ａｚ０＝０、すなわち三次元閾値マトリクスＭｔ１の周期を調整しない場合について説明する。
【００８４】
図１３に示す三次元閾値マトリクスＭｔ１は、基本形状に対応する閾値「０」から徐々に変化するように、多値で設定されている。具体的には、閾値マトリクスＭｔ１は、一例として４種類の閾値「０」、「８０」、「１６０」、「２５５」で構成されており、基本形状に対応する閾値「０」からの距離が大きくなるに従って閾値が大きくなるマトリクスである。そして、各ボクセルの第１の属性値Ｖ１は、一様に「７０」であるとする。この場合、図１３に示すように、第２の属性値Ｖ２は、Ｘ方向及びＹ方向共に中央のボクセル１個分が「造形有り」となり、十字形状となる。
【００８５】
また、図１４に示すように、各ボクセルの第１の属性値Ｖ１が一様に「９０」であるとする。この場合、第２の属性値Ｖ２は、Ｘ方向及びＹ方向共に中央のボクセル３個分が「造形有り」となり、図１３に示した十字形状よりも肉厚が大きい十字形状となる。
【００８６】
次に、図１５に示すように、閾値マトリクスの閾値が、基本形状に対応する第１の閾値である閾値「０」と、基本形状以外に対応する第２の閾値である閾値「２５５」と、の２値で設定されている閾値マトリクスＭｔ２を用いた場合について説明する。なお、調整係数はＡｘ０＝Ａｙ０＝Ａｚ０＝０、すなわち三次元閾値マトリクスＭｔ２の周期を調整しない場合について説明する。
【００８７】
図１５に示すように、第１の属性値Ｖ１は、図１５のＸ方向において左端から右端にかけて値が大きくなるように、「０」〜「２５５」の値が設定されているものとする。この場合、図１５に示すように、閾値マトリクスＭｔ２の周期が調整されないため、基本形状が規則的にＸ方向に２個並んだ形状に相当するボクセルの第２の属性値Ｖ２が「造形有り」となる。
【００８８】
また、図１５の例において、調整係数をＡｘ０＝Ａｙ０＝Ａｚ０＝１、すなわち三次元閾値マトリクスＭｔ２の周期を調整する場合は、第１の属性値Ｖ１と比較される三次元閾値マトリクスＭｔ２の座標スケールが変化する。このため、図１６に示すように、Ｘ方向において右端に向かうに従って基本形状が密となる形状に相当するボクセルの第２の属性値Ｖ２が「造形有り」となる。
【００８９】
このように、調整係数及び閾値マトリクスを変えることで、三次元形状によって実現される物性値がきめ細かく調整される。
【００９０】
ステップＳ１０８では、ステップＳ１０６で算出した各ボクセルの造形の有無を表すデータをボクセルデータとして三次元造形装置１００に送信する。
【００９１】
三次元造形装置１００の取得部１１０は、三次元形状データの生成装置１０から送信されたボクセルデータを取得する。また、制御部１１２は、取得部１１０が取得したボクセルデータに従って造形材料が吐出されるように、吐出ヘッド駆動部１０４を駆動して吐出ヘッド１０２を二次元に走査させると共に、吐出ヘッド１０２による造形材料の吐出を制御する。これにより、三次元形状が造形される。
【００９２】
次に、図１７を参照して、本実施の形態に係る生成装置１０が、三次元閾値マトリクスの生成装置として機能する場合における作用について説明する。ＣＰＵ１２Ａにより三次元閾値マトリクスの生成プログラムを実行させることで、図１７に示す生成処理が実行される。なお、図１７に示す生成処理は、例えば、ユーザーの操作により生成プログラムの実行が指示された場合に実行される。
【００９３】
ステップＳ２００では、三次元閾値マトリクスを生成する際の条件を設定するための設定画面として、例えば図１８に示すような設定画面６０を表示部１６に表示させる。図１８に示すように、設定画面６０は、パターンピースを選択するためのパターンピース選択領域６２、パターンピースが定義された外部ファイルの読み込みを指示するための外部ファイル読み込みボタン６４、三次元閾値マトリクスのボクセルピッチを入力するためのボクセルピッチ入力欄６６、パターンピースを変調させる際に基準となる基準肉厚を入力するための基準肉厚入力領域６８、最小肉厚を維持するように指示するためのチェックボックス７０、最大肉厚を維持するよう指示するためのチェックボックス７２、隣接するボクセルとの接触の種類に応じて重み付けすることを指示するためのチェックボックス７４、隣接するボクセルとの接続強度（リンク値）に基づいて重み付けすることを指示するためのチェックボックス７６、三次元閾値マトリクスの生成処理の実行を指示するための実行ボタン７８、及び設定画面６０に入力した値を取り消すためのキャンセルボタン８０を含んで構成される。
【００９４】
図１８の例では、５個のパターンピースＰ１〜Ｐ３が表示されており、ユーザーが操作部１４を操作することによりパターンピースＰ１が選択された状態を示している。また、スライドバーＳＢを左右に動かすことで他のパターンピースも表示される。更に、パターンピースが定義された外部ファイルを読み込むことによりパターンピースを受け付けても良い。この場合、外部ファイル読み込みボタン６４を押下して外部ファイルを指定すればよい。
【００９５】
ここで、パターンピースとは、基本形状を含む予め定めた形状を複数のボクセルで表したものである。なお、予め定めた形状としては立方体が挙げられるが、立方体以外の直方体等、他の形状でもよい。
【００９６】
本実施形態では、一例として図１９に示すような三本柱状の基本形状を有するパターンピースＰ１が選択された場合について説明する。
【００９７】
また、ユーザーは、パターンピースの選択の他に、ボクセルピッチ入力欄６６に三次元閾値マトリクスのボクセルピッチを入力する。また、必要に応じて基準肉厚入力領域６８に基準肉厚を入力する。なお、複数の基準肉厚を入力してもよい。
【００９８】
また、ユーザーは、必要に応じてチェックボックス７０をチェックして最小肉厚を維持するように指示したり、チェックボックス７２をチェックして最大肉厚を維持するよう指示したりする。また、ユーザーは、必要に応じてチェックボックス７４をチェックして、隣接するボクセルとの接触の種類に応じて重み付けすることを指示したり、チェックボックス７６をチェックして、隣接するボクセルとの接続強度に基づいて重み付けすることを指示したりする。
【００９９】
ステップＳ２０２では、パターンピースが選択されたか否かを判定する。すなわち、ユーザーが操作部１４を操作することによりパターンピース選択領域６２から所望のパターンピースを選択したか否か及び外部ファイル読み込みボタン６４を押下して外部ファイルが指示されたか否かを判定する。
【０１００】
そして、パターンピースが選択された場合はステップＳ２０４へ移行し、パターンピースが選択されていない場合はステップＳ２２２へ移行する。
【０１０１】
ステップＳ２０４では、選択されたパターンピースが定義されたファイルを記憶部２０から読み込む。
【０１０２】
ステップＳ２０６では、ボクセルピッチ入力欄６６に三次元閾値マトリクスのボクセルピッチが入力されたか否かを判定する。本実施形態では、ボクセルピッチ入力欄６６には、Ｘ、Ｙ、Ｚ軸の各方向に共通の値を入力する場合について説明するが、軸毎にボクセルピッチの入力欄を設けてもよい。また、本実施形態では、ボクセルピッチが一例として１ｍｍ当たりのボクセル数である場合について説明するが、１ボクセル当たりのサイズでもよい。すなわち、三次元閾値マトリクスの閾値の数を決定するためのパラメータであればよい。
【０１０３】
そして、ボクセルピッチが入力された場合はステップＳ２０８へ移行し、ボクセルピッチが入力されていない場合はステップＳ２２２へ移行する。
【０１０４】
ステップＳ２０８では、三次元閾値マトリクスの閾値の数を算出する。具体的には、ステップＳ２０４で読み込んだパターンピースのサイズと、ボクセルピッチ入力欄６６に入力されたボクセルピッチと、に基づいて三次元閾値マトリクスの閾値の数を算出する。ここで、パターンピースのサイズは予め定められており、一例として単位がミリメートルであるものとする。従って、パターンピースのサイズにボクセルピッチを乗算することにより、Ｘ、Ｙ、Ｚ軸の各方向共通の三次元閾値マトリクスの閾値の数を算出する。なお、ボクセルピッチが１ボクセル当たりのサイズの場合には、パターンピースのサイズをボクセルピッチで除算することにより三次元閾値マトリクスの閾値の数を算出すればよい。
【０１０５】
ステップＳ２１０では、実行ボタン７８が押下されたか否かを判定する。そして、実行ボタン７８が押下された場合はステップＳ２１２へ移行し、実行ボタン７８が押下されていない場合はステップＳ２１８へ移行する。
【０１０６】
ステップＳ２１２では、ステップＳ２０４で読み込んだパターンピースのＸ、Ｙ、Ｚ軸の各方向のボクセル数が、ステップＳ２０８で算出したボクセル数となるようにパターンピースを複数のボクセルに分割する。このとき、パターンピースの肉厚が、基準肉厚入力領域６８に入力された肉厚となるように複数のボクセルに分割する。なお、基準肉厚入力領域６８に何も入力されていない場合は、予め定めた肉厚、例えば１ｍｍを基準肉厚として用いてもよい。
【０１０７】
また、本実施形態では、パターンピースのＸ、Ｙ、Ｚ軸の各方向のボクセル数が２５個の場合について説明する。図２０には、パターンピースＰ１のＺ方向中心位置のＸＹ平面における断面を示した。図２０に示すパターンピースＰ１では、基本肉厚が１ｍｍのパターンピースのＸＹ平面における断面を示した。図２０に示すように、基本形状に相当する位置のボクセルには「１」、すなわち「ボクセル有り」が設定され、基本形状以外に相当する位置のボクセルには「０」、すなわち「ボクセル無し」が設定されている。
【０１０８】
ステップＳ２１４では、パターンピースを構成する各ボクセルについて、隣接するボクセルの有無の数を算出する。
【０１０９】
図２１に示すように、処理対象の中心となる注目ボクセルＢＸの周囲には、ボクセル番号「１」〜「２６」の２６個のボクセルが存在する。このため、本実施形態では、各ボクセルについて、周囲の２６個のボクセルと、注目ボクセルＢＸの数を合計した２７個のボクセルのうち、「１」、すなわち「ボクセル有り」が設定されているボクセルの数を算出する。
【０１１０】
そして、ステップＳ２１６では、各ボクセルについて算出した周囲の「ボクセル有り」のボクセルの数を、三次元形状データのボクセルの属性値が取り得る値の最大値で正規化した値を閾値とする。
【０１１１】
例えば周囲の「ボクセル有り」のボクセル数の最大値をＮｍａｘ、周囲の「ボクセル有り」のボクセル数をＮ、三次元形状データのボクセルの属性値が取り得る値の最大値をＢｍａｘ、閾値をＴＨとした場合、次式により閾値ＴＨを算出する。
【０１１２】
ＴＨ＝｛（Ｎｍａｘ−Ｎ）／Ｎｍａｘ｝×Ｂｍａｘ      ・・・（１）
【０１１３】
なお、周囲の「ボクセル有り」のボクセル数が取り得る値は「０」〜「２７」なので、Ｎｍａｘは「２７」である。また、三次元形状データのボクセルの属性値が取り得る値が「０」〜「２５５」であるとすると、Ｂｍａｘは「２５５」である。また、上記（１）式により算出された閾値ＴＨを適宜調整してもよい。例えば、算出された閾値ＴＨの下１桁目又は小数点以下を四捨五入したり、切り上げたり、切り捨てたりしてもよい。また、閾値ＴＨを他の閾値と一致しない範囲で増減させてもよい。このように閾値ＴＨを算出することにより、閾値が「０」〜「２５５」の範囲で且つ２８階調の閾値が設定された三次元閾値マトリクスが生成される。なお、各ボクセルについて、周囲のボクセルのうち「ボクセル無し」が設定されているボクセルの数を算出し、周囲の「ボクセル無し」の最大値である「２７」から、周囲の「ボクセル無し」のボクセルの数を減算した値を用いて閾値ＴＨを算出してもよい。
【０１１４】
図２２には、三次元閾値マトリクスの一例を示した。図２２に示す三次元閾値マトリクスＭ１は、「０」〜「２５５」の範囲で且つ２８階調の閾値を有する三次元閾値マトリクスである。
【０１１５】
また、図２２に示すように、三次元閾値マトリクスＭ１は、基本形状に対応する位置から離れるに従って閾値が徐々に変化するように、具体的には、基本形状の中心部から外縁部に向かうに従って閾値が徐々に大きくなるように閾値が設定されている。
【０１１６】
このようにして生成された三次元閾値マトリクスＭ１の肉厚と閾値との関係を図２３に示した。図２３に示すように、閾値の中間値が基準肉厚として設定された１ｍｍに相当する。
【０１１７】
また、基準肉厚入力領域６８に複数の基準肉厚が入力された場合は、各基準肉厚に対応するパターンピースの各ボクセルについて、周囲の「ボクセル有り」のボクセル数を算出する。そして、各パターンピースの各ボクセルについて算出した周囲の「ボクセル有り」のボクセル数を、同じ位置毎に各々積算する、すなわち総和を算出する。そして、算出した総和を用いて上記（１）式により閾値を算出する。これにより、パターンピースの数がｎ個の場合は、閾値の階調数は２８×ｎとなる。例えば図１８に示すように、基準肉厚が０．５ｍｍ、１．０ｍｍ、２．０ｍｍの三種類の基準肉厚が設定された場合について説明する。この場合、図２４に示すように、基準肉厚が０．５ｍｍ、１．０ｍｍ、２．０ｍｍのパターンピースＰ１−１、Ｐ１−２、Ｐ１−３が設定され、閾値の階調数は、２８×３＝８４となる。
【０１１８】
図２５には、パターンピースＰ１−１、Ｐ１−２、Ｐ１−３を用いて生成された三次元閾値マトリクスＭ２を示した。また、図２６には、三次元閾値マトリクスＭ２の肉厚と閾値との関係を示した。この場合、図２６に示すように、閾値の中間値が基準肉厚１ｍｍに相当し、閾値の最大値の７５％の値が基準肉厚２ｍｍに相当し、閾値の最大値の２５％の値が基準肉厚０．５ｍｍに相当する。
【０１１９】
また、チェックボックス７０がチェックされ、最小肉厚を維持するように設定されていた場合は、造形される三次元形状が最小肉厚以上となるように閾値を設定する。具体的には、生成された三次元閾値マトリクスの各閾値のうち、最小肉厚未満となる位置の閾値の全てを閾値の最小値である「０」に設定する。このように閾値が設定された三次元閾値マトリクスを用いて三次元形状を造形することにより、最小肉厚以上の肉厚を有する三次元形状が造形される。
【０１２０】
また、チェックボックス７２がチェックされ、最大肉厚を維持するように設定されていた場合は、造形される三次元形状が最大肉厚以下となるように閾値を設定する。具体的には、生成された三次元閾値マトリクスの各閾値のうち、最大肉厚を超える位置の閾値の全てを、例えば閾値の最大値である「２５５」よりも大きい「２５６」に設定する。このように閾値が設定された三次元閾値マトリクスを用いて三次元形状を造形することにより、最大肉厚以下の肉厚を有する三次元形状が造形される。
【０１２１】
図２７には、図２４に示す基準肉厚が０．５ｍｍ、１．０ｍｍ、２．０ｍｍの三種類のパターンピースＰ１−１、Ｐ１−２、Ｐ１−３が設定されると共に、最小肉厚及び最大肉厚を維持するように設定された場合に生成された三次元閾値マトリクスＭ３を示した。図２７に示す三次元閾値マトリクスＭ３は、図２５に示した三次元閾値マトリクスＭ２、すなわち最小肉厚及び最大肉厚を維持するように設定されていない場合に生成された三次元閾値マトリクスＭ２と比較すると、最小肉厚である０．５ｍｍ未満となる位置の閾値の全てが閾値の最小値である「０」に設定されていると共に、最大肉厚である２．０ｍｍを超える位置の閾値の全てが閾値の最大値である「２５５」よりも大きい「２５６」に設定されている。
【０１２２】
また、図２８には、三次元閾値マトリクスＭ３の肉厚と閾値との関係を示した。この場合、図２８に示すように、閾値の最大値「２５６」未満、すなわち閾値「２５５」以下が最大肉厚の２ｍｍ以下に相当し、閾値の最小値「０」以上が最小肉厚０．５ｍｍ以上に相当する。
【０１２３】
また、チェックボックス７４がチェックされていた場合、パターンピースの各ボクセルについて算出した隣接するボクセルの有無の数を、隣接するボクセルとの接触の種類に応じて重み付けする。例えば、接触の種類が、面接触、線接触、及び点接触の順に重みが大きくなるように重み付けする。具体的には、隣接するボクセルの有無の数を算出する場合に、面接触するボクセル、線接触するボクセル、点接触するボクセルの各々について、隣接するボクセルの有無の数を算出する。そして、面接触するボクセルの有無の数には第１の係数ａ１を乗算し、線接触するボクセルの有無の数には第２の係数ａ２を乗算し、線接触するボクセルの有無の数には第３の係数ａ３を乗算する。ここで、ａ１＞ａ２＞ａ３である。これにより、面接触、線接触、及び点接触の順に重みが大きくなるように重み付けされる。
【０１２４】
ここで、例えば図２１に示す注目ボクセルＢＸに対して面接触するボクセルは、ボクセル番号５、１１、１３、１４、１６、２２のボクセルである。また、注目ボクセルＢＸに対して線接触するボクセルは、ボクセル番号２、４、６、８、１０、１２、１５、１７、１９、２１、２３、２５のボクセルである。また、注目ボクセルＢＸに対して点接触するボクセルは、ボクセル番号１、３、７、９、１８、２０、２４、２６のボクセルである。この場合、面接触するボクセル番号５、１１、１３、１４、１６、２２のボクセルの有無の数に係数ａ１が乗算される。また、線接触するボクセル番号２、４、６、８、１０、１２、１５、１７、１９、２１、２３、２５のボクセルの有無の数に係数ａ２が乗算される。また、点接触するボクセル番号１、３、７、９、１８、２０、２４、２６のボクセルの有無の数に係数ａ３が乗算される。
【０１２５】
また、チェックボックス７６がチェックされていた場合、パターンピースの各ボクセルについて算出した隣接するボクセルの有無の数を、隣接するボクセルとの接続強度に基づいて閾値を重み付けする。接続強度は、パターンピースの各ボクセルに予め設定されており、隣接するボクセル毎に接続強度が予め設定されている。この場合、隣接するボクセルの有無の数を算出する際に、隣接するボクセルの接続強度が強いほど大きくなり、接続強度が小さくなるほど小さくなる係数を乗算する。これにより、接続強度が大きいほど重み付けが大きくなる。
【０１２６】
ステップＳ２１８では、キャンセルボタン８０が押下されたか否かを判定する。そして、キャンセルボタン８０が押下された場合はステップＳ２２０へ移行し、キャンセルボタン８０が押下されていない場合はステップＳ２２２へ移行する。
【０１２７】
ステップＳ２２０では、設定画面６０に入力された条件をリセットする。
【０１２８】
ステップＳ２２２では、本ルーチンを終了するか否かを判定する。例えば画面を閉じる操作がされたか否かを判定することにより本ルーチンを終了するか否かを判定する。そして、本ルーチンを終了すると判定された場合は本ルーチンを終了し、本ルーチンを終了すると判定されていない場合はステップＳ２０２へ移行する。
【０１２９】
このように、本実施形態では、受け付けたパターンピースの各ボクセルについて、隣接するボクセルの有無の数を算出することにより三次元閾値マトリクスを生成する。これにより、三次元閾値マトリクスをユーザーの操作によって１つ１つ作成する場合と比較して、効率良く三次元閾値マトリクスが生成される。
【０１３０】
以上、各実施形態を用いて本発明について説明したが、本発明は各実施形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で各実施形態に多様な変更または改良を加えることができ、当該変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０１３１】
例えば、本実施形態では、三次元形状データを生成する生成装置１０と三次元形状データに基づいて三次元形状を造形する三次元造形装置１００とが別個の構成の場合について説明したが、三次元造形装置１００が生成装置１０の機能を備えた構成としてもよい。
【０１３２】
すなわち、三次元造形装置１００の取得部１１０がボクセルデータを取得し、制御部１１２が図６の生成処理を実行して三次元形状データを生成してもよい。
【０１３３】
また、例えば、図６に示した三次元形状データの生成処理をＡＳＩＣ（Application Specific Integrated Circuit）等のハードウエアで実現するようにしてもよい。この場合、ソフトウエアで実現する場合に比べて、処理の高速化が図られる。
【０１３４】
また、各実施形態では、三次元形状データの生成プログラムが記憶部２０にインストールされている形態を説明したが、これに限定されるものではない。本実施形態に係る三次元形状データの生成プログラムを、コンピュータ読取可能な記憶媒体に記録した形態で提供してもよい。例えば、本発明に係る三次元形状データの生成プログラムを、ＣＤ(Compact Disc)−ＲＯＭ及びＤＶＤ(Digital Versatile Disc)−ＲＯＭ等の光ディスクに記録した形態、若しくはＵＳＢ(Universal Serial Bus)メモリ及びメモリカード等の半導体メモリに記録した形態で提供してもよい。また、本実施形態に係る三次元形状データの生成プログラムを、通信部１８に接続された通信回線を介して外部装置から取得するようにしてもよい。
【符号の説明】
【０１３５】
１     三次元造形システム
１０   三次元形状データの生成装置
１２   コントローラ
１４   操作部
１６   表示部
１８   通信部
２０   記憶部
３２   三次元形状
３４   ボクセル
５０   基本形状受付部
５２   生成部
５４   パラメータ受付部
５６   算出部
５８   肉厚受付部
１００ 三次元造形装置
【図１】
2020075451.tif 000003
【図２】
2020075451.tif 000004
【図３】
2020075451.tif 000005
【図４】
2020075451.tif 000006
【図５】
2020075451.tif 000007
【図６】
2020075451.tif 000008
【図７】
2020075451.tif 000009
【図８】
2020075451.tif 000010
【図９】
2020075451.tif 000011
【図１０】
2020075451.tif 000012
【図１１】
2020075451.tif 000013
【図１２】
2020075451.tif 000014
【図１３】
2020075451.tif 000015
【図１４】
2020075451.tif 000016
【図１５】
2020075451.tif 000017
【図１６】
2020075451.tif 000018
【図１７】
2020075451.tif 000019
【図１８】
2020075451.tif 000020
【図１９】
2020075451.tif 000021
【図２０】
2020075451.tif 000022
【図２１】
2020075451.tif 000023
【図２２】
2020075451.tif 000024
【図２３】
2020075451.tif 000025
【図２４】
2020075451.tif 000026
【図２５】
2020075451.tif 000027
【図２６】
2020075451.tif 000028
【図２７】
2020075451.tif 000029
【図２８】
2020075451.tif 000030