JP6369117B2 - 立体物造形用データ出力規制装置 - Google Patents
立体物造形用データ出力規制装置 Download PDFInfo
- Publication number
- JP6369117B2 JP6369117B2 JP2014094084A JP2014094084A JP6369117B2 JP 6369117 B2 JP6369117 B2 JP 6369117B2 JP 2014094084 A JP2014094084 A JP 2014094084A JP 2014094084 A JP2014094084 A JP 2014094084A JP 6369117 B2 JP6369117 B2 JP 6369117B2
- Authority
- JP
- Japan
- Prior art keywords
- model
- polygon
- target model
- partial target
- axis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Description
を更に備えることを特徴とする。
<1.装置構成>
図1は、本発明の一実施形態に係る立体物造形用データ出力規制装置100を含む立体物造形システムのハードウェア構成図である。本実施形態に係る立体物造形用データ出力規制装置100は、汎用のコンピュータで実現することができ、図1に示すように、CPU(Central Processing Unit)1と、コンピュータのメインメモリであるRAM(Random Access Memory)2と、CPU1が実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置3と、キーボード、マウス等のキー入力I/F(インターフェース)4と、3Dプリンタやデータ記憶媒体等の外部装置とデータ通信するためのデータ入出力I/F(インターフェース)5と、液晶ディスプレイ等の表示デバイスである表示部6と、を備え、互いにバスを介して接続されている。3Dプリンタ7は、汎用の3Dプリンタであり、立体物を表現したポリゴンモデルである立体物造形用データを基に樹脂、石膏等の素材を加工して立体物を造形する立体物造形装置である。3Dプリンタ7は、データ処理部7aと出力部7bを有している。3Dプリンタ7のデータ処理部7aは、データ入出力I/F5に接続されており、データ入出力I/F5から受け取った立体物造形用データを基に、出力部7bが立体物を造形するようになっている。図1では、立体物造形用データ出力規制装置100と3Dプリンタ7は分離した形態で示されているが、現在市販されている殆どの3Dプリンタ製品には立体物造形用データ出力規制装置100の構成要素である、CPU1、RAM2、記憶装置3、キー入力I/F4(汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン)、データ入出力I/F5、表示部6(数行の文字を表示可能な小型液晶パネル、タッチパネルを重畳させキー入力I/F4を兼ねることも多い)も小規模ながら重複して備えている。従って、3Dプリンタ7自体が外部記憶媒体経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている(特に民生用の3Dプリンタではこちらの実施形態の方が多い)。すなわち、図1に示した立体物造形システムを1つの筐体に収めて、“3Dプリンタ”という製品として流通することも多い。
<2.1.前処理>
次に、図1、図2に示した立体物造形用データ出力規制装置の処理動作について説明する。まず、規制モデルデータベース50に登録する対象となるポリゴンモデルである規制モデルを作製する。これは、規制対象となるポリゴンモデルである規制モデルについて、ポリゴンの削減、ポリゴンの正規化をすることにより行われる。この結果、規制モデルを構成するポリゴンの数が、所定数以下となり、正規化されて規制モデルデータベース50に登録される。規制モデルのポリゴンの削減、ポリゴンの正規化については、後述する立体物造形用データ出力規制装置における処理と同様に行うことができる。規制モデルのポリゴンの削減、ポリゴンの正規化は、立体物造形用データ出力規制装置で行ってもよいし、別のコンピュータで同様のプログラムを実行することにより行ってもよい。
次に、図1、図2に示した立体物造形用データ出力規制装置の処理動作について説明する。図3は、本発明の一実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。まず、ポリゴン削減手段10が、対象モデル記憶手段40から、適否判定対象のポリゴンモデルである対象モデルを読み込み、対象モデルを構成するポリゴンを削減する(ステップS100)。次に、ポリゴンが削減された対象モデルを複数の部分対象モデルに分割する(ステップS200)。続いて、分割された各部分対象モデルの正規化を行う(ステップS300)。そして、正規化された複数の部分対象モデルそれぞれと、規制モデルデータベース50に登録されたポリゴンモデルである規制モデルとの照合を行う(ステップS400)。
次に、ステップS100におけるポリゴン削減手段10によるポリゴン削減処理について説明する。図4は、ポリゴン削除の基本原理を示す図である。サーフェースデータは、現実には、空間における三次元の値をもつポリゴン群であるが、図4の例では、説明の便宜上、二次元の値をもつポリゴン群を示している。図4(a)の例では、削除前、18個のポリゴンからなるポリゴン群を示している。
次に、ステップS200の対象モデル分割処理について説明する。図6は、対象モデル分割手段15による対象モデル分割処理の詳細を示すフローチャートである。対象モデル分割手段10は、まず、初期設定を行う(ステップS21)。具体的には、読み込んだ対象モデルのポリゴン集合を構成するポリゴン数P、ポリゴンを特定する変数p(p=0,・・・,P−1)、探索ステータスS(p)、グループ属性G(p)、グループを特定する変数g、探索ステータス示す変数sを設定する。探索ステータスS(p)は、0以上の整数値をとる。S(p)=0はポリゴンpがグループに未分類の状態、S(p)>0はS(p)回目に実行されるステップS22においてポリゴンpがグループ属性G(p)に分類された状態を示す。さらに、ステップS21においては、p=0,・・・,P−1の全てのpについてS(p)=G(p)=0、g=1、s=1と初期設定する。
次に、ステップS300のポリゴン正規化処理について説明する。ポリゴン正規化処理には、基準点と基準点から最も遠いポリゴンまでの最長距離を基準長とする第1の正規化手法、基準点とポリゴンまでの平均距離を基準長とする第2の正規化手法の2通りの手法がある。本ポリゴン正規化処理はステップS200において分割された複数の部分対象モデルより、1つずつ実行するとともに、規制モデルデータベース50にあらかじめ登録されている規制モデルに対しても事前にまたは照合時に実行される。その際、規制モデルに対して2種類の正規化手法のうち第1の正規化手法を適用して正規化処理を実行した場合は、部分対象モデルに対しても第1の正規化手法を適用する必要があり、規制モデルに対して第2の正規化手法を適用して正規化処理を実行した場合は、部分対象モデルに対しても第2の正規化手法を適用する必要がある。
まず、第1の正規化手法について説明する。図7は、第1の正規化手法によるポリゴン正規化処理の詳細を示すフローチャートである。ここでは、ステップS200において分割された部分対象モデルのポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点を(Xp(i),Yp(i),Zp(i))と定義されたものとする。pは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、p=0,1,2の3つの値をとる。
Xc(i)={X0(i)+X1(i)+X2(i)}/3
Yc(i)={Y0(i)+Y1(i)+Y2(i)}/3
Zc(i)={Z0(i)+Z1(i)+Z2(i)}/3
Xg={Σi=0,N-1Xc(i)}/N
Yg={Σi=0,N-1Yc(i)}/N
Zg={Σi=0,N-1Zc(i)}/N
Lmax
=Maxi=0,N-1{(Xc(i)−Xg)2+(Yc(i)−Yg)2+(Zc(i)−Zg)2}1/2
={(Xc(im)−Xg)2+(Yc(im)−Yg)2+(Zc(im)−Zg)2}1/2
Xp'(i)={Xp(i)−Xg}×100/Lmax
Yp'(i)={Yp(i)−Yg}×100/Lmax
Zp'(i)={Zp(i)−Zg}×100/Lmax
Xc'(i)={X0'(i)+X1'(i)+X2'(i)}/3
Yc'(i)={Y0'(i)+Y1'(i)+Y2'(i)}/3
Zc'(i)={Z0'(i)+Z1'(i)+Z2'(i)}/3
Ang=−tan-1(Xc'(im)/Zc'(im))
Zc''(im)=cos(Ang)×Zc'(im)−sin(Ang)×Xc'(im)
i=0,・・・,N−1、p=0,1,2において、
1)Zc''(im)≧0の場合
Zp''(i)=cos(Ang)×Zp'(i)−sin(Ang)×Xp'(i)
Xp''(i)=sin(Ang)×Zp'(i)+cos(Ang)×Xp'(i)
Zc''(im)=cos(Ang)×Zc'(im)−sin(Ang)×Xc'(im)
Xc''(im)=sin(Ang)×Zc'(im)+cos(Ang)×Xc'(im)
2)Zc''(im)<0の場合
Zp''(i)=−cos(Ang)×Zp'(i)+sin(Ang)×Xp'(i)
Xp''(i)=−sin(Ang)×Zp'(i)−cos(Ang)×Xp'(i)
Zc''(im)=−cos(Ang)×Zc'(im)+sin(Ang)×Xc'(im)
Xc''(im)=−sin(Ang)×Zc'(im)−cos(Ang)×Xc'(im)
Zc''(im)の値に関わらず、平均点を更新する。
Xc''(i)={X0''(i)+X1''(i)+X2''(i)}/3
Zc''(i)={Z0''(i)+Z1''(i)+Z2''(i)}/3
Ang=−tan-1(Yc'(im)/Zc''(im))
Zc'''(im)=cos(Ang)×Zc''(im)−sin(Ang)×Yc'(im)
i=0,・・・,N−1、p=0,1,2において、
1)Zc'''(im)≧0の場合
Zp'''(i)=cos(Ang)×Zp''(i)−sin(Ang)×Yp'(i)
Yp''(i)=sin(Ang)×Zp''(i)+cos(Ang)×Yp'(i)
2)Zc'''(im)<0の場合
Zp'''(i)=−cos(Ang)×Zp''(i)+sin(Ang)×Yp'(i)
Yp''(i)=−sin(Ang)×Zp''(i)−cos(Ang)×Yp'(i)
Zc''(im)の値に関わらず、平均点を更新する。
Yc''(i)={Y0''(i)+Y1''(i)+Y2''(i)}/3
Zc'''(i)={Z0'''(i)+Z1'''(i)+Z2'''(i)}/3
Lmax2=Maxi=0,N-1{(Xc''(i))2+(Yc(i)'')2}1/2
={(Xc''(im2))2+(Yc(im2)'')2}1/2
Ang=−tan-1(Xc''(im2)/Yc''(im2))
Yc'''(im2)=cos(Ang)×Yc''(im2)−sin(Ang)×Xc''(im2)
i=0,・・・,N−1、p=0,1,2において、
1)Yc'''(im2)≧0の場合
Yp'''(i)=cos(Ang)×Yp''(i)−sin(Ang)×Xp''(i)
Xp'''(i)=sin(Ang)×Yp''(i)+cos(Ang)×Xp''(i)
2)Yc'''(im2)<0の場合
Yp'''(i)=−cos(Ang)×Yp''(i)+sin(Ang)×Xp''(i)
Xp'''(i)=−sin(Ang)×Yp''(i)−cos(Ang)×Xp''(i)
Yc'''(im2)の値に関わらず、平均点を更新する。
Xc'''(i)={X0'''(i)+X1'''(i)+X2'''(i)}/3
Yc'''(i)={Y0'''(i)+Y1'''(i)+Y2'''(i)}/3
次に、第2の正規化手法について説明する。図9は、第2の正規化手法によるポリゴン正規化処理の詳細を示すフローチャートである。第1の正規化手法と同様、ステップS200において分割された部分対象モデルのポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点を(Xp(i),Yp(i),Zp(i))と定義されたものとする。pは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、p=0,1,2の3つの値をとる。
Xc(i)={X0(i)+X1(i)+X2(i)}/3
Yc(i)={Y0(i)+Y1(i)+Y2(i)}/3
Zc(i)={Z0(i)+Z1(i)+Z2(i)}/3
Xg={Σi=0,N-1Xc(i)}/N
Yg={Σi=0,N-1Yc(i)}/N
Zg={Σi=0,N-1Zc(i)}/N
Lav
=[Σi=0,N-1{(Xc(i)−Xg)2+(Yc(i)−Yg)2+(Zc(i)−Zg)2}1/2]/N
Xp'(i)={Xp(i)−Xg}×100/Lav
Yp'(i)={Yp(i)−Yg}×100/Lav
Zp'(i)={Zp(i)−Zg}×100/Lav
Xc'(i)={X0'(i)+X1'(i)+X2'(i)}/3
Yc'(i)={Y0'(i)+Y1'(i)+Y2'(i)}/3
Zc'(i)={Z0'(i)+Z1'(i)+Z2'(i)}/3
MA-0={Σi=0,N-1|Xc'(i)<0Xc'(i)2}/[Σi=0,N-1|Xc'(i)<0{Yc'(i)2+Zc'(i)2}]
MA+0={Σi=0,N-1|Xc'(i)≧0Xc'(i)2}/[Σi=0,N-1|Xc'(i)≧0{Yc'(i)2+Zc'(i)2}]
MA-1={Σi=0,N-1|Yc'(i)<0Yc'(i)2}/[Σi=0,N-1|Yc'(i)<0{Xc'(i)2+Zc'(i)2}]
MA+1={Σi=0,N-1|Yc'(i)≧0Yc'(i)2}/[Σi=0,N-1|Yc'(i)≧0{Xc'(i)2+Zc'(i)2}]
MA-2={Σi=0,N-1|Zc'(i)<0Zc'(i)2}/[Σi=0,N-1|Zc'(i)<0{Xc'(i)2+Yc'(i)2}]
MA+2={Σi=0,N-1|Zc'(i)≧0Zc'(i)2}/[Σi=0,N-1|Zc'(i)≧0{Xc'(i)2+Yc'(i)2}]
MA-0が最大の場合(X軸負方向を選定):i=0,…,N−1、 p=0, 1,2において、
Xp''(i)=Zp'(i),Yp''(i)=Yp'(i),Zp''(i)=−Xp'(i)
MA+0が最大の場合(X軸正方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp''(i)=−Zp'(i),Yp''(i)=Yp'(i),Zp''(i)=Xp'(i)
MA-1が最大の場合(Y軸負方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp''(i)=Xp'(i),Yp''(i)=Zp'(i),Zp''(i)=−Yp'(i)
MA+1が最大の場合(Y軸正方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp''(i)=Xp'(i),Yp''(i)=−Zp'(i),Zp''(i)=Yp'(i)
MA-2が最大の場合(Z軸負方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp''(i)=−Xp'(i),Yp''(i)=Yp'(i),Zp''(i)=−Zp'(i)
MA+2が最大の場合(Z軸正方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp''(i)=Xp'(i),Yp''(i)=Yp'(i),Zp''(i)=Zp'(i)
以上の結果、各ポリゴンの平均点(Xc''(i),Yc''(i),Zc''(i))を更新する
Xc''(i)={X0''(i)+X1''(i)+X2''(i)}/3
Yc''(i)={Y0''(i)+Y1''(i)+Y2''(i)}/3
Zc''(i)={Z0''(i)+Z1''(i)+Z2''(i)}/3
MB-0={Σi=0,N-1|Xc''(i)<0Xc''(i)2}/[Σi=0,N-1|Xc''(i)<0Yc''(i)2]
MB+0={Σi=0,N-1|Xc''(i)≧0Xc''(i)2}/[Σi=0,N-1|Xc''(i)≧0Yc''(i)2]
MB-1={Σi=0,N-1|Yc''(i)<0Yc''(i)2}/[Σi=0,N-1|Yc''(i)<0Xc''(i)2]
MB+1={Σi=0,N-1|Yc''(i)≧0Yc''(i)2}/[Σi=0,N-1|Yc''(i)≧0Xc''(i)2]
MB-0が最大の場合(X軸負方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp'''(i)=Yp''(i),Yp'''(i)=−Xp''(i),Zp'''(i)=Zp''(i)
MB+0が最大の場合(X軸正方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp'''(i)=−Yp''(i),Yp'''(i)=Xp''(i),Zp'''(i)=Zp''(i)
MB-1が最大の場合(Y軸負方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp'''(i)=−Xp''(i),Yp'''(i)=−Yp''(i),Zp'''(i)=Zp''(i)
MB+1が最大の場合(Y軸正方向を選定):i=0,…,N−1、p=0, 1,2において、
Xp'''(i)=Xp''(i),Yp'''(i)=Yp''(i),Zp'''(i)=Zp''(i)
以上の結果、各ポリゴンの平均点 (Xc'''(i),Yc'''(i),Zc'''(i))を更新する
Xc'''(i)={X0'''(i)+X1'''(i)+X2'''(i)}/3
Yc'''(i)={Y0'''(i)+Y1'''(i)+Y2'''(i)}/3
Zc'''(i)={Z0'''(i)+Z1'''(i)+Z2'''(i)}/3
次に、ステップS400のポリゴン照合処理について説明する。図11は、ポリゴン照合処理の概要を示すフローチャートである。ポリゴン照合処理においては、ステップS300において正規化された複数の部分対象モデルより順次1つずつ抽出し、各々の部分対象モデルに対してポリゴンモデル照合手段30に基づき照合を行う。ポリゴンモデル照合手段30は、規制モデルデータベース50に登録された規制モデルを1つずつ抽出し(ステップS401)、抽出された単一の部分対象モデルと照合を行う。本実施形態では、ポリゴンモデル照合手段30は、図11に示すように、総面積に基づく照合処理(ステップS410)、体積に基づく照合処理(ステップS420)、座標値に基づく照合処理(ステップS430)の3つの照合処理を順に行う。先に行った照合処理の結果、適合(すなわち類似)と判定された場合にのみ、次の照合処理に進む。不適合(すなわち非類似)と判定された場合には、ステップS401に戻って次の規制モデルとの照合を行う。そして、全ての規制モデルとの照合を行い、いずれも不適合と判定された場合、次の部分対象モデルを抽出し、ステップS401、ステップS410、ステップS420、ステップS430の処理を繰り返し、適合と判定されるものが見つからない限り、全ての部分対象モデルと全ての規制モデルとの照合を継続する。照合処理の途中で、適合と判定されるものが1つでも見つかれば、即座に照合処理を中断し、出力不適との判定がなされ、全ての部分対象モデルと全ての規制モデルとの照合の結果、適合と判定されるものが全く見つからなければ、出力適正との判定がなされる。
まず、図11に示した3つの照合処理のうち、ステップS410の総面積に基づくポリゴン照合処理について説明する。図12は、総面積に基づくポリゴン照合処理の詳細を示すフローチャートである。ステップS300において、正規化された部分対象モデルは、(Xp'''(i),Yp'''(i),Zp'''(i))で示したが、数式が繁雑になることを避けるため、ステップS400においては、改めて、正規化された部分対象モデルを、ポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点を(Xp(i),Yp(i),Zp(i))と定義されたものとする。pは、p=0,1,2の3つの値をとる頂点番号とする。
Vx(i)=[Y1(i)−Y0(i)][Z2(i)−Z0(i)]-[Z1(i)−Z0(i)][ Y2(i)−Y0(i)]
Vy(i)=[Z1(i)−Z0(i)][X2(i)−X0(i)]-[X1(i)−X0(i)][ Z2(i)−Z0(i)]
Vz(i)=[X1(i)−X0(i)][Y2(i)−Y0(i)]-[Y1(i)−Y0(i)][X2(i)−X0(i)]
S(i)=0.5×[Vx(i)2+Vy(i)2+Vz(i)2]1/2
SN=Σi=0,N-1S(i)
dS=|SM−SN|/(SM+SN)
次に、ステップS420の体積に基づくポリゴン照合処理について説明する。図13は、体積に基づくポリゴン照合処理の詳細を示すフローチャートである。ステップS400においては、上述のように、正規化された対象モデルを、ポリゴン数N、ポリゴンを特定する変数i(i=0,・・・,N−1)とし、各ポリゴンiの頂点を(Xp(i),Yp(i),Zp(i))と定義しており、さらに、各ポリゴンiの平均点を、(Xc(i),Yc(i),Zc(i))と定義する。
Vs(i)=[Vx(i)2+Vy(i)2+Vz(i)2]1/2
Nx(i)=Vx(i)/Vs(i)
Ny(i)=Vy(i)/Vs(i)
Nz(i)=Vz(i)/Vs(i)
V(i)=S(i)|Xc(i)×Nx(i)+Yc(i)×Ny(i)+Zc(i)×Nz(i)|/3
VN=Σi=0,N-1V(i)
dV=|VM−VN|/(VM+VN)
次に、ステップS430の座標値に基づくポリゴン照合処理について説明する。図14は、座標値に基づくポリゴン照合処理の詳細を示すフローチャートである。ここでは、対象モデルの各ポリゴンiの平均点を、(Xcn(i),Ycn(i),Zcn(i))(i:ポリゴン番号=0,・・・、N−1)と定義し、規制モデルの各ポリゴンjの平均点を、(Xcm(j),Ycm(j),Zcm(j))(j:ポリゴン番号=0,・・・、M−1)と定義する。
d=[(Xcm(j)−Xcn(i))2+(Ycm(j)−Ycn(i)) 2 +(Zcm(j)−Zcn(i))2]1/2
ポリゴンモデル照合手段30により出力適正と判定された場合には、立体物造形装置である3Dプリンタ7へ対象ポリゴンモデルを出力する。一方、ポリゴンモデル照合手段30により出力不適と判定された場合には、立体物造形装置である3Dプリンタへ対象モデルを出力しない。また、出力適正か否かの判定に時間がかかる場合には、3Dプリンタ7に対象モデルを出力し、3Dプリンタ7の出力処理(立体物造形処理)と並行して出力適正か否かの判定を行い、出力不適である場合に出力中止命令を3Dプリンタ7に出力するようにしてもよい。この際、オペレータから見れば、対象モデルの出力という一つの命令を行うことにより、3Dプリンタにおける立体物造形処理が開始されることが確認できるだけで、並行して出力適正か否かの判定のための処理の実行が開始されることは気付かれない。
上記実施形態では、規制モデルデータベース50に既に正規化がなされ複数の部分規制モデルに分割不能な単一の規制モデルが登録された場合について説明したが、規制モデルデータベース50に正規化されていない規制モデルを登録しておき、この規制モデルに対して、上記実施形態において対象モデルに対して行ったようにポリゴンの削減、正規化を行い、正規化後の規制モデルと、上記正規化後の対象モデルを用いて照合を行うようにしてもよい。この場合、規制モデルデータベース50に登録されている正規化されていない各規制モデルは、ポリゴン削減手段10によりポリゴンが削減され、ポリゴン正規化手段20により正規化された後、ポリゴンモデル照合手段30により、正規化後の対象モデルとの照合が行われる。あるいは、複数の部分規制モデルに分割可能な規制モデルを登録しようとする場合、対象モデル分割手段15を適用し、複数の部分規制モデルに分割を行い、各々を単一の規制モデルとみなして、ポリゴン正規化手段20を適用し、規制モデルデータベース50に登録するようにしてもよい。
図16〜図21に、本実施形態に係る立体物造形用データ出力規制装置による照合の事例を示す。図16〜図21のいずれにおいても、左側に規制モデル、右側に対象モデルを示している。いずれも規制モデルは、単一の物品を表現したものであり、対象モデルは複数の物品により構成された複合モデルとなっている。図16〜図18は、対象モデルが規制モデルと同一形状を一部として含む照合例1を示しており、図19〜図21は、対象モデルが、規制モデルを若干変形した形状を一部として含む照合例2を示している。
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、処理対象のポリゴンを三角形としたが、四角形以上の多角形であってもよい。
2、2a・・・RAM(Random Access Memory)
3、3a・・・記憶装置
4、4a・・・キー入力I/F
5、5a・・・データ入出力I/F
6、6a・・・表示部
7・・・3Dプリンタ(立体物造形装置)
7a・・・データ処理部
7b・・・出力部
8、8a・・・ネットワーク通信部
10・・・ポリゴン削減手段
15・・・対象モデル分割手段
20・・・ポリゴン正規化手段
30・・・ポリゴンモデル照合手段
40・・・対象モデル記憶手段
50・・・規制モデルデータベース
100、101・・・立体物造形用データ出力規制装置
102・・・規制モデル正規化装置
Claims (18)
- ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、
出力対象のポリゴンモデルである対象モデルを複数の部分対象モデルに分割する対象モデル分割手段と、
前記分割された部分対象モデルに対して、当該部分対象モデルの基準点が三次元座標の原点になるように前記部分対象モデルを移動させ、前記基準点から所定の基準に従って算出される距離が所定の長さになるように前記部分対象モデルをスケーリング調整し、ポリゴンの配置関係により定まる方向が所定の方向に一致するように前記部分対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された部分対象モデルを作成するポリゴン正規化手段と、
前記正規化された部分対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するポリゴンモデル照合手段と、を備え、
前記ポリゴンは三角形であり、前記対象モデル分割手段は、あるポリゴンと、当該ポリゴンと辺を共有する3つの隣接ポリゴンが、同一の部分対象モデルに属するように、分割することを特徴とする立体物造形用データ出力規制装置。 - ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、
出力対象のポリゴンモデルである対象モデルを複数の部分対象モデルに分割する対象モデル分割手段と、
前記分割された部分対象モデルに対して、当該部分対象モデルの基準点が三次元座標の原点になるように前記部分対象モデルを移動させ、前記基準点から所定の基準に従って算出される距離が所定の長さになるように前記部分対象モデルをスケーリング調整し、ポリゴンの配置関係により定まる方向が所定の方向に一致するように前記部分対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された部分対象モデルを作成するポリゴン正規化手段と、
前記正規化された部分対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するポリゴンモデル照合手段と、を備え、
前記ポリゴン正規化手段は、前記基準点から所定の基準に従って算出される距離として、前記基準点から前記分割された部分対象モデルに含まれる最も遠いポリゴンまでの最長距離を算出し、前記ポリゴンの配置関係により定まる方向として前記最長距離の方向を用いることを特徴とする立体物造形用データ出力規制装置。 - 前記ポリゴン正規化手段は、前記基準点から前記分割された部分対象モデルに含まれる最も遠いポリゴンまでの最長距離方向を、前記所定の方向として事前に設定された第1の軸の正または負の一方の特定方向に一致させるため、前記第1の軸と第2の軸で形成される2次元座標系に投影された前記基準点から最も遠いポリゴンまでの最長距離方向が前記第1の軸の前記特定方向に一致するように前記部分対象モデルを回転させた後に、前記第1の軸と第3の軸で形成される2次元座標系に投影された前記基準点から最も遠いポリゴンまでの最長距離方向が前記第1の軸の前記特定方向に一致するように前記部分対象モデルを回転させるようにしていることを特徴とする請求項1または請求項2に記載の立体物造形用データ出力規制装置。
- 前記ポリゴン正規化手段は、前記基準点から前記分割された部分対象モデルに含まれる最も遠いポリゴンまでの最長距離方向が前記第1の軸の前記特定方向に一致するように前記部分対象モデルを回転させた後に、前記第2の軸と前記第3の軸で形成される2次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が前記第3の軸の前記特定方向に一致するように前記部分対象モデルを更に回転させるようにしていることを特徴とする請求項3に記載の立体物造形用データ出力規制装置。
- ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、
出力対象のポリゴンモデルである対象モデルを複数の部分対象モデルに分割する対象モデル分割手段と、
前記分割された部分対象モデルに対して、当該部分対象モデルの基準点が三次元座標の原点になるように前記部分対象モデルを移動させ、前記基準点から所定の基準に従って算出される距離が所定の長さになるように前記部分対象モデルをスケーリング調整し、ポリゴンの配置関係により定まる方向が所定の方向に一致するように前記部分対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された部分対象モデルを作成するポリゴン正規化手段と、
前記正規化された部分対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するポリゴンモデル照合手段と、を備え、
前記ポリゴン正規化手段は、前記基準点から所定の基準に従って算出される距離として、前記基準点から前記分割された部分対象モデルに含まれるポリゴンまでの平均距離を算出し、前記ポリゴンの配置関係により定まる方向として、3つの直交軸のいずれかの軸のうちポリゴン分布が最も広範な方向を用いることを特徴とする立体物造形用データ出力規制装置。 - 前記ポリゴン正規化手段は、3つの直交軸のいずれかの軸の正負計6方向のうち前記分割された部分対象モデルに含まれるポリゴン分布が最も広範な方向が、前記所定の方向として事前に設定された第1の軸の正または負の一方の特定方向に一致するように前記部分対象モデルを回転させるようにしていることを特徴とする請求項1または請求項5に記載の立体物造形用データ出力規制装置。
- 前記ポリゴン正規化手段は、3つの直交軸のいずれかの軸の正負計6方向のうち前記分割された部分対象モデルに含まれるポリゴン分布が最も広範な方向が、前記第1の軸の前記特定方向に一致するように前記部分対象モデルを回転させた後に、第2の軸と第3の軸で形成される二次元座標系に投影された基準点から、前記第2の軸および前記第3の軸の正負計4方向のうちポリゴン分布が最も広範な方向が前記第3の軸の正または負の一方の特定方向に一致するように前記部分対象モデルを更に回転させるようにしていることを特徴とする請求項6に記載の立体物造形用データ出力規制装置。
- 前記対象モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減するポリゴン削減手段を更に有し、
ポリゴンが削減された対象モデルに対して、前記対象モデル分割手段が分割処理を行うことを特徴とする請求項1から請求項7のいずれか一項に記載の立体物造形用データ出力規制装置。 - ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、
出力対象のポリゴンモデルである対象モデルを複数の部分対象モデルに分割する対象モデル分割手段と、
前記分割された部分対象モデルに対して、当該部分対象モデルの基準点が三次元座標の原点になるように前記部分対象モデルを移動させ、前記基準点から所定の基準に従って算出される距離が所定の長さになるように前記部分対象モデルをスケーリング調整し、ポリゴンの配置関係により定まる方向が所定の方向に一致するように前記部分対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された部分対象モデルを作成するポリゴン正規化手段と、
前記正規化された部分対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するポリゴンモデル照合手段と、を備え、
前記部分対象モデルの基準点は、前記部分対象モデルに含まれる各ポリゴンの頂点座標の平均であるポリゴン平均座標を、前記部分対象モデルに含まれるポリゴンについて算出した平均値として与えられるものであることを特徴とする立体物造形用データ出力規制装置。 - ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、
出力対象のポリゴンモデルである対象モデルを複数の部分対象モデルに分割する対象モデル分割手段と、
前記分割された部分対象モデルに対して、当該部分対象モデルの基準点が三次元座標の原点になるように前記部分対象モデルを移動させ、前記基準点から所定の基準に従って算出される距離が所定の長さになるように前記部分対象モデルをスケーリング調整し、ポリゴンの配置関係により定まる方向が所定の方向に一致するように前記部分対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された部分対象モデルを作成するポリゴン正規化手段と、
前記正規化された部分対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するポリゴンモデル照合手段と、を備え、
前記ポリゴンモデル照合手段は、角度に依存しない角度非依存照合処理と、角度に依存する角度依存照合処理を行う2種の処理から構成され、前記角度非依存照合処理で適合した場合のみ、前記角度依存照合処理を実行するようにしていることを特徴とする立体物造形用データ出力規制装置。 - 前記ポリゴンモデル照合手段は、前記角度非依存照合処理として、前記部分対象モデルを構成するポリゴンの面積の総和値と、前記規制モデルを構成するポリゴンの面積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項10に記載の立体物造形用データ出力規制装置。
- 前記ポリゴンモデル照合手段は、前記角度非依存照合処理として、前記部分対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項10に記載の立体物造形用データ出力規制装置。
- 前記ポリゴンモデル照合手段は、前記角度非依存照合処理として、前記部分対象モデルを構成するポリゴンの面積の総和値と、前記規制モデルを構成するポリゴンの面積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定し、
適合判定された場合のみ、
前記部分対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値を算出し、2つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項10に記載の立体物造形用データ出力規制装置。 - 前記ポリゴンモデル照合手段は、前記角度依存照合処理として、前記部分対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士でポリゴン平均座標間の距離を算出し、ポリゴン平均座標間の距離の総和値を算出し、前記2つのモデルの総和値の平均値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項10から請求項13のいずれか一項に記載の立体物造形用データ出力規制装置。
- 前記ポリゴンモデル照合手段は、前記角度依存照合処理として、前記部分対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士で、対応する頂点間の距離を算出し、当該距離の全ポリゴンについての総和値を算出し、前記2つのモデルの総和値の平均値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項10から請求項13のいずれか一項に記載の立体物造形用データ出力規制装置。
- 前記規制モデルに対して、当該規制モデルの基準点が三次元座標の原点になるように前記規制モデルを移動させ、前記基準点から所定の基準に従って算出される距離が所定の長さになるように前記規制モデルをスケーリング調整し、ポリゴンの配置関係により定まる方向が所定の方向に一致するように前記規制モデルを回転させることにより、所定の位置、スケール、傾きに正規化された規制モデルを作成する規制モデル正規化装置により正規化された規制モデルを受信し、受信した規制モデルを前記規制モデルデータベースに登録する規制モデル登録手段を更に有することを特徴とする請求項1から請求項15のいずれか一項に記載の立体物造形用データ出力規制装置。
- 前記対象モデル分割手段による分割前の対象モデルを、接続された立体物造形装置に出力する手段と、
前記立体物造形装置による立体物の造形処理と並行して実行される前記ポリゴンモデル照合手段により、出力を規制すべきであると判定された場合に、前記立体物造形装置に、前記分割前の対象モデルの出力中止命令を出力する手段と、
を更に備えることを特徴とする請求項1から請求項16のいずれか一項に記載の立体物造形用データ出力規制装置。 - コンピュータを、請求項1から請求項17のいずれか一項に記載の立体物造形用データ出力規制装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014094084A JP6369117B2 (ja) | 2014-04-30 | 2014-04-30 | 立体物造形用データ出力規制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014094084A JP6369117B2 (ja) | 2014-04-30 | 2014-04-30 | 立体物造形用データ出力規制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015210789A JP2015210789A (ja) | 2015-11-24 |
JP6369117B2 true JP6369117B2 (ja) | 2018-08-08 |
Family
ID=54612887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014094084A Active JP6369117B2 (ja) | 2014-04-30 | 2014-04-30 | 立体物造形用データ出力規制装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6369117B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000222428A (ja) * | 1999-02-03 | 2000-08-11 | Hitachi Ltd | 3次元モデルの類似検索システム及び3次元モデルデータベース登録システム |
JP2002288687A (ja) * | 2001-03-22 | 2002-10-04 | Olympus Optical Co Ltd | 特徴量算出装置および方法 |
EP2701090A1 (en) * | 2012-08-22 | 2014-02-26 | Aahlstö OÜ | Method and system for enforcing 3D restricted rights in a rapid manufacturing and prototyping environment |
-
2014
- 2014-04-30 JP JP2014094084A patent/JP6369117B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015210789A (ja) | 2015-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fu et al. | Efficient volumetric polycube‐map construction | |
US20140067333A1 (en) | CAD-Based System for Product Definition, Inspection and Validation | |
JP6318701B2 (ja) | 立体物造形用データ出力規制装置 | |
JP6375768B2 (ja) | 立体物造形用データ出力規制装置 | |
JP6369117B2 (ja) | 立体物造形用データ出力規制装置 | |
US10068036B2 (en) | Simulation of resizable bodies using a rigid body solver | |
JP6369116B2 (ja) | 立体物造形用データ出力規制装置 | |
JP6557988B2 (ja) | 立体物造形用データ出力規制装置 | |
JP6540238B2 (ja) | 立体物造形用データ出力規制装置 | |
WO2019209709A1 (en) | Computer-aided design file format for additive manufacturing and methods of file generation | |
JP6409513B2 (ja) | 立体物造形用データ出力規制装置 | |
JP2019018446A (ja) | 立体物造形用データ出力規制装置 | |
JP6451932B2 (ja) | 立体物造形用データ出力規制装置 | |
JP6638341B2 (ja) | 立体物造形用データ出力規制装置 | |
US11416648B2 (en) | Computer-aided design file format for additive manufacturing and methods of file generation | |
JP2015208982A (ja) | 立体物造形用データ出力規制装置 | |
JP6638466B2 (ja) | 立体物造形用データ出力規制装置 | |
JP2020194482A (ja) | 表示制御方法、表示制御プログラムおよび情報処理装置 | |
JP6613832B2 (ja) | 立体物造形用データ出力規制装置 | |
JP2016215598A (ja) | 立体物造形用データ出力規制装置 | |
JP6613707B2 (ja) | 立体物造形用データ出力規制装置 | |
JP2017207900A (ja) | 立体物造形用データ出力規制装置 | |
JP2018126939A (ja) | 立体物造形用データ出力規制装置 | |
JP2016124241A (ja) | 立体物造形用データ出力規制装置 | |
Schier et al. | Fast texture mapping for triangle soups using electrostatic monopole field lines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180403 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180525 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6369117 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |