(57)【要約】【課題】  複数の部品で構成される物品を表現したポリゴンモデルに対しても、人間による判断を行わず、的確にその出力規制を行うことが可能な立体物造形用データ出力規制装置を提供する。【解決手段】  規制モデルが登録された規制モデルデータベース５０と、対象モデルのポリゴン数が所定以下になるようにポリゴンを削減するポリゴン削減手段１０と、対象モデルの各ポリゴンに対して特徴パラメータを算出し、規制モデルの各ポリゴンの特徴パラメータと比較して、対象モデルと規制モデルのポリゴンを対応付け、対応付けられたポリゴン同士の特徴パラメータの相違に基づいて、対象モデルと規制モデルが適合するか否かを判定するポリゴン対応付け手段１５と、正規化された対象モデルを作成するポリゴン正規化手段２０と、正規化された対象モデルを規制モデルデータベース５０に登録されている規制モデルと照合するポリゴンモデル照合手段３０を備える。【選択図】  図２
2015210783.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、
出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、
出力対象のポリゴンモデルである対象モデルの各ポリゴンに対して、ポリゴンの形状を特徴付ける特徴パラメータを算出し、前記規制モデルデータベースを参照して、前記規制モデルに含まれる各ポリゴンの特徴パラメータと比較することにより、前記対象モデルのポリゴンと前記規制モデルのポリゴンを対応付け、対応付けられたポリゴン同士の前記特徴パラメータの相違に基づいて、前記対象モデルと前記規制モデルが適合するか否かを判定するポリゴン対応付け手段と、
前記ポリゴン対応付け手段による判定結果に基づいて、出力を規制すべきか否かを判定する出力適否判定手段と、
を備えることを特徴とする立体物造形用データ出力規制装置。
【請求項２】
前記ポリゴンは三角形状であり、前記特徴パラメータは、最長辺以外の２辺の長さを、それぞれ最長辺の長さで除して得られる２つの値とすることを特徴とする請求項１に記載の立体物造形用データ出力規制装置。
【請求項３】
前記ポリゴンは三角形状であり、前記特徴パラメータは、最長辺の両端のそれぞれの角度に対応する２つの値とすることを特徴とする請求項１に記載の立体物造形用データ出力規制装置。
【請求項４】
出力対象のポリゴンモデルである対象モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減するポリゴン削減手段を更に有し、
ポリゴンが削減された対象モデルに対して、前記ポリゴン対応付け手段が処理を行うことを特徴とする請求項１から請求項３のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項５】
前記ポリゴン対応付け手段により対応付けされた前記対象モデルに対して、当該対象モデルの基準点が３次元座標の原点になるように前記対象モデルを移動させ、前記基準点から最も遠いポリゴンまでの最長距離が所定の長さになるように前記対象モデルをスケーリング調整し、前記最長距離の方向が第１の軸に一致するように前記対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された対象モデルを作成するポリゴン正規化手段と、
前記正規化された対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合するポリゴンモデル照合手段と、
をさらに有し、
前記出力適否判定手段は、前記ポリゴンモデル照合手段による照合結果に基づいて、出力を規制すべきか否かを判定することを特徴とする請求項１から請求項４のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項６】
前記対象モデルの基準点は、各ポリゴンの頂点座標の平均であるポリゴン平均座標を、前記対象モデルに含まれるポリゴンについて算出した平均値として与えられるものであることを特徴とする請求項５に記載の立体物造形用データ出力規制装置。
【請求項７】
前記ポリゴン正規化手段は、前記ポリゴン対応付け手段により対応付けされた対象モデルの基準点から最も遠いポリゴンまでの最長距離方向を、前記第１の軸の正または負の一方の特定方向に一致させるため、前記第１の軸と第２の軸で形成される２次元座標系に投影された前記基準点から最も遠いポリゴンまでの最長距離方向が前記第１の軸の前記特定方向に一致するように前記対象モデルを回転させた後に、前記第１の軸と第３の軸で形成される２次元座標系に投影された前記基準点から最も遠いポリゴンまでの最長距離方向が前記第１の軸の前記特定方向に一致するように前記対象モデルを回転させるようにしていることを特徴とする請求項５または請求項６に記載の立体物造形用データ出力規制装置。
【請求項８】
前記ポリゴン正規化手段は、前記ポリゴン対応付け手段により対応付けされた対象モデルの基準点から最も遠いポリゴンまでの最長距離方向が前記第１の軸の前記特定方向に一致するように前記対象モデルを回転させた後に、前記第２の軸と前記第３の軸で形成される２次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が前記第３の軸の前記特定方向に一致するように前記対象モデルを更に回転させるようにしていることを特徴とする請求項７に記載の立体物造形用データ出力規制装置。
【請求項９】
前記ポリゴン照合手段は、角度に依存しない角度非依存照合処理と、角度に依存する角度依存照合処理を行う２種の処理から構成され、前記角度非依存照合処理で適合した場合のみ、前記角度依存照合処理を実行するようにしていることを特徴とする請求項５から請求項８のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１０】
前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンの面積の総和値と、前記規制モデルを構成するポリゴンの面積の総和値を算出し、２つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項９に記載の立体物造形用データ出力規制装置。
【請求項１１】
前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値を算出し、２つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項９に記載の立体物造形用データ出力規制装置。
【請求項１２】
前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンの面積の総和値と、前記規制モデルを構成するポリゴンの面積の総和値を算出し、２つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定し、
適合判定された場合のみ、
前記対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値を算出し、２つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項９に記載の立体物造形用データ出力規制装置。
【請求項１３】
前記ポリゴン照合手段は、前記角度依存照合処理として、前記対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士でポリゴン平均座標間の距離を算出し、ポリゴン平均座標間の距離の総和値を算出し、前記２つのモデルの総和値の平均値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項９から請求項１２のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１４】
前記ポリゴン照合手段は、前記角度依存照合処理として、前記対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士で、対応する頂点間の距離を算出し、当該距離の全ポリゴンについての総和値を算出し、前記２つのモデルの総和値の平均値が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする請求項９から請求項１２のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１５】
前記規制モデルの各ポリゴンに対して、前記特徴パラメータを算出する特徴パラメータ算出装置により特徴パラメータが算出された規制モデルを受信し、受信した規制モデルを前記規制モデルデータベースに登録する規制モデル登録手段を更に有することを特徴とする請求項１から請求項１４のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１６】
前記ポリゴン対応付け手段による対応付け前の対象モデルを、接続された立体物造形装置に出力する手段と、
前記立体物造形装置による立体物の造形処理と並行して実行される前記出力適否判定手段により、出力を規制すべきであると判定された場合に、前記立体物造形装置に、前記ポリゴン対応付け前の対象モデルの出力中止命令を出力する手段と、
を更に備えることを特徴とする請求項１から請求項１５のいずれか一項に記載の立体物造形用データ出力規制装置。
【請求項１７】
コンピュータを、請求項１から請求項１６のいずれか一項に記載の立体物造形用データ出力規制装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体物を表すデータを基に、樹脂等を加工して立体物を造形する３Ｄプリンタ等の立体物造形装置の利用に際して、立体物造形装置からの出力に不適切なものを判別するための技術に関する。
【背景技術】
【０００２】
近年、立体物を表すデータを基に、樹脂や石膏等を加工して造形する３Ｄプリンタが立体物造形装置として普及してきている。３Ｄプリンタの医療応用として、医療診断で撮影されるCT/MRI画像（DICOM形式３次元ボクセルデータ）を基に３Ｄプリンタ出力用モデリングデータを作成し、手術シミュレーション・医学教育・インフォームドコンセント向けの臓器模型を出力したり、体内埋め込み用の人工臓器（血管、骨、関節など）を作成したりする試みが始まっている。
【０００３】
３Ｄプリンタには、インターネットを介して情報だけでなく、モノを遠隔地に間接的に伝搬できる革新性を備えている。そのため、これまで税関で規制されていた銃砲・刀剣などの危険物がデータ形態で国境を越えて流布され、３Ｄプリンタによりモノとして容易に入手可能になるという問題が発生している。
【０００４】
具体的には、あるＷＥＢサイトにて３Ｄプリンタを用いて所定のモデルの拳銃を製造できるＳＴＬ（Standard Triangulated Language）が無償で公開されている。金属製に比べて射程距離などは多少劣るが、３Ｄプリンタで作成された弾丸でも殺傷能力はそれなりにある。更に、現状の３Ｄプリンタで造形可能な材料は樹脂・石膏に限定され、金属が使用できないという欠点が裏目に出て、空港の金属探知機で見逃されるという問題も指摘されている。今後、民生用の３Ｄプリンタが普及するにあたり、３Ｄプリンタ側に投入される出力データの形状認証と危険物の出力規制などのセキュリティ機能をもたせることが求められる。
【０００５】
これに対して、ウィルス対策ツールと類似した手法で出力可否判定を行うシステムを構築する方法が考えられ、その実現にあたり、ポリゴン照合技術が必要になるが、ポリゴン照合には、従来より次の問題が知られている。３Ｄプリンタ出力用のポリゴンデータ（ＳＴＬ形式など）では、３次元座標値が絶対寸法でないためスケールがまちまちで、座標原点やアングルも使用されるＣＡＤや出力予定のプリンタの特性に合せて種々に設定される。そのため、たとえソースが同一の３Ｄモデルであっても、ポリゴンデータの作成方法が異なると、表現される総ポリゴン数も変化し、ポリゴンデータの座標値比較で同一性を判定することは一般に難しい。
【０００６】
そこで、特許文献１のように、重心からの慣性モーメントなど特徴パラメータによるアングル・スケールに依存しない比較手法が提案されている。また、特許文献２では、ポリゴンモデルの重心からの距離分布や隣接面とのクリーズ角などの特徴量を抽出してアングル・スケールに依存しない比較を行う手法が提案されている。特許文献３では、３次元モデルを複数アングルに２次元投影した画像に対してフーリエ変換を行い特徴抽出して比較する手法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３６１０２７０号公報
【特許文献２】特開２０００−２２２４２８号公報
【特許文献３】特許第５０２４７６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記従来の技術は、いずれも類似形状検索の用途であり、検索されたデータを採択するか否かは人間の判断に委ねられている。人間による判断を加えない場合、これらの既存手法を適用してしまうと精度が粗すぎて、過剰に出力拒否判定をされてしまうという問題が発生する。また、データベースに出力規制すべき部品のみが登録されている場合、出力対象がその部品を含む複数の部品で構成されていると、全体形状が異なるため、出力規制されないという問題もある。
【０００９】
そこで、本発明は、複数の部品で構成されている物品を表現したポリゴンモデルに対しても、人間による判断を行わず、的確にその出力規制を行うことが可能な立体物造形用データ出力規制装置を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明第１の態様では、ポリゴンの集合として表現されたポリゴンモデルを立体物造形装置に立体物造形用データとして出力する際に、規制すべきか否かを判定する装置であって、出力を規制すべきポリゴンモデルである規制モデルが登録された規制モデルデータベースと、出力対象のポリゴンモデルである対象モデルの各ポリゴンに対して、ポリゴンの形状を特徴付ける特徴パラメータを算出し、前記規制モデルデータベースを参照して、前記規制モデルに含まれる各ポリゴンの特徴パラメータと比較することにより、前記対象モデルのポリゴンと前記規制モデルのポリゴンを対応付け、対応付けられたポリゴン同士の前記特徴パラメータの相違に基づいて、前記対象モデルと前記規制モデルが適合するか否かを判定するポリゴン対応付け手段と、前記ポリゴン対応付け手段による判定結果に基づいて、出力を規制すべきか否かを判定する出力適否判定手段と、を備えることを特徴とする立体物造形用データ出力規制装置を提供する。
【００１１】
本発明第１の態様によれば、規制モデルが登録された規制モデルデータベースを備え、対象モデルの各ポリゴンに対して、ポリゴンの形状を特徴付ける特徴パラメータを算出し、規制モデルデータベースを参照して、規制モデルに含まれる各ポリゴンの特徴パラメータと比較することにより、対象モデルのポリゴンと規制モデルのポリゴンを対応付け、対応付けられたポリゴン同士の特徴パラメータの相違に基づいて、対象モデルと規制モデルが適合するか否かを判定し、適合するか否かの判定結果に基づいて、出力を規制すべきか否かを判定するようにしたので、複数の部品で構成された物品を表現したポリゴンモデルに対しても、構成部品が出力規制すべきものである場合には、見逃すことなく特定することができ、的確にその出力規制を行うことが可能となる。
【００１２】
また、本発明第２の態様では、前記ポリゴンは三角形状であり、前記特徴パラメータは、最長辺以外の２辺の長さ（Ｌ１、Ｌ２）を、それぞれ最長辺の長さ（Ｌ０）で除して得られる２つの値とすることを特徴とする。
【００１３】
本発明第２の態様によれば、三角形状のポリゴンを特徴付ける２つのパラメータとして、最長辺以外の２辺の長さ（Ｌ１、Ｌ２）を、それぞれ最長辺の長さ（Ｌ０）で除して得られる２つの値を算出するようにしたので、ポリゴンを特徴付けるパラメータを辺の長さの比率に基づいて的確に作成することが可能となる。
【００１４】
また、本発明第３の態様では、前記ポリゴンは三角形状であり、前記特徴パラメータは、最長辺の両端のそれぞれの角度に対応する２つの値とすることを特徴とする。
【００１５】
本発明第３の態様によれば、三角形状のポリゴンを特徴付ける２つのパラメータとして、最長辺の両端のそれぞれの角度に対応する２つの値を算出するようにしたので、ポリゴンを特徴付けるパラメータを角度に基づいて的確に作成することが可能となる。
【００１６】
また、本発明第４の態様では、出力対象のポリゴンモデルである対象モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減するポリゴン削減手段を更に有し、ポリゴンが削減された対象モデルに対して、前記ポリゴン対応付け手段が処理を行うことを特徴とする。
【００１７】
本発明第４の態様によれば、対象モデルに含まれるポリゴンの数が所定の値以下になるようにポリゴンを削減し、ポリゴンが削減された対象モデルに対して、ポリゴン対応付け処理を行うようにしたので、規制モデルとの比較のために重要でないポリゴンを削除しておくことにより、効率的にポリゴンの対応付けを行うことが可能となる。
【００１８】
また、本発明第５の態様では、前記ポリゴン対応付け手段により対応付けされた前記対象モデルに対して、当該対象モデルの基準点が３次元座標の原点になるように前記対象モデルを移動させ、前記基準点から最も遠いポリゴンまでの最長距離が所定の長さになるように前記対象モデルをスケーリング調整し、前記最長距離の方向が第１の軸に一致するように前記対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された対象モデルを作成するポリゴン正規化手段と、前記正規化された対象モデルを前記規制モデルデータベースに登録されている規制モデルと照合するポリゴンモデル照合手段と、をさらに有し、前記出力適否判定手段は、前記ポリゴンモデル照合手段による照合結果に基づいて、出力を規制すべきか否かを判定することを特徴とする。
【００１９】
本発明第５の態様によれば、対応付けされた対象モデルに対して、対象モデルの基準点が３次元座標の原点になるように対象モデルを移動させ、基準点から最も遠いポリゴンまでの最長距離が所定の長さになるように対象モデルをスケーリング調整し、最長距離の方向が第１の軸（例えばＺ軸）に一致するように対象モデルを回転させることにより、所定の位置、スケール、傾きに正規化された対象モデルを作成し、正規化された対象モデルを規制モデルデータベースに登録されている規制モデルと照合し、出力を規制すべきか否かを判定するようにしたので、ポリゴン対応付け手段により誤った対応付けがなされた場合であっても、的確にポリゴンモデルの出力規制を行うことが可能となる。
【００２０】
また、本発明第６の態様では、前記ポリゴン対応付け手段により対応付けされた対象モデルの基準点は、各ポリゴンの頂点座標の平均であるポリゴン平均座標を、前記対象モデルに含まれるポリゴンについて算出した平均値として与えられるものであることを特徴とする。
【００２１】
本発明第６の態様によれば、対応付けされた対象モデルの基準点は、各ポリゴンの頂点座標の平均であるポリゴン平均座標を、対象モデルに含まれるポリゴンについて算出した平均値として与えられるようにしたので、立体物造形装置に出力予定のポリゴンモデルの中で対応付けされたポリゴンの各頂点が規制モデルデータベースに登録されている規制モデルのものと若干異なっていても、適切か否かの判断を行うことができ、対象モデルの重心に近い位置を基準点として迅速に算出することが可能となる。
【００２２】
また、本発明第７の態様では、前記ポリゴン正規化手段は、前記ポリゴン対応付け手段により対応付けされた対象モデルの基準点から最も遠いポリゴンまでの最長距離方向が前記第１の軸（例えばＺ軸）の正または負の一方の特定方向に一致させるため、前記第１の軸（例えばＺ軸）と第２の軸（例えばＸ軸）で形成される（ＸＺ）２次元座標系に投影された前記基準点から最も遠いポリゴンまでの最長距離方向が前記第１の軸（例えばＺ軸）の前記特定方向に一致するように前記対象モデルを回転させた後に、前記第１の軸（例えばＺ軸）と第３の軸（例えばＹ軸）で形成される（ＹＺ）２次元座標系に投影された前記基準点から最も遠いポリゴンまでの最長距離方向が前記第１の軸（例えばＺ軸）の前記特定方向に一致するように前記対象モデルを回転させるようにしていることを特徴とする。
【００２３】
本発明第７の態様によれば、対応付けされた対象モデルの基準点から最も遠いポリゴンまでの最長距離方向が第１の軸（例えばＺ軸）の特定方向に一致させるため、第１の軸（例えばＺ軸）と第２の軸（例えばＸ軸）で形成される（ＸＺ）２次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が第１の軸（例えばＺ軸）の特定方向に一致するように対象モデルを回転させた後に、第１の軸（例えばＺ軸）と第３の軸（例えばＹ軸）で形成される（ＹＺ）２次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が第１の軸（例えばＺ軸）の特定方向に一致するように対象モデルを回転させるようにしたので、立体物造形装置に出力予定のポリゴンモデルおよび規制モデルデータベースに登録されている規制モデルに対して、各々少なくとも立体物の長手方向のアングルを揃えた上で照合を行うことが可能となる。
【００２４】
また、本発明第８の態様では、前記ポリゴン正規化手段は、前記ポリゴン対応付け手段により対応付けされた対象モデルの基準点から最も遠いポリゴンまでの最長距離方向が前記第１の軸（例えばＺ軸）の前記特定方向に一致するように前記対象モデルを回転させた後に、前記第２の軸（例えばＸ軸）と前記第３の軸（例えばＹ軸）で形成される（ＸＹ）２次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が前記第３の軸（例えばＹ軸）の前記特定方向に一致するように前記対象モデルを更に回転させるようにしていることを特徴とする。
【００２５】
本発明第８の態様によれば、対応付けされた対象モデルの基準点から最も遠いポリゴンまでの最長距離方向が第１の軸（例えばＺ軸）の特定方向に一致するように対象モデルを回転させた後に、第２の軸（例えばＸ軸）と第３の軸（例えばＹ軸）で形成される（ＸＹ）２次元座標系に投影された基準点から最も遠いポリゴンまでの最長距離方向が第３の軸（例えばＹ軸）の特定方向に一致するように対象モデルを更に回転させるようにしたので、立体物造形装置に出力予定のポリゴンモデルおよび規制モデルデータベースに登録されている規制モデルに対して、各々アングルを完全に一致させて上で照合を行うことが可能となる。
【００２６】
また、本発明第９の態様では、前記ポリゴン照合手段は、角度（アングル）に依存しない角度非依存照合処理と、角度に依存する角度依存照合処理を行う２種の処理から構成され、前記角度非依存照合処理で適合した場合のみ、前記角度依存照合処理を実行するようにしていることを特徴とする。
【００２７】
本発明第９の態様によれば、ポリゴン照合として、はじめに角度（アングル）に依存しない角度非依存照合処理を行い、角度非依存照合処理で適合（類似）した場合のみ、角度依存照合処理を実行するようにしたので、大きく異なるモデルについては、少ない処理負荷で迅速に非類似と判定することができ、全体として効率的な判定が可能となる。
【００２８】
また、本発明第１０の態様では、前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンの面積の総和値（ＳＮ）と、前記規制モデルを構成するポリゴンの面積の総和値（ＳＭ）を算出し、２つの総和値の差分の絶対値（ｄＳ）が所定のしきい値より小さい場合に適合判定するようにしていることを特徴とする。
【００２９】
本発明第１０の態様によれば、角度非依存照合処理として、対象モデルを構成するポリゴンの面積の総和値と、規制モデルを構成するポリゴンの面積の総和値を算出し、２つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合（類似）判定するようにしたので、比較的簡易な演算によりしきい値と比較する値を算出することができ、迅速な適否判定が可能となる。
【００３０】
また、本発明第１１の態様では、前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値（ＶＮ）と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値（ＶＭ）を算出し、２つの総和値の差分の絶対値（ｄＶ）が所定のしきい値より小さい場合に適合（類似）判定するようにしていることを特徴とする。
【００３１】
本発明第１１の態様によれば、角度非依存照合処理として、対象モデルを構成するポリゴンを底面として基準点を頂点とする角錐の体積の総和値と、規制モデルを構成するポリゴンを底面として基準点を頂点とする角錐の体積の総和値を算出し、２つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合（類似）判定するようにしたので、比較的簡易な演算によりしきい値と比較する値を算出することができ、迅速な適否判定が可能となる。
【００３２】
また、本発明第１２の態様では、前記ポリゴン照合手段は、前記角度非依存照合処理として、前記対象モデルを構成するポリゴンの面積の総和値（ＳＮ）と、前記規制モデルを構成するポリゴンの面積の総和値（ＳＭ）を算出し、２つの総和値の差分の絶対値（ｄＳ）が所定のしきい値より小さい場合に適合（類似）判定し、適合判定された場合のみ、前記対象モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値（ＶＮ）と、前記規制モデルを構成するポリゴンを底面として前記基準点を頂点とする角錐の体積の総和値（ＶＭ）を算出し、２つの総和値の差分の絶対値（ｄＶ）が所定のしきい値より小さい場合に適合（類似）判定するようにしていることを特徴とする。
【００３３】
本発明第１２の態様によれば、角度非依存照合処理として、対象モデルを構成するポリゴンの面積の総和値と、規制モデルを構成するポリゴンの面積の総和値を算出し、２つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合（類似）判定し、適合判定された場合のみ、対象モデルを構成するポリゴンを底面として基準点を頂点とする角錐の体積の総和値と、規制モデルを構成するポリゴンを底面として基準点を頂点とする角錐の体積の総和値を算出し、２つの総和値の差分の絶対値が所定のしきい値より小さい場合に適合（類似）判定するようにしたので、迅速かつ確実にしきい値と比較する値を算出することができ、迅速な適否判定が可能となる。
【００３４】
また、本発明第１３の態様では、前記ポリゴン照合手段は、前記角度依存照合処理として、前記対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士でポリゴン平均座標間の距離（ｄ）を算出し、ポリゴン平均座標間の距離の総和値（Ｄ１）を算出し、前記２つのモデルの総和値の平均値（Ｄ１／Ｎ）が所定のしきい値より小さい場合に適合（類似）判定するようにしていることを特徴とする。
【００３５】
本発明第１３の態様によれば、角度依存照合処理として、対象モデル、規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士でポリゴン平均座標間の距離を算出し、ポリゴン平均座標間の距離の総和値を算出し、２つのモデルの総和値の平均値が所定のしきい値より小さい場合に適合（類似）判定するようにしたので、簡易な角度非依存照合で類似と判定されたモデルに対して再判定を行い、規制する必要のないポリゴンモデルを誤って規制することがないように判定精度を上げることが可能となる。規制すべきポリゴンモデルに対して見逃して出力を許可してしまう場合は、少なくともユーザからのクレームは起こらないが、その逆の場合は、ユーザからのクレーム発生につながり本技術を搭載した３Ｄプリンタ装置に対する信頼性も失われる。本発明第１３の態様によれば、そのような信頼の失墜を防ぐことに貢献できる。
【００３６】
また、本発明第１４の態様では、前記ポリゴン照合手段は、前記角度依存照合処理として、前記対象モデル、前記規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士で、対応する頂点間の距離を算出し、当該距離の全ポリゴンについての総和値を算出し、前記２つのモデルの総和値の平均値が所定のしきい値より小さい場合に適合（類似）判定するようにしていることを特徴とする。
【００３７】
本発明第１４の態様によれば、角度依存照合処理として、対象モデル、規制モデルそれぞれについて、構成するポリゴンの頂点座標の平均であるポリゴン平均座標が最も近いポリゴン同士で、対応する頂点間の距離を算出し、距離の全ポリゴンについての総和値を算出し、２つのモデルの総和値の平均値が所定のしきい値より小さい場合に適合（類似）判定するようにしたので、簡易な角度非依存照合で類似と判定されたモデルに対して再判定を行い、規制する必要のないポリゴンモデルを誤って規制することがないように本発明第１３の態様より更に判定精度を上げることが可能となる。
【００３８】
また、本発明第１５の態様では、前記規制モデルの各ポリゴンに対して、前記特徴パラメータを算出する特徴パラメータ算出装置により特徴パラメータが算出された規制モデルを受信し、受信した規制モデルを前記規制モデルデータベースに登録する規制モデル登録手段を更に有することを特徴とする。
【００３９】
本発明第１５の態様によれば、規制モデルの各ポリゴンに対して、特徴パラメータを算出する特徴パラメータ算出装置を別途用意し、この特徴パラメータ算出装置から規制モデルを受信し、受信した規制モデルを規制モデルデータベースに登録するようにしたので、規制モデルデータベースの更新を遠隔地から迅速に行うことが可能となる。
【００４０】
また、本発明第１６の態様では、前記ポリゴン対応付け手段による対応付け前の対象モデルを、接続された立体物造形装置に出力する手段と、前記立体物造形装置による立体物の造形処理と並行して実行される前記出力適否判定手段により、出力を規制すべきであると判定された場合に、前記立体物造形装置に、前記ポリゴン対応付け前の対象モデルの出力中止命令を出力する手段と、を更に備えることを特徴とする。
【００４１】
本発明第１６の態様によれば、ポリゴン対応付け前の対象モデルを、接続された立体物造形装置に出力し、並行して実行されるポリゴン対応付けの結果、出力を規制すべきであると判定された場合に、立体物造形装置に、ポリゴン対応付け前の対象モデルの出力中止命令を出力するようにしたので、時間のかかる立体物の造形を遅延させることなく、出力不適の場合にのみ、出力を中止することが可能となる。
【発明の効果】
【００４２】
本発明によれば、複数の部品で構成されている物品を表現したポリゴンモデルに対しても、人間による判断を行わず、的確にその出力規制を行うことが可能となる。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態に係る立体物造形用データ出力規制装置１００を含む立体物造形システムのハードウェア構成図である。
【図２】本発明の一実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。
【図３】本発明の一実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。
【図４】ステップＳ１００のポリゴン削減処理の詳細を示すフローチャートである。
【図５】ポリゴン削減手段１０によるグループ分類処理の詳細を示すフローチャートである。
【図６】ポリゴン削除の基本原理を示す図である。
【図７】ポリゴン削除処理の詳細を示すフローチャートである。
【図８】ポリゴン削除処理により生じる問題を説明するための図である。
【図９】隔離された小体積グループの削除処理の詳細を示すフローチャートである。
【図１０】図９のステップＳ４４における最小間隔の算出処理の詳細を示すフローチャートである。
【図１１】ポリゴンモデルの全体形状の比較による問題点を示す図である。
【図１２】ポリゴン対応付け処理の基本原理を示す図である。
【図１３】ポリゴン対応付け処理の詳細を示すフローチャートである。
【図１４】特徴パラメータの比較処理の詳細を示すフローチャートである。
【図１５】対応ポリゴンの抽出処理の詳細を示すフローチャートである。
【図１６】正しいポリゴン対応付けの例を示す図である。
【図１７】誤ったポリゴン対応付けの例を示す図である。
【図１８】ステップＳ３００のポリゴン正規化処理の詳細を示すフローチャートである。
【図１９】ポリゴン正規化処理の概要を示す図である。
【図２０】ポリゴン照合処理の概要を示すフローチャートである。
【図２１】総面積に基づくポリゴン照合処理の詳細を示すフローチャートである。
【図２２】体積に基づくポリゴン照合処理の詳細を示すフローチャートである。
【図２３】座標値に基づくポリゴン照合処理の詳細を示すフローチャートである。
【図２４】変形例における立体物造形用データ出力規制装置のハードウェア構成図である。
【図２５】第１の事例について、規制モデル、対象モデルを、ＸＹＺのいずれの軸とも平行でない位置から見た斜視図である。
【図２６】第１の事例について、規制モデル、対象モデルを、視点をＸＺ平面として見た図である。
【図２７】第２の事例について、規制モデル、対象モデルを、ＸＹＺのいずれの軸とも平行でない位置から見た斜視図である。
【図２８】第２の事例について、規制モデル、対象モデルを、視点をＸＺ平面として見た図である。
【発明を実施するための形態】
【００４４】
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。
＜１．装置構成＞
図１は、本発明の一実施形態に係る立体物造形用データ出力規制装置１００を含む立体物造形システムのハードウェア構成図である。本実施形態に係る立体物造形用データ出力規制装置１００は、汎用のコンピュータで実現することができ、図１に示すように、ＣＰＵ（Central Processing Unit）１と、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２と、ＣＰＵ１が実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置３と、キーボード、マウス等のキー入力Ｉ／Ｆ（インターフェース）４と、３Ｄプリンタやデータ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５と、液晶ディスプレイ等の表示デバイスである表示部６と、を備え、互いにバスを介して接続されている。３Ｄプリンタ７は、汎用の３Ｄプリンタであり、立体物を表現したポリゴンモデルである立体物造形用データを基に樹脂、石膏等の素材を加工して立体物を造形する立体物造形装置である。３Ｄプリンタ７は、データ処理部７ａと出力部７ｂを有している。３Ｄプリンタ７のデータ処理部７ａは、データ入出力Ｉ／Ｆ５に接続されており、データ入出力Ｉ／Ｆ５から受け取った立体物造形用データを基に、出力部７ｂが立体物を造形するようになっている。図１では、立体物造形用データ出力規制装置１００と３Ｄプリンタ７は分離した形態で示されているが、現在市販されている殆どの３Ｄプリンタ製品には立体物造形用データ出力規制装置１００の構成要素である、ＣＰＵ１、ＲＡＭ２、記憶装置３、キー入力Ｉ／Ｆ４（汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン）、データ入出力Ｉ／Ｆ５、表示部６（数行の文字を表示可能な小型液晶パネル、タッチパネルを重畳させキー入力Ｉ／Ｆ４を兼ねることも多い）も小規模ながら重複して備えている。従って、３Ｄプリンタ７自体が外部記憶媒体経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている（特に民生用の３Ｄプリンタではこちらの実施形態の方が多い）。すなわち、図１に示した立体物造形システムを１つの筐体に収めて、“３Ｄプリンタ”という製品として流通することも多い。
【００４５】
図２は、本実施形態に係る立体物造形用データ出力規制装置の構成を示す機能ブロック図である。図２において、１０はポリゴン削減手段、１５はポリゴン対応付け手段、２０はポリゴン正規化手段、３０はポリゴンモデル照合手段、３５は出力適否判定手段、４０は対象モデル記憶手段、５０は規制モデルデータベースである。
【００４６】
ポリゴン削減手段１０は、対象モデル記憶手段４０に記憶されたポリゴンモデルである対象モデルを構成するポリゴンを削減する。ポリゴン対応付け手段１５は、ポリゴンが削減された対象モデルの各ポリゴンに対して、相似形を含めて特徴付ける２つの特徴パラメータを算出し、規制モデルデータベース５０内のポリゴンモデルである規制モデルに含まれる各ポリゴンの特徴パラメータと比較することにより、類似すると判断されるポリゴン同士の対応付けを行う。ポリゴン正規化手段２０は、対応付けが行われた対象モデルに対して、所定の位置、スケール、アングルに正規化する処理を行う。ポリゴンモデル照合手段３０は、正規化後の対象モデルを、規制モデルデータベース５０内のポリゴンモデルである各規制モデルと照合する。出力適否判定手段３５は、ポリゴンモデル照合手段３０の照合結果に基づいて、出力を規制すべきか否かを判定する。
【００４７】
ポリゴン削減手段１０、ポリゴン対応付け手段１５、ポリゴン正規化手段２０、ポリゴンモデル照合手段３０、出力適否判定手段３５は、ＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより実現される。対象モデル記憶手段４０は、出力適否の判定対象となるポリゴンモデルである対象モデルを記憶した記憶手段であり、記憶装置３により実現される。ポリゴンモデルとは、ポリゴンの集合により三次元空間における所定の立体形状を表現したデータであり、３Ｄプリンタ等の立体物造形装置に立体物造形用データとして出力されるものである。本実施形態では、ポリゴンモデルのデータ形式としてＳＴＬ（Standard Triangulated Language）を採用している。規制モデルデータベース５０は、規制対象となるポリゴンモデルである規制モデルを記憶してデータベース化したものであり、記憶装置３により実現される。
【００４８】
図２に示した各構成手段は、現実には図１に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、ＣＰＵ等の演算処理部を有し、データ処理が可能な装置を意味し、パーソナルコンピュータなどの汎用コンピュータだけでなく、製品としての“３Ｄプリンタ”に組み込まれたボードコンピュータも含む。
【００４９】
図１に示した記憶装置３には、ＣＰＵ１を動作させ、コンピュータを、立体物造形用データ出力規制装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、ＣＰＵ１は、ポリゴン削減手段１０、ポリゴン対応付け手段１５、ポリゴン正規化手段２０、ポリゴンモデル照合手段３０、出力適否判定手段３５としての機能を実現することになる。また、記憶装置３は、対象モデル記憶手段４０、規制モデルデータベース５０として機能するだけでなく、立体物造形用データ出力規制装置としての処理に必要な様々なデータを記憶する。
【００５０】
＜２．処理動作＞
＜２．１．前処理＞
次に、図１、図２に示した立体物造形用データ出力規制装置の処理動作について説明する。まず、規制モデルデータベース５０に登録する対象となるポリゴンモデルである規制モデルを作製する。これは、規制対象となるポリゴンモデルである規制モデルについて、ポリゴンの削減、ポリゴンの正規化をすることにより行われる。この結果、規制モデルを構成するポリゴンの数が、所定数以下となり、正規化されて規制モデルデータベース５０に登録される。規制モデルデータベース５０に登録される規制モデルは、複数の部品で構成される完成品とすることもできるが、出力対象モデルとのポリゴンの対応付けおよび照合がしやすいように、部品単位で登録しておく。規制モデルのポリゴンの削減、ポリゴンの正規化については、後述する立体物造形用データ出力規制装置における処理と同様に行うことができる。規制モデルのポリゴンの削減、ポリゴンの正規化は、立体物造形用データ出力規制装置で行ってもよいし、別のコンピュータで同様のプログラムを実行することにより行ってもよい。
【００５１】
＜２．２．処理概要＞
次に、図１、図２に示した立体物造形用データ出力規制装置の処理動作について説明する。図３は、本発明の一実施形態に係る立体物造形用データ出力規制装置の処理概要を示すフローチャートである。まず、ポリゴン削減手段１０が、対象モデル記憶手段４０から、適否判定対象のポリゴンモデルである対象モデルを読み込み、対象モデルを構成するポリゴンを削減する（ステップＳ１００）。次に、ポリゴンが削減された対象モデルと、規制モデルデータベース５０に登録されたポリゴンモデルである規制モデルのポリゴン対応付けを行う（ステップＳ２００）。続いて、対応付けが行われた対象モデルの正規化を行う（ステップＳ３００）。そして、正規化された対象モデルと、規制モデルデータベース５０に登録された規制モデルとの照合を行う（ステップＳ４００）。
【００５２】
＜２．３．ポリゴン削減処理＞
まず、ステップＳ１００のポリゴン削減処理について説明する。図４は、ポリゴン削減処理の詳細を示すフローチャートである。図４の例では、対象モデルが複数の領域に分類され、領域ごとのポリゴン集合として記録されている場合を示している。領域とは、１つの立体物を複数に分けた領域であり、部品により組み立てられた物品であれば、各部品に相当するものである。まず、ポリゴン削減手段１０が、対象モデル記憶手段４０から、１つの領域について対象モデルのポリゴン集合を読み込み、複数のグループに分類する（ステップＳ１１０）。次に、分類された各グループのポリゴン集合に対して、ポリゴン削減手段１０は、ポリゴン削除処理を実行する（ステップＳ１２０）。
【００５３】
続いて、ポリゴン削減手段１０は、全グループについてポリゴン削除処理が終了したか否かを判定し（ステップＳ１３０）、全グループについて終了していない場合は、未処理のグループに対してステップＳ１２０のポリゴン削除処理を実行する。全グループに対するポリゴン削除処理が終了した場合は、ポリゴン削減手段１０は、隔離された小体積グループの削除を行う（ステップＳ１４０）。続いて、ポリゴン削減手段１０は、全グループのポリゴン集合の合成を行う（ステップＳ１５０）。ポリゴン削減手段１０が、全領域について処理が終了したか否かを判定し（ステップＳ１６０）、全領域について終了していない場合は、未処理の領域に対してステップＳ１１０〜Ｓ１５０の処理を実行する。全領域に対する処理が終了した場合は、ポリゴン削減手段１０が、全領域の領域別ポリゴン集合の合成を行う（ステップＳ１７０）。
【００５４】
＜２．３．１．グループ分類処理＞
まず、ステップＳ１１０におけるグループ分類処理について説明する。図５は、ポリゴン削減手段１０によるグループ分類処理の詳細を示すフローチャートである。ポリゴン削減手段１０は、まず、初期設定を行う（ステップＳ１１）。具体的には、読み込んだ領域別ポリゴン集合を構成するポリゴン数Ｐ、ポリゴンを特定する変数ｐ（ｐ＝０，・・・，Ｐ−１）、探索ステータスＳ（ｐ）、グループ属性Ｇ（ｐ）、グループを特定する変数ｇを設定する。探索ステータスＳ（ｐ）は、０、１、２のいずれかの値をとる。Ｓ（ｐ）＝０はグループに未分類の状態、Ｓ（ｐ）＝１はグループに分類された状態、Ｓ（ｐ）＝２は、そのポリゴンに隣接するポリゴンである隣接ポリゴンがグループに分類された状態を示す。さらに、ステップＳ１１においては、ｐ＝０，・・・，Ｐ−１の全てのｐについてＳ（ｐ）＝Ｇ（ｐ）＝０、ｇ＝１と初期設定する。
【００５５】
次に、全ポリゴンより、Ｓ（ｐ）＝Ｇ（ｐ）＝０となるポリゴンｐを１つ抽出する（ステップＳ１２）。初期状態では、全てＳ（ｐ）＝Ｇ（ｐ）＝０であるので、初回は必ず抽出が行われる。Ｓ（ｐ）＝Ｇ（ｐ）＝０となるポリゴンｐが複数存在する場合は、例えばｐの値が最も小さいものを抽出する。ステップＳ１２において、Ｓ（ｐ）＝Ｇ（ｐ）＝０となるポリゴンｐが存在しない場合、すなわち、全てのｐ＝０，・・・，Ｐ−１について、Ｓ（ｐ）＝２である場合、ｇ−１個のグループに分類できたものとしてグループ分類処理を終了する。なお、ステップＳ１２において、Ｓ（ｐ）＝１である状態は存在しないため、Ｓ（ｐ）は“０”か“２”のいずれかの状態である。Ｓ（ｐ）＝Ｇ（ｐ）＝０となるポリゴンｐが抽出できた場合は、抽出したポリゴンｐに対応する探索ステータスＳ（ｐ）＝１、グループ属性Ｇ（ｐ）＝ｇに設定する。
【００５６】
ステップＳ１２において、Ｓ（ｐ）＝Ｇ（ｐ）＝０となるポリゴンｐを１つ抽出し、抽出したポリゴンｐに対応する探索ステータスＳ（ｐ）＝１、グループ属性Ｇ（ｐ）＝ｇに設定した場合は、全ポリゴンより、Ｓ（ｑ）＝１となるポリゴンｑを１つ抽出する（ステップＳ１３）。ｑはポリゴンを特定する変数であり、ポリゴンｐと同様、ｑ＝０，・・・，Ｐ−１内のいずれかの整数値をとる。Ｓ（ｑ）＝１となるポリゴンｑが複数存在する場合は、例えばｑの値が最も小さいものを抽出する。ステップＳ１３において、Ｓ（ｑ）＝１となるポリゴンｑが存在しない場合、すなわち、全てのＳ（ｑ）＝０または２である場合、グループを特定する変数ｇを１インクリメント（ｇ←ｇ＋１）する（ステップＳ１４）。そしてステップＳ１２に戻り、次のグループへの分類を行う。
【００５７】
ステップＳ１３において、Ｓ（ｑ）＝１となるポリゴンｑを１つ抽出した場合、全ポリゴンより、Ｓ（ｒ）＝Ｇ（ｒ）＝０であって、抽出されたポリゴンｑと２頂点を共有する隣接ポリゴンｒを全て抽出する（ステップＳ１５）。ｒはポリゴンを特定する変数であり、ポリゴンｐ、ｑと同様、ｒ＝０，・・・，Ｐ−１内のいずれかの整数値をとる。“ポリゴンｑと２頂点を共有する”とは、ポリゴンｑと一つの辺を共有することを意味する。すなわち、隣接ポリゴンｒは一つの辺を共有することによりポリゴンｑと隣接するポリゴンである。抽出された隣接ポリゴンについては、それぞれ探索ステータスＳ（ｒ）＝１、グループ属性Ｇ（ｒ）＝ｇに設定する。
【００５８】
次に、ポリゴンｑの探索ステータスＳ（ｑ）＝２に設定する（ステップＳ１６）。すなわち、ポリゴンｑについては、隣接ポリゴンを設定した後の状態とする。そして、ステップＳ１３に戻って、全ポリゴンの中から、Ｓ（ｑ）＝１となるポリゴンｑを１つ抽出する。
【００５９】
図５に示したフローチャートでは、ステップＳ１２、Ｓ１３、Ｓ１４で構成されるループと、ステップＳ１３、Ｓ１５、Ｓ１６で構成されるループの２つのループ処理が存在する。ステップＳ１２、Ｓ１３、Ｓ１４で構成されるループでは、グループに未分類のポリゴンを抽出してグループに分類し（ステップＳ１２）、グループに分類済みのポリゴンの中から１つを隣接ポリゴン探索用のポリゴンとして抽出できない場合（ステップＳ１３）は、そのグループに分類すべきポリゴンは存在しないものとして、次のグループに移行（ｇ←ｇ＋１）する（ステップＳ１４）。ステップＳ１２、Ｓ１３、Ｓ１４で構成されるループでは、連続する一塊のポリゴン群を一つのグループとして分類する。したがって、ステップＳ１３において、Ｓ（ｑ）＝１となるポリゴンが存在しない場合には、グループに分類済みのいずれかのポリゴンに隣接するポリゴンが存在しないことになるので、グループｇへの分類を終え、グループｇ＋１への分類に移行するのである。
【００６０】
ステップＳ１３、Ｓ１５、Ｓ１６で構成されるループでは、グループに分類済みのポリゴンの中から１つを隣接ポリゴン探索用のポリゴンｑとして抽出し（ステップＳ１３）、全ポリゴンの中からポリゴンｑと２頂点を共有するポリゴンを隣接ポリゴンｒとして抽出し（ステップＳ１５）、抽出できた場合も抽出できない場合も、探索用のポリゴンｑの探索ステータスＳ（ｑ）を、ポリゴンｑに隣接するポリゴンの探索を終えた状態であるＳ（ｑ）＝２に設定する。
【００６１】
ステップＳ１２、Ｓ１３、Ｓ１４で構成されるループと、ステップＳ１３、Ｓ１５、Ｓ１６で構成されるループの２つのループ処理を用いることにより、全Ｐ個のポリゴンが、２頂点を共有して連続するポリゴン群ごとにグループに分類される。１頂点しか共有しないポリゴンのみで隣接している場合は、別のグループとして分類されることになる。図５に従った処理を実行することにより領域別ポリゴン集合を構成するポリゴンは複数のグループに分類されることになる。
【００６２】
＜２．３．２．ポリゴン削除処理＞
次に、ステップＳ１２０におけるポリゴン削減手段１０によるポリゴン削除処理について説明する。図６は、ポリゴン削除の基本原理を示す図である。ポリゴン集合は、現実には、空間における三次元の値をもつポリゴンの集合であるが、図６の例では、説明の便宜上、二次元の値をもつポリゴンを示している。図６（ａ）の例では、削除前、１８個のポリゴンからなるポリゴン群を示している。
【００６３】
図７は、ポリゴン削減手段１０によるポリゴン削除処理の詳細を示すフローチャートである。まず、ポリゴン削減手段１０は、ポリゴン集合を構成する全ポリゴンを対象として、各ポリゴンの面積および周長を算出する（ステップＳ２１）。次に、ポリゴン削減手段１０は、算出された面積と周長を乗じた値が最小となるポリゴンを削除対象ポリゴンとして選定する（ステップＳ２２）。図６の例では、図６（ｂ）に示すように、３個の頂点Ｅ、Ｊ、Ｋで構成されるポリゴンＥＪＫが削除対象ポリゴンとして選定される。
【００６４】
続いて、ポリゴン削減手段１０は、削除対象ポリゴンの３辺のうち最短の１辺を削除対象辺として選定し、選定した削除対象辺の中点を算出する（ステップＳ２３）。図６の例では、図６（ｃ）に示すように、削除対象ポリゴンＥＪＫの辺ＪＫが削除対象辺として選定される。さらに、辺ＪＫの中点Ｏが算出される。
【００６５】
次に、ポリゴン削減手段１０は、削除対象ポリゴンを削除する（ステップＳ２４）。これによりポリゴン数が１つ削減されることになる。次に、ポリゴン削減手段１０は、削除対象ポリゴンの削除対象辺と頂点を共有していた削除頂点共有ポリゴンを順次選定する（ステップＳ２５）。削除対象ポリゴンの削除対象辺と２頂点を共有（すなわち辺を共有）している削除頂点共有ポリゴンが選定された場合には、ポリゴン削減手段１０は、その削除頂点共有ポリゴンを削除する（ステップＳ２６）。図６の例では、３個の頂点Ｊ、Ｋ、Ｎで構成されるポリゴンＪＫＮが削除される。これによりさらにポリゴン数が１つ削減されることになる。削除対象ポリゴンの削除対象辺と１頂点を共有している削除頂点共有ポリゴンが選定された場合には、ポリゴン削減手段１０は、共有頂点をステップＳ２３で算出された中点に補正し、面積および周長を再算出する（ステップＳ２７）。図６の例では、図６（ｃ）と図６（ｄ）を比較するとわかるように、ポリゴンＥＨＪ→ポリゴンＥＨＯ、ポリゴンＥＦＫ→ポリゴンＥＦＯ、ポリゴンＨＪＭ→ポリゴンＨＯＭ、ポリゴンＪＭＮ→ポリゴンＯＭＮ、ポリゴンＦＫＮ→ポリゴンＦＯＮに変更される。この結果、図６の例では、図６（ａ）の時点では１８個あったポリゴンが、図６（ｄ）の時点では１６個に削減される。
【００６６】
ステップＳ２５〜ステップＳ２７の処理を終えたら、ポリゴン削減手段１０は、削減後の全ポリゴン数が、設定された目標値以下となっているか否かを判定する（ステップＳ２８）。目標値としては、事前に任意の値を設定することができる。判定の結果、全ポリゴン数が目標値以下となっていない場合は、ステップＳ２２に戻って、ポリゴン削減手段１０は、残っているポリゴンの中から、面積と周長を乗じた値が最小となるポリゴンを削除対象ポリゴンとして選定する。ステップＳ２８における判定の結果、全ポリゴン数が目標値以下である場合は、ポリゴン削減処理を終了する。図７のフローチャートに従った処理を実行することにより、各グループについて設定された目標値以下になるように、ポリゴン数が削減されることになる。
【００６７】
＜２．３．３．小体積グループ削除処理＞
次に、ステップＳ１４０におけるポリゴン削減手段１０による隔離された小体積グループの削除処理について説明する。ここで、隔離された小体積グループの削除処理の説明に先立ち、隔離された小体積グループの削除処理を行う理由について説明しておく。図８は、ポリゴン削除処理により生じる問題を説明するための図である。図８（ａ）は、ステップＳ１１０のグループ分類処理を終えた直後の２グループのポリゴン集合を示している。図８（ａ）の例では、頂点Ｄ、Ｅ、Ｋを含む左側のグループと、頂点Ｄ’、Ｅ’、Ｋ’を含む右側のグループが存在する。頂点ＤとＤ’、頂点ＥとＥ’、頂点ＫとＫ’がそれぞれ３Ｄプリンタの解像度以下である場合、この２グループのポリゴン集合を３Ｄプリンタで出力すると、頂点ＤとＤ’、頂点ＥとＥ’、頂点ＫとＫ’は樹脂等により連結され、２グループは連結した物体として出力される。すなわち、２グループは物理的には接着されている。
【００６８】
図８（ａ）に示した右側のグループのポリゴン集合に対して、ステップＳ１２０におけるポリゴン削除処理を実行すると、図８（ｂ）に示すように、ポリゴンＥ’ＦＫ’が削除対象ポリゴンとして選定される。さらに、図８（ｃ）に示すように、削除対象ポリゴンＥ’ＦＫ’の最短辺Ｅ’Ｆが削除対象辺として選定され、辺Ｅ’Ｆの中点Ｏが算出される。そして、図８（ｄ）に示すように、削除対象ポリゴンＥ’ＦＫ’と、削除頂点共有ポリゴンＤ’Ｅ’Ｆが削除される。
【００６９】
図８（ａ）と図８（ｄ）を比較するとわかるように、左右の２つのグループは、ポリゴン削除処理前に比べて、ポリゴン削除処理後には、より離れてしまっている。図８（ｄ）に示した２グループの距離が、３Ｄプリンタの解像度を超えると、２グループのポリゴン集合を３Ｄプリンタで出力した場合、２グループは別の物体として出力される。２つのグループがともに大きな物体となれば、問題はない。しかし、一つが非常に小さな物体となる場合、例えば、一方のグループが本体であって、他方のグループが本体に付属するヒゲのようなものである場合、本体と別に出力されたヒゲは、３Ｄプリンタ内に紛れ込み、機械詰まり等の問題を引き起こす恐れがある。このような問題を除去するため、上述のヒゲのような隔離された小体積グループの削除処理を行うのである。
【００７０】
図９は、ポリゴン削減手段１０による隔離された小体積グループの削除処理の詳細を示すフローチャートである。ポリゴン削減手段１０は、まず、グループごとに全ポリゴンの全頂点を対象として、Ｘ、Ｙ、Ｚぞれぞれの方向の最大値および最小値を算出する（ステップＳ４１）。この結果、グループｇに対して、最小値Ｘｍｉｎ（ｇ）、最大値Ｘｍａｘ（ｇ）、最小値Ｙｍｉｎ（ｇ）、最大値Ｙｍａｘ（ｇ）、最小値Ｚｍｉｎ（ｇ）、最大値Ｚｍａｘ（ｇ）が得られる。次に、ポリゴン削減手段１０は、グループごとに外接直方体の体積を算出する（ステップＳ４２）。具体的には、以下の〔数式１〕に従った処理を実行することにより、グループｇの外接直方体の体積Ｖ（ｇ）を算出する。
【００７１】
〔数式１〕
Ｖ（ｇ）＝（Ｘｍａｘ（ｇ）−Ｘｍｉｎ（ｇ））×（Ｙｍａｘ（ｇ）−Ｙｍｉｎ（ｇ））×（Ｚｍａｘ（ｇ）−Ｚｍｉｎ（ｇ））
【００７２】
ポリゴン削減手段１０は、全グループに対してステップＳ４１、Ｓ４２の処理を実行する。これにより、全グループについて、外接直方体の体積が得られる。次に、ポリゴン削減手段１０は、全グループの中で外接直方体の体積が最小となるグループを特定する（ステップＳ４３）。そして、ポリゴン削減手段１０は、特定したグループと他の全てのグループとの最小間隔を算出する（ステップＳ４４）。ステップＳ４４における最小間隔の算出処理の詳細については後述する。
【００７３】
続いて、ポリゴン削減手段１０は、ステップＳ４４において算出された最小間隔が所定のしきい値以上か否かを判定する（ステップＳ４５）。最小間隔と比較するための所定のしきい値としては、３Ｄプリンタ出力時に０．２ｍｍに相当する数値とすることが好ましい。判定の結果、最小間隔が所定のしきい値以上である場合は、体積最小のグループが、最も近いグループとも所定の距離以上離れていることになるので、ポリゴン削減手段１０は、体積最小のグループを削除する処理を行う（ステップＳ４６）。ステップＳ４５における判定の結果、最小間隔が所定のしきい値未満である場合は、体積最小のグループが、最も近いグループと３Ｄプリンタの解像度以下に近接していることになるので、ポリゴン削減手段１０は、体積最小のグループを削除する処理を行わない。
【００７４】
ステップＳ４６におけるグループの削除を行った場合、削除を行わなかった場合のいずれにおいても、そのグループについては処理済みとする。そして、ステップＳ４３に戻って、未処理のグループの中で外接直方体の体積が最小となるグループを特定する。ステップＳ４３〜ステップＳ４６の処理を繰り返し、全てのグループに対する処理を終えたら、隔離された小体積グループの削除処理を終了する。
【００７５】
ステップＳ４４における最小間隔の算出処理の詳細について説明する。図１０は、図９のステップＳ４４における最小間隔の算出処理の詳細を示すフローチャートである。ポリゴン削減手段１０は、初期値として、最小間隔を示す変数ｄｍｉｎに所定以上の値を設定する。ｄｍｉｎに与える初期値としては、グループ間の最小間隔としてあり得ない大きな値を設定しておけばよい。そして、ポリゴン削減手段１０は、全グループの中から、グループｇより体積が大きい１つのグループｈを抽出する（ステップＳ４７）。この結果、グループｈについて、最小値Ｘｍｉｎ（ｈ）、最大値Ｘｍａｘ（ｈ）、最小値Ｙｍｉｎ（ｈ）、最大値Ｙｍａｘ（ｈ）、最小値Ｚｍｉｎ（ｈ）、最大値Ｚｍａｘ（ｈ）が得られる。次に、ポリゴン削減手段１０は、Ｘ、Ｙ、Ｚの各方向別に２グループ間の差分の絶対値の最小値を算出する（ステップＳ４８）。具体的には、以下の〔数式２〕に従った処理を実行することにより、Ｘ方向の差分の絶対値の最小値ｄｘ、Ｙ方向の差分の絶対値の最小値ｄｙ、Ｚ方向の差分の絶対値の最小値ｄｚを算出する。
【００７６】
〔数式２〕
ｄｘ＝Ｍｉｎ｛｜Ｘｍａｘ（ｇ）−Ｘｍｉｎ（ｈ）｜，｜Ｘｍｉｎ（ｇ）−Ｘｍａｘ（ｈ）｜｝
ｄｙ＝Ｍｉｎ｛｜Ｙｍａｘ（ｇ）−Ｙｍｉｎ（ｈ）｜，｜Ｙｍｉｎ（ｇ）−Ｙｍａｘ（ｈ）｜｝
ｄｚ＝Ｍｉｎ｛｜Ｚｍａｘ（ｇ）−Ｚｍｉｎ（ｈ）｜，｜Ｚｍｉｎ（ｇ）−Ｚｍａｘ（ｈ）｜｝
【００７７】
続いて、ポリゴン削減手段１０は、算出された方向別の差分の絶対値の最小値のうち最大のものをグループ間最小値とし、グループ間最小値を、既に処理済みの他のグループ間における全グループ間最小値と比較し、小さい方を全グループ間最小値とする処理を行う（ステップＳ４９）。具体的には、ステップＳ４８において算出された３つの方向別最小値ｄｘ、ｄｙ、ｄｚのうち、最大の値をとるグループ間最小値Ｍａｘ（ｄｘ、ｄｙ、ｄｚ）とｄｍｉｎを比較し、Ｍａｘ（ｄｘ、ｄｙ、ｄｚ）＜ｄｍｉｎの場合、ｄｍｉｎ＝Ｍａｘ（ｄｘ、ｄｙ、ｄｚ）とする。これにより、ｄｍｉｎには、グループ間最小値の中で最小の値となる全グループ間最小値が記録されることになる。
【００７８】
ステップＳ４７、Ｓ４８、Ｓ４９の処理を繰り返して実行し、グループｇより体積が大きい全てのグループに対する処理を終えたら、図１０に示した最小間隔の算出処理を終了し、図９のステップＳ４５に進んで、最小間隔ｄｍｉｎとしきい値との比較を行うことになる。
【００７９】
＜２．３．４．ポリゴン集合の合成＞
図４のフローチャートに示したように、ステップＳ１５０においては、ポリゴン削減手段１０が、全グループのポリゴン集合の合成を行って更新された領域別ポリゴン集合を得る。また、ステップＳ１７０においては、ポリゴン削減手段１０が、全領域の領域別ポリゴン集合の合成を行って合成ポリゴン集合を得る。いずれの合成処理も、ヘッダ部を除く領域別ポリゴン集合を単純に結合し、ヘッダ部に合算されたポリゴン数を記録することにより行われる。合成ポリゴン集合は、ポリゴンが削減された対象モデルとなる。
【００８０】
＜２．４．ポリゴン対応付け処理＞
次に、ステップＳ２００のポリゴン対応付け処理について説明する。まず、ポリゴン対応付け処理を行う理由について説明する。２つのポリゴンモデルの比較を行う手法としては、後述するポリゴンモデル照合手段３０による処理も同様であるように、全体形状を比較する手法がある。図１１は全体形状の比較による問題点を示す図である。図１１に示すように、全体形状で比較する場合、事前に正規化処理を行う必要があり、正規化処理では始めにモデル全体の重心を算出する必要がある。この時、図１１に示した対象モデルのような複合モデルでは重心位置が大幅にずれてしまい、双方で整合性をもたせながら正規化を実行することが難しい。
【００８１】
図１２は、本実施形態におけるポリゴン対応付け処理の基本原理を示す図である。図１２において、規制モデル、対象モデルは、それぞれ図１１に示したものと同一であり、対象モデルは複合モデルとなっている。規制モデルの形状と対応する対象モデルの形状とでポリゴン構成が同一であるという条件を付加すれば、図１２に示すように、ポリゴンの順序、スケール、アングルが変化しても各ポリゴンは相似形を維持する。具体的には、三角形の３辺の比率（ac:ab:bc）および３頂点ABCの角度は変化しない。このため、本実施形態におけるポリゴン対応付け処理を実行することにより、出力対象が複数の部品で構成されており、規制すべき部品を含んでいる場合に、出力規制を行うことが可能となる。
【００８２】
ポリゴン対応付け処理について具体的に説明していく。図１３は、ポリゴン対応付け処理の詳細を示すフローチャートである。ここでは、ステップＳ１００においてポリゴン数が削減された対象モデルのポリゴン数Ｎ、ポリゴンを特定する変数ｉ（ｉ＝０，・・・，Ｎ−１）とし、各ポリゴンｉの頂点を（Ｘｐ（ｉ），Ｙｐ（ｉ），Ｚｐ（ｉ））と定義されたものとする。ｐは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、ｐ＝０，１，２の３つの値をとる。
【００８３】
ポリゴン対応付け処理においては、まず、ポリゴン対応付け手段１５は、ポリゴン削減後の対象モデルの各ポリゴンのパラメータを算出する（ステップＳ２１０）。具体的には、対象モデルを構成する各ポリゴンについて、ポリゴンの形状を特徴付けるパラメータを算出する。まず、以下の〔数式３〕に従った処理を実行することにより、ポリゴンの各辺の長さＬｐ（ｉ）を算出する。上述のように、本実施形態では、ポリゴンが三角形であるため、ｐ＝０，１，２の３通りである。
【００８４】
〔数式３〕
Ｌ０（ｉ）＝［｛Ｘ１（ｉ）−Ｘ０（ｉ）｝2＋｛Ｙ１（ｉ）−Ｙ０（ｉ）｝2＋｛Ｚ１（ｉ）−Ｚ０（ｉ）｝2］1/2
Ｌ１（ｉ）＝［｛Ｘ２（ｉ）−Ｘ１（ｉ）｝2＋｛Ｙ２（ｉ）−Ｙ１（ｉ）｝2＋｛Ｚ２（ｉ）−Ｚ１（ｉ）｝2］1/2
Ｌ２（ｉ）＝［｛Ｘ０（ｉ）−Ｘ２（ｉ）｝2＋｛Ｙ０（ｉ）−Ｙ２（ｉ）｝2＋｛Ｚ０（ｉ）−Ｚ２（ｉ）｝2］1/2
【００８５】
次に、ポリゴン対応付け手段１５は、算出された三辺の長さＬｐ（ｉ）（ｐ＝０，１，２）の順番をＬ０（ｉ）≧Ｌ１（ｉ）≧Ｌ２（ｉ）となるように入れ替える。具体的には、以下の〔数式４〕に従った処理を実行する。
【００８６】
〔数式４〕
Ｌ０（ｉ）＜Ｌ１（ｉ）の場合、Ｌ０（ｉ）とＬ１（ｉ）の値を入れ替える。
Ｌ０（ｉ）＜Ｌ２（ｉ）の場合、Ｌ０（ｉ）とＬ２（ｉ）の値を入れ替える。
Ｌ１（ｉ）＜Ｌ２（ｉ）の場合、Ｌ１（ｉ）とＬ２（ｉ）の値を入れ替える。
【００８７】
続いて、ポリゴン対応付け手段１５は、特徴パラメータＲｐ（ｉ）（ｐ＝１，２）を算出する。特徴パラメータとしては、辺の長さに基づくものと、頂点の角度に基づくものの２種類のどちらかを用いることができる。辺の長さに基づく特徴パラメータの場合、ポリゴン対応付け手段１５は、以下の〔数式５〕に従った処理を実行して特徴パラメータＲｐ（ｉ）を算出する。
【００８８】
〔数式５〕
Ｒ１（ｉ）＝Ｌ１（ｉ）／Ｌ０（ｉ）
Ｒ２（ｉ）＝Ｌ２（ｉ）／Ｌ０（ｉ）
【００８９】
上記〔数式５〕に示すように、辺の長さに基づく場合、特徴パラメータＲｐ（ｉ）は、最長辺と他の２辺の長さの比率として算出される。長さの順は、Ｌ０（ｉ）≧Ｌ１（ｉ）≧Ｌ２（ｉ）となっているので、Ｒ１（ｉ）≧Ｒ２（ｉ）となる。
【００９０】
一方、頂点の角度に基づく特徴パラメータの場合、ポリゴン対応付け手段１５は、以下の〔数式６〕に従った処理を実行して特徴パラメータＲｐ（ｉ）を算出する。
【００９１】
〔数式６〕
Ｒ１（ｉ）＝ｃｏｓ-1｛Ｌ０（ｉ）×０．５／Ｌ１（ｉ）｝
Ｒ２（ｉ）＝ｃｏｓ-1｛Ｌ０（ｉ）×０．５／Ｌ２（ｉ）｝
【００９２】
上記〔数式６〕に示すように、頂点の角度に基づく場合、特徴パラメータＲｐ（ｉ）は、最長辺の両端の角度として算出される。長さの順は、Ｌ０（ｉ）≧Ｌ１（ｉ）≧Ｌ２（ｉ）となっているので、Ｒ１（ｉ）≦Ｒ２（ｉ）となる。
【００９３】
ステップＳ２１０において、対象モデルのＮ個の各ポリゴンについて特徴パラメータＲｐ（ｉ）が算出されたら、次に、ポリゴン対応付け手段１５は、規制モデルデータベース５０に登録された規制モデルを１つ抽出する（ステップＳ２２０）。さらに、ポリゴン対応付け手段１５は、抽出した規制モデルのポリゴン数Ｍと、対象モデルのポリゴン数Ｎを比較する。そして、規制モデルのポリゴン数Ｍが対象モデルのポリゴン数Ｎよりも多い場合は、その規制モデルを処理対象から除外し、ステップＳ２２０に戻って次の規制モデルの抽出を行う。上述のように、規制モデルは、部品単位で登録されており、対象モデルは複数の部品が組み合わさった複合部品または完成品であることが多い。そのため、通常は、対象モデルのポリゴン数が多いことになる。そのため、ここでは、規制モデルのポリゴン数が対象モデルのポリゴン数より多い場合は、処理対象から除外するのである。
【００９４】
次に、ポリゴン対応付け手段１５は、除外されなかった規制モデルの特徴パラメータを、規制モデルデータベース５０から抽出する（ステップＳ２３０）。この特徴パラメータは、対象モデルの場合と同様の処理を事前に行って算出され、規制モデルの各ポリゴンに対応付けて登録されたものである。
【００９５】
続いて、ポリゴン対応付け手段１５は、対象モデルと規制モデルの特徴パラメータの比較を行う（ステップＳ２４０）。図１４は、ステップＳ２４０の特徴パラメータの比較処理の詳細を示すフローチャートである。ここでは、対象モデルを、ポリゴン数Ｎ、ポリゴンを特定する変数ｉ（ｉ＝０，・・・，Ｎ−１）とし、各ポリゴンｉの頂点を（Ｘｐ（ｉ），Ｙｐ（ｉ），Ｚｐ（ｉ））と定義されたものとする。ｐは、ｐ＝０，１，２の３つの値をとる頂点番号とする。
【００９６】
ポリゴン対応付け手段１５は、まず、初期設定を行い、Ｄ＝０，ｊ＝０，Ｓ（ｉ）＝０とする（ステップＳ２４１）。Ｄは判定しきい値Ｄｓと比較するために、形状相違度の一部として出力される変数である。ｊ＝０は、規制モデルで最初に処理されるポリゴンのポリゴン番号である。Ｓ（ｉ）は、対象モデルの各ポリゴンｉに対応する対応付け配列であり、規制モデルのポリゴンｊとの対応付けがなされた場合に“１”が記録され、対応付けがなされなかった場合は“０”が記録される。Ｓ（ｉ）＝０は、対象モデルの全てのポリゴンについて、対応付け配列の値を０に設定しておくことを示す。次に、ｉ＝０，ｉｍｍ＝−１，Ｍｉｎ＝ＢＩＧに設定する（ステップＳ２４２）。
【００９７】
ｉ＝０は、対象モデルで最初に処理されるポリゴンのポリゴン番号である。ｉｍｍは、比較結果が最小となるときのｉの値を格納する変数である。Ｍｉｎは初期値ＢＩＧに設定される。ＢＩＧとしては、Ｍｉｎとして取り得ない程度の大きな値を設定しておく。
【００９８】
次に、Ｓ（ｉ）＝０であるか否かを判定する（ステップＳ２４３）。Ｓ（ｉ）＝０である場合は、そのポリゴンｉについては、まだ対応付けがなされていないことになるので、形状相違度Ｖの算出を行う（ステップＳ２４４）。具体的には、ポリゴン対応付け手段１５は、以下の〔数式７〕に従った処理を実行して形状相違度Ｖを算出する。
【００９９】
〔数式７〕
Ｒ１（ｉ）＞Ｒｄ１（ｊ）ならば、Ｖ１＝Ｒ１（ｉ）／Ｒｄ１（ｊ）
Ｒ１（ｉ）≦Ｒｄ１（ｊ）ならば、Ｖ１＝Ｒｄ１（ｉ）／Ｒ１（ｊ）
Ｒ２（ｉ）＞Ｒｄ２（ｊ）ならば、Ｖ２＝Ｒ２（ｉ）／Ｒｄ２（ｊ）
Ｒ２（ｉ）≦Ｒｄ２（ｊ）ならば、Ｖ２＝Ｒｄ２（ｉ）／Ｒ２（ｊ）
Ｖ＝Ｖ１×Ｖ２
【０１００】
上記〔数式７〕において、Ｒｄ１（ｊ）、Ｒｄ２（ｊ）は、規制モデルの各ポリゴンｊの特徴パラメータであり、対象モデルの特徴パラメータＲ１（ｉ）、Ｒ２（ｉ）と同様、辺の長さに基づく場合、Ｒｄ１（ｊ）≧Ｒｄ２（ｊ）となる。また、頂点の角度に基づく場合、Ｒｄ１（ｊ）≦Ｒｄ２（ｊ）となる。したがって、上記〔数式７〕の第１式、第２式においては、辺の長さに基づく特徴パラメータの場合、最長辺と２番目に長い辺の長さの比率同士の比率Ｖ１を算出し、頂点の角度に基づく特徴パラメータの場合、最長辺の両端のうち小さい方の角の角度同士の比率Ｖ１を算出する。また、上記〔数式７〕の第３式、第４式においては、辺の長さに基づく特徴パラメータの場合、最長辺と一番短い辺の長さの比率同士の比率Ｖ２を算出し、頂点の角度に基づく特徴パラメータの場合、最長辺の両端のうち大きい方の角の角度同士の比率Ｖ２を算出する。Ｖ１、Ｖ２のいずれも１以上の値となるように算出される。上記〔数式７〕の第５式においては、１以上の値である比率Ｖ１とＶ２を乗じて形状相違度Ｖを算出している。対象モデルのポリゴンｉと規制モデルのポリゴンｊの形状が相似形も含めて類似している程、形状相違度Ｖの値は小さくなる。
【０１０１】
ステップＳ２４４においては、さらに、形状相違度ＶとＭｉｎを比較し、ＶがＭｉｎより小さい場合に、Ｍｉｎ＝Ｖとし、ｉｍｍ＝ｉとする。すなわち、ステップＳ２４４の処理後には、それまでの対象モデルのポリゴンｉについて算出された形状相違度Ｖのうち、最小のものがＭｉｎとして保持される。また、形状相違度Ｖが最小となったときのポリゴン番号ｉがｉｍｍとして保持される。
【０１０２】
そして、ｉを１だけインクリメント（ｉ←ｉ＋１）して対象モデルの処理対象ポリゴンを変更し（ステップＳ２４５）、対象モデルのポリゴン番号ｉとポリゴン数Ｎを比較する（ステップＳ２４６）。
【０１０３】
比較の結果、ｉがＮより小さい場合は、規制モデルの１つのポリゴンに対して対象モデルの全てのポリゴンの処理が終わっていないため、ステップＳ４４３に戻って、Ｓ（ｉ）＝０であるか否かの判定を行う。規制モデルの１つのポリゴンに対して対象モデルの全てのポリゴンについて、ステップＳ２４３〜ステップＳ２４５の処理を実行した後には、ｉ＝Ｎとなるので、ステップＳ２４７に進む。
【０１０４】
ステップＳ２４３〜ステップＳ２４５の処理を繰り返すことにより、Ｍｉｎには、規制モデルの１つのポリゴンと対象モデルの各ポリゴンの形状相違度Ｖのうち、最小の値である最小形状相違度が記録される。これは、規制モデルの１つのポリゴンと最も形状が類似する対象モデルのポリゴンとの形状相違度となる。次に、形状相違度Ｖが最小となったときのポリゴン番号ｉｍｍに対応する対応付け配列Ｓ（ｉｍｍ）＝１に設定する（ステップＳ２４７）。これにより、対象モデルのポリゴン番号ｉｍｍのポリゴンｉｍｍについては、規制モデルのポリゴンとの対応付けがなされたことが記録される。また、ステップＳ２４７においては、最小形状相違度であるＭｉｎをＤに加算する。ここでは、調整のため１だけ減じているが、不要な場合は１を減じる必要はない。そして、ｊを１だけインクリメント（ｊ←ｊ＋１）して規制モデルの処理対象ポリゴンを変更し、規制モデルのポリゴン番号ｊとポリゴン数Ｍを比較する（ステップＳ２４８）。
【０１０５】
比較の結果、ｊがＭより小さい場合は、規制モデルの全てのポリゴンに対して処理が終わっていないため、ステップＳ２４２に戻って、規制モデルの次のポリゴンに対して処理を行う。規制モデルの全てのポリゴンについて、ステップＳ２４２〜ステップＳ２４７の処理を実行した後には、ｊ＝Ｍとなるので、ステップＳ２４９に進む。
【０１０６】
ステップＳ２４２〜ステップＳ２４７の処理を繰り返すことにより、Ｄには、規制モデルの各ポリゴンに対する最小形状相違度Ｍｉｎの総和が記録される。
【０１０７】
最小形状相違度総和Ｄが得られたら、ポリゴン対応付け手段１５は、は、最小形状相違度総和Ｄを規制モデルのポリゴン数Ｍで除した値である形状相違度平均Ｄ／Ｍと判定しきい値Ｄｓとの比較を行う（ステップＳ２４９）。Ｄ／Ｍが判定しきい値Ｄｓより小さい場合は、適合と判定し、Ｄ／Ｍが判定しきい値Ｄｓ以上である場合は、不適合と判定する。判定しきい値Ｄｓとしては、適宜設定可能であるが、ここでは、０．０１としてある。
【０１０８】
ステップＳ２４９において不適合と判定された場合には、図１３に示すように、ステップＳ２２０に戻って、規制モデルデータベース５０から次の規制モデルを抽出する。ステップＳ２４９において適合と判定された場合には、対象モデルの中から対応付けが行われたポリゴンのみを抽出する。
【０１０９】
図１５は、対応付けが行われたポリゴンの抽出処理を示すフローチャートである。まず、対象モデルのポリゴン番号ｉ、規制モデルのポリゴン番号ｊとして用いた変数ｉ，ｊを初期化してｉ＝ｊ＝０とする（ステップＳ２５０）。次に、Ｓ（ｉ）＝０であるか否かを判定する（ステップＳ２５１）。Ｓ（ｉ）＝０でない場合、すなわちＳ（ｉ）＝１である場合は、そのポリゴンｉについては、規制モデルのポリゴンと対応付けがなされたことを示すので、対応ポリゴンとして特定する（ステップＳ２５２）。具体的には、ポリゴン対応付け手段１５は、以下の〔数式８〕に従った処理を実行して対応ポリゴンを特定する。
【０１１０】
〔数式８〕
ｐ＝０，１，２について、
Ｘｐ（ｊ）＝Ｘｐ（ｉ）
Ｙｐ（ｊ）＝Ｙｐ（ｉ）
Ｚｐ（ｊ）＝Ｚｐ（ｉ）
ｊ←ｊ＋１
【０１１１】
上記〔数式８〕に示すように、対象モデルの全ポリゴン数Ｎに対応するポリゴン番号ｉを、規制モデルの全ポリゴン数Ｍに対応するポリゴン番号ｊに置き換える。これにより、対象モデルの全ポリゴンのうち対応ポリゴンのみが、連続する変数に対応付けて特定される。
【０１１２】
そして、ｉを１だけインクリメント（ｉ←ｉ＋１）して対象モデルのポリゴンを変更し（ステップＳ２５３）、対象モデルのポリゴン番号ｉとポリゴン数Ｎを比較する（ステップＳ２５４）。
【０１１３】
比較の結果、ｉがＮより小さい場合は、対象モデルの全てのポリゴンについて特定が終わっていないため、ステップＳ２５１に戻って、対応ポリゴンの特定を行う。対象モデルの全てのポリゴンに対して、ステップＳ２５１〜ステップＳ２５３の処理を実行した後には、ｉ＝Ｎとなるので、対応ポリゴンの抽出処理を終了する。抽出された対応ポリゴンの集合は、対応付けがなされた対象モデルとなる。対応付けがなされた対象モデルは、元の対象モデルから対応付けがなされたポリゴンのみを抽出して構成されたものであり、上記の例では、ポリゴン数はＮ個からＭ個に減少している。このＭ個のポリゴンには、規制モデル内に形状の相違度が小さいポリゴン（対応するポリゴン）が存在したことになる。ステップＳ２００のポリゴン対応付け処理により対象モデルのポリゴンの対応付けが行われたことになるが、この対応付けは、いずれかの規制モデルに形状の相違度が小さいポリゴンが存在するという意味での対応付けであり、規制モデルのどのポリゴンと対応するかという対応付けまでは行っていない。
【０１１４】
ポリゴン対応付け手段１５によるポリゴン対応付け処理（ステップＳ２００）の結果、適合と判定された場合には、対象モデルの各ポリゴンに類似するポリゴン（対応するポリゴン）が規制ポリゴンに存在することになるので、規制すべき対象である可能性が高い。図１６は、正しいポリゴン対応付けの例を示す図である。図１６の例では、規制モデルが、４個のポリゴンで構成される矩形状のポリゴンモデルであり、対象モデルが、４個のポリゴンで構成される矩形状の物体が２つ存在するポリゴンモデルである。また、矢印は、規制モデルのポリゴンからの対象モデルのポリゴンへの対応関係を示している。図１６の例では、規制モデルが部品であり、対象モデルが規制モデルと同一の部品を含む完成品であることが明確であり、出力規制すべきものであることは明らかである。図１６に示すような場合は、ポリゴン正規化手段２０、ポリゴンモデル照合手段３０による処理を行わず、そのまま出力適否判定手段３５により出力不適と判定するようにしてもよい。
【０１１５】
しかし、ポリゴン対応付け手段１５によるポリゴン対応付け処理（ステップＳ２００）の結果、適合と判定された場合であっても、規制すべき対象でない可能性もある。図１７は、誤ったポリゴン対応付けの例を示す図である。図１７の例では、対象モデルは、図１６と同様、４個のポリゴンで構成される矩形状の物体が２つ存在するポリゴンモデルであるが、規制モデルは、矩形状でなく、４個のポリゴンが集まったポリゴンモデルである。矢印は、規制モデルのポリゴンからの対象モデルのポリゴンへの対応関係を示している。図１７の例では、両者は明らかに相違し、対象モデルは出力を規制すべきものではないが、類似するポリゴンが存在するため、ポリゴン対応付け処理（ステップＳ２００）の結果、適合と判定されてしまう。図１７に示したような場合に、出力を規制すべきと判定するのを防ぐために、本実施形態では、さらに、ポリゴン正規化手段２０、ポリゴンモデル照合手段３０による処理を行うようにしているのである。
【０１１６】
＜２．５．ポリゴン正規化処理＞
次に、図３のステップＳ３００のポリゴン正規化処理について説明する。図１８は、ポリゴン正規化処理の詳細を示すフローチャートである。ステップＳ２００におけるポリゴン対応付け処理により、対象モデルのポリゴン数は減少したが、ここでは、改めてステップＳ２００においてポリゴンの対応付けがなされた対象モデルのポリゴン数Ｎ、ポリゴンを特定する変数ｉ（ｉ＝０，・・・，Ｎ−１）とし、各ポリゴンｉの頂点を（Ｘｐ（ｉ），Ｙｐ（ｉ），Ｚｐ（ｉ））と定義されたものとする。ｐは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、ｐ＝０，１，２の３つの値をとる。
【０１１７】
まず、ステップＳ１００においてポリゴン数が削減された対象モデルにおける基準点を算出する（ステップＳ３１０）。具体的には、ポリゴンモデルを構成する各ポリゴンについて、頂点の平均となる平均点を算出し、ポリゴンモデルを構成するＮ個のポリゴンの平均点の平均値をポリゴンモデルの基準点として算出する。具体的には、まず、以下の〔数式９〕に従った処理を実行することにより、各ポリゴンの平均点（Ｘｃ（ｉ），Ｙｃ（ｉ），Ｚｃ（ｉ））を算出する。
【０１１８】
〔数式９〕
Ｘｃ（ｉ）＝｛Ｘ０（ｉ）＋Ｘ１（ｉ）＋Ｘ２（ｉ）｝／３
Ｙｃ（ｉ）＝｛Ｙ０（ｉ）＋Ｙ１（ｉ）＋Ｙ２（ｉ）｝／３
Ｚｃ（ｉ）＝｛Ｚ０（ｉ）＋Ｚ１（ｉ）＋Ｚ２（ｉ）｝／３
【０１１９】
次に、以下の〔数式１０〕に従った処理を実行することにより、ポリゴンモデルの基準点（Ｘｇ，Ｙｇ，Ｚｇ）を算出する。
【０１２０】
〔数式１０〕
Ｘｇ＝｛Σi=0,N-1Ｘｃ（ｉ）｝／Ｎ
Ｙｇ＝｛Σi=0,N-1Ｙｃ（ｉ）｝／Ｎ
Ｚｇ＝｛Σi=0,N-1Ｚｃ（ｉ）｝／Ｎ
【０１２１】
上記〔数式１０〕において、Σの添え字の“ｉ＝０，Ｎ−１”は、ｉが０からＮ−１の全ての整数をとる場合について、総和を求めることを示している。以下の数式においても同様である。次に、対象モデルの主軸を求める（ステップＳ３２０）。具体的には、基準点（Ｘｇ，Ｙｇ，Ｚｇ）から各ポリゴンの平均点までの距離を算出し、そのうち最長である最長距離を主軸とする。具体的には、以下の〔数式１１〕に従った処理を実行することにより、主軸の長さＬｍａｘ（最長距離）を算出する。
【０１２２】
〔数式１１〕
Ｌｍａｘ
＝Ｍａｘi=0,N-1｛（Ｘｃ（ｉ）−Ｘｇ）2＋（Ｙｃ（ｉ）−Ｙｇ）2＋（Ｚｃ（ｉ）−Ｚｇ）2｝1/2
＝｛（Ｘｃ（ｉｍ）−Ｘｇ）2＋（Ｙｃ（ｉｍ）−Ｙｇ）2＋（Ｚｃ（ｉｍ）−Ｚｇ）2｝1/2
【０１２３】
上記〔数式１１〕において、Ｍａｘの添え字の“ｉ＝０，Ｎ−１”は、ｉが０からＮ−１の全ての整数をとる場合における、最大値を選択することを示している。以下の数式においても同様である。また、“ｉｍ”は、基準点との距離が最大となるポリゴンである最遠ポリゴンのポリゴン番号を示している。次に、対象モデルの移動およびスケーリングを行う（ステップＳ３３０）。具体的には、基準点（Ｘｇ，Ｙｇ，Ｚｇ）が原点（０，０，０）となるように移動した後、スケーリングとして、主軸の長さが基準長になるように、サイズ変更を行う。図１９は、ポリゴン正規化処理の概要を示す図である。図１９において示した直方体は、対象モデルの一例である。図１９（ａ）は、ＸＹＺの三次元空間において対象モデルの主軸が求められた状態を示している。ステップＳ３３０においては、以下の〔数式１２〕に従った処理を実行することにより、各ポリゴンの頂点座標および平均点座標を補正する。
【０１２４】
〔数式１２〕
Ｘｐ'（ｉ）＝｛Ｘｐ（ｉ）−Ｘｇ｝×１００／Ｌｍａｘ
Ｙｐ'（ｉ）＝｛Ｙｐ（ｉ）−Ｙｇ｝×１００／Ｌｍａｘ
Ｚｐ'（ｉ）＝｛Ｚｐ（ｉ）−Ｚｇ｝×１００／Ｌｍａｘ
Ｘｃ'（ｉ）＝｛Ｘ０'（ｉ）＋Ｘ１'（ｉ）＋Ｘ２'（ｉ）｝／３
Ｙｃ'（ｉ）＝｛Ｙ０'（ｉ）＋Ｙ１'（ｉ）＋Ｙ２'（ｉ）｝／３
Ｚｃ'（ｉ）＝｛Ｚ０'（ｉ）＋Ｚ１'（ｉ）＋Ｚ２'（ｉ）｝／３
【０１２５】
上記〔数式１２〕は、上記基準長を“１００”とした場合を示している。ステップＳ３３０の処理により、各ポリゴンｉの頂点は、（Ｘｐ'（ｉ），Ｙｐ'（ｉ），Ｚｐ'（ｉ））、各ポリゴンｉの平均点は（Ｘｃ'（ｉ），Ｙｃ'（ｉ），Ｚｃ'（ｉ））となる。また、対象モデルは、図１９（ｂ）に示すように、基準点が原点（０，０，０）と一致し、主軸の長さが基準長となる。
【０１２６】
次に、ＸＺ座標上で主軸をＺ軸正方向に揃えるようにＹ軸中心回転を行う（ステップＳ３４０）。具体的には、まず、以下の〔数式１３〕に従った処理を実行することにより、主軸とＺ軸正方向との角度Ａｎｇ、最遠ポリゴンの平均点Ｚ座標Ｚｃ''（ｉｍ）を求める。
【０１２７】
〔数式１３〕
Ａｎｇ＝−ｔａｎ-1（Ｘｃ'（ｉｍ）／Ｚｃ'（ｉｍ））
Ｚｃ''（ｉｍ）＝ｃｏｓ（Ａｎｇ）×Ｚｃ'（ｉｍ）−ｓｉｎ（Ａｎｇ）×Ｘｃ'（ｉｍ）
【０１２８】
さらに、Ｚｃ''（ｉｍ）の値に応じて場合分けし、以下の〔数式１４〕に従った処理を実行することにより、回転後の対象モデルを求める。
【０１２９】
〔数式１４〕
ｉ＝０，・・・，Ｎ−１、ｐ＝０，１，２において、
１）Ｚｃ''（ｉｍ）≧０の場合
Ｚｐ''（ｉ）＝ｃｏｓ（Ａｎｇ）×Ｚｐ'（ｉ）−ｓｉｎ（Ａｎｇ）×Ｘｐ'（ｉ）
Ｘｐ''（ｉ）＝ｓｉｎ（Ａｎｇ）×Ｚｐ'（ｉ）＋ｃｏｓ（Ａｎｇ）×Ｘｐ'（ｉ）
Ｚｃ''（ｉｍ）＝ｃｏｓ（Ａｎｇ）×Ｚｃ'（ｉｍ）−ｓｉｎ（Ａｎｇ）×Ｘｃ'（ｉｍ）
Ｘｃ''（ｉｍ）＝ｓｉｎ（Ａｎｇ）×Ｚｃ'（ｉｍ）＋ｃｏｓ（Ａｎｇ）×Ｘｃ'（ｉｍ）
２）Ｚｃ''（ｉｍ）＜０の場合
Ｚｐ''（ｉ）＝−ｃｏｓ（Ａｎｇ）×Ｚｐ'（ｉ）＋ｓｉｎ（Ａｎｇ）×Ｘｐ'（ｉ）
Ｘｐ''（ｉ）＝−ｓｉｎ（Ａｎｇ）×Ｚｐ'（ｉ）−ｃｏｓ（Ａｎｇ）×Ｘｐ'（ｉ）
Ｚｃ''（ｉｍ）＝−ｃｏｓ（Ａｎｇ）×Ｚｃ'（ｉｍ）＋ｓｉｎ（Ａｎｇ）×Ｘｃ'（ｉｍ）
Ｘｃ''（ｉｍ）＝−ｓｉｎ（Ａｎｇ）×Ｚｃ'（ｉｍ）−ｃｏｓ（Ａｎｇ）×Ｘｃ'（ｉｍ）
Ｚｃ''（ｉｍ）の値に関わらず、平均点を更新する。
Ｘｃ''（ｉ）＝｛Ｘ０''（ｉ）＋Ｘ１''（ｉ）＋Ｘ２''（ｉ）｝／３
Ｚｃ''（ｉ）＝｛Ｚ０''（ｉ）＋Ｚ１''（ｉ）＋Ｚ２''（ｉ）｝／３
【０１３０】
ステップＳ３４０の処理により、対象モデルは、図１９（ｃ）に示すように、主軸がＸＺ平面においてＺ軸と重なるようになる。
【０１３１】
次に、ＹＺ座標上で主軸をＺ軸正方向に揃えるようにＸ軸中心回転を行う（ステップＳ３５０）。具体的には、まず、以下の〔数式１５〕に従った処理を実行することにより、主軸とＺ軸正方向との角度Ａｎｇ、最遠ポリゴンの平均点Ｚ座標Ｚｃ'''（ｉｍ）を求める。
【０１３２】
〔数式１５〕
Ａｎｇ＝−ｔａｎ-1（Ｙｃ'（ｉｍ）／Ｚｃ''（ｉｍ））
Ｚｃ'''（ｉｍ）＝ｃｏｓ（Ａｎｇ）×Ｚｃ''（ｉｍ）−ｓｉｎ（Ａｎｇ）×Ｙｃ'（ｉｍ）
【０１３３】
さらに、Ｚｃ'''（ｉｍ）の値に応じて場合分けし、以下の〔数式１６〕に従った処理を実行することにより、回転後の対象モデルを求める。
【０１３４】
〔数式１６〕
ｉ＝０，・・・，Ｎ−１、ｐ＝０，１，２において、
１）Ｚｃ'''（ｉｍ）≧０の場合
Ｚｐ'''（ｉ）＝ｃｏｓ（Ａｎｇ）×Ｚｐ''（ｉ）−ｓｉｎ（Ａｎｇ）×Ｙｐ'（ｉ）
Ｙｐ''（ｉ）＝ｓｉｎ（Ａｎｇ）×Ｚｐ''（ｉ）＋ｃｏｓ（Ａｎｇ）×Ｙｐ'（ｉ）
２）Ｚｃ'''（ｉｍ）＜０の場合
Ｚｐ'''（ｉ）＝−ｃｏｓ（Ａｎｇ）×Ｚｐ''（ｉ）＋ｓｉｎ（Ａｎｇ）×Ｙｐ'（ｉ）
Ｙｐ''（ｉ）＝−ｓｉｎ（Ａｎｇ）×Ｚｐ''（ｉ）−ｃｏｓ（Ａｎｇ）×Ｙｐ'（ｉ）
Ｚｃ''（ｉｍ）の値に関わらず、平均点を更新する。
Ｙｃ''（ｉ）＝｛Ｙ０''（ｉ）＋Ｙ１''（ｉ）＋Ｙ２''（ｉ）｝／３
Ｚｃ'''（ｉ）＝｛Ｚ０'''（ｉ）＋Ｚ１'''（ｉ）＋Ｚ２'''（ｉ）｝／３
【０１３５】
ステップＳ３５０の処理により、対象モデルは、図１９（ｄ）に示すように、主軸がＹＺ平面においてＺ軸と重なるようになる。これにより、三次元空間において、対象モデルの主軸は、Ｚ軸と重なることになる。本実施形態では、主軸をＺ軸の正方向に重ねたが、負方向に重ねるようにしてもよい。
【０１３６】
次に、対象モデルの副軸を求める（ステップＳ３６０）。具体的には、ＸＺ平面上で原点（０，０，０）から各ポリゴンの平均点までの距離を算出し、そのうち最長である最長距離を副軸とする。具体的には、以下の〔数式１７〕に従った処理を実行することにより、副軸の長さＬｍａｘ２（最長距離）を算出する。
【０１３７】
〔数式１７〕
Ｌｍａｘ２＝Ｍａｘi=0,N-1｛（Ｘｃ''（ｉ））2＋（Ｙｃ（ｉ）''）2｝1/2
＝｛（Ｘｃ''（ｉｍ２））2＋（Ｙｃ（ｉｍ２）''）2｝1/2
【０１３８】
上記〔数式１７〕において、“ｉｍ２”は、ＸＺ平面において基準点との距離が最大となるポリゴン、すなわち基準点から最も遠いポリゴンである最遠ポリゴンのポリゴン番号を示している。次に、ＸＹ座標上で副軸をＹ軸正方向に揃えるようにＺ軸中心回転を行う（ステップＳ３７０）。具体的には、まず、以下の〔数式１８〕に従った処理を実行することにより、副軸とＺ軸正方向との角度Ａｎｇ、最遠ポリゴンの平均点Ｙ座標Ｙｃ'''（ｉｍ２）を求める。
【０１３９】
〔数式１８〕
Ａｎｇ＝−ｔａｎ-1（Ｘｃ''（ｉｍ２）／Ｙｃ''（ｉｍ２））
Ｙｃ'''（ｉｍ２）＝ｃｏｓ（Ａｎｇ）×Ｙｃ''（ｉｍ２）−ｓｉｎ（Ａｎｇ）×Ｘｃ''（ｉｍ２）
【０１４０】
さらに、Ｙｃ'''（ｉｍ２）の値に応じて場合分けし、以下の〔数式１９〕に従った処理を実行することにより、回転後の対象モデルを求める。
【０１４１】
〔数式１９〕
ｉ＝０，・・・，Ｎ−１、ｐ＝０，１，２において、
１）Ｙｃ'''（ｉｍ２）≧０の場合
Ｙｐ'''（ｉ）＝ｃｏｓ（Ａｎｇ）×Ｙｐ''（ｉ）−ｓｉｎ（Ａｎｇ）×Ｘｐ''（ｉ）
Ｘｐ'''（ｉ）＝ｓｉｎ（Ａｎｇ）×Ｙｐ''（ｉ）＋ｃｏｓ（Ａｎｇ）×Ｘｐ''（ｉ）
２）Ｙｃ'''（ｉｍ２）＜０の場合
Ｙｐ'''（ｉ）＝−ｃｏｓ（Ａｎｇ）×Ｙｐ''（ｉ）＋ｓｉｎ（Ａｎｇ）×Ｘｐ''（ｉ）
Ｘｐ'''（ｉ）＝−ｓｉｎ（Ａｎｇ）×Ｙｐ''（ｉ）−ｃｏｓ（Ａｎｇ）×Ｘｐ''（ｉ）
Ｙｃ'''（ｉｍ２）の値に関わらず、平均点を更新する。
Ｘｃ'''（ｉ）＝｛Ｘ０'''（ｉ）＋Ｘ１'''（ｉ）＋Ｘ２'''（ｉ）｝／３
Ｙｃ'''（ｉ）＝｛Ｙ０'''（ｉ）＋Ｙ１'''（ｉ）＋Ｙ２'''（ｉ）｝／３
【０１４２】
ステップＳ３７０の処理により、対象モデルは、図１９（ｅ）に示すように、副軸がＸＹ平面においてＹ軸と重なるようになる。本実施形態では、副軸をＹ軸の正方向に重ねたが、負方向に重ねるようにしてもよい。
【０１４３】
上記処理の結果、正規化された対象モデルが得られる。正規化された対象モデルは、ポリゴン数Ｎ、ポリゴンを特定する変数ｉ（ｉ＝０，・・・，Ｎ−１）とし、各ポリゴンｉの頂点は（Ｘｐ'''（ｉ），Ｙｐ'''（ｉ），Ｚｐ'''（ｉ））と定義される。ｐは頂点番号を示しており、本実施形態では、ポリゴンが三角形であるため、ｐ＝０，１，２の３つの値をとる。また、各ポリゴンｉの平均点は（Ｘｃ'''（ｉ），Ｙｃ'''（ｉ），Ｚｃ'''（ｉ））と定義される。ポリゴン正規化処理の結果、図１９（ｆ）に示すように、対象モデルは、所定の位置、スケール、傾きに正規化される。
【０１４４】
＜２．６．ポリゴン照合処理＞
次に、ステップＳ４００のポリゴン照合処理について説明する。図２０は、ポリゴン照合処理の概要を示すフローチャートである。ポリゴン照合処理においては、ポリゴンモデル照合手段３０は、規制モデルデータベース５０に登録された規制モデルを１つずつ抽出し（ステップＳ４０１）、ステップＳ３００において正規化された対象モデルと照合を行う。本実施形態では、ポリゴンモデル照合手段３０は、図２０に示すように、総面積に基づく照合処理（ステップＳ４１０）、体積に基づく照合処理（ステップＳ４２０）、座標値に基づく照合処理（ステップＳ４３０）の３つの照合処理を順に行う。先に行った照合処理の結果、適合（すなわち類似）と判定された場合にのみ、次の照合処理に進む。不適合（すなわち非類似）と判定された場合には、ステップＳ４０１に戻って次の規制モデルとの照合を行う。３つの照合処理のうち、総面積に基づく照合処理および体積に基づく照合処理は、角度に依存しない角度非依存照合処理であり、座標値に基づく照合処理は、角度に依存する角度依存照合処理である。３つの照合処理全てにおいて適合（すなわち類似）と判定された場合は、その対象モデルは、規制モデルと類似していることになるので、出力適否判定手段３５は、出力不適との判定を行う。規制モデルデータベース５０に登録された全ての規制モデルとの照合が不適合であった場合には、その対象モデルは、どの規制モデルとも非類似になるので、出力適否判定手段３５は、出力適正との判定を行う。
【０１４５】
＜２．６．１．総面積に基づくポリゴン照合処理＞
まず、図２０に示した３つの照合処理のうち、ステップＳ４１０の総面積に基づくポリゴン照合処理について説明する。図２１は、総面積に基づくポリゴン照合処理の詳細を示すフローチャートである。ステップＳ３００において、正規化された対象モデルは、（Ｘｐ'''（ｉ），Ｙｐ'''（ｉ），Ｚｐ'''（ｉ））で示したが、数式が繁雑になることを避けるため、ステップＳ４００においては、改めて、正規化された対象モデルを、ポリゴン数Ｎ、ポリゴンを特定する変数ｉ（ｉ＝０，・・・，Ｎ−１）とし、各ポリゴンｉの頂点を（Ｘｐ（ｉ），Ｙｐ（ｉ），Ｚｐ（ｉ））と定義されたものとする。ｐは、ｐ＝０，１，２の３つの値をとる頂点番号とする。
【０１４６】
ポリゴンモデル照合手段３０は、まず、正規化された対象モデルを構成する各ポリゴンｉの面積Ｓ（ｉ）、Ｎ個のポリゴンの面積Ｓ（ｉ）の総和である総面積ＳＮを以下の〔数式２０〕に従った処理を実行することにより算出する（ステップＳ４１１）。
【０１４７】
〔数式２０〕
Ｖｘ（ｉ）＝[Ｙ１（ｉ）−Ｙ０（ｉ）][Ｚ２（ｉ）−Ｚ０（ｉ）]-[Ｚ１（ｉ）−Ｚ０（ｉ）][ Ｙ２（ｉ）−Ｙ０（ｉ）]
Ｖｙ（ｉ）＝[Ｚ１（ｉ）−Ｚ０（ｉ）][Ｘ２（ｉ）−Ｘ０（ｉ）]-[Ｘ１（ｉ）−Ｘ０（ｉ）][ Ｚ２（ｉ）−Ｚ０（ｉ）]
Ｖｚ（ｉ）＝[Ｘ１（ｉ）−Ｘ０（ｉ）][Ｙ２（ｉ）−Ｙ０（ｉ）]-[Ｙ１（ｉ）−Ｙ０（ｉ）][Ｘ２（ｉ）−Ｘ０（ｉ）] 
Ｓ（ｉ）＝０．５×[Ｖｘ（ｉ）2+Ｖｙ（ｉ）2+Ｖｚ（ｉ）2]1/2
ＳＮ＝Σi=0,N-1Ｓ（ｉ）
【０１４８】
次に、ポリゴンモデル照合手段３０は、ステップＳ４１１における処理と同様に、上記〔数式２０〕に従った処理を、変数を変えて、Ｍ個のポリゴンで構成される規制モデルに対して実行し、規制モデルの総面積ＳＭを算出する。（ステップＳ４１２）。
【０１４９】
続いて、ポリゴンモデル照合手段３０は、正規化された対象モデルの総面積ＳＮと規制モデルの総面積ＳＭの面積差分ｄＳを、を以下の〔数式２１〕に従った処理を実行することにより算出する（ステップＳ４１３）。
【０１５０】
〔数式２１〕
ｄＳ＝｜ＳＭ−ＳＮ｜／（ＳＭ＋ＳＮ）
【０１５１】
上記〔数式２１〕においては、後に判定しきい値と比較するために、総面積の和（ＳＭ＋ＳＮ）で除算することにより正規化している。上記〔数式２１〕に示すように面積差分ｄＳは、総面積の差分の絶対値となっている。
【０１５２】
面積差分ｄＳが得られたら、ポリゴンモデル照合手段３０は、面積差分ｄＳと判定しきい値との比較を行う（ステップＳ４１４）。面積差分ｄＳが判定しきい値より小さい場合は、適合と判定し、面積差分ｄＳが判定しきい値以上である場合は、不適合と判定する。判定しきい値としては、適宜設定可能であるが、ここでは、０．０１としてある。
【０１５３】
＜２．６．２．体積に基づく照合処理＞
次に、ステップＳ４２０の体積に基づくポリゴン照合処理について説明する。図２２は、体積に基づくポリゴン照合処理の詳細を示すフローチャートである。上述のように、ステップＳ４００においては、正規化された対象モデルを、ポリゴン数Ｎ、ポリゴンを特定する変数ｉ（ｉ＝０，・・・，Ｎ−１）とし、各ポリゴンｉの頂点を（Ｘｐ（ｉ），Ｙｐ（ｉ），Ｚｐ（ｉ））と定義しており、さらに、各ポリゴンｉの平均点を、（Ｘｃ（ｉ），Ｙｃ（ｉ），Ｚｃ（ｉ））と定義する。
【０１５４】
ポリゴンモデル照合手段３０は、各ポリゴンについて、各ポリゴンを底面とし、基準点（重心）を頂点とする角錐の体積Ｖ（ｉ）を算出し、Ｎ個のポリゴンについての体積Ｖ（ｉ）の総和ＶＮを算出する（ステップＳ４２１）。具体的には、まず、上記〔数式２０〕に従った処理を実行して各ポリゴンｉの面積Ｓ（ｉ）を算出する。そして、以下の〔数式２２〕に従った処理を実行することにより、各ポリゴンの法線ベクトル（Ｎｘ（ｉ），Ｎｙ（ｉ），Ｎｚ（ｉ））を算出する。
【０１５５】
〔数式２２〕
Ｖｓ（ｉ）＝[Ｖｘ（ｉ）2+Ｖｙ（ｉ）2+Ｖｚ（ｉ）2]1/2
Ｎｘ（ｉ）＝Ｖｘ（ｉ）／Ｖｓ（ｉ）
Ｎｙ（ｉ）＝Ｖｙ（ｉ）／Ｖｓ（ｉ）
Ｎｚ（ｉ）＝Ｖｚ（ｉ）／Ｖｓ（ｉ）
【０１５６】
角錐の高さは、平均点から原点方向のベクトルとポリゴンの法線ベクトルとの内積の絶対値で算出できるので、以下の〔数式２３〕に従った処理を実行することにより、ポリゴンｉを底面とする角錐の体積Ｖ（ｉ）、およびＮ個のポリゴンについての角錐の体積の総和である体積総和ＶＮを算出する。
【０１５７】
〔数式２３〕
Ｖ（ｉ）＝Ｓ（ｉ）｜Ｘｃ（ｉ）×Ｎｘ（ｉ）＋Ｙｃ（ｉ）×Ｎｙ（ｉ）＋Ｚｃ（ｉ）×Ｎｚ（ｉ）｜／３
ＶＮ＝Σi=0,N-1Ｖ（ｉ）
【０１５８】
次に、ポリゴンモデル照合手段３０は、ステップＳ４２１における処理と同様に、上記〔数式２２〕、〔数式２３〕に従った処理を、変数を変えて、Ｍ個のポリゴンで構成される規制モデルに対して実行し、規制モデルの体積総和ＶＭを算出する。（ステップＳ４２２）。
【０１５９】
続いて、ポリゴンモデル照合手段３０は、正規化されたポリゴンモデルの体積総和ＶＮと規制モデルの体積総和ＶＭの体積差分ｄＶを、以下の〔数式２４〕に従った処理を実行することにより算出する（ステップＳ４２３）。
【０１６０】
〔数式２４〕
ｄＶ＝｜ＶＭ−ＶＮ｜／（ＶＭ＋ＶＮ）
【０１６１】
上記〔数式２４〕においては、後に判定しきい値と比較するために、体積総和の和（ＶＭ＋ＶＮ）で除算することにより正規化している。上記〔数式２４〕に示すように体積差分ｄＶは、体積総和の差分の絶対値となっている。
【０１６２】
体積差分ｄＶが得られたら、ポリゴンモデル照合手段３０は、体積差分ｄＶと判定しきい値との比較を行う（ステップＳ４２４）。体積差分ｄＶが判定しきい値より小さい場合は、適合と判定し、体積差分ｄＶが判定しきい値以上である場合は、不適合と判定する。判定しきい値としては、適宜設定可能であるが、ここでは、０．００１としてある。
【０１６３】
＜２．６．３．座標値に基づく照合処理＞
次に、ステップＳ４３０の座標値に基づくポリゴン照合処理について説明する。図２３は、座標値に基づくポリゴン照合処理の詳細を示すフローチャートである。ここでは、正規化された対象モデルの各ポリゴンｉの平均点を、（Ｘｃｎ（ｉ），Ｙｃｎ（ｉ），Ｚｃｎ（ｉ））（ｉ：ポリゴン番号＝０，・・・、Ｎ−１）と定義し、規制モデルの各ポリゴンｊの平均点を、（Ｘｃｍ（ｊ），Ｙｃｍ（ｊ），Ｚｃｍ（ｊ））（ｊ：ポリゴン番号＝０，・・・、Ｍ−１）と定義する。
【０１６４】
ポリゴンモデル照合手段３０は、まず、初期設定を行い、Ｄ１＝０，ｉ＝０とする（ステップＳ４３１）。Ｄ１は判定しきい値と比較する際、距離総和として出力される変数である。ｉ＝０は、対象モデルで最初に処理されるポリゴンのポリゴン番号である。次に、ｊ＝０，ｄｍｉｎ＝ＢＩＧに設定する（ステップＳ４３２）。ｊ＝０は、規制モデルで最初に処理されるポリゴンのポリゴン番号である。ｄｍｉｎは初期値ＢＩＧに設定される。ＢＩＧとしては、ｄｍｉｎとして取り得ない程度の大きな値を設定しておく。
【０１６５】
次に両モデルにおいて特定されたポリゴン同士の平均点座標距離ｄを算出する（ステップＳ４３３）。具体的には、以下の〔数式２５〕に従った処理を実行することにより算出する。
【０１６６】
〔数式２５〕
ｄ=[(Ｘｃｍ（ｊ）−Ｘｃｎ（ｉ）)2+((Ｙｃｍ（ｊ）−Ｙｃｎ（ｉ）) 2 +((Ｚｃｍ（ｊ）−Ｚｃｎ（ｉ）)2]1/2
【０１６７】
上記〔数式２５〕に示すように平均点座標距離ｄは、平均点座標の差分の二乗平方根であり、平均点座標間の距離を示している。次に、算出した平均点座標距離ｄとｄｍｉｎを比較する（ステップＳ４３４）。ｄがｄｍｉｎより小さい場合は、ｄｍｉｎ＝ｄとする（ステップＳ４３５）。そして、ｊを１だけインクリメントして規制モデルの処理対象ポリゴンを変更し（ステップＳ４３６）、規制モデルのポリゴン番号ｊとポリゴン数Ｍを比較する（ステップＳ４３７）。
【０１６８】
比較の結果、ｊがＭより小さい場合は、対象モデルの１つのポリゴンに対して規制モデルの全てのポリゴンの処理が終わっていないため、ステップＳ４３３に戻って、平均点座標距離の算出を行う。対象モデルの１つのポリゴンに対して規制モデルの全てのポリゴンについて、ステップＳ４３３〜ステップＳ４３６の処理を実行した後には、ｊ＝Ｍとなるので、ステップＳ４３８に進む。
【０１６９】
ステップＳ４３３〜ステップＳ４３６の処理を繰り返すことにより、ｄｍｉｎには、対象モデルの１つのポリゴンと規制モデルの各ポリゴンの距離のうち、最小の値である距離最小値が記録される。これは、対象モデルの１つのポリゴンと最も近い規制モデルのポリゴンとの距離となる。次に、この距離最小値ｄｍｉｎをＤ１に加算する（ステップＳ４３８）。そして、ｉを１だけインクリメントして対象モデルの処理対象ポリゴンを変更し、対象モデルのポリゴン番号ｉとポリゴン数Ｎを比較する（ステップＳ４３９）。
【０１７０】
比較の結果、ｉがＮより小さい場合は、対象モデルの全てのポリゴンに対して処理が終わっていないため、ステップＳ４３２に戻って、対象モデルの次のポリゴンに対して処理を行う。対象モデルの全てのポリゴンについて、ステップＳ４３２〜ステップＳ４３８の処理を実行した後には、ｉ＝Ｎとなるので、ステップＳ４４０に進む。
【０１７１】
ステップＳ４３２〜ステップＳ４３８の処理を繰り返すことにより、Ｄには、対象モデルの各ポリゴンに対する距離最小値ｄｍｉｎの総和が記録される。
【０１７２】
距離総和Ｄ１が得られたら、ポリゴンモデル照合手段３０は、距離総和Ｄ１を対象モデルのポリゴン数Ｎで除した値Ｄ１／Ｎと判定しきい値との比較を行う（ステップＳ４４０）。Ｄ１／Ｎが判定しきい値より小さい場合は、適合と判定し、Ｄ１／Ｎが判定しきい値以上である場合は、不適合と判定する。判定しきい値としては、適宜設定可能であるが、ここでは、１０．０としてある。
【０１７３】
本実施形態では、ポリゴン同士の平均点座標間の距離、およびその総和を算出するようにしたが、平均点に代えてポリゴン同士の対応する頂点間の距離、およびその総和を算出するようにしてもよい。
【０１７４】
＜３．３Ｄプリンタへのデータ出力＞
出力適否判定手段３５により出力適正と判定された場合には、立体物造形装置である３Ｄプリンタ７へ対象ポリゴンモデルを出力する。一方、出力適否判定手段３５により出力不適と判定された場合には、立体物造形装置である３Ｄプリンタへ対象モデルを出力しない。また、出力適正か否かの判定に時間がかかる場合には、３Ｄプリンタ７に対象モデルを出力し、３Ｄプリンタ７の出力処理(立体物造形処理)と並行して出力適正か否かの判定を行い、出力不適である場合に出力中止命令を３Ｄプリンタ７に出力するようにしてもよい。この際、オペレータから見れば、対象モデルの出力という一つの命令を行うことにより、３Ｄプリンタにおける立体物造形処理が開始されることが確認できるだけで、並行して出力適正か否かの判定のための処理の実行が開始されることは気付かれない。
【０１７５】
＜４．規制モデルの正規化および登録について＞
上記実施形態では、規制モデルデータベース５０に既に正規化がなされた規制モデルが登録された場合について説明したが、規制モデルデータベース５０に正規化されていない規制モデルを登録しておき、この規制モデルに対して、上記実施形態において対象モデルに対して行ったようにポリゴンの削減、正規化を行い、正規化後の規制モデルと、上記正規化後の対象モデルを用いて、ポリゴンの対応付けおよび照合を行うようにしてもよい。この場合、規制モデルデータベース５０に登録されている正規化されていない各規制モデルは、ポリゴン削減手段１０によりポリゴンが削減され、ポリゴン正規化手段２０により正規化された後、ポリゴン対応付け手段１５によりポリゴン同士の対応付けが行われ、ポリゴンモデル照合手段３０により、正規化後の対象モデルとの照合が行われる。
【０１７６】
また、変形例として、ポリゴンモデル照合手段３０を備えた立体物造形用データ出力規制装置とは、別の場所で特徴パラメータの算出、正規化を行った規制モデルを、立体物造形用データ出力規制装置にネットワークを介して送信して登録するようにしてもよい。
【０１７７】
図２４は、変形例における立体物造形用データ出力規制装置を含む立体物造形システムのハードウェア構成図である。図２４に示した立体物造形システムにおいて、立体物造形用データ出力規制装置１０１は、図１に示した立体物造形用データ出力規制装置１００の構成に、インターネット等の公衆ネットワークと通信するためのネットワーク通信部８を備えた構成となっている。特徴パラメータ算出装置１０２は、汎用のコンピュータで実現することができ、図２４に示すように、ＣＰＵ（Central Processing Unit）１ａと、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２ａと、ＣＰＵ１ａが実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置３ａと、キーボード、マウス等のキー入力Ｉ／Ｆ（インターフェース）４ａと、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５ａと、液晶ディスプレイ等の表示デバイスである表示部６ａと、インターネット等の公衆ネットワークと通信するためのネットワーク通信部８ａを備え、互いにバスを介して接続されている。立体物造形用データ出力規制装置１０１のネットワーク通信部８と特徴パラメータ算出装置１０２のネットワーク通信部８ａは互いに通信を行い、特徴パラメータ算出装置１０２から立体物造形用データ出力規制装置１０１へ特徴パラメータが算出された規制モデルの送信を行うことが可能になっている。図２４では、立体物造形用データ出力規制装置１０１と３Ｄプリンタ７は分離した形態で示されているが、現在市販されている殆どの３Ｄプリンタ製品には立体物造形用データ出力規制装置１０１の構成要素である、ＣＰＵ１、ＲＡＭ２、記憶装置３、キー入力Ｉ／Ｆ４（汎用コンピュータ向けキーボード・マウスではなく、テンキーレベルの数種のボタン）、データ入出力Ｉ／Ｆ５、表示部６（数行の文字を表示可能な小型液晶パネル、タッチパネルを重畳させキー入力Ｉ／Ｆ４を兼ねることも多い）、ネットワーク通信部８（無線ＬＡＮ機能）も小規模ながら重複して備えている。従って、３Ｄプリンタ７自体が外部記憶媒体やインターネット経由で立体物造形用データを直接受け取り、単独で立体物を造形する運用も可能になっている（特に民生用の３Ｄプリンタではこちらの実施形態の方が多い）。すなわち、図２４に示した立体物造形用データ出力規制装置１０１および３Ｄプリンタ７を１つの筐体に収めて、“３Ｄプリンタ”という製品として流通することも多い。
【０１７８】
特徴パラメータ算出装置１０２においては、ＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより、第２のポリゴン削減手段、特徴パラメータ算出手段、第２のポリゴン正規化手段、規制モデル送信手段が実現される。特徴パラメータ算出装置１０２で実現される第２のポリゴン削減手段、第２のポリゴン正規化手段は、立体物造形用データ出力規制装置１００で実現されるポリゴン削減手段１０、ポリゴン正規化手段２０と同様の機能を有し、規制モデルのポリゴンを削減し、規制モデルの正規化を行う。特徴パラメータ算出手段は、立体物造形用データ出力規制装置１００で実現されるポリゴン対応付け手段１５における特徴パラメータ算出機能と同様の機能を有し、規制モデルの各ポリゴンについて特徴パラメータを算出する。規制モデル送信手段は、正規化された規制モデルを立体物造形用データ出力規制装置１０１に送信する。立体物造形用データ出力規制装置１０１では、ネットワーク通信部８が、特徴パラメータ算出装置１０２から規制モデルを受信すると、ＣＰＵ１が所定のプログラムを実行して規制モデル登録手段として機能し、受信した規制モデルを記憶装置３で実現される規制モデルデータベース５０に登録する。
【０１７９】
＜５．ポリゴン対応付け事例＞
図２５〜図２８に、本実施形態に係る立体物造形用データ出力規制装置によりポリゴン対応付け処理（ステップＳ２００）を施した事例を示す。図２５〜図２８のいずれにおいても、左側に規制モデル、右側に対象モデルを示している。規制モデルは、単一の物品を表現したものであり、対象モデルは複数の物品により構成されたものとなっている。図２５と図２６は、第１の事例について、規制モデル、対象モデルともに同じものを、視点を変えて表現している。図２５は、ＸＹＺのいずれの軸とも平行でない位置から見た斜視図であり、図２６は、視点をＸＺ平面とした図である。図２５、図２６で表現したポリゴンモデル同士を上記実施形態と同様に実施すると、形状相違度平均Ｄ／Ｍは０．００００００となり、判定しきい値Ｄｓ（０．０１）より小さいため、適合判定がなされる。
【０１８０】
図２７と図２８は、第２の事例について、規制モデル、対象モデルともに同じものを、視点を変えて表現している。図２７は、ＸＹＺのいずれの軸とも平行でない位置から見た斜視図であり、図２８は、視点をＸＺ平面とした図である。図２７、図２８で表現したポリゴンモデル同士を上記実施形態と同様に実施すると、形状相違度平均Ｄ／Ｍは０．０９４２１８となり、判定しきい値Ｄｓ（０．０１）以上であるため、不適合判定がなされる。
【０１８１】
＜６．変形例等＞
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、処理対象のポリゴンを三角形としたが、四角形以上の多角形であってもよい。
【０１８２】
また、上記実施形態では、ポリゴンモデル照合手段３０は、総面積に基づく照合処理、体積に基づく照合処理、座標値に基づく照合処理の３つの照合処理を行うようにしたが、上記３つの照合処理のうち、１つまたは２つの照合処理を実行するようにしてもよい。
【０１８３】
また、上記実施形態では、ポリゴン正規化手段２０は、主軸をＺ軸に合わせ、副軸をＹ軸に合わせて回転するようにしたが、主軸、副軸をそれぞれ異なる軸に合わせるのであれば、主軸をＸ軸またはＹ軸に合わせもよいし、副軸をＸ軸またはＺ軸に合わせもよい。
【０１８４】
また、上記実施形態では、ポリゴン削減手段１０、ポリゴン正規化手段２０、ポリゴンモデル照合手段３０を用いたが、ポリゴン対応付け手段１５による精度が高い場合には、これらの手段を必ずしも用いる必要はない。
【符号の説明】
【０１８５】
１、１ａ・・・ＣＰＵ（Central Processing Unit）
２、２ａ・・・ＲＡＭ（Random Access Memory）
３、３ａ・・・記憶装置
４、４ａ・・・キー入力Ｉ／Ｆ
５、５ａ・・・データ入出力Ｉ／Ｆ
６、６ａ・・・表示部
７・・・３Ｄプリンタ（立体物造形装置）
７ａ・・・データ処理部
７ｂ・・・出力部
８、８ａ・・・ネットワーク通信部
１０・・・ポリゴン削減手段
１５・・・ポリゴン対応付け手段
２０・・・ポリゴン正規化手段
３０・・・ポリゴンモデル照合手段
３５・・・出力適否判定手段
４０・・・対象モデル記憶手段
５０・・・規制モデルデータベース
１００、１０１・・・立体物造形用データ出力規制装置
１０２・・・特徴パラメータ算出装置
【図１】
2015210783.tif 000003
【図２】
2015210783.tif 000004
【図３】
2015210783.tif 000005
【図４】
2015210783.tif 000006
【図５】
2015210783.tif 000007
【図６】
2015210783.tif 000008
【図７】
2015210783.tif 000009
【図８】
2015210783.tif 000010
【図９】
2015210783.tif 000011
【図１０】
2015210783.tif 000012
【図１１】
2015210783.tif 000013
【図１２】
2015210783.tif 000014
【図１３】
2015210783.tif 000015
【図１４】
2015210783.tif 000016
【図１５】
2015210783.tif 000017
【図１６】
2015210783.tif 000018
【図１７】
2015210783.tif 000019
【図１８】
2015210783.tif 000020
【図１９】
2015210783.tif 000021
【図２０】
2015210783.tif 000022
【図２１】
2015210783.tif 000023
【図２２】
2015210783.tif 000024
【図２３】
2015210783.tif 000025
【図２４】
2015210783.tif 000026
【図２５】
2015210783.tif 000027
【図２６】
2015210783.tif 000028
【図２７】
2015210783.tif 000029
【図２８】
2015210783.tif 000030