説明

データベース管理プログラム、データベース管理装置、データベース管理方法

【課題】高速に形状データの同一性を判定するためのデータベース管理プログラム、データベース管理装置、データベース管理方法を提供する。
【解決手段】第1形状データを構成する稜線を取得する第1稜線取得ステップと、第1稜線取得ステップにより取得された稜線の特徴を示す情報を第1稜線特徴情報として生成し、第1稜線特徴情報を第1形状データに対応付け、データベースへ登録する情報登録ステップと、検索条件を表す第2形状データを構成する稜線を取得する第2稜線取得ステップと、第2稜線取得ステップにより取得された稜線の稜線特徴情報を第2稜線特徴情報として生成する情報生成ステップと、第1稜線特徴情報と第2稜線特徴情報とに基づいて、第1形状データのうち第2形状データに一致するものである第3形状データを検索する検索ステップとをコンピュータに実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状データに関するデータベースを管理するデータベース管理プログラム、データベース管理装置、データベース管理方法に関するものである。
【背景技術】
【0002】
製造業における製品開発は、常に3次元形状モデルや2次元図面の要素を新規に作成して設計を進めていくものではない。納期短縮やコスト削減のために、既存の3次元形状モデルや2次元図面の全部または一部のデータが複写され、再利用されることが多い。そのために、何度も利用する3次元形状モデルや2次元図面の要素は、再利用する単位のモデル(標準モデルや共通モデル)として、「モデルL(Library)DB(Database)」と呼ばれるDB(Database)に格納される。これにより、設計者が必要に応じてモデルLDBからデータを取り出して再利用する等、既存資産を流用しながらの設計が行われる。
【0003】
このような流用設計を行う場合、既存のモデルが格納されているDBから、あるいは、前述のモデルLDBから、設計者が必要とするモデルの検索にかかる時間の短縮は、全体の製品設計期間の短縮や開発コストダウンにつながる。なお、設計者が設計中に必要とするモデルを検索するタイミングとしては、新規に形状を作成する場合に留まらない。既存のモデルに変更が行われたとき、そのモデルの全部または一部を流用しているモデルなど、変更されたモデルと関連のあるモデルを検索し、必要があれば検索されたモデルの修正を行う場合がある。また、製品が市場へ出荷された後にその製品内のモデルに改善の必要性が出た場合には、そのモデルの修正だけにとどまらず、そのモデルを利用している製品すべてを検索し、不良のないモデルに交換する等の対策を行う場合がある。このように、製品の作成段階だけではなく、製品の設計−製造−出荷後、そして廃棄といった製品のライフサイクルのすべての工程において、モデルや形状の検索処理を必要とする場面は多く、検索時間の短縮、情報の収集期間の短縮などにより、必要とするデータに高速にアクセスしたいという市場ニーズは強い。
【0004】
次に、モデルの検索方法について説明する。まず、予め流用するモデルや図面の名前に意味を持たせて保存しておき、CAD(Computer Aided Design)上やデータ管理システム上のコマンドにより、モデルや図面の名前中の文字列を検索キーとして必要なデータを検索する手法である「文字列検索」がある。また、検索キーとして文字列を用いるのではなく、モデルや図面の要素に付加されている「赤」「青」といった色の情報や「鉄」「アルミ」といった素材情報等、モデルや図面が持つ属性情報を検索キーとして検索できるCADも多い。その他、2次元図面であれば、図面中に書かれている線分や円の要素の種類や数を検索キーとして、設計者の必要とする図面を検索するCADがある。また、3次元モデルの特徴を示す情報としては、色、形状、体積、面積、面、稜線等の構成要素数、輪郭線、慣性モーメント、アスペクト比等様々なものがあるため、それらの特徴の1つ或いは複数を検索キーとして、設計者の必要とするモデルを検索するCADがある。
【0005】
また、文字列や属性情報を検索キーとするのではなく、3次元形状そのものを検索キーとして、DBの中から検索キーの形状と類似するモデルを求める「形状マッチング」の研究が様々な分野で行われている。また画像処理によるマッチング処理の方式も考案されている。例えば、2次元図面を一度イメージデータに変換し、線が存在する部分の類似度に従って形状の類似性を判断する方式、3次元が画面に表示された状態をイメージデータに変換し、その輪郭形状や面の輝度による凸凹度を評価し、類似した形状かどうかを判断する方式などがある。
【0006】
世界的に設計ツールの中心として2次元CADに代わって3次元CADが普及してきた現在では、設計者の必要とする形状と一致する3次元モデルを簡単に速く正確に検索できることは、市場への製品の早期投入による売上向上、開発コスト削減のためには必須になっており、そのような機能やツールの提供が求められている。その需要に応えるべく、3次元CADデータの検索を行う類似形状検索エンジンが提供されている(例えば、非特許文献1及び非特許文献2参照)。
【0007】
なお、本発明の関連ある従来技術として、要求仕様を実現する設計に必要な事例部品や標準部品の組み合わせを提示可能にし、更に標準部品データベースの構築を容易にする設計支援装置がある(例えば、特許文献1参照)。
【特許文献1】特開平9−179892号公報
【非特許文献1】武藤工業株式会社,”3DSearchIT”,URL=http://www.mutoh.co.jp/it/products/3dsearchit/index.htm,2002年7月29日
【非特許文献2】日本アイ・ビー・エム株式会社 東京基礎研究所,”3次元形状類似検索技術”,URL=http://www.research.ibm.com/trl/projects/3dweb/SimSearch.htm,1999年9月30日
【発明の開示】
【発明が解決しようとする課題】
【0008】
上述したようにCADへの組み込みを前提とした類似形状検索エンジンがあるが、それらは類似形状の検索を行うツールに留まっている。しかしながら、CADを利用した実際の設計現場において、設計者は、数値化された長さや角度などを意識した設計を行っている。そのため、例えば「10mmの穴を3つ持つ製品モデル」のように正確な条件に適合するモデルを必要とする場合がある。この場合、類似形状を検索するだけではなく、検索により得られた多くの候補の中から条件に合致する目的の形状を絞り込む必要がある。
【0009】
また、色や輪郭線などモデルが持つ属性情報を使って検索を行う場合、DBからモデルのロードを行い、メモリ上で形状の属性情報を取り出し、検索キーと比較する処理が行われる。従って、このような検索を行う場合、純粋な検索時間のほかに、システム内部へのロードやメモリの解放等の処理時間も必要となり非常に多くの検索時間がかかっていた。
【0010】
本発明は上述した問題点を解決するためになされたものであり、高速に形状データの同一性を判定するためのデータベース管理プログラム、データベース管理装置、データベース管理方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決するため、本発明は、形状データに関するデータベースの管理をコンピュータに実行させるデータベース管理プログラムであって、予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得ステップと、前記第1稜線取得ステップにより取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録ステップと、検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得ステップと、前記第2稜線取得ステップにより取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成ステップと、前記情報登録ステップにより登録された第1稜線特徴情報と前記情報生成ステップにより生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索ステップとをコンピュータに実行させるものである。
【0012】
また、本発明に係るデータベース管理プログラムにおいて、前記稜線特徴情報は、稜線の形状を示す稜線形状情報と、該稜線が属する形状データにおける他の稜線との位置関係を表す稜線位置情報とを含むことを特徴とする。
【0013】
また、本発明に係るデータベース管理プログラムにおいて、前記稜線形状情報は、稜線の種別を表す種別情報と該稜線の寸法を表す寸法情報とを含むことを特徴とする。
【0014】
また、本発明に係るデータベース管理プログラムにおいて、前記稜線位置情報は、稜線が属する形状データにおける該稜線の位置を表す座標である代表座標と該稜線の方向を表すベクトルである代表ベクトルとを含むことを特徴とする。
【0015】
また、本発明に係るデータベース管理プログラムにおいて、前記検索ステップは、前記第1形状データの前記稜線形状情報及び前記第2形状データの前記稜線形状情報に基づいて、前記第1形状データのうち、該第1形状データの前記稜線形状情報が前記第2形状データの前記稜線形状情報に一致するものを、候補形状データとし、前記候補形状データの前記稜線位置情報及び前記第2形状データの前記稜線位置情報に基づいて、前記候補形状データのうち、該候補形状データを構成する稜線間の位置関係が前記第2形状データを構成する稜線間の位置関係に一致するものを前記第3形状データとすることを特徴とする。
【0016】
また、本発明に係るデータベース管理プログラムにおいて、前記検索ステップは、前記第2形状データを構成する稜線の組み合わせを選択し、該組み合わせに対応する前記稜線位置情報から該組み合わせの位置関係を算出し、前記候補形状データを構成する稜線の組み合わせを選択し、該組み合わせに対応する前記稜線位置情報から該組み合わせの位置関係を算出し、前記第2形状データから得られた全ての組み合わせの位置関係と前記候補形状データから得られた全ての組み合わせの位置関係が一致する場合、前記候補形状データを前記第3形状データとすることを特徴とする。
【0017】
また、本発明に係るデータベース管理プログラムにおいて、前記寸法情報は該稜線の長さ、該稜線の半径、該稜線における始点から終点までの直線の距離のいずれかであり、前記代表座標は該稜線の2等分点、該稜線の中心、該稜線の始点と該稜線の終点の2等分点、該稜線の始点のいずれかであり、前記代表ベクトルは該稜線における始点から終点への方向、該稜線の中心軸の方向、前記代表座標における接線の方向のいずれかを示すことを特徴とする。
【0018】
また、本発明に係るデータベース管理プログラムにおいて、前記種別情報は、直線、円、円弧、円弧以外の開曲線である第1曲線、円以外の閉曲線である第2曲線のいずれかであることを特徴とする。
【0019】
また、本発明に係るデータベース管理プログラムにおいて、前記種別情報が直線である稜線に対して、前記寸法情報は該稜線の長さであり、前記代表座標は該稜線の2等分点であり、前記代表ベクトルは該稜線における始点から終点への方向を示すことを特徴とする。
【0020】
また、本発明に係るデータベース管理プログラムにおいて、前記種別情報が円である稜線に対して、前記寸法情報は該稜線の半径であり、前記代表座標は該稜線の中心であり、前記代表ベクトルは該稜線の中心軸の方向を示すことを特徴とする。
【0021】
また、本発明に係るデータベース管理プログラムにおいて、前記種別情報が円弧である稜線に対して、前記寸法情報は該稜線の長さであり、前記代表座標は該稜線の2等分点であり、前記代表ベクトルは該代表座標における該稜線の接線の方向を示すことを特徴とする。
【0022】
また、本発明に係るデータベース管理プログラムにおいて、前記種別情報が第1曲線である稜線に対して、前記寸法情報は該稜線における始点から終点までの直線の距離であり、前記代表座標は該稜線における始点と終点の2等分点であり、前記代表ベクトルは該稜線における始点から終点への方向を示すことを特徴とする。
【0023】
また、本発明に係るデータベース管理プログラムにおいて、前記種別情報が第2曲線である稜線に対して、前記寸法情報は該稜線の長さであり、前記代表座標は該稜線の2等分点であり、前記代表ベクトルは該代表座標における該稜線の接線の方向を示すことを特徴とする。
【0024】
また、本発明に係るデータベース管理プログラムにおいて、前記情報登録ステップは、前記種別情報に基づいて利用頻度の低い種別から順に稜線形状情報をソートすることを特徴とする。
【0025】
また、本発明に係るデータベース管理プログラムにおいて、前記情報登録ステップは、前記寸法情報により前記稜線形状情報をソートすることを特徴とする。
【0026】
また、本発明は、形状データに関するデータベースの管理を行うデータベース管理装置であって、予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得部と、前記第1稜線取得部により取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録部と、検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得部と、前記第2稜線取得部により取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成部と、前記情報登録部により登録された第1稜線特徴情報と前記情報生成部により生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索部とを備えたものである。
【0027】
また、本発明に係るデータベース管理装置において、前記稜線特徴情報は、稜線の形状を示す稜線形状情報と該稜線が属する形状データにおける他の稜線との位置関係を表す稜線位置情報を含むことを特徴とする。
【0028】
また、本発明に係るデータベース管理装置において、前記検索部は、前記第1形状データの前記稜線形状情報及び前記第2形状データの前記稜線形状情報に基づいて、前記第1形状データのうち、該第1形状データの前記稜線形状情報が前記第2形状データの前記稜線形状情報に一致するものを、候補形状データとし、前記候補形状データの前記稜線位置情報及び前記第2形状データの前記稜線位置情報に基づいて、前記候補形状データのうち、該候補形状データを構成する稜線間の位置関係が前記第2形状データを構成する稜線間の位置関係に一致するものを前記第3形状データとすることを特徴とする。
【0029】
また、本発明に係るデータベース管理装置において、前記検索部は、前記第2形状データを構成する稜線の組み合わせを選択し、該組み合わせに対応する前記稜線位置情報から該組み合わせの位置関係を算出し、前記候補形状データを構成する稜線の組み合わせを選択し、該組み合わせに対応する前記稜線位置情報から該組み合わせの位置関係を算出し、前記第2形状データから得られた全ての組み合わせの位置関係と前記候補形状データから得られた全ての組み合わせの位置関係が一致する場合、前記候補形状データを前記第3形状データとすることを特徴とする。
【0030】
また、本発明は、形状データに関するデータベースの管理を行うデータベース管理方法であって、予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得ステップと、前記第1稜線取得ステップにより取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録ステップと、検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得ステップと、前記第2稜線取得ステップにより取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成ステップと、前記情報登録ステップにより登録された第1稜線特徴情報と前記情報生成ステップにより生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索ステップとを実行するものである。
【発明の効果】
【0031】
本発明によれば、高速に形状データの同一性を判定することができる。
【発明を実施するための最良の形態】
【0032】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【0033】
本実施の形態においては、本発明に係るデータベース管理装置をCAD装置に適用した場合について説明する。
【0034】
まず、本実施の形態に係るCAD装置の構成について説明する。
【0035】
図1は、本実施の形態に係るCAD装置の構成の一例を示すブロック図である。このCAD装置2は、入力部1、モデルDB7、表示部8、稜線特徴情報DB9に接続される。CAD装置2は、編集部3、データ管理部4、モデラカーネル部5、稜線特徴情報管理部6を備える。ここで、編集部3、データ管理部4、モデラカーネル部5、稜線特徴情報管理部6は、CAD装置2のCPUにより実行されるプログラムとして実現される。
【0036】
入力部1は、キーボードやマウス等の入力インターフェースである。モデルDB7は、CAD装置2により作成されたモデル(形状データ)を格納するDBである。表示部8は、モニタ等、CAD装置2により作成されたデータや形状を表示するものである。稜線特徴情報DB9は、高速にモデルの検索を行うための情報を格納するDBであり、モデルDB7中の稜線に基づく稜線特徴情報を格納する。
【0037】
次に、モデル作成時におけるCAD装置2の動作について説明する。
【0038】
まず、CAD装置のユーザ(モデルの設計者)から入力部1においてモデルの断面形状や寸法値など、モデルを作成するための指示が入力されると、編集部3は、入力部1からの指示に従って、モデラカーネル部5に3次元形状モデルの作成依頼を行う。次に、モデラカーネル部5は、与えられた断面形状や寸法値などに基づいて、3次元形状モデルの設計データとモデルを表示するための表示データを生成し、結果を編集部3に返す。次に、編集部3は、モデラカーネル部5から得られた設計データと表示データをデータ管理部4に渡す。データ管理部4は、設計データ中の面、稜線、頂点に対して管理IDを割り振り、モデル毎の設計ファイルとしてモデルDB7に格納する。また、表示データを表示部8に表示する。
【0039】
次に、稜線特徴情報について説明する。
【0040】
CADの3次元モデルのデータ構造は、ワイヤフレームモデル、サーフェスモデル、ソリッドモデルの3種類に分別できる。しかし、モデルの体積や面積を求めるのでなければ、モデルの形状は、モデルを構成する単数あるいは複数の稜線(エッジ)列だけで表現されることができる。本実施の形態においては、モデルDB7における稜線は、稜線特徴情報DB9における稜線特徴情報に変換される。稜線特徴情報は、稜線から得られる特徴線の種別を表す特徴線種別(種別情報)、特徴線の大きさを表す特徴線長(寸法情報)、特徴線の位置を表す代表座標、特徴線の方向を表す法線ベクトルまたは接線ベクトルである代表ベクトルの4つの情報を用いて表される。
【0041】
また、一般的なモデルDB7における全ての稜線は、直線、円、円弧、楕円弧、楕円、閉スプライン(始点と終点が同じ座標にある閉じた自由曲線)と開スプライン(開いた自由曲線)の7種類の稜線種別に分類される。本実施の形態において、全ての稜線は特徴線に変換され、直線、円、円弧、曲線1(第1曲線)、曲線2(第2曲線)の5種類の特徴線種別に分類される。図2は、本実施の形態に係る稜線種別と特徴線種別の対応付けの一例を示す表である。この表において、第1列は、稜線種別を表し、第2列は、稜線種別に対応する特徴線種別を表す。ここで、稜線種別における直線、円、円弧は、それぞれ特徴線種別における直線、円、円弧に対応付けられる。また、稜線種別における楕円弧及び開スプラインは、始点座標と終点座標が異なる曲線として統合され、特徴線種別における曲線1に対応付けられる。また、稜線種別における楕円及び閉スプラインは、始点座標と終点座標が同一の曲線として統合され、特徴線種別における曲線2に対応付けられる。
【0042】
図3は、本実施の形態に係る特徴線種別の一例を示す概念図である。図4は、本実施の形態に係る稜線特徴情報の内容の一例を示す表である。この表は、特徴線種別毎に、特徴線種別(特徴線種別ID)、特徴線長、代表座標、代表ベクトルを示す。特徴線種別が曲線1または曲線2である場合、対応する稜線に含まれる制御点や通過点の情報は省かれる。つまり、稜線に比べて稜線特徴情報のデータ構造はシンプルであり、検索時に比較するデータ量が減少する。
【0043】
また、特徴線種別が直線、円、円弧、曲線2である場合、対応する稜線の稜線長が算出され、特徴線長になる。また、特徴線種別が曲線1である場合、対応する稜線の始点から終点までの直線距離が算出され、特徴線長になる。
【0044】
また、特徴線種別が円である場合、対応する稜線の中心座標がそのまま代表座標になる。また、特徴線種別が曲線2である場合、対応する稜線の始点の座標がそのまま代表座標になる。また、特徴線種別が直線、曲線1である場合、始点と終点を結ぶ線分の中点が算出され、代表座標になる。また、特徴線種別が円弧である場合、対応する稜線を2等分する稜線上の点が算出され、代表座標になる。
【0045】
また、特徴線種別が直線、曲線1である場合、始点から終点への方向を表す単位ベクトル(接線ベクトル)が算出され、代表ベクトルになる。また、特徴線種別が円、円弧である場合、対応する稜線の中心軸の方向を表す単位ベクトル(対応する稜線の法線ベクトル)が算出され、代表ベクトルになる。また、特徴線種別が曲線2である場合、対応する稜線の始点における接線ベクトルが算出され、代表ベクトルになる。
【0046】
次に、稜線特徴情報DB9について説明する。
【0047】
稜線特徴情報DB9は、インデックスファイルDBと位置データファイルDBから構成される。図5は、本実施の形態に係るインデックスファイルDBのデータ構造の一例を示すデータ構造図である。インデックスファイルDBは、モデル毎のインデックスファイルを格納する。インデックスファイルの順序は、更新日の新しいものから順番にソートされる。更新した日付が新しいモデル程、設計者によりアクセスされる頻度が高いことを想定したものである。これにより、モデルの検索を高速化することができる。また、このインデックスファイルの順序により、検索処理を途中で止めるような場合であっても、設計者のアクセス頻度が高いモデル程、見つけられる可能性が高くなる。
【0048】
モデル毎のインデックスファイルは、そのモデルの更新日、そのモデルを構成する要素(稜線)の数を示す要素数、要素毎に存在し、その要素の概要を示す要素インデックス、位置データファイルDBにおいて対応するモデルの位置データファイルの先頭アドレスを指し示す位置データファイルポインタ、モデルDB7において対応するモデルのフルパスを含むモデル名、そのモデルに付属するコメント等のモデル任意情報を格納する。要素インデックスは、要素の稜線特徴情報のうち、特徴線種別IDと特徴線長を格納する。特徴線種別IDは、1,2,3,4,5のいずれかで表され、それぞれ特徴線種別の直線、円、円弧、曲線1、曲線2に対応する。
【0049】
実際のインデックスファイルにおいて、特徴線種別IDは、3bitの符号なし整数として格納される。また、特徴線長は、特徴線長(8bitの実数)×1000.0−1.0が符号なし整数に変換され、格納される。このとき、特徴線長は、1μm〜約536mの範囲の値を表すことができる。ここで、値の範囲を0.1μm〜約53mの範囲の値としても良い。
【0050】
1つのインデックスファイル内の要素インデックスは、実際の設計物における要素の特徴線種別の出現頻度が少ないものから順(曲線2、曲線1、円弧、円、直線の順)にソートされる。つまり、特徴線種別IDが大きいものから順にソートされる。また、同一の特徴線種別IDを持つ要素が複数ある場合、要素インデックスは特徴線長の大きいものから順にソートされる。なお、同一の特徴線種別IDを持つ要素が複数ある場合、要素インデックスは、特徴線長の小さいものから順にソートされても良い。ここで、データの並べ替えについては、クイックソートなどの手段が用いられる。
【0051】
図6は、本実施の形態に係る位置データファイルDBのデータ構造の一例を示すデータ構造図である。位置データファイルDBは、モデル毎の位置データファイルを格納する。位置データファイルは、要素数、要素毎の要素位置データを格納する。要素位置データは、要素の稜線特徴情報のうち、代表座標(X、Y、Z)、代表ベクトル(Nx,Ny,Nz)を格納する。代表ベクトルは、次式によりから緯度と経度(θ、φ)へ変換され、格納される。
【0052】
θ=acos(Nz)
φ=atan2(Ny,Nx)
【0053】
実際の位置データファイルにおいて、代表座標(X、Y、Z)は、それぞれ4bitの実数として格納される。また、代表ベクトル(θ,φ)は、それぞれ0〜2π[rad]の範囲の実数が0〜216の範囲の16bitの符号なし整数に変換され、格納される。
【0054】
1つの位置データファイル内の要素位置データは、要素インデックスと同様、実際の設計物における要素の特徴線種別IDの大きいものから順にソートされ、同一の特徴線種別IDでは、特徴線長の大きいものから順にソートされる。
【0055】
次に、稜線特徴情報管理部6の動作について説明する。
【0056】
図7は、本実施の形態に係る稜線特徴情報管理部の動作の一例を示すフローチャートである。まず、入力部1を介してユーザから稜線特徴情報DB9の構築の指示を受けると、稜線特徴情報管理部6は、モデルDB7からモデル毎に稜線を抽出し、稜線から稜線特徴情報を生成し、1次ファイルとして格納する稜線特徴情報登録処理を行う(S11)。1次ファイルのデータ構造は、稜線特徴情報DB9と同様のデータ構造のインデックスファイルと位置データファイルで構成される。
【0057】
次に、稜線特徴情報管理部6は、所定のタイミングで1次ファイルの内容を稜線特徴情報DB9に反映する稜線特徴情報更新処理を行う(S12)。
【0058】
次に、入力部1を介してユーザから検索キーが入力されると、稜線特徴情報管理部6は、検索キーに合致するモデルを、稜線特徴情報DB9から検索する稜線特徴情報検索処理を行う(S13)。
【0059】
次に、稜線特徴情報登録処理について説明する。
【0060】
図8は、本実施の形態に係る稜線特徴情報登録処理の動作の一例を示すフローチャートである。CAD装置2により設計され、モデルDB7に格納された設計モデルは、幾つかの部品のモデルで構成されている。まず、稜線特徴情報管理部6は、稜線特徴情報DB9に登録しようとする設計モデルに含まれる部品の数をカウントし、その結果を部品点数として変数PCに格納する(S31)、次に、稜線特徴情報管理部6は、PCが0であるか否かの判断を行う(S32)。
【0061】
PCが0である場合(S32,Yes)、即ち稜線特徴情報を生成すべき部品がない場合、このフローは終了する。一方、PCが1以上である場合(S32,No)、稜線特徴情報管理部6は、モデルDB7内のPC個の部品のうち1つの部品を選択して着目部品とし、モデルDB7から着目部品のモデルをロードし、モデルから稜線特徴情報DB9に格納する情報(モデル名、任意情報等)を取得する(S33)。次に、稜線特徴情報管理部6は、着目部品内の稜線の数を取得し、変数ECに格納する(S34)。
【0062】
次に、稜線特徴情報管理部6は、着目部品内のEC個の稜線のうち1つの稜線を選択して着目稜線とする(S35)。次に、稜線特徴情報管理部6は、着目稜線の情報を取得し(S36)、稜線を稜線特徴情報に変換し(S37)、インデックスファイル及び位置データファイルの形式で1次ファイルへ登録する(S38)。次に、稜線特徴情報管理部6は、ECを1減少させ(S39)、ECが0であるか否かの判断を行う(S40)。ECが1以上である場合(S40,No)、即ち、着目部品中に選択されていない稜線が残っている場合、処理S35へ移行する。一方、ECが0である場合(S40,Yes)、即ち、着目部品中の稜線を全て選択し終えた場合、稜線特徴情報管理部6は、インデックスファイルのデータ構造において説明したように、1次ファイルにおいて着目部品中の要素のソートを行い(S41)、PCを1減少させ(S42)、処理S32へ移行する。
【0063】
次に、稜線特徴情報更新処理について説明する。稜線特徴情報管理部6は、CAD装置2のCPU(Central Processing Unit)がアイドル状態である場合、前回の稜線特徴情報更新処理から所定の時間が経過し、かつ検索処理が行われていない場合、入力部2を介してユーザにより稜線特徴情報DB更新ボタンが押下され、かつ検索処理が行われていない場合、等のタイミングで稜線特徴情報更新処理を行う。ここで、編集部3によりCAD画面上に稜線特徴情報DB更新ボタンが提供される。稜線特徴情報更新処理において、稜線特徴情報管理部6は、1次ファイルにおけるインデックスファイルと位置データファイルを稜線特徴情報DB9に移動し、インデックスファイルDBのデータ構造で説明したようにインデックスファイルDBのソートを行う。また、稜線特徴情報管理部6は、位置データファイルDBの更新に合わせてインデックスファイルにおける位置データファイルポインタを更新する。
【0064】
上述したように、稜線特徴情報登録処理により稜線特徴情報DB9のデータ構造と同様の1次ファイルが生成され、稜線特徴情報検索処理が行われていない時に稜線特徴情報更新処理により稜線特徴情報DB9に反映することにより、稜線特徴情報検索処理中に稜線特徴情報DB9のデータが更新されることによる稜線特徴情報検索処理の不具合を回避することができる。
【0065】
次に、稜線特徴情報検索処理について説明する。
【0066】
図9は、本実施の形態に係る稜線特徴情報検索処理の動作の一例を示すフローチャートである。まず、稜線特徴情報管理部6は、入力部1を介してユーザからの検索条件を受け付け、検索キーを生成する検索キー生成処理を行う(S51)。次に、稜線特徴情報管理部6は、インデックスファイルDBを用いて、モデルの絞り込みを行い、その結果を候補リストとする候補絞り込み処理を行う(S52)。次に、稜線特徴情報管理部6は、位置データファイルDBを用いて、検索キー中の要素の位置関係と候補リスト中の要素の位置関係の比較により検索キーに一致するモデルを検索結果のモデルとして決定する位置関係マッチング処理を行い(S53)、このフローは終了する。
【0067】
次に、検索キー生成処理について説明する。
【0068】
図10は、本実施の形態に係る検索キーのデータ構造の一例を示すデータ構造図である。検索キーは、モデル(部品)毎に、要素数、要素毎の要素インデックス、要素毎の要素位置データで構成される。稜線特徴情報DB9と同様、要素インデックスは、稜線特徴情報のうち特徴線種別IDと特徴線長を格納し、要素位置データは、稜線特徴情報のうち、代表座標(X,Y,Z)と代表ベクトル(緯度,経度)を格納する。更に、検索キーにおける要素インデックスの順序は、インデックスファイルDBにおける要素インデックスの順序と同様、特徴線種別IDの大きいものから順にソートされ、同一の特徴線種別IDでは、特徴線長の大きいものから順にソートされる。
【0069】
図11は、本実施の形態に係る検索キー生成処理の動作の一例を示すフローチャートである。データ管理部4は、ユーザが設計中のモデルである設計モデルを表示部8に表示させる(S61)。図中の処理S61は、表示部8により表示された設計モデルを示す。次に、稜線特徴情報管理部6は、入力部1を介してユーザにより入力された検索条件を取得する(S62)。図中の処理S62は、表示部8により表示された設計モデルにおいて、1つの部品が選択された状態を示す。検索条件は、入力部1を介してユーザにより画面上で選択された設計モデルの全部または一部(稜線、面)である。次に、稜線特徴情報管理部6は、設計モデルのうち検索条件に含まれる稜線を取得する(S63)。図中の処理S63は、選択された部品の稜線を示す。次に、稜線特徴情報管理部6は、稜線特徴情報登録処理と同様、取得した稜線を稜線特徴情報に変換する(S64)。図中の処理S64は、稜線の番号と稜線毎の特徴線種別を示す。次に、稜線特徴情報管理部6は、変換した稜線特徴情報から検索キーを生成し、ソートし(S65)、このフローは終了する。図中の処理S65は、生成された検索キーのデータ構造を示す。
【0070】
次に、候補絞り込み処理について説明する。
【0071】
図12は、本実施の形態に係る候補絞り込み処理の動作の一例を示すフローチャートである。まず、稜線特徴情報管理部6は、インデックスファイルDBにおいて着目するモデルである着目モデルのID、iを1に初期化する(S71)。次に、稜線特徴情報管理部6は、着目モデルのインデックスファイルを取得する(S72)。次に、稜線特徴情報管理部6は、検索キー中の要素である検索キー要素のID、mを1に初期化し、着目モデル中の要素であるモデル要素のID、nを1に初期化する(S73)。
【0072】
次に、稜線特徴情報管理部6は、検索キー要素mの要素インデックスとモデル要素nの要素インデックスの比較を行う。ここで、検索キー要素mにおける特徴線種別IDをQm、特徴線長をPmとし、モデル要素nにおける特徴線種別IDをLn、特徴線長をKnとする。また、稜線特徴情報管理部6は、Ln>Qmの条件(検索キー要素mの特徴線種別IDよりモデル要素nの特徴線種別IDが大きい)、またはLn=QmかつKn+ε>Pmの条件(検索キー要素mの特徴線種別IDとモデル要素nの特徴線種別IDが等しく、検索キー要素mの特徴線長よりモデル要素nの特徴線長が大きい)を満たす(モデル要素を進める必要がある)か否かの判断を行う(S77)。ここで、εは、特徴線長における所定の誤差を表す。
【0073】
条件を満たす場合(S77,Y)、稜線特徴情報管理部6は、nを1増加させて次のモデル要素nを選択し(S81)、処理S77へ移行する。一方、条件を満たさない場合(S77,N)、稜線特徴情報管理部6は、Ln=QmかつKn−ε<=Pm<=Kn+εの条件(検索キー要素mの特徴線種別IDとモデル要素nの特徴線種別IDが等しく、検索キー要素mの特徴線長とモデル要素nの特徴線長が等しい)を満たすか否かの判断を行う(S82)。
【0074】
条件を満たす場合(S82,Y)、稜線特徴情報管理部6は、モデル要素nが検索キー要素mにマッチする候補であると判断し、検索キー要素mの候補リストにモデル要素nを登録し(S83)、処理S88へ移行する。一方、条件を満たさない場合(S82,N)、稜線特徴情報管理部6は、検索キー要素nの候補リストが空であるか否かの判断を行う(S84)。空である場合(S84,Y)、稜線特徴情報管理部6は、この着目モデルにはマッチしないと判断し、iを1増加させて次の着目モデルを選択し(S85)、処理S72へ戻る。一方、空でない場合(S84,N)、稜線特徴情報管理部6は、mを1増加させ(S86)、mが最大値(検索キーの要素数)を超えたか否かの判断を行う(S87)。
【0075】
最大値を超えない場合(S87,N)、稜線特徴情報管理部6は、処理S77へ戻る。一方、最大値を超えた場合(S87,Y)、このフローは終了する。
【0076】
また、処理S88において、稜線特徴情報管理部6は、モデル要素m以降のモデル要素m+jについて、Ln=Q(m+j)かつKn−ε<=P(m+j)<=Kn+εの条件(検索キー要素m+jの特徴線種別IDとモデル要素nの特徴線種別IDが等しく、検索キー要素m+jの特徴線長とモデル要素nの特徴線長が等しい)を満たすか否かの判断を行う。条件を満たす場合(S88,Y)、稜線特徴情報管理部6は、モデル要素nを検索キー要素m+jにマッチする候補であると判断し、検索キー要素m+jの候補リストにモデル要素nを登録し(S89)、処理S81へ移行する。一方、条件を満たさない場合(S88,N)、処理S81へ移行する。
【0077】
ここで、候補リストについて説明する。
【0078】
図13は、本実施の形態に係る候補リストのデータ構造の一例を示すデータ構造図である。この候補リストの例は、上述した候補絞り込み処理により、検索キー要素P1にマッチする候補としてモデル要素K1,K2が登録され、検索キー要素P2にマッチする候補としてモデル要素K1,K2が登録され、検索キー要素P3にマッチする候補としてモデル要素K8,K10,K15が登録され、検索キー要素P4にマッチする候補としてモデル要素K20が登録されたものである。
【0079】
次に、位置関係マッチング処理について説明する。
【0080】
まず、位置関係マッチング処理の目的について説明する。図14は、本実施の形態に係るモデルの一例を示す図である。モデルA、モデルB、モデルCは、いずれも、曲線aと曲線bを備える。ここで、検索キーとしてモデルAが与えられ、モデルDB7及び稜線特徴情報DB9にモデルB及びモデルCが格納されている場合について述べる。曲線aと曲線bは、同じデータを持つ稜線特徴情報として稜線特徴情報DB9に格納される。また、候補絞り込み処理により、モデルBとモデルCが候補リストに登録される。次に、位置関係マッチング処理により、曲線aと曲線bの位置関係について、モデルAとモデルBの比較、モデルAとモデルCの比較を行うことにより、検索結果としてモデルBを出力する。位置関係マッチング処理において、稜線特徴情報管理部6は、2つの検索キー要素の組み合わせの位置関係と2つのモデル要素の組み合わせの位置関係を比較する。ここで、稜線特徴情報管理部6は、全ての組み合わせについて総当たりの比較を行い、検索キー要素の組み合わせの位置関係とモデル要素の組み合わせの位置関係が全て一致したモデルを検索結果のモデルとして選択する。
【0081】
図15は、本実施の形態に係る位置関係マッチング処理の動作の一例を示すフローチャートである。候補絞り込み処理の後、まず、稜線特徴情報管理部6は、2つの検索キー要素の組み合わせで未選択のものがあるか否かの判断を行う(S111)。未選択のものがない場合(S111,N)、処理S126へ移行し、未選択のものがある場合(S111,Y)、処理S112へ移行する。次に、稜線特徴情報管理部6は、検索キーの先頭から順に、2つの検索キー要素の組み合わせで未選択のものを選択する(S112)。次に、稜線特徴情報管理部6は、選択した検索キー要素の要素位置データを検索キーから取得し、検索キー要素の組み合わせの位置関係を算出する(S113)。次に、稜線特徴情報管理部6は、選択したそれぞれの検索キー要素の候補リストに登録されたモデル要素の組み合わせで、未選択のものがあるか否かの判断を行う(S114)。未選択のものがない場合(S114,N)、処理S111へ戻り、未選択のものがある場合(S114,Y)、処理S121へ移行する。
【0082】
次に、稜線特徴情報管理部6は、取得した組み合わせに対応して、それぞれの検索キー要素の候補リストに登録されたモデル要素の組み合わせを選択する(S121)。次に、稜線特徴情報管理部6は、検索キー要素と同様、選択したモデル要素の要素位置データを位置データファイルDBから取得し、モデル要素の組み合わせの位置関係を算出する(S123)。次に、稜線特徴情報管理部6は、検索キー要素の組み合わせの位置関係とモデル要素の組み合わせの位置関係を比較し(S124)、処理S114へ戻る。
【0083】
処理S126において、稜線特徴情報管理部6は、検索キー要素の組み合わせの位置関係とモデル要素の組み合わせの位置関係が全て一致したモデルを検索結果として出力し、このフローを終了する。稜線特徴情報管理部6は、検索結果のモデルのインデックスファイルに含まれるモデル名(フルパス)を用いることにより、モデルDB7において対応するモデルにアクセスすることができる。
【0084】
ここで、処理S121,S123における要素の組み合わせの位置関係の算出について説明する。図16は、本実施の形態に係る要素の組み合わせの位置関係の一例を示す図である。この図において、組み合わせの一方の要素は、要素位置データとして代表座標21aと代表ベクトル22aを持ち、もう一方の要素は、要素位置データとして代表座標21bと代表ベクトル22bを持つとする。処理S121,S123において、稜線特徴情報管理部6は、要素位置データを用いて、この図に示すような、代表座標21a,21b間の距離L、代表座標21a,21bを結んだベクトルの単位ベクトルvと代表ベクトル22aが成す角α、ベクトルvと代表ベクトル22bが成す角β、代表ベクトル22a,22bが成す角γを、位置関係として算出する。ここで、ベクトルv及び代表ベクトルは、単位ベクトルであり、稜線特徴情報管理部6は、2つの単位ベクトルの外積からα,β,γを算出する。
【0085】
処理S124において、稜線特徴情報管理部6は、検索キー要素の組み合わせから得られたL,α,β,γと、モデル要素の組み合わせから得られたL,α,β,γとが、それぞれ一致した場合に、位置関係が一致すると判断する。ここで、α,β,γが一致するか否かの判断においては、180度の補角も考慮する。
【0086】
CAD装置2のハードウェアがPentiumIII(登録商標)1.2GHz、メモ
リ512MBであり、モデルDB7が1GBのバイナリデータの設計モデルを格納している場合において、稜線特徴情報検索処理を実行した例について述べる。図17は、本実施の形態に係るモデルDB及び稜線特徴情報DBに登録された設計モデルの一例を示す表である。この表は、設計モデルの分類、1つの設計モデルに含まれる部品(モデル)数、1つの設計モデルに含まれる特徴線種別(直線、円弧、円、曲線(曲線1と曲線2))毎の要素数(稜線数)、これらの要素数の合計、設計モデルの数を表す。設計モデルは、データA、データB、データC、データD、データEに分類される。データAは、ある1個の設計モデルであり、データBは、データA中の部品の寸法に変更を加えた9個の設計モデルである。データC、データD、データEは、それぞれデータAと全く異なる設計モデルである。モデルDB7及び稜線特徴情報DB9には、合計で、999個の設計モデル、22024060個の稜線が格納されている。
【0087】
図18は、本実施の形態に係る設計モデルの一例を示すモデルである。この図の設計モデルは、上述したデータAを示す。稜線特徴情報検索処理において、この図のデータAが処理S61により表示部8により表示され、ユーザが入力部1によりデータAの一部または全部を選択することにより、処理S62により検索条件が取得される。この図のデータAにおいて、2つの円柱突起上の円の稜線11,12とその近傍の長方形の辺のうち稜線13,14,15とからなる、5つの稜線がユーザにより検索条件として選択される。稜線特徴情報管理部6は、この検索条件に基づいて5つの稜線(要素)を持つ検索キーを生成し、検索を行う。その結果、検索時間は3.5秒であり、データAのモデルだけを検索結果として特定することができた。この検索時間は、従来の類似形状検索機能と比較しても大幅に短縮されている。
【0088】
従来の形状検索機能においては、検索条件に対する類似形状の検索が行われていたが、本実施の形態によれば、検索条件における形状と寸法が一致するモデルを検索することができる。また、イメージへの変換等を用いた従来の類似形状の検索に比べて、情報量を削減した稜線特徴情報を用いることにより高速な検索を行うことができる。
【0089】
また、多くの検索機能で行われているように、検索のためのDB(稜線特徴情報DB9)を2つのDB(インデックスファイルDBと位置データファイルDB)に分け、一方のDBで絞り込み(候補絞り込み処理)を行った後に、もう一方のDBを検索すること(位置関係マッチング処理)により、検索時におけるシークの回数及びデータの読み込み量を減らし、ファイルアクセス時間を少なくすることができる。
【0090】
また、検索キー及び稜線特徴情報DB9において、設計で使われる頻度が少ない特徴線種別IDから順に調べることにより、着目モデルに含まれるか否かを早い段階で決定することができ、検索時間を削減することができる。また、検索キー及び稜線特徴情報DB9において、同一の特徴線種別IDを持つ要素が複数ある場合には、特徴線長が大きい順にソートして並べることにより、着目モデル内に同一の特徴線種別IDがN個あった場合に、N回の比較を行なわなくとも検索キー要素の特徴線長がモデル要素の特徴線長よりも大きくなった時点で、着目モデルは検索キーに一致しないと判断でき、検索時間を削減することができる。
【0091】
なお、第1特徴情報は、実施の形態におけるインデックスファイル及び位置データファイルに対応する。また、第2特徴情報は、実施の形態における検索キーに対応する。また、第3形状データは、実施の形態における稜線特徴情報検索処理による検索結果に対応する。また、第1稜線取得ステップは、実施の形態における処理S35に対応する。また、情報登録ステップは、実施の形態における処理S36,S37,S38に対応する。また、第2稜線取得ステップは、実施の形態における処理S63に対応する。また、情報生成ステップは、実施の形態における処理S64,S65に対応する。また、検索ステップは、実施の形態における処理S52,S53に対応する。また、第1稜線取得部及び第2稜線取得部は、実施の形態におけるデータ管理部に対応する。また、情報登録部、情報生成部、検索部は、実施の形態における稜線特徴情報管理部に対応する。
【0092】
また、本実施の形態に係るデータベース管理装置は、情報処理装置に容易に適用することができ、情報処理装置の性能をより高めることができる。ここで、情報処理装置には、例えばPC(Personal Computer)、サーバ、ワークステーション等が含まれ得る。
【0093】
更に、データベース管理装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、データベース管理プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、データベース管理装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【0094】
(付記1) 形状データに関するデータベースの管理をコンピュータに実行させるデータベース管理プログラムであって、
予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得ステップと、
前記第1稜線取得ステップにより取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録ステップと、
検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得ステップと、
前記第2稜線取得ステップにより取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成ステップと、
前記情報登録ステップにより登録された第1稜線特徴情報と前記情報生成ステップにより生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索ステップと
をコンピュータに実行させるデータベース管理プログラム。
(付記2) 付記1に記載のデータベース管理プログラムにおいて、
前記稜線特徴情報は、稜線の形状を示す稜線形状情報と、該稜線が属する形状データにおける他の稜線との位置関係を表す稜線位置情報とを含むことを特徴とするデータベース管理プログラム。
(付記3) 付記2に記載のデータベース管理プログラムにおいて、
前記稜線形状情報は、稜線の種別を表す種別情報と該稜線の寸法を表す寸法情報とを含むことを特徴とするデータベース管理プログラム。
(付記4) 付記3に記載のデータベース管理プログラムにおいて、
前記稜線位置情報は、稜線が属する形状データにおける該稜線の位置を表す座標である代表座標と該稜線の方向を表すベクトルである代表ベクトルとを含むことを特徴とするデータベース管理プログラム。
(付記5) 付記2乃至付記4のいずれかに記載のデータベース管理プログラムにおいて、
前記検索ステップは、前記第1形状データの前記稜線形状情報及び前記第2形状データの前記稜線形状情報に基づいて、前記第1形状データのうち、該第1形状データの前記稜線形状情報が前記第2形状データの前記稜線形状情報に一致するものを、候補形状データとし、前記候補形状データの前記稜線位置情報及び前記第2形状データの前記稜線位置情報に基づいて、前記候補形状データのうち、該候補形状データを構成する稜線間の位置関係が前記第2形状データを構成する稜線間の位置関係に一致するものを前記第3形状データとすることを特徴とするデータベース管理プログラム。
(付記6) 付記5に記載のデータベース管理プログラムにおいて、
前記検索ステップは、前記第2形状データを構成する稜線の組み合わせを選択し、該組み合わせに対応する前記稜線位置情報から該組み合わせの位置関係を算出し、前記候補形状データを構成する稜線の組み合わせを選択し、該組み合わせに対応する前記稜線位置情報から該組み合わせの位置関係を算出し、前記第2形状データから得られた全ての組み合わせの位置関係と前記候補形状データから得られた全ての組み合わせの位置関係が一致する場合、前記候補形状データを前記第3形状データとすることを特徴とするデータベース管理プログラム。
(付記7) 付記4に記載のデータベース管理プログラムにおいて、
前記寸法情報は該稜線の長さ、該稜線の半径、該稜線における始点から終点までの直線の距離のいずれかであり、前記代表座標は該稜線の2等分点、該稜線の中心、該稜線の始点と該稜線の終点の2等分点のいずれかであり、前記代表ベクトルは該稜線における始点から終点への方向、該稜線の中心軸の方向、前記代表座標における接線の方向のいずれかを示すことを特徴とするデータベース管理プログラム。
(付記8) 付記7に記載のデータベース管理プログラムにおいて、
前記種別情報は、直線、円、円弧、円弧以外の開曲線である第1曲線、円以外の閉曲線である第2曲線のいずれかであることを特徴とするデータベース管理プログラム。
(付記9) 付記8に記載のデータベース管理プログラムにおいて、
前記種別情報が直線である稜線に対して、前記寸法情報は該稜線の長さであり、前記代表座標は該稜線の2等分点であり、前記代表ベクトルは該稜線における始点から終点への方向を示すことを特徴とするデータベース管理プログラム。
(付記10) 付記8または付記9に記載のデータベース管理プログラムにおいて、
前記種別情報が円である稜線に対して、前記寸法情報は該稜線の半径であり、前記代表座標は該稜線の中心であり、前記代表ベクトルは該稜線の中心軸の方向を示すことを特徴とするデータベース管理プログラム。
(付記11) 付記8乃至付記10のいずれかに記載のデータベース管理プログラムにおいて、
前記種別情報が円弧である稜線に対して、前記寸法情報は該稜線の長さであり、前記代表座標は該稜線の2等分点であり、前記代表ベクトルは該代表座標における該稜線の接線の方向を示すことを特徴とするデータベース管理プログラム。
(付記12) 付記8乃至付記11のいずれかに記載のデータベース管理プログラムにおいて、
前記種別情報が第1曲線である稜線に対して、前記寸法情報は該稜線における始点から終点までの直線の距離であり、前記代表座標は該稜線における始点と終点の2等分点であり、前記代表ベクトルは該稜線における始点から終点への方向を示すことを特徴とするデータベース管理プログラム。
(付記13) 付記8乃至付記12のいずれかに記載のデータベース管理プログラムにおいて、
前記種別情報が第2曲線である稜線に対して、前記寸法情報は該稜線の長さであり、前記代表座標は該稜線の始点であり、前記代表ベクトルは該代表座標における該稜線の接線の方向を示すことを特徴とするデータベース管理プログラム。
(付記14) 付記3乃至付記13のいずれかに記載のデータベース管理プログラムにおいて、
前記情報登録ステップは、前記種別情報に基づいて利用頻度の低い種別から順に稜線形状情報をソートすることを特徴とするデータベース管理プログラム。
(付記15) 付記14に記載のデータベース管理プログラムにおいて、
前記情報登録ステップは、前記寸法情報により前記稜線形状情報をソートすることを特徴とするデータベース管理プログラム。
(付記16) 形状データに関するデータベースの管理を行うデータベース管理装置であって、
予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得部と、
前記第1稜線取得部により取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録部と、
検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得部と、
前記第2稜線取得部により取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成部と、
前記情報登録部により登録された第1稜線特徴情報と前記情報生成部により生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索部と
を備えるデータベース管理装置。
(付記17) 付記16に記載のデータベース管理装置において、
前記稜線特徴情報は、稜線の形状を示す稜線形状情報と、該稜線が属する形状データにおける他の稜線との位置関係を表す稜線位置情報とを含むことを特徴とするデータベース管理装置。
(付記18) 付記17に記載のデータベース管理装置において、
前記検索部は、前記第1形状データの前記稜線形状情報及び前記第2形状データの前記稜線形状情報に基づいて、前記第1形状データのうち、該第1形状データの前記稜線形状情報が前記第2形状データの前記稜線形状情報に一致するものを、候補形状データとし、前記候補形状データの前記稜線位置情報及び前記第2形状データの前記稜線位置情報に基づいて、前記候補形状データのうち、該候補形状データを構成する稜線間の位置関係が前記第2形状データを構成する稜線間の位置関係に一致するものを前記第3形状データとすることを特徴とするデータベース管理装置。
(付記19) 付記18に記載のデータベース管理装置において、
前記検索部は、前記第2形状データを構成する稜線の組み合わせを選択し、該組み合わせに対応する前記稜線位置情報から該組み合わせの位置関係を算出し、前記候補形状データを構成する稜線の組み合わせを選択し、該組み合わせに対応する前記稜線位置情報から該組み合わせの位置関係を算出し、前記第2形状データから得られた全ての組み合わせの位置関係と前記候補形状データから得られた全ての組み合わせの位置関係が一致する場合、前記候補形状データを前記第3形状データとすることを特徴とするデータベース管理装置。
(付記20) 形状データに関するデータベースの管理を行うデータベース管理方法であって、
予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得ステップと、
前記第1稜線取得ステップにより取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録ステップと、
検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得ステップと、
前記第2稜線取得ステップにより取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成ステップと、
前記情報登録ステップにより登録された第1稜線特徴情報と前記情報生成ステップにより生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索ステップと
を実行するデータベース管理方法。
【図面の簡単な説明】
【0095】
【図1】本実施の形態に係るCAD装置の構成の一例を示すブロック図である。
【図2】本実施の形態に係る稜線種別と特徴線種別の対応付けの一例を示す表である。
【図3】本実施の形態に係る特徴線種別の一例を示す概念図である。
【図4】本実施の形態に係る稜線特徴情報の内容の一例を示す表である。
【図5】本実施の形態に係るインデックスファイルDBのデータ構造の一例を示すブロック図である。
【図6】本実施の形態に係る位置データファイルDBのデータ構造の一例を示すブロック図である。
【図7】本実施の形態に係る稜線特徴情報管理部の動作の一例を示すフローチャートである。
【図8】本実施の形態に係る稜線特徴情報登録処理の動作の一例を示すフローチャートである。
【図9】本実施の形態に係る稜線特徴情報検索処理の動作の一例を示すフローチャートである。
【図10】本実施の形態に係る検索キーのデータ構造の一例を示すデータ構造図である。
【図11】本実施の形態に係る検索キー生成処理の動作の一例を示すフローチャートである。
【図12】本実施の形態に係る候補絞り込み処理の動作の一例を示すフローチャートである。
【図13】本実施の形態に係る候補リストのデータ構造の一例を示すデータ構造図である。
【図14】本実施の形態に係るモデルの一例を示す図である。
【図15】本実施の形態に係る位置関係マッチング処理の動作の一例を示すフローチャートである。
【図16】本実施の形態に係る要素の組み合わせの位置関係の一例を示す図である。
【図17】本実施の形態に係るモデルDB及び稜線特徴情報DBに登録された設計モデルの一例を示す表である。
【図18】本実施の形態に係るデータAの一例を示すモデルである。
【符号の説明】
【0096】
1 入力部、2 CAD装置、3 編集部、4 データ管理部、5 モデラカーネル部、6 稜線特徴情報管理部、7 モデルDB、8 表示部、9 稜線特徴情報DB、11,12,13,14,15 稜線、21a,21b 代表座標、22a,22b 代表ベクトル。

