(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】三次元形状データの生成装置、三次元造形装置、及び三次元形状データの生成プログラム
(51)【国際特許分類】
G06F 30/10 20200101AFI20231212BHJP
B29C 64/386 20170101ALI20231212BHJP
B33Y 50/00 20150101ALI20231212BHJP
G06T 17/20 20060101ALI20231212BHJP
G06F 113/10 20200101ALN20231212BHJP
【FI】
G06F30/10
B29C64/386
B33Y50/00
G06F30/10 100
G06T17/20
G06F113:10
(21)【出願番号】P 2019148917
(22)【出願日】2019-08-14
【審査請求日】2022-07-21
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】横山 優樹
(72)【発明者】
【氏名】高橋 智也
【審査官】合田 幸裕
(56)【参考文献】
【文献】米国特許出願公開第2012/0224755(US,A1)
【文献】特開2007-323254(JP,A)
【文献】特開2009-126038(JP,A)
【文献】特開2008-287520(JP,A)
【文献】特開2018-176597(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/10
B29C 64/386
B33Y 50/00
G06T 17/20
G06F 113/10
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
三次元形状が複数の三次元要素で表されると共に前記複数の三次元要素の各々に属性が付与された三次元形状データを取得し、
前記属性に応じて前記三次元形状を複数の部分形状に分割することにより、複数の三次元形状データを生成
し、
前記部分形状の三次元形状データをマーチングキューブ法を用いてメッシュデータに変換する場合、分割前はエッジではなく分割後にエッジとなる三次元要素については、前記マーチングキューブ法により設定される第1の面に代えて、分割前の形状を表す第2の面を設定することにより、メッシュデータに変換する
三次元形状データの生成装置。
【請求項2】
前記プロセッサは、
分割前は前記三次元形状の内部であった三次元要素については、前記
マーチングキューブ法により設定される前記第1の面を設定することにより、メッシュデータに変換する
請求項
1記載の三次元形状データの生成装置。
【請求項3】
前記プロセッサは、
閾値を受け付け、前記属性の属性値と前記閾値との比較結果に応じて前記三次元形状を複数の部分形状に分割することにより、複数の三次元形状データを生成する
請求項1
又は請求項2記載の三次元形状データの生成装置。
【請求項4】
前記プロセッサは、
複数の前記閾値を受け付ける
請求項
3記載の三次元形状データの生成装置。
【請求項5】
前記プロセッサは、
前記属性の属性値のヒストグラムを表示部に表示させる
請求項1~
4の何れか1項に記載の三次元形状データの生成装置。
【請求項6】
前記プロセッサは、
前記ヒストグラム上で閾値を受け付ける
請求項
5記載の三次元形状データの生成装置。
【請求項7】
前記プロセッサは、
前記ヒストグラム上で前記閾値を前記表示部に表示させる
請求項
6記載の三次元形状データの生成装置。
【請求項8】
請求項1~
7の何れか1項に記載の三次元形状データの生成装置により生成された三次元形状データに基づいて三次元形状を造形する造形部
を備えた三次元造形装置。
【請求項9】
コンピュータに、
三次元形状が複数の三次元要素で表されると共に前記複数の三次元要素の各々に属性が付与された三次元形状データを取得し、
前記属性に応じて前記三次元形状を複数の部分形状に分割することにより、複数の三次元形状データを生成
し、
前記部分形状の三次元形状データをマーチングキューブ法を用いてメッシュデータに変換する場合、分割前はエッジではなく分割後にエッジとなる三次元要素については、前記マーチングキューブ法により設定される第1の面に代えて、分割前の形状を表す第2の面を設定することにより、メッシュデータに変換する
処理を実行させるための三次元形状データの生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元形状データの生成装置、三次元造形装置、及び三次元形状データの生成プログラムに関する。
【背景技術】
【0002】
特許文献1には、立体造形用データ生成方法であって、コンピュータが、複数のポリゴンで3次元形状を表した造形対象物の3次元形状データを取得するステップと、コンピュータが、前記造形対象物を複数のパーツに分割するため、前記造形対象物の3次元形状データを前記パーツごとの3次元形状データに加工するステップと、コンピュータが、前記パーツごとの3次元形状データと造形材料の種類を指定するデータとを対応づける立体造形用データを生成するステップと、を含むことを特徴とする立体造形用データ生成方法が開示されている。
【0003】
特許文献2には、三次元モデル分割装置が、入力された三角形メッシュで表現される三次元モデルに含まれる、三角形同士が接続し、且つ、該三角形の法線方向が共通または相反する三角形を集めた平面を検出する平面検出ステップと、前記平面検出ステップによって検出された平面から、該平面の各三角形の各辺のうち、1つの三角形のみに属する境界辺同士を接続して前記三次元モデルの輪郭である輪郭図形を抽出する輪郭図形抽出ステップと、前記輪郭図形抽出ステップによって抽出された輪郭図形を重ならない複数の子図形に分割する輪郭図形分割ステップと、前記輪郭図形分割ステップによって分割された子図形毎に、それぞれが三角形メッシュで表現される三次元実体を再構成する三次元実体再構成ステップとを実行することを特徴とする三次元モデル分割方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-159588号公報
【文献】特開2010-186479号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、複数の三次元要素で表される三次元形状を任意の複数の部分形状に分割することができる三次元形状データの生成装置、三次元造形装置、及び三次元形状データの生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
第1態様に係る三次元形状データの生成装置は、プロセッサを備え、前記プロセッサは、三次元形状が複数の三次元要素で表されると共に前記複数の三次元要素の各々に属性が付与された三次元形状データを取得し、前記属性に応じて前記三次元形状を複数の部分形状に分割することにより、複数の三次元形状データを生成する。
【0007】
第2態様に係る三次元形状データの生成装置は、第1態様に係る三次元形状データの生成装置において、前記プロセッサは、前記部分形状の三次元形状データを予め定めた方法を用いてメッシュデータに変換する場合、分割前はエッジではなく分割後にエッジとなる三次元要素については、前記予め定めた方法により設定される第1の面に代えて、分割前の形状を表す第2の面を設定することにより、メッシュデータに変換する。
【0008】
第3態様に係る三次元形状データの生成装置は、第2態様に係る三次元形状データの生成装置において、前記プロセッサは、分割前は前記三次元形状の内部であった前記三次元要素については、前記予め定めた方法により設定される前記第1の面を設定することにより、メッシュデータに変換する。
【0009】
第4態様に係る三次元形状データの生成装置は、第1~第3態様の何れかの態様に係る三次元形状データの生成装置において、前記プロセッサは、閾値を受け付け、前記属性の属性値と前記閾値との比較結果に応じて前記三次元形状を複数の部分形状に分割することにより、複数の三次元形状データを生成する。
【0010】
第5態様に係る三次元形状データの生成装置は、第4態様に係る三次元形状データの生成装置において、前記プロセッサは、複数の前記閾値を受け付ける。
【0011】
第6態様に係る三次元形状データの生成装置は、第1~第5態様の何れかの態様に係る三次元形状データの生成装置において、前記プロセッサは、前記属性の属性値のヒストグラムを表示部に表示させる。
【0012】
第7態様に係る三次元形状データの生成装置は、第6態様に係る三次元形状データの生成装置において、前記プロセッサは、前記ヒストグラム上で閾値を受け付ける。
【0013】
第8態様に係る三次元形状データの生成装置は、第7態様に係る三次元形状データの生成装置において、前記プロセッサは、前記ヒストグラム上で前記閾値を前記表示部に表示させる。
【0014】
第9態様に係る三次元造形装置は、第1~第8態様の何れかの態様に係る三次元形状データの生成装置により生成された三次元形状データに基づいて三次元形状を造形する造形部を備える。
【0015】
第10態様に係る三次元形状データの生成プログラムは、コンピュータを、第1~第8態様の何れかの態様に係る三次元形状データの生成装置の各部として機能させるためのプログラムである。
【発明の効果】
【0016】
第1、第9、第10態様によれば、複数の三次元要素で表される三次元形状を任意の複数の部分形状に分割することができる、という効果を有する。
【0017】
第2態様によれば、分割前はエッジではなく分割後にエッジとなる三次元要素について、予め定めた方法により設定される第1の面を設定する場合と比較して、元の形状から変化してしまうのを抑制することができる、という効果を有する。
【0018】
第3態様によれば、分割前はエッジではなく分割後にエッジとなる三次元要素についてのみ第2の面を設定すればよい、という効果を有する。
【0019】
第4態様によれば、閾値が固定の場合と比較して、より任意に三次元形状を複数の部分形状に分割することができる、という効果を有する。
【0020】
第5態様によれば、閾値を一つしか受け付けない場合と比較して、三次元形状を3個以上に分割することができる、という効果を有する。
【0021】
第6態様によれば、三次元要素の属性値の傾向を容易に認識することができる、という効果を有する。
【0022】
第7態様によれば、閾値の設定が容易となる、という効果を有する。
【0023】
第8態様によれば、設定した閾値を容易に認識することができる、という効果を有する。
【図面の簡単な説明】
【0024】
【
図2】三次元形状データの生成装置の構成図である。
【
図3】三次元形状データの生成装置の機能構成を示すブロック図である。
【
図4】ボクセルデータで表された三次元形状の一例を示す図である。
【
図6】三次元形状データの生成プログラムによる処理の流れを示すフローチャートである。
【
図9】三次元形状を閾値に応じて色分けして表示した例を示す図である。
【
図12】エッジ部の鈍りについて説明するための図である。
【
図13】エッジ部の鈍りについて説明するための図である。
【
図14】部分形状をメッシュデータに変換した場合に発生する溝について説明するための図である。
【
図15】マーチングキューブ法で設定される第1の面について説明するための図である。
【
図16】分割前の形状を表す第2の面について説明するための図である。
【発明を実施するための形態】
【0025】
以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。
【0026】
図1は、本実施形態に係る三次元造形システム1の構成図である。
図1に示すように、三次元造形システム1は、三次元形状データの生成装置10及び三次元造形装置100を備える。
【0027】
次に、
図2を参照して、本実施形態に係る三次元形状データの生成装置10の構成について説明する。
【0028】
生成装置10は、例えばパーソナルコンピュータ等で構成され、コントローラ12を備える。コントローラ12は、CPU(Central Processing Unit)12A、ROM(Read Only Memory)12B、RAM(Random Access Memory)12C、不揮発性メモリ12D、及び入出力インターフェース(I/O)12Eを備える。そして、CPU12A、ROM12B、RAM12C、不揮発性メモリ12D、及びI/O12Eがバス12Fを介して各々接続されている。なお、CPU12Aは、プロセッサの一例である。
【0029】
また、I/O12Eには、操作部14、表示部16、通信部18、及び記憶部20が接続されている。
【0030】
操作部14は、例えばマウス及びキーボードを含んで構成される。
【0031】
表示部16は、例えば液晶ディスプレイ等で構成される。
【0032】
通信部18は、三次元造形装置100等の外部装置とデータ通信を行うためのインターフェースである。
【0033】
記憶部20は、ハードディスク等の不揮発性の記憶装置で構成され、後述する三次元形状データの生成プログラム、及び三次元形状データ等を記憶する。CPU12Aは、記憶部20に記憶された三次元形状データの生成プログラムを読み込んで実行する。
【0034】
次に、CPU12Aの機能構成について説明する。
【0035】
図3に示すように、CPU12Aは、機能的には、取得部50、生成部52、変換部54、受付部56、及び制御部58を備える。
【0036】
取得部50は、三次元形状が複数のボクセルで表されると共に複数のボクセルの各々に属性が付与された三次元形状データ、すなわちボクセルデータを取得する。なお、ボクセルは、三次元要素の一例である。また、属性は、ボクセルの有無、色、強度、及び材料比等のボクセルの性質を表す属性を少なくとも1つ含むが、属性の種類はこれらに限られるものではない。
【0037】
生成部52は、属性に応じて三次元形状を複数の部分形状に分割することにより、複数の三次元形状データを生成する。
【0038】
変換部54は、部分形状の三次元形状データを予め定めた方法を用いてメッシュデータに変換する。ここで、予め定めた方法とは、ボクセルデータをメッシュデータに変換するための方法である。また、メッシュデータとは、三角形等の多角形(ポリゴン)で表された複数のメッシュで三次元形状を表したデータである。本実施形態は、予め定めた方法の一例としてマーチングキューブ法を用いた場合について説明するが、これに限られるものではない。マーチングキューブ法では、2×2×2の隣接する8個のボクセルの集合におけるボクセルの有無のパターンに応じて予め定めた面を設定することによりメッシュデータに変換する方法である。
【0039】
変換部54は、部分形状の三次元形状データを、マーチングキューブ法を用いてメッシュデータに変換する際に、分割前はエッジではなく分割後にエッジとなる三次元要素については、マーチングキューブ法により設定される第1の面に代えて、分割前の形状を表す第2の面を設定することにより、メッシュデータに変換する。
【0040】
また、変換部54は、分割前は三次元形状の内部であった三次元要素については、マーチングキューブ法により設定される第1の面を設定することにより、メッシュデータに変換する。
【0041】
受付部56は、三次元要素に付与された属性に応じて三次元形状を複数の部分形状に分割するための閾値を受け付ける。生成部52は、属性と受付部56が受け付けた閾値との比較結果に応じて三次元形状を複数の部分形状に分割することにより、複数の三次元形状データを生成する。また、受付部56は、複数の閾値を受け付ける。
【0042】
制御部58は、三次元形状を表す複数のボクセルの属性の属性値のヒストグラムを表示部16に表示させる。この場合、受付部56は、ヒストグラム上で閾値を受け付けてもよい。また、制御部58は、ヒストグラム上で閾値を表示部16に表示させてもよい。
【0043】
図4には、三次元形状をボクセルの集合で表した三次元形状データ(ボクセルデータ)によって表された三次元形状32を示した。
図4に示すように、三次元形状32は、複数のボクセル34で構成される。
【0044】
ここで、ボクセル34は、三次元形状32の基本要素であり、例えば直方体が用いられるが、直方体に限らず、球又は円柱等を用いてもよい。ボクセル34を積み上げることで所望の三次元形状が表現される。
【0045】
三次元形状を造形する三次元造形法としては、例えば熱可塑性樹脂を溶かし積層させることで三次元形状を造形する熱溶解積層法(FDM:Fused Deposition Modeling)、粉末状の金属材料にレーザービームを照射し、焼結することで三次元形状を造形するレーザー焼結法(SLS法:Selective Laser Sintering)等が適用されるが、他の三次元造形法を用いても良い。本実施形態では、熱溶解積層法を用いて三次元形状を造形する場合について説明する。
【0046】
次に、三次元形状データの生成装置10により生成された三次元形状データを用いて三次元形状を造形する三次元造形装置について説明する。
【0047】
図5には、本実施の形態に係る三次元造形装置100の構成を示した。三次元造形装置100は、熱溶解積層法により三次元形状を造形する装置である。
【0048】
図5に示すように、三次元造形装置100は、吐出ヘッド102、吐出ヘッド駆動部104、造形台106、造形台駆動部108、取得部110、及び制御部112を備える。なお、吐出ヘッド102、吐出ヘッド駆動部104、造形台106、及び造形台駆動部108は造形部の一例である。
【0049】
吐出ヘッド102は、三次元形状40を造形するための造形材料を吐出する造形材吐出ヘッドと、サポート材を吐出するサポート材吐出ヘッドと、を含む。サポート材は、三次元形状のオーバーハング部分(「張り出し部分」ともいう)を、造形が完了するまで支持する用途で用いられ、造形完了後に除去される。
【0050】
吐出ヘッド102は、吐出ヘッド駆動部104によって駆動され、XY平面上を二次元に走査される。また、造形材吐出ヘッドは、複数種類の属性(例えば色)の造形材料に対応して複数の吐出ヘッドを備える場合がある。
【0051】
造形台106は、造形台駆動部108によって駆動され、Z軸方向に昇降される。
【0052】
取得部110は、三次元形状データの生成装置10が生成した三次元形状データ及びサポート材データを取得する。
【0053】
制御部112は、取得部110が取得した三次元形状データに従って造形材料が吐出されると共に、サポート材データに従ってサポート材が吐出されるように、吐出ヘッド駆動部104を駆動して吐出ヘッド102を二次元に走査させると共に、吐出ヘッド102による造形材料及びサポート材の吐出を制御する。
【0054】
また、制御部112は、各層の造形が終了する毎に、造形台駆動部108を駆動して造形台106を予め定めた積層間隔分降下させる。これにより、三次元形状データに基づく三次元形状が造形される。
【0055】
次に、
図6を参照して、本実施の形態に係る生成装置10の作用を説明する。CPU12Aにより三次元形状データの生成プログラムを実行させることで、
図6に示す生成処理が実行される。なお、
図6に示す生成処理は、例えば、ユーザーの操作により生成プログラムの実行が指示された場合に実行される。また、本実施形態では、サポート材データの生成処理については説明を省略する。
【0056】
ステップS100では、CPU12Aが、造形対象の三次元形状に対応するボクセルデータを受け付ける。例えばユーザーの操作によりボクセルデータを受け付ける受付画面を表示部16に表示させ、ユーザーが指定したボクセルデータを受け付ける。
【0057】
ステップS102では、CPU12Aが、ステップS100で受け付けたボクセルデータを例えば記憶部20から読み出すことにより取得する。なお、通信部18を介して外部装置からボクセルデータを通信により取得してもよい。また、ステップS100でメッシュデータを受け付け、ステップS102でメッシュデータをボクセルデータに変換することによりボクセルデータを取得してもよい。
【0058】
ステップS104では、CPU12Aが、ステップS102で取得したボクセルデータから三次元形状の表示データを生成し、表示部16に表示させる。このとき、
図7に示すように、三次元形状60を構成する各ボクセル62に設定された属性の属性値の大きさが視覚的に認識される態様で表示する。
図7の例では、ボクセルの色が濃いほど属性値が大きく、色が薄いほど属性値が小さいことを表している。例えば属性が強度の場合、ボクセルの色が濃いほど強度が高く、色が薄いほど強度が小さいことを表している。これにより、各ボクセルに設定されている属性の属性値が把握しやすくなる。
【0059】
ステップS106では、CPU12Aが、ユーザーの操作によって三次元形状60を分割するよう指示されたか否かを判定する。そして、分割を指示された場合はステップS108へ移行し、分割を指示されていない場合にはステップS120へ移行する。
【0060】
ステップS108では、三次元形状60を分割するための閾値をユーザーから受け付けて設定するための閾値設定処理を実行する。具体的には、まず
図8に示すような閾値設定画面64を表示部16に表示させる。
【0061】
図8に示すように、閾値設定画面64は、属性を設定するための属性選択欄66、閾値を設定するための閾値設定欄68、属性値のヒストグラムを表示するヒストグラム表示領域70、三次元形状60の分割の実行を指示するための実行ボタン72、及び分割の実行を取り消すためのキャンセルボタン74を含んで構成される。
【0062】
属性選択欄66は、例えばプルダウンメニュー等により表示された属性の一覧からユーザーが選択した属性が表示される。
図8の例では、属性として強度が設定された場合を表している。以下では、属性として強度が設定された場合について説明する。
【0063】
閾値設定欄68は、閾値の下限値を入力する下限値入力欄68A、閾値の上限値を入力するための上限値入力欄68B、三次元形状を分割した部分形状を識別するための識別名称を入力するための識別名称入力欄68Cを含む。そして、下限値入力欄68A、上限値入力欄68B、及び識別名称入力欄68Cは、それぞれ複数設けられている。すなわち、閾値設定画面64では、複数の閾値を受け付け、三次元形状60を3つ以上に分割する設定も可能である。
【0064】
図8の例では、選択された強度が8ビットで表現可能な「0」~「255」の範囲の数値をとり得る場合を表している。そして、閾値の下限値「0」以上で且つ閾値の上限値「100」未満の強度を有するボクセルの集合で表される部分形状について識別名称「AAA」を設定している。また、閾値の下限値「100」以上で且つ閾値の上限値「200」未満の強度を有するボクセルの集合で表される部分形状について識別名称「BBB」を設定している。また、閾値の下限値「200」以上で且つ閾値の上限値「255」以下の強度を有するボクセルの集合で表される部分形状について識別名称「CCC」を設定している。すなわち、この例では、2つの閾値「100」、「200」を受け付け、三次元形状60を3つの部分形状AAA、BBB、CCCに分割する設定となっている。
【0065】
ヒストグラム表示領域70には、設定された属性の属性値、すなわち強度値のヒストグラム70Aが表示される。ヒストグラム70Aは、横軸が強度値、縦軸がボクセル数である。このとき、ヒストグラム70A上で閾値「100」、「200」が表示される。なお、下限値入力欄68A及び上限値入力欄68Bに閾値を直接入力するのではなく、ヒストグラム70Aの横軸上でユーザーが指定した位置を閾値として設定してもよい。例えばヒストグラム70Aの横軸上で属性値「100」、「200」をユーザーが指定した場合、その値が下限値入力欄68A及び上限値入力欄68Bに自動で入力されるようにしてもよい。また、例えば閾値「100」、「200」の位置を示すバー76A、76Bを横軸に沿って左右に移動させる操作をユーザーが行った場合は、その操作に連動して閾値が自動で下限値入力欄68A及び上限値入力欄68Bに入力されるようにしてもよい。
【0066】
なお、
図8に示す閾値設定画面64では、受け付ける属性が1つだけであるが、複数の属性を受け付けるようにしてもよい。この場合、属性毎に閾値の設定及びヒストグラムの表示を行うようにしてもよい。
【0067】
ステップS110では、CPU12Aが、実行ボタン72が選択されたか否かを判定する。そして、実行ボタン72が選択された場合はステップS112へ移行し、実行ボタン72が選択されていない場合はステップS116へ移行する。
【0068】
ステップS112では、各ボクセルの属性の属性値とステップS108で設定された閾値との比較結果に応じて三次元形状60を複数の部分形状に分割することにより、複数のボクセルデータを生成する。例えば
図8に示すように、閾値「100」、「200」が設定されていた場合、強度値が「0」以上で且つ「100」未満のボクセルの集合で表される部分形状について識別名称「AAA」を付与したボクセルデータを生成する。また、強度値が「100」以上で且つ上限値「200」未満のボクセルの集合で表される部分形状について識別名称「BBB」を付与したボクセルデータを生成する。また、強度値が「200」以上で且つ「255」以下のボクセルの集合で表される部分形状について識別名称「CCC」を付与したボクセルデータを生成する。なお、生成したボクセルデータは、記憶部20に記憶する。
【0069】
また、
図9には、一例として強度値がとり得る範囲の「0」~「255」の中央値「127」に設定した場合に、強度値が閾値以上のボクセルの集合である部分形状60Aと、強度値が閾値未満のボクセルの集合である部分形状60Bと、を色分けして表した。また、
図10には部分形状60Aのみを表し、
図11には部分形状60Bのみを表した。
【0070】
ステップS113では、CPU12Aが、分割後の複数のボクセルデータをメッシュデータに変換するか否かをユーザーが指示するための画面を表示部16に表示させ、ユーザーの操作によって分割後の複数のボクセルデータをメッシュデータに変換するよう指示されたか否かを判定する。そして、変換を指示された場合はステップS114へ移行し、変換を指示されていない場合にはステップS120へ移行する。
【0071】
ステップS114では、CPU12Aが、ステップS112で生成した各部分形状のボクセルデータを、マーチングキューブ法を用いてメッシュデータに変換する。このとき、分割前はエッジではなく分割後にエッジとなるボクセルについては、マーチングキューブ法により設定される第1の面に代えて、分割前の形状を表す第2の面を設定することにより、メッシュデータに変換する。ここで、エッジとは、メッシュデータで表される三次元形状を構成する面(メッシュ)の各辺において、対象となる辺を共有する2つの面の成す角(0~360°)が、予め定めた範囲(例えば0~90°および270~360°)外となる辺をいう。
【0072】
一般に、例えば
図12に示すような直方体の三次元形状80を複数のボクセル82で表したボクセルデータを、マーチングキューブ法を用いてメッシュデータに変換すると、直方体のエッジ部のボクセル82には、マーチングキューブ法により予め定められた面84が設定されるため、角部が取れて横から見た場合に斜めの形状となってしまう。すなわちエッジ部が鈍ってしまう。ちなみに、
図12に示す三次元形状80を、
図13に示すように、内側の直方体の部分形状80Aと、部分形状80Aを包含する外側の部分形状80Bと、に分割したとする。この場合、部分形状80Aと部分形状80Bとの境界部分は元々三次元形状80の内部であるため、部分形状80Aをメッシュデータに変換した場合に角部82Aにエッジ部の鈍りが生じたとしても、部分形状80Bの内面についてもエッジ部の鈍りが発生するため、部分形状80Aと部分形状80Bとの境界部分に隙間が発生することはなく、特に問題はない。
【0073】
このように、マーチングキューブ法を用いると、分割前はエッジではなく分割後にエッジとなるボクセルについては、エッジ部の鈍りが生じるため、マーチングキューブ法により設定される第1の面ではなく、分割前の形状を表す第2の面を設定する。
【0074】
図14には、
図9に示す三次元形状60を部分形状60A、60Bに分割し、メッシュデータに変換した後の底面の一部分を拡大した図を示した。
図14に示すように、メッシュデータに変換後の部分形状60Aと部分形状60Bとの境界部分に溝61が発生している。
図15には、
図14の溝61を三次元形状60の側方から見た図を示した。
【0075】
図15に示すように、部分形状60Aのボクセル62Aは、分割前はエッジではなく、分割後にエッジとなるボクセルである。また、部分形状60Bのボクセル62Bも同様に、分割前はエッジではなく、分割後にエッジとなるボクセルである。すなわち、ボクセル62A、62Bは、分割前後で形状が変化する部分のボクセルである。
【0076】
従って、部分形状60A、60Bのボクセルデータをメッシュデータに変換する場合に、ボクセル62A、62Bに対してマーチングキューブ法により予め定めた第1の面63A、63Bが設定されると、エッジ部の鈍りが発生し、元の形状から変化してしまうこととなる。そこで、
図16に示すように、ボクセル62A、62Bについては、分割前の形状を表す第2の面67A、67Bをボクセル62A、62Bにそれぞれ設定する。これにより、分割後の部分形状60A、60Bのボクセルデータをメッシュデータに変換した場合にエッジ部の鈍りが発生することが抑制され、部分形状60Aと部分形状60Bとの間で隙間が発生するのが抑制される。
【0077】
一方、分割前は三次元形状60の内部であったボクセルについては、マーチングキューブ法により設定される第1の面を設定することにより、メッシュデータに変換する。換言すれば、分割前は三次元形状60の内部であったボクセルについては、分割前の形状を表す第2の面を設定しない。例えば
図15のボクセル65A、65Bは、分割前は三次元形状60の内部であったボクセルであるため、第2の面は設定せず、マーチングキューブ法により設定される第1の面を設定する。
【0078】
ステップS116では、CPU12Aが、キャンセルボタン74が選択されたか否かを判定する。そして、キャンセルボタン74が選択された場合はステップS118へ移行し、キャンセルボタン74が選択されていない場合はステップS120へ移行する。
【0079】
ステップS118では、CPU12Aが、閾値設定画面64に入力された情報をリセットする。
【0080】
ステップS120では、CPU12Aが、本ルーチンを終了するか否かを判定する。例えば画面を閉じる操作がされたか否かを判定することにより本ルーチンを終了するか否かを判定する。そして、本ルーチンを終了すると判定された場合は本ルーチンを終了し、本ルーチンを終了すると判定されていない場合はステップS106へ移行して上記の処理を繰り返す。
【0081】
このように、本実施形態では、属性に応じて三次元形状を複数の部分形状に分割することにより、複数の三次元形状データを生成する。また、部分形状の三次元形状データをマーチングキューブ法を用いてメッシュデータに変換する際に、分割前はエッジではなく分割後にエッジとなるボクセルについては、マーチングキューブ法により設定される第1の面に代えて、分割前の形状を表す第2の面を設定することにより、メッシュデータに変換する。このため、分割前後で形状が変化するのが抑制される。
【0082】
次に、三次元形状データの生成装置10により生成された三次元形状データに基づいて三次元形状を造形する場合について説明する。
【0083】
三次元造形装置100の取得部110は、三次元形状データの生成装置10から送信されたボクセルデータ又はメッシュデータを取得する。また、制御部112は、取得部110が取得したボクセルデータ又はメッシュデータに従って造形材料が吐出されるように、吐出ヘッド駆動部104を駆動して吐出ヘッド102を二次元に走査させると共に、吐出ヘッド102による造形材料の吐出を制御する。これにより、三次元形状が造形される。
【0084】
以上、各実施形態を用いて本発明について説明したが、本発明は各実施形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で各実施形態に多様な変更または改良を加えることができ、当該変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【0085】
例えば、本実施形態では、三次元形状データを生成する生成装置10と三次元形状データに基づいて三次元形状を造形する三次元造形装置100とが別個の構成の場合について説明したが、三次元造形装置100が生成装置10の機能を備えた構成としてもよい。
【0086】
すなわち、三次元造形装置100の取得部110がボクセルデータを取得し、制御部112が
図6の生成処理を実行して三次元形状データを生成してもよい。
【0087】
なお、本実施形態において、プロセッサとは、広義的なプロセッサを指し、例えば CPU( Central Processing Unit)等の汎用的なプロセッサや、例えば GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、及びプログラマブル論理デバイス等の専用のプロセッサを含むものである。
【0088】
また、上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0089】
また、本実施形態では、三次元形状データの生成プログラムが記憶部20にインストールされている形態を説明したが、これに限定されるものではない。本実施形態に係る三次元形状データの生成プログラムを、コンピュータ読取可能な記憶媒体に記録した形態で提供してもよい。例えば、本発明に係る三次元形状データの生成プログラムを、CD(Compact Disc)-ROM及びDVD(Digital Versatile Disc)-ROM等の光ディスクに記録した形態、若しくはUSB(Universal Serial Bus)メモリ及びメモリカード等の半導体メモリに記録した形態で提供してもよい。また、本実施形態に係る三次元形状データの生成プログラムを、通信部18に接続された通信回線を介して外部装置から取得するようにしてもよい。
【符号の説明】
【0090】
1 三次元造形システム
10 三次元形状データの生成装置
12 コントローラ
50 取得部
52 生成部
54 変換部
56 受付部
58 制御部
60 三次元形状
60A、60B 部分形状
100 三次元造形装置