(57)【要約】【課題】  検索者が所望の３次元ＣＡＤデータを検索する労力を低減することを目的とする。【解決手段】  検索キーデータと検索対象データを記憶する記憶部と、指定された検索キーデータを記憶部から読み込み、検索キーデータの部位に係る複雑度の度合いが大きいほど重みを小さく付与する重み付与部と、記憶部から読み込んだ検索対象データと付与された重みを持つ検索キーデータとの類似度を計算する際、部位毎に、重みに応じた類似度を計算する計算部を有することで解決できる。【選択図】  図１
2008040774.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
検索キーとなる部品の形状データ（以下、検索キーデータという）と検索対象となる部品の形状データ（以下、検索対象データという）を記憶する記憶部、
指定された検索キーデータを前記記憶部から読み込み、該検索キーデータの部位に係る複雑度の度合いが大きいほど重み（以下、重み１と言う）を小さく付与する重み付与部、
前記記憶部から読み込んだ検索対象データと付与された重み１を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み１に応じた類似度を計算する計算部、
として機能させることを特徴とする形状データ検索プログラム。
【請求項２】
前記重み付与部を、前記検索キーデータが他の部品の形状データと組み合わせて利用される場合、組み合わされた際の空間的な余地の大きさに応じて重み（以下、重み２と言う）を付与する処理部、
前記計算部を、前記記憶部から読み込んだ検索対象データと付与された重み２を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み２に応じた類似度を計算する処理部、
として機能させることを特徴とする請求項１記載の形状データ検索プログラム。
【請求項３】
前記重み付与部を、前記検索キーデータが他の部品の形状データと組み合わせて利用される場合、前記検索キーデータに係る部位の膨張の度合いに応じて重み（以下、重み３と言う）を付与する処理部、
前記計算部を、前記記憶部から読み込んだ検索対象データと付与された重み３を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み３に応じた類似度を計算する処理部、
として機能させることを特徴とする請求項１または２記載の形状データ検索プログラム。
【請求項４】
検索キーとなる部品の形状データ（以下、検索キーデータという）と検索対象となる部品の形状データ（以下、検索対象データという）を記憶する記憶部と、
指定された検索キーデータを前記記憶部から読み込み、該検索キーデータの部位に係る複雑度の度合いが大きいほど重み（以下、重み１と言う）を小さく付与する重み付与部と、
前記記憶部から読み込んだ検索対象データと付与された重みを持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み１に応じた類似度を計算する計算部と、
を有することを特徴とする形状データ検索装置。
【請求項５】
記憶部と重み付与部と計算部を有する形状データ検索装置における形状データ検索方法において、
前記記憶部は、検索キーとなる部品の形状データ（以下、検索キーデータという）と検索対象となる部品の形状データ（以下、検索対象データという）を記憶し、
前記重み付与部は、指定された検索キーデータを前記記憶部から読み込み、該検索キーデータの部位に係る複雑度の度合いが大きいほど重み（以下、重み１と言う）を小さく付与し、
前記計算部は、前記記憶部から読み込んだ検索対象データと付与された重み１を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み１に応じた類似度を計算する、
ことを特徴とする形状データ検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
３次元ＣＡＤデータ等の画像検索分野に関する。
【背景技術】
【０００２】
機械系メーカ等の製造業では、過去に製造された部品等の設計データである３次元ＣＡＤデータを流用することで、新規部品の設計コストや部品の調達コスト、保守コストの削減が図れる。このため、所望の３次元ＣＡＤデータを効率よく見つけるための３次元ＣＡＤデータ検索へのニーズが高い。本発明は、大量の３次元ＣＡＤデータの検索作業を効率化するための３次元ＣＡＤデータ検索装置に関する。こうした検索では、新規に設計する部品と３次元的な形状が類似する部品やその関連情報を検索できる必要がある。
【０００３】
従来技術として、３次元物体を対象とした３次元的な形状の類似性に基づく検索技術がある。例えば、後述する特許文献１は、比較する二つの３次元物体を重ね合わせたときの互いに重なり合う部分の体積と各々の体積との比に基づいて３次元物体間の類似の度合いを算出する方法を開示している。
【０００４】
また、特許文献２は、３次元物体の表面を分割した各面とそれらの幾何学的な隣接関係に基づいて解析木を構成し、解析木の類似度合いにより３次元物体間の類似度を算出する方法を開示している。
【０００５】
また、特許文献３は、３次元物体からポリゴン情報を抽出し、各ポリゴンを一定の大きさ以下に分割したときのポリゴンの情報を３次元物体の特徴として比較することで類似度を算出する方法を開示している。
【０００６】
これらの既存技術は、３次元物体全体の形状について類似する度合いを算出し、例えば、類似する度合いが大きい順に検索結果を並べて提示することで、検索者の労力の軽減を実現している。
【特許文献１】特開２００１−３０７０９９公報
【特許文献２】特開２００１−３０７１１１公報
【特許文献３】特開２００２−０４１５３０公報
【特許文献４】特開２００１−１１７９３６公報
【特許文献５】特許第３３７８７２６号公報
【非特許文献１】柿元俊博、上原祐介：「３次元情報検索インターフェイス」、情報処理学会  研究報告、95-F1-41(1996)
【非特許文献２】上原祐介、柿元俊博：「マルチメディア情報検索のための３次元ブラウジング」、 電子情報通信学会  知能情報メディア研究会  第２回知能情報メディアシンポジウム予稿論文集、pp.221-228(1996)
【非特許文献３】遠藤進、指田直毅、増本大器、長田茂美、棚橋純一：「画像情報とテキスト情報を統合的に利用したインタラクティブなＷｅｂ検索システム」、電子情報通信学会  知能情報メディア研究会  第５回知能情報メディアシンポジウム予稿論文集、pp.163-170(1999)
【非特許文献４】上原祐介、遠藤進、指田直毅、増本大器、長田茂美、棚橋純一：「MIRACLES： マルチメディア情報のパノラミック検索システム−Ｗｅｂ検索への応用−」、電子情報通信学会  技術研究報告  DE2000-3, pp.17-24(2000)
【非特許文献５】Yusuke Uehara, Susumu Endo, Shuichi Shiitani, Daiki Masumoto, and Shigemi Nagata:"A Computer-aided Visual Exploration System for Knowledge Discovery from Images", In Proc. of ACM MDM/KDD2001, pp.102-109(2001)
【非特許文献６】上原祐介、遠藤進、椎谷秀一、増本大器、長田茂美：「仮想空間での情報構造表現に基づく画像群からの知識発見支援システム」、人工知能学会  研究会資料  SIG-FAI/KBS-J-40, pp.243-250(2001)
【非特許文献７】遠藤進、椎谷秀一、上原祐介、増本大器、長田茂美：「テキストによる意味的な検索と画像による視覚的な検索を統合したマルチメディア検索システムＭＩＲＡＣＬＥＳS」、DBWeb2001, IPSJ Symposium Series, Vol.2001, No.17, pp.249-256(2001)
【非特許文献８】長田茂美、遠藤進、椎谷秀一、上原祐介、増本大器：「マルチメディア検索システムＭＩＲＡＣＬＥＳ」、情報処理学会  人文科学とコンピュータシンポジウム２００１論文集、pp.267-274(2001)
【非特許文献９】柿元俊博、上原祐介、上林彌彦：「ブラウジングのための２次元情報分布空間作成の高速化と一覧性の改善について」、情報処理学会論文誌、Vol.43, No.4, pp.1089-1099(2002)
【非特許文献１０】椎谷秀一、遠藤進、上原祐介、増本大器、長田茂美：「画像の色特徴を用いた商品検索サービス」、情報処理学会  研究報告、2002-GN-42, pp.37-42(2002)
【非特許文献１１】Rujie Liu, Takayuki Baba and Daiki Masumoto:"Attributed Graph Matching based Engineering Drawings Retrieval", Proc. Of IAPR Workshop on Document Analysis Systems(DAS04), pp.378-388, September(2004)
【非特許文献１２】馬場孝之、劉汝傑、遠藤進、椎谷秀一、上原祐介、増本大器、長田茂美：「機械系組立図面からの形状に基づく部品検索手法の提案」、電子情報通信学会技術研究報告書、 PRMU2004-225, pp.79-84(2005)
【非特許文献１３】馬場孝之、劉汝傑、遠藤進、椎谷秀一、上原祐介、増本大器、長田茂美："Similarity-based Partial Image Retrieval System for Engineering Drawings", Proc. of Seventh IEEE International Symposium on Multimedia (ISM2005), pp.303-309, December 14, (2005)
【非特許文献１４】O. Robert, F. Thomas, C. Bernard, and D. David, Shape Distribution, ACM Trans. of Graphics, 21(4), pp.807-832, October 2002
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、機械等の部品を表す３次元ＣＡＤデータの検索では、検索者から検索キーとして与えられた３次元ＣＡＤデータが表す部品とそれに組み合わされる他の部品との物理的な位置関係から、部位によっては検索キーと形状が正確に一致する必要があり、一方、他の部位はそれに比べて一致する度合いが小さくても構わないというように、部位ごとに類似度合いの許容量、すなわち、重みが異なる場合が多い。これに対し、特許文献４では、検索者が検索キーデータに対して関心のある領域を指定し、その領域のみについて検索対象との類似度を算出する方法を開示しているが、部位ごとの重みに応じた類似度を算出して検索する方法については開示されていない。
【０００８】
本発明は、上記課題を解決すべく、検索キーとして与えられた３次元ＣＡＤデータの部位ごとに重みを付与し、その重みに応じて、検索対象の３次元ＣＡＤデータ間の類似度合いを算出し、類似度が大きい検索対象の３次元ＣＡＤデータを類似度が低いものより先に提示することで、検索者が所望の３次元ＣＡＤデータを検索する労力を低減することを目的とする。
【課題を解決するための手段】
【０００９】
本願第１の発明は、検索キーとなる部品の形状データ（以下、検索キーデータという）と検索対象となる部品の形状データ（以下、検索対象データという）を記憶する記憶部と、指定された検索キーデータを前記記憶部から読み込み、該検索キーデータの部位に係る複雑度の度合いが大きいほど重み（以下、重み１と言う）を小さく付与する重み付与部と、前記記憶部から読み込んだ検索対象データと付与された重み１を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み１に応じた類似度を計算する計算部を有することを特徴とする。
【００１０】
本願第２の発明は、前記重み付与部は、前記検索キーデータが他の部品の形状データと組み合わせて利用される場合、組み合わされた際の空間的な余地の大きさに応じて重み（以下、重み２と言う）を付与し、前記計算部は、前記記憶部から読み込んだ検索対象データと付与された重み２を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み２に応じた類似度を計算することを特徴とする。
【００１１】
本願第３の発明は、前記重み付与部は、前記検索キーデータが他の部品の形状データと組み合わせて利用される場合、前記検索キーデータに係る部位の膨張の度合いに応じて重み（以下、重み３と言う）を付与し、前記計算部は、前記記憶部から読み込んだ検索対象データと付与された重み３を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み３に応じた類似度を計算することを特徴とする。
【００１２】
本願第４の発明は、前記重み付与部は、前記検索キーデータが他の部品の形状データと組み合わせて利用される場合、組み合わされた前記検索キーデータと前記他の部品の形状データとの相対的な位置関係の変化に伴って組み合わされた際の空間的な余地が変化するとき、変化する余地の最小領域の大きさに応じて重み（以下、重み４と言う）を付与し、
前記計算部は、前記記憶部から読み込んだ検索対象データと付与された重み４を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み４に応じた類似度を計算することを特徴とする。
【００１３】
本願第５の発明は、更に、前記類似度の順番に応じて前記検索対象データを表示する表示部を有することを特徴とする。
【発明の効果】
【００１４】
検索キーとして与えられた３次元ＣＡＤデータの部位ごとの重みに応じて検索対象の３次元ＣＡＤデータとの間の類似度合いを算出し、類似度が大きい３次元ＣＡＤデータを類似度が低いものより先に提示することで、検索者が所望の３次元ＣＡＤデータを検索する労力を低減することができる。
【００１５】
また、他の部品との空間的な余地に対して適切な重み付けを自動的にすることができ、検索者の労力を低減することができる。
【００１６】
また、検索キーの部品と他の部品との実際の空間的な余地よりも重みを強くしたいなど、検索者による調整が必要な場合に、適切な重み付けをすることができ、検索者の労力を低減することができる。
【００１７】
また、機器の稼動により部品同士の相対的な位置関係が変化する場合でも、他の部品との空間的な余地に対して適切な重み付けを自動的にすることができ、検索者の労力を低減することができる。
【００１８】
また、検索者が空間的な余地など以外の要件から陽に重みを設定したい場合でも、それに応じた部位ごとの重みを付与した検索が可能となり、検索者の労力を低減することができる。
【発明を実施するための最良の形態】
【００１９】
第１図は本発明の構成図であり、操作部１と重み付与部２と類似度計算部３と表示部４と仮想試作部５と部品データ記憶部６から成る。
【００２０】
操作部１は、検索者が、検索キーとなる３次元ＣＡＤデータで表された部品の形状データ（以下、検索キーデータという）や、検索対象となる３次元ＣＡＤデータで表された部品の形状データ（以下、検索対象データという）を指定するためのキーボードやマウス等の操作装置である。
【００２１】
重み付与部２は、検索キーデータに重みを算出して付与する処理部である。
【００２２】
また、重み付与部２は、検索キーデータが表す部品が他の部品や機器と組み合わされて利用される場合に、組み合わされた際の空間的な余地の大きさに応じた部位ごとの重みを算出して付与する処理部である。
【００２３】
また、重み付与部２は、検索キーデータが表す部品が他の部品や機器と組み合わされて利用される場合に、検索キーデータを他の部品や機器の領域に入らない範囲で検索者が指定する量だけ膨張させたとき、部位ごとの膨張の度合いに応じた重みを算出して付与する処理部である。
【００２４】
また、重み付与部２は、検索キーデータが表す部品が他の部品や機器と組み合わされて利用され、かつ、組み合わされた部品や機器の利用時に検索キーデータが表す部品と他の部品との相対的な位置関係が変わり、それに応じて、組み合わされた際の空間的な余地が変わる場合に、その変化する余地の最小領域の大きさに応じて付与した部位ごとの重みを算出して付与する処理部である。
【００２５】
類似度計算部３は、重み付与部２で付与された重みを持つ検索キーデータと検索対象データとの類似度を、部位毎に重みに応じて計算する処理部である。
【００２６】
表示部４は、検索キーデータや検索対象データを、ＣＲＴ、液晶ディスプレイ、プラズマディスプレイなどに表示する表示部である。
【００２７】
検索キーデータの表示は、図２に示すように、ＣＡＤツールなどにおける表示と同様に３次元ＣＡＤデータが表す物体をある視点から見たときの様子を表示するものである。また、各部位に付与された重みは、例えば、重みが０から１００までの数値で表されるとすると、図２のように対応する部位を示す線分とともに表示される。また、各部位の範囲は、検索キーデータを表示する際に、部位ごとに異なる模様で表示することで表される。
【００２８】
仮想試作部５は、仮想的な３次元空間を用いて、機械装置や部品の組立／分解作業のシミュレーションや評価を行う処理部であって、部品間の動きをシミュレーションによって仮想的に再現し、干渉チェックなどを行うことができる。なお、本処理部は、特許文献５等で開示されている公知の技術を使う。
【００２９】
部品データ記憶部６は、検索キーデータや検索対象データである機械部品等や、検索キーデータと組み合わされる機械部品等を３次元ＣＡＤデータで表したものを、磁気記憶装置や半導体メモリ等に記憶する記憶装置である。３次元ＣＡＤデータの格納形式としては、一般に用いられているＤＸＦ形式やＶＲＭＬ形式、あるいは、独自に決めた形式のいずれでもよいが、そこには、３次元的な形状を表す情報として、３次元的な表面をポリゴンで近似したときの各ポリゴンの頂点座標や面の向きの情報が含まれているものとする（図２）。なお、検索キーデータは、予めＣＡＤツールなどで設計して格納されているものである。
【実施例１】
【００３０】
以下、部品の部位ごとの重みを用いて検索する実施例の動作を説明する（図３）。
【００３１】
まず、検索者は、操作部１を介して所望する検索キーをファイル名などで指定し、表示部４は、指定された検索キーを部品データ記憶部６から読み込んで、その検索キーデータを表示する（Ｓ１０１）。
【００３２】
重み付与部２は、検索キーデータの部位ごとの重みを付与する（Ｓ１０２）（詳細は後述する）。次に、表示部４は、検索キーデータと付与された各部位の重みとを表示する（Ｓ１０３）。
【００３３】
付与された重みを検索者が変更したい場合は、操作部１により変更したい部位と変更したい重みを入力することで変更する（Ｓ１０４）。変更したい部位の指定は、例えば、表示部４で表示された検索キーデータ上で操作部１のマウスで指示する。また、変更したい重みの入力は、例えば、変更したい部位の指定後に操作部１のキーボードで数値を入力する。
【００３４】
類似度計算部３は、部品データ記憶部６から検索対象データを読み込み、検索キーデータに付与された重みに基づき、検索キーデータと検索対象データとの間の類似度を算出する（Ｓ１０５）（詳細は後述する）。検索対象データは部品データ記憶部６に複数あるので、類似度は各検索対象データ毎に算出する。
【００３５】
表示部４は、類似度が大きい順に検索対象データを表示する（Ｓ１０６）。検索結果の表示内容は、例えば、検索対象データが部品データ記憶部６に格納されるときのファイル名でも良いし、ＣＡＤツールなどにおける表示と同様に３次元ＣＡＤデータが表す物体をある視点から見たときの様子を表示する方法でもよい。
【００３６】
ここで、Ｓ１０２の重みの算出方法について説明する。前提として、検索キーデータは、予め部位毎に分割されているとする。このとき、各部位ごとの３次元的な形状の特徴に応じて重みを算出して付与する。例えば、３次元的な形状の特徴として、形状の複雑さがある。複雑さの度合いが大きい場合は、小さい場合に比べて、検索キーデータと多少の相違を許すと考えてよい場合は、複雑さの度合いが大きいほど小さい重みを付与する方法をとる。複雑さの度合いとしては、例えば、物体表面の凹凸の度合い、すなわち、滑らかさの度合いがある。滑らに変化する面で構成されているほど複雑度は小さいと考える。物体表面の凹凸の度合いの算出方法の一つを図４から図６を用いて説明する。
【００３７】
まず、図４のように、３次元ＣＡＤデータの部位に対して所定の大きさの正方形の平面パッチを当てる。このとき、平面パッチの中心が３次元ＣＡＤデータの部位の表面上の一点Ｏに接し、かつ、その点での平面パッチ面の法線と３次元ＣＡＤデータの部位の表面の法線は同じ方向を取るようにする。次に、平面パッチ上に所定の数のサンプリング点を縦横が等間隔になるように定める。例えば、図５は縦横に５個ずつサンプリング点を定めた例である。このとき、各サンプリング点を平面パッチ面の法線方向に３次元ＣＡＤデータの部位の表面へ射影した点を求め、サンプリング点から射影点までの距離（図６）を算出する。いま、図５のように横方向のサンプリング点の位置をｉ、縦方向の位置をｊで表したときのサンプリング点Pijの射影点との距離をD(Pij)としたとき、この点に隣接する８近傍の点の射影距離の平均Da(Pij)を次の式（１）で計算する。
【００３８】
【数１】
2008040774.tif 000003
ここで、ｍは８近傍の点のうちパッチ平面上に存在し、かつ、３次元ＣＡＤデータの部位の表面への射影点を持つ点の数である。各サンプリング点について式（１）で計算された値の平均値を３次元ＣＡＤデータの部位の表面上の点Ｏにおける複雑度とする。この複雑度の算出点Ｏを３次元ＣＡＤデータの部位の表面上の点からサンプリングした点に置いて算出した複雑度の平均値を３次元ＣＡＤデータの部位の複雑度Ｃする。３次元ＣＡＤデータの部位の重みｗは、複雑度Ｃが小さいほど大きな値となるように次の式（２）で計算される。また、重みの範囲を例えば［０、１００］にしたい場合は正規化を行う。また、複雑度Ｃが重みｗに線形に反映される場合だけでなく、式（３）のように２乗で反映されるように計算することも可能である。
【００３９】
【数２】
2008040774.tif 000004
【００４０】
【数３】
2008040774.tif 000005
次に、Ｓ１０５の類似度の算出方法について説明する。まず、部位ごとの重みに基づく類似度計算の前提となる重みを考慮しない類似度計算の方法について、２つの方法を説明する。
【００４１】
一つ目の方法は、まず、検索キーデータと検索対象データの間で位置合わせを行う。位置合わせの一つの方法としては、まず、検索キーデータと検索対象データの各々について、表面上の２点の中で最長距離を持つ２点を結ぶ軸を第一軸とする。次に、第一軸と直交する軸の中で、その軸上に３次元ＣＡＤデータの表面上の点を置いたとき、その点の中で最長距離を持つ２点間の距離が最も長い軸を第二軸とする。この第一軸と第二軸が一致するように検索キーデータと検索対象データの位置を合わせる。次に、位置合わせをした検索キーデータの表面上の点をサンプリングする。いま、ｋ個のサンプリング点
SPi(i=1,…,k)の各点から検索対象データの表面上の点の中で最短距離の点との間の距離DM(SPi)を求める。このサンプリング点ごとの最短距離を平均した値DMaveは検索キーデータと検索対象データとの間の形状のずれの大きさを近似的に表すので、次の式（４）により類似度Ｓを算出する。
【００４２】
【数４】
2008040774.tif 000006
また、類似度を算出する別の方法として、Robertらの方法がある（非特許文献１４を参照）。この方法では、まず、対象となる３次元物体の表面上から２点をランダムにサンプリングし、この２点間の空間的な距離を求める。このサンプリングと距離計算を所定の回数実行し、その距離の分布を頻度ベクトルとして表す。例えば、２点間の距離として取りうる値の範囲が［０，１００］であり、この範囲を区間１が［０，２５］、区間２が［２５，５０］、区間３が［５０，７５］、区間４が［７５，１００］の４つの区間に分けたとする。
【００４３】
このとき、３次元物体の表面上の２点のサンプリングを５回実行し、そのときの各２点間の距離が、｛１０，３０，４０，６０，９０｝であったときは（区間１，区間２，区間３，区間４）の順で要素を並べた頻度ベクトルは（１、２、１、１）となる。２つの３次元物体の間でこの頻度ベクトルを比較したとき、その距離の大きさは形状の非類似度を近似的に表すので、その距離をVDとしたとき、検索キーデータと検索対象データとの間の類似度は例えば次の式（５）で算出される。
【００４４】
【数５】
2008040774.tif 000007
次に、以上の部位ごとの重みを考慮しない類似度計算方法をもとにした、部位ごとの重みに基づく類似度計算方法について説明する。まず、一番目の方法において、サンプリング点ごとの最短距離の平均DMaveを計算する際に、サンプリング点ごとの最短距離DM(SPi)に対して、次の式（６）に示すように、そのサンプリング点が含まれる部位の重みw(SPi)を乗じて計算する。
【００４５】
【数６】
2008040774.tif 000008
これにより、重みが大きい部位のずれが大きいほど類似度が低下するよう計算できる。
【００４６】
また、二番目の方法において、検索キーデータに対してサンプリングした２点間の距離の頻度を求める際に、その２点が含まれる部位の重みの平均を乗じる。また、これにより検索キーデータと検索対象データの間で頻度の総数が異なるようになるため、双方の頻度ベクトルについて、各々の頻度総数で要素を割ることで正規化する。例えば、正規化前の頻度ベクトルのｉ番目の要素がviであり、頻度総数がＴであるとき、正規化後の要素Viは次の式（７）で計算される。
【００４７】
【数７】
2008040774.tif 000009
これにより、重みが小さい部位の形状の差に比べて重みが大きい部位の形状の差が類似度により大きく反映される。以上のように部位ごとの重みに基づく類似度は計算できるが、そのもととなる重みを考慮しない類似度の計算方法については、先の２つの方法以外であってもよい。
【実施例２】
【００４８】
次に、検索キーデータが表す部品が他の部品や機器と組み合わされて利用される場合に、組み合わされた際の空間的な余地の大きさに応じた部位ごとの重みを用いて検索する実施例の動作を説明する（図７）。
【００４９】
まず、表示部４は、検索者が操作部１により指定した検索キーデータと、その検索キーデータと組み合わされる部品を、部品データ記憶部６から読み込んで表示する（Ｓ２０１）。
【００５０】
検索者は、操作部１を用いて、検索キーデータとその検索キーデータと組み合わされる部品が組み合わされた状態の位置関係になるように、それらを配置する（Ｓ２０２）。重み付与部２は、検索キーデータに部位ごとの重みを付与する（Ｓ２０３）（詳細は後述する）。
【００５１】
表示部１は、検索キーデータと各部位の重みを表示する（Ｓ２０４）。付与された重みを検索者が変更したい場合は、操作部１により変更したい部位と変更したい重みを入力することで変更する（Ｓ２０５）。
【００５２】
類似度計算部３は、部品データ記憶部６から検索対象データを読み込み、検索キーデータに付与された重みに基づき、検索キーデータと検索対象データとの間で類似度を算出する（Ｓ２０６）。検索対象データは部品データ記憶部６に複数あるので、類似度は各検索対象データ毎に算出する。表示部４は、類似度が大きい順に検索対象データを表示する（Ｓ２０７）。
【００５３】
次に、Ｓ２０３の重みの算出方法について説明する。図８は、検索キーデータと他の部品を組み合わせた状態の断面を表した模式図である。図８のように、検索キーデータと他の部品との間の空間的な余地の大きさは、検索キーデータの部位ごとに異なる。
【００５４】
ここで、図９や図１０の破線矢印のように、検索キーデータの表面上の点ｉにおいて、その点での表面に対する法線方向に進んだとき、他の部品の表面とぶつかる点までの距離SSiを求める。法線方向に他の部品の表面上の対応点が存在しない場合は、所定の境界領域までの距離をSSiとする。
【００５５】
次に隣接する点同士で、求めた距離SSiの差が所定の閾値以下の場合に同じグループに分類する。ここで、分類された各グループの点群が、検索キーデータの部位となる。また、各部位の重みｗは、その部位に含まれる点について求められたSSiの平均値SSaveに基づいて、次の式（８）で算出される。
【００５６】
【数８】
2008040774.tif 000010
また、検索キーデータを含む部品や機器が稼動する際に、検索キーデータと他の部品の間の相対的な位置関係が変化し、結果として、空間が稼動によって変化する場合は、稼動による変化の最小の領域を空間的な余地として用いる。稼動による変化の最小の領域は、例えば、特許文献５で開示されているような部品間の干渉チェックのシミュレーション技術など既存の技術を用いる。
【実施例３】
【００５７】
次に、検索キーデータが表す部品が他の部品や機器と組み合わされて利用される場合に、検索キーデータを他の部品や機器の領域に入らない範囲で検索者が指定する量だけ膨張させたとき、部位ごとの膨張の度合いに応じた重みを用いて検索する実施例の動作を説明する（図１１）。
【００５８】
まず、表示部４は、検索者が操作部１により指定した検索キーデータとその検索キーデータと組み合わされる部品を、部品データ記憶部６から読み込んで表示する（Ｓ３０１）。検索者は、操作部１を用いて、検索キーデータとそのキーデータと組み合わされる部品が組み合わされた状態の位置関係になるよう、それらを配置する（Ｓ３０２）。
【００５９】
検索者は、操作部１を用いて、検索キーデータを膨張させる度合いを指定し（詳細は後述する）、表示部４は、その膨張した様子を表示する（Ｓ３０３）。重み付与部２は、検索キーデータの部位ごとにその部位での膨張度合いに応じた重みを付与する（Ｓ３０４）（詳細は後述する）。
【００６０】
表示部４は、検索キーデータと各部位の重みを表示する（Ｓ３０５）。付与された重みを検索者が変更したい場合は、操作部１により変更したい部位と変更したい重みを入力することで変更する（Ｓ３０６）。
【００６１】
類似度計算部３は、部品データ記憶部６から検索対象データを読み込み、検索キーデータに付与された重みに基づき、検索キーデータと検索対象データとの間で類似度を算出する（Ｓ３０７）。表示部４は、類似度が大きい順に検索対象データを表示する（Ｓ３０８）。
【００６２】
次に、Ｓ３０３の検索キーデータを膨張させる度合いの指定方法について説明する。図１２は、検索者が検索キーデータを膨張させる度合いを指定するための操作インターフェイスの図であり、表示部４に表示される。
【００６３】
部品の表示領域３０には、検索キーデータとその検索キーデータに組み合わされる部品が、組み合わされた状態のときの断面が表示される。このとき、検索キーデータと組み合わされる部品の区別を視認しやすくするため、例えば別の色で描画する。また、検索キーデータを膨張させたときの膨張した部分の領域を重ね合わせて表示する。このとき、検索キーデータや組み合わされる部品と膨張領域との区別を視認しやすくするため、例えば別の色で描画する。
【００６４】
表示させる断面の位置は、表示断面移動ボタン３１により検索者が変更できる。表示領域３０において仮想的に設定された３次元の座標系の軸をＸ軸、Ｙ軸、Ｚ軸とするとき、軸ごとの平行移動や各軸を回転軸にした回転を指定する。例えば、図１２では、画面の横方向がＸ軸で左から右に行くほどＸ座標値は大きくなり、縦方向がＹ軸で下から上に行くほどＹ座標値は大きくなり、奥行き方向がＺ軸で手前から奥に行くほどＺ座標値は大きくなるよう定義されている。
【００６５】
ここで、表示断面移動ボタン３１のＸ軸の「＋」ボタンを例えば操作部１のマウスでクリックすると、断面位置は所定の量だけＸ軸の正の方向、すなわち、画面の右方向に移動する。逆に、Ｘ軸の「−」ボタンをクリックすると、断面位置は所定の量だけＸ軸の負の方向、すなわち、画面の左方向に移動する。また、Ｘ軸の「回転」ボタンをクリックすると、Ｘ軸を回転軸として所定の方向に所定の角度だけ断面が回転する。Ｙ軸やＺ軸のボタンについても同様である。
【００６６】
検索者が、表示断面移動ボタン３１で断面位置の移動を指定すると、表示部４は、検索キーデータや組み合わされる部品や膨張領域の移動後の断面を表示する。膨張の度合いの指定は、膨張度指定スライダーバー３２や膨張度指定フィールド３３により指定する。膨張度指定スライダーバー３２は、左端が膨張度０であり、右端が所定の膨張度の最大値をとり、例えば操作部１のマウスドラッグでスライダー部分を左右に操作することで膨張度を指定できる。また、膨張度指定フィールド３３には、膨張度を表す数値を直接入力することで指定できる。
【００６７】
膨張度の数値は、予め決められた長さの単位に基づいて決められる。例えば、図１２の例で、長さの単位が０．１ｍｍと決められているとき、膨張度１５は１．５ｍｍを表す。検索者が膨張度指定スライダーバー３２や膨張度指定フィールド３３により膨張度を指定すると、表示部４は、その膨張度に応じた膨張領域を検索キーデータや組み合わされる部品と重ね合わせて表示する。
【００６８】
次に、Ｓ３０３の検索キーデータを膨張させる方法について説明する。図１３は、検索キーデータと組み合わされる部品と膨張領域のある断面を表したものであり、黒色の領域が検索キーデータの断面、線分で囲まれた白色の領域が組み合わされる部品の断面、斜線領域が膨張領域、その他は空間的な余地の領域を表す。一番左は膨張していない状態の図で、この位置関係で検索キーデータと組み合わされる部品が組み合わされている。
【００６９】
ここで、検索キーデータに対して与えられた膨張度がＥであったとき、検索キーデータの表面上の点群について、各々の点Pi=(Xi,Yi,Zi)を法線方向に距離Ｅだけ離れた点をPi'=(Xi',Yi',Zi')とする。ただし、点Piと点Pi'を結ぶ線上で、検索キーデータに組み合わされる他の部品の表面との交点が存在する場合、点Piから最も近い交点を新たな点Pi'とする。このとき、点群[Pi']が構成する面を膨張領域の表面とし、その膨張領域の表面で覆われる領域の中で元の検索キーデータの領域を除いた領域を膨張領域とする。この方法により、図１３において、膨張度の単位が０．１ｍｍであり、膨張度として５が与えられたとき、検索キーデータの下部の部分は、他の部品の領域と接しているため、膨張領域は生じず、上部については０．５ｍｍの厚さの膨張領域が生成される。さらに、膨張度として２０が与えられたときは、検索キーデータの上部においても他の部品の領域と接する部分が生じ、空間的な余地が十分にある横方向の部位については２ｍｍの厚さの膨張領域が生成されるが、その他の部位の膨張領域は２ｍｍより薄い厚さの領域となる。
【００７０】
次に、Ｓ３０４の重みの算出方法について説明する。図１４は、検索キーデータの部品と他の部品を組み合わせた状態の断面を表した模式図である。また、膨張領域の境界面を点線で示している。ここで、図１４の破線矢印のように、検索キーデータの表面上の点ｉにおいて、その点での表面に対する法線方向に進んだとき、他の部品の表面、あるいは、膨張領域の境界面とぶつかる点までの距離SSiを求める。次に隣接する点同士で、求めた距離SSiの差が所定の閾値以下の場合に同じグループに分類する。
【００７１】
ここで、分類された各グループの点群が、検索キーデータの部位となる。また、各部位の重みｗは、その部位に含まれる点について求められたSSiの平均値SSaveに基づいて、実施例２における式（８）で同様に算出される。
【実施例４】
【００７２】
次に、検索キーデータが表す部品が他の部品や機器と組み合わされて利用され、かつ、組み合わされた部品や機器の利用時に検索キーデータが表す部品と他の部品との相対的な位置関係が変わり、それに応じて、組み合わされた際の空間的な余地が変わる場合に、その変化する余地の最小領域の大きさに応じて付与した部位ごとの重みを用いて検索する実施例の動作を説明する（図１５）。
【００７３】
まず、表示部４は、検索者が操作部１により指定した検索キーデータとその検索キーデータと組み合わされる部品を、部品データ記憶部６から読み込んで表示する（Ｓ４０１）。検索者は、操作部１を用いて、検索キーデータとその検索キーデータと組み合わされる部品が組み合わされた状態の位置関係になるように、それらを配置する（Ｓ４０２）。
【００７４】
仮想試作部５は、検索キーデータに対して、組み合わされる部品の相対的な稼動領域、すなわち、それら部品で構成される機器が稼動する際に、組み合わされる部品が存在する領域を算出する（Ｓ４０３）。重み付与部２は、検索キーデータに部位ごとの重みを付与する（Ｓ４０４）（詳細は後述する）。
【００７５】
表示部４は、検索キーデータと各部位の重みを表示する（Ｓ４０５）。付与された重みを検索者が変更したい場合は、操作部１により変更したい部位と変更したい重みを入力することで変更する（Ｓ４０６）。
【００７６】
類似度計算部３は、部品データ記憶部７から検索対象データを読み込み、検索キーデータに付与された重みに基づき、検索キーデータと検索対象データとの間で類似度を算出する（Ｓ４０７）。表示部４は、類似度が大きい順に検索対象データを表示する（Ｓ４０８）。
【００７７】
次に、Ｓ４０４の重みの算出方法について説明する。まず、検索キーデータの部品やそれに組み合わされる他の部品から構成される機器が稼動する際に、検索キーデータの部品に対して他の部品の相対的な位置関係が変化する場合、稼動時に他の部品が存在する領域を稼動領域として仮想試作部５により算出する。
【００７８】
この稼動領域を仮想的な一つの部品の領域と見なして、実施例２のＳ２０３における方法で部位ごとの重みを算出する。例えば、検索キーデータとその検索キーデータと組み合わされる部品の位置関係を断面で表した図１６において、検索キーデータが表す部品に対して、稼動時に部品Ａは位置１と位置２の間を図１６における上下方向に位置を変えるとき、その稼動領域の断面は図１６右側の横線部分の領域となる。この稼動領域を仮想的な一つの部品と見なして部位ごとの重みを計算する。
【００７９】
（付記１）コンピュータを、
検索キーとなる部品の形状データ（以下、検索キーデータという）と検索対象となる部品の形状データ（以下、検索対象データという）を記憶する記憶部、
指定された検索キーデータを前記記憶部から読み込み、該検索キーデータの部位に係る複雑度の度合いが大きいほど重み（以下、重み１と言う）を小さく付与する重み付与部、  
前記記憶部から読み込んだ検索対象データと付与された重み１を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み１に応じた類似度を計算する計算部、
として機能させる形状データ検索プログラム。（１）
（付記２）前記重み付与部を、前記検索キーデータが他の部品の形状データと組み合わせて利用される場合、組み合わされた際の空間的な余地の大きさに応じて重み（以下、重み２と言う）を付与する処理部、
前記計算部を、前記記憶部から読み込んだ検索対象データと付与された重み２を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み２に応じた類似度を計算する処理部、
として機能させる付記１記載の形状データ検索プログラム。（２）
（付記３）前記重み付与部を、前記検索キーデータが他の部品の形状データと組み合わせて利用される場合、前記検索キーデータに係る部位の膨張の度合いに応じて重み（以下、重み３と言う）を付与する処理部、
前記計算部を、前記記憶部から読み込んだ検索対象データと付与された重み３を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み３に応じた類似度を計算する処理部、
として機能させる付記１または２記載の形状データ検索プログラム。（３）
（付記４）前記重み付与部を、前記検索キーデータが他の部品の形状データと組み合わせて利用される場合、組み合わされた前記検索キーデータと前記他の部品の形状データとの相対的な位置関係の変化に伴って組み合わされた際の空間的な余地が変化するとき、変化する余地の最小領域の大きさに応じて重み（以下、重み４と言う）を付与する処理部、
前記計算部を、前記記憶部から読み込んだ検索対象データと付与された重み４を持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み４に応じた類似度を計算する処理部、
として機能させる付記１、２または３記載の形状データ検索プログラム。
（付記５）コンピュータを、更に、
前記類似度の順番に応じて前記検索対象データを表示する表示部、
として機能させる付記１、２、３または４記載の形状データ検索プログラム。
（付記６）検索キーとなる部品の形状データ（以下、検索キーデータという）と検索対象となる部品の形状データ（以下、検索対象データという）を記憶する記憶部と、
指定された検索キーデータを前記記憶部から読み込み、該検索キーデータの部位に係る複雑度の度合いが大きいほど重み（以下、重み１と言う）を小さく付与する重み付与部と、
前記記憶部から読み込んだ検索対象データと付与された重みを持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み１に応じた類似度を計算する計算部と、
を有する形状データ検索装置。（４）
（付記７）記憶部と重み付与部と計算部を有する形状データ検索装置における形状データ検索方法において、
前記記憶部は、検索キーとなる部品の形状データ（以下、検索キーデータという）と検索対象となる部品の形状データ（以下、検索対象データという）を記憶し、
前記重み付与部は、指定された検索キーデータを前記記憶部から読み込み、該検索キーデータの部位に係る複雑度の度合いが大きいほど重み（以下、重み１と言う）を小さく付与し、
前記計算部は、前記記憶部から読み込んだ検索対象データと付与された重みを持つ検索キーデータとの類似度を計算する際、部位毎に、前記重み１に応じた類似度を計算する、
ことを特徴とする形状データ検索方法。（５）
【図面の簡単な説明】
【００８０】
【図１】本願発明の構成図
【図２】検索キーデータと重みの表示例、部品データ
【図３】実施例１の動作フロー
【図４】３次元ＣＡＤデータと平面パッチ
【図５】平面パッチのサンプリング点
【図６】サンプリング点からの射影距離
【図７】実施例２の動作フロー
【図８】検索キーデータと他の部品との組み合わせ状態
【図９】部位ごとの空間的な余地の例１
【図１０】部位ごとの空間的な余地の例２
【図１１】実施例３の動作フロー
【図１２】検索キーデータの膨張度合いを指定する画面
【図１３】検索キーデータの膨張方法の説明図
【図１４】膨張領域を考慮した部位毎の空間的な余地の例
【図１５】実施例４の動作フロー
【図１６】稼動領域の説明図
【符号の説明】
【００８１】
１  操作部
２  重み付与部
３  類似度計算部
４  表示部
５  仮想試作部
６  部品データ記憶部
３０  表示領域
３１  表示断面移動ボタン
３２  膨張度指定スライダーバー
３３  膨張度指定フィールド
【図１】
2008040774.tif 000011
【図２】
2008040774.tif 000012
【図３】
2008040774.tif 000013
【図４】
2008040774.tif 000014
【図５】
2008040774.tif 000015
【図６】
2008040774.tif 000016
【図７】
2008040774.tif 000017
【図８】
2008040774.tif 000018
【図９】
2008040774.tif 000019
【図１０】
2008040774.tif 000020
【図１１】
2008040774.tif 000021
【図１２】
2008040774.tif 000022
【図１３】
2008040774.tif 000023
【図１４】
2008040774.tif 000024
【図１５】
2008040774.tif 000025
【図１６】
2008040774.tif 000026