【特許請求の範囲】
【請求項1】
形状データに関するデータベースの管理をコンピュータに実行させるデータベース管理プログラムであって、
予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得ステップと、
前記第1稜線取得ステップにより取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録ステップと、
検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得ステップと、
前記第2稜線取得ステップにより取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成ステップと、
前記情報登録ステップにより登録された第1稜線特徴情報と前記情報生成ステップにより生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索ステップと
をコンピュータに実行させるデータベース管理プログラム。
【請求項2】
請求項1に記載のデータベース管理プログラムにおいて、
前記稜線特徴情報は、稜線の形状を示す稜線形状情報と、該稜線が属する形状データにおける他の稜線との位置関係を表す稜線位置情報とを含むことを特徴とするデータベース管理プログラム。
【請求項3】
請求項2に記載のデータベース管理プログラムにおいて、
前記検索ステップは、前記第1形状データの前記稜線形状情報及び前記第2形状データの前記稜線形状情報に基づいて、前記第1形状データのうち、該第1形状データの前記稜線形状情報が前記第2形状データの前記稜線形状情報に一致するものを、候補形状データとし、前記候補形状データの前記稜線位置情報及び前記第2形状データの前記稜線位置情報に基づいて、前記候補形状データのうち、該候補形状データを構成する稜線間の位置関係が前記第2形状データを構成する稜線間の位置関係に一致するものを前記第3形状データとすることを特徴とするデータベース管理プログラム。
【請求項4】
形状データに関するデータベースの管理を行うデータベース管理装置であって、
予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得部と、
前記第1稜線取得部により取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録部と、
検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得部と、
前記第2稜線取得部により取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成部と、
前記情報登録部により登録された第1稜線特徴情報と前記情報生成部により生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索部と
を備えるデータベース管理装置。
【請求項5】
形状データに関するデータベースの管理を行うデータベース管理方法であって、
予め設計された形状データである少なくとも1つの第1形状データから、該第1形状データを構成する稜線を取得する第1稜線取得ステップと、
前記第1稜線取得ステップにより取得された稜線に基づいて、該稜線の特徴を示す情報である稜線特徴情報を生成し、該稜線特徴情報を第1稜線特徴情報とし、該第1稜線特徴情報を前記第1形状データに対応付け、前記データベースへ登録する情報登録ステップと、
検索条件を表す形状データである第2形状データから、該第2形状データを構成する稜線を取得する第2稜線取得ステップと、
前記第2稜線取得ステップにより取得された稜線に基づいて、該稜線の稜線特徴情報を生成し、該稜線特徴情報を第2稜線特徴情報とする情報生成ステップと、
前記情報登録ステップにより登録された第1稜線特徴情報と前記情報生成ステップにより生成された第2稜線特徴情報とに基づいて、前記第1形状データのうち前記第2形状データに一致するものである第3形状データを検索する検索ステップと
を実行するデータベース管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2008−59297(P2008−59297A)
【公開日】平成20年3月13日(2008.3.13)
【国際特許分類】
【出願番号】特願2006−235659(P2006−235659)
【出願日】平成18年8月31日(2006.8.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】