(57)【要約】【課題】３次元の形状モデル中で特徴形状の重ね合わせが発生した場合にも、クエリ形状に該当する部分形状を類似形状として検索可能な形状モデル作成装置を提供する。【解決手段】形状モデルを入力する形状モデル入力部２と、検索問い合わせとなるクエリ形状を対話的に指定するクエリ形状指定部３と、指定された前記クエリ形状を部分形状に分割して複数の分割クエリ形状を作成する分割クエリ形状作成部４と、分割クエリ形状間の幾何パラメータの一致条件である結合ルールを作成する結合ルール作成部４と、前記形状モデルから前記分割クエリ形状と類似の形状である類似部分形状を検索する類似形状検索部５と、前記結合ルールを満足する類似部分形状の集合を前記クエリ形状の類似形状として検出する結合評価部６と、検出された類似形状を前記形状モデルの中から削除する形状簡略化部８とを備える。【選択図】図１
2009258889.tif 000002
【特許請求の範囲】
【請求項１】
形状モデルの解析機能を有する形状モデル作成装置において、
形状モデルを入力する形状モデル入力部と、
解析上、形状モデルの中の省略したい形状を検索するために、検索問い合わせとなるクエリ形状を対話的に指定するクエリ形状指定部と、
指定された前記クエリ形状を部分形状に分割して複数の分割クエリ形状を作成する分割クエリ形状作成部と、
分割クエリ形状間の幾何パラメータの一致条件である結合ルールを作成する結合ルール作成部と、
前記形状モデルから前記分割クエリ形状と類似の形状である類似部分形状を検索する類似形状検索部と、
形状モデルの中から検索された前記類似部分形状の集合が前記結合ルールを満足するかを判断し、満足する類似部分形状の集合を前記クエリ形状の類似形状として検出する結合評価部と、
検出された類似形状を前記形状モデルの中から削除する形状簡略化部と、
を備えることを特徴とする形状モデル作成装置。
【請求項２】
請求項１記載の形状モデル作成装置において、
検出された前記類似形状をディスプレイに表示する類似形状検出結果表示部を有する形状モデル作成装置。
【請求項３】
請求項１記載の形状モデル作成装置において、
前記結合評価部は、前記類似部分形状の集合の中に前記結合ルールの中の分割クエリ形状に一致するものがあるか検索し、
一致する分割クエリ形状の数を前記分割クエリ形状の全数で割った値が予め定めた類似度しきい値以上である場合に、前記類似部分形状の集合が前記結合ルールを満足するものとしてこの類似部分形状の集合を前記類似形状として検出する形状モデル作成装置。
【請求項４】
請求項３記載の形状モデル作成装置において、
前記類似度しきい値は、ディスプレイ及び入力装置を介して対話的に入力し得る形状モデル作成装置。
【請求項５】
請求項１ないし４のいずれか１項記載の形状モデル作成装置において、
前記分割クエリ形状作成部は、前記クエリ形状において互いに接する２つの面のペアを前記分割クエリ形状として作成する形状モデル作成装置。
【請求項６】
請求項１ないし５のいずれか１項記載の形状モデル作成装置において、
前記類似形状検索部は、前記形状モデルのうち互いに線で接する２つの面のペアが、前記分割クエリ形状を構成する２つの面の接続関係と等しい場合に、前記形状モデルの２つの面のペアを前記分割クエリ形状に類似する前記類似部分形状として検索する形状モデル作成装置。
【請求項７】
請求項６記載の形状モデル作成装置において、
前記類似形状検索部は、前記形状モデルのうち互いに接する２つの面のペアが前記分割クエリ形状を構成する２つの面のタイプと等しい場合に、前記形状モデルの２つの面を前記クエリ形状に類似する類似部分形状として検索する形状モデル作成装置。
【請求項８】
請求項７記載の形状モデル作成装置において、
前記類似形状検索部は
さらに、前記形状モデルのうち互いに接する２つの面のペアの前記分割クエリ形状に対するサイズ比が、予め定めたサイズ比しきい値より小さい場合に、この形状モデルの２つの面のペアを前記類似部分形状として検索する形状モデル作成装置。
【請求項９】
請求項７又は８記載の形状モデル作成装置において、
前記類似形状検索部は
さらに、前記形状モデルのうち互いに接する２つの面のペアの二面のなす角度と前記分割クエリ形状を構成する二面のなす角度の差が、予め定めた角度しきい値より小さい場合に、この形状モデルの２つの面のペアを前記類似部分形状として検索する形状モデル作成装置。
【請求項１０】
請求項１ないし９のいずれか１項記載の形状モデル作成装置において、
前記クエリ形状を蓄積可能なデータベースを備え、検索問い合わせのクエリ形状を前記データベースから呼び出せるようにした形状モデル作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機で３次元の形状データを検索したり作成したりする技術に関わる。特に、検索の問合せとなるクエリ形状と類似している部分形状を形状モデルから検索し削除することにより、ＣＡＥ（Computer Aided Engineering）で行う数値解析のための形状モデルの簡略化を行う技術に関する。
【背景技術】
【０００２】
設計段階で作成した３次元形状データである３次元ＣＡＤのデータをＣＡＥで活用することにより、設計・開発業務の効率向上を図る取組みが広くなされている。しかしながら設計段階で作成した３次元形状データは、細かな穴や溝などを含んでいるおり、このまま解析に用いると、メッシュが細かくなって解析計算の時間が増大するという問題がある。このため、穴や溝といった特定の形状を表す特徴形状のうち、解析計算の精度に影響を与えないと考えられる特徴形状を解析モデルから削除する作業、すなわち簡略化が行われている。
【０００３】
簡略化は形状モデル作成装置を使用して行うが、この際、本形状モデル作成装置の使用者が指定した特徴形状（クエリ形状）と類似の特徴形状を、３次元形状データの中から一括して簡略化対象として選択することが、作業の効率向上の観点から望まれている。３次元ＣＡＤのデータ形式としては、モデルを面や殻やループなどで表現する境界表現法が広く用いられている。簡略化対象として選択する際、類似した特徴形状としては、クエリ形状と面の構成が等しく、幾何的に類似な形状が検索されることが望ましい。
【０００４】
３次元形状データから、類似の特徴形状を検索する方法として、特許文献１に記載の方法がある。特許文献１には、形状データを構成する面をその幾何の連続性に着目した解析木を作成し、解析木のつながりを表すグラフを構築し、解析木にこれを構成する面の種類や面の法線方向・軸方向など幾何を表すパラメータ（幾何パラメータ）を付与し、グラフと幾何パラメータに基づき、形状の類似度を算出する方法が開示されている。
【０００５】
【特許文献１】特開２００１−３０７１１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の従来技術は、クエリ形状と面の構成が等しく、幾何的にも類似な特徴形状を検索できる。しかしながら、設計で作成する３次元の形状モデルにおいては、穴や溝などの特徴形状が重ね合わされることが頻繁に起こるが、このような場合には対応できない。特徴形状の重ね合わせについて、図２を用いて説明する。
【０００７】
図２は、特徴形状の重ね合わせを、平板のモデルを例にして示したものである。図２（ａ）に示した平板２０１、溝形状２０２、及び穴形状２０３を組み合わせて、図２（ｂ）に示した平板２０４を作成する。平板２０４は、平板２０１に溝形状２０２が２ヶ所に追加され、さらに穴形状２０３が溝形状２０２のうちの１つと重なるように追加されて作成されたモデルである。つまり、平板２０４の部分形状２０６は、穴形状２０３と溝形状２０２が重なってできており、部分形状２０５は、溝形状２０２のみからできている。
【０００８】
ここで、平板２０４内の溝形状２０２を簡略化しようとして、上記の従来技術を用いて、溝形状２０２をクエリ形状としてこれに類似の形状を検索しても、部分形状２０５の溝のみが検索され、部分形状２０６は類似形状として検索できない。これは特徴形状の重ね合わせにより面が分割された部分形状２０６のグラフとクエリ形状２０２のグラフとが異なるためである。グラフが異なると面のつながり方が異なるので、上記の従来技術では、類似の形状とはみなされない。
【０００９】
本発明の目的は、特徴形状の重ね合わせが発生した場合にも、クエリ形状に該当する部分形状の集合を類似形状として検索可能な形状モデル作成装置を提供することである。これにより効率良く形状簡略化を行える形状モデル作成装置を提供することができる。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明による形状モデル作成装置は、基本的には次のような構成をとる。すなわち、形状モデルの解析機能を有する形状モデル作成装置において、形状モデルを入力する形状モデル入力部と、解析上、形状モデルの中の省略したい形状を検索するために、検索問い合わせとなるクエリ形状を対話的に指定するクエリ形状指定部とを備える。さらに、指定された前記クエリ形状を部分形状に分割して複数の分割クエリ形状を作成する分割クエリ形状作成部と、分割クエリ形状間の幾何パラメータの一致条件である結合ルールを作成する結合ルール作成部と、前記形状モデルから前記分割クエリ形状と類似の形状である類似部分形状を検索する類似形状検索部と、形状モデルの中から検索された前記類似部分形状の集合が前記結合ルールを満足するかを判断し、満足する類似部分形状の集合を前記クエリ形状の類似形状として検出する結合評価部と、検出された類似形状を前記形状モデルの中から削除する形状簡略化部とを備える。
【発明の効果】
【００１１】
本発明によれば、設計で作成される３次元形状モデルにおいて頻繁に発生する、穴や溝などの特徴形状が重ね合わされた場合にも、クエリ形状に該当する部分形状の集合を類似形状として検索できる。従って、形状モデルの中から簡略化する形状と類似した部分形状を効率よく選択し削除することができ、形状モデルの簡略化を解析のために効率良く行うことができる。
【発明を実施するための最良の形態】
【００１２】
本発明による形状モデル作成装置の構成例を図１に示す。本装置は、入出力装置１、形状モデル簡略部２０及びデータ記憶部２１を有する。
【００１３】
入出力装置１は、本形状モデル作成装置の使用者がデータを入力、表示するためのキーボード、マウス、ディスプレイなどからなる。
【００１４】
形状モデル簡略部２０は、形状モデル入力部２、クエリ形状指定部３、クエリ形状分割部４、類似形状検索部５、結合評価部６、検索結果表示部７、及び形状簡略化部８を備える。以下、上記の各部について簡単に説明する。詳細な説明は、後述する。
【００１５】
形状モデル入力部２では、システム使用者（以下「使用者」と称する）が検索対象の形状モデルを入力する。
【００１６】
クエリ形状指定部３では、使用者が検索の問合せ形状（クエリ形状）を対話的に指定する。クエリ形状は、クエリ形状データベース９の形状データの中から読み込んで、指定することもできる。
【００１７】
クエリ形状分割部４は、分割クエリ形状と、分割クエリ形状間の結合ルールを作成する。分割クエリ形状とは、前記クエリ形状を複数の部分形状に分割したものである。結合ルールとは、複数の分割クエリ形状間の幾何的な一致条件を表すルールである。
【００１８】
類似形状検索部５は、形状モデルの中から分割クエリ形状と類似している１つ又は複数の部分形状（類似部分形状）を検索する。
【００１９】
結合評価部６は、検索された類似部分形状の集合が結合ルールを満足するかを判断し、満足する類似部分形状の集合をクエリ形状の類似形状として検出する。
【００２０】
検索結果表示部７は、検出された１つ又は複数の類似形状を、入出力装置１のディスプレイに表示する。
【００２１】
形状簡略化部８は、検索された類似形状を形状モデルから削除する。
【００２２】
本装置のデータ記憶部２１は、メモリやデータベースから構成される。本形状モデル作成装置で作成されたデータをデータ記憶部２１に登録したり、処理に必要なデータをデータ記憶部２１から読み込んだりすることができる。図１中の矢印は、登録や読み込みといったデータの流れを示している。
【００２３】
また、データ記憶部２１には、クエリ形状データベース９を備える。クエリ形状データベース９は、種々のクエリ形状を蓄積する。クエリ形状データベース９に蓄積されたクエリ形状を読み出すことにより前記クエリ形状の指定が容易に行える。
【００２４】
以下、本発明による形状モデル作成装置の処理を、図２に示した平板２０４の形状モデルを例にとり説明するとともに、上記の各部を詳細に説明する。
【００２５】
図３は、形状モデル簡略部２０が実行する処理のメイン画面例であり、本形状モデル作成装置の入出力装置１のディスプレイに表示される。この例では、画面の左部には操作メニューのボタンが、右部には形状モデルである平板２０４が表示されている。以下、平板２０４の部分形状２０５と２０６にある溝形状２０２（図２参照）の形状簡略化を例にとって、本装置の動作について説明する。
【００２６】
（１）形状モデル入力部２
本装置の使用者が「形状モデル入力」ボタン３０１を選択すると、形状モデル入力部２は、使用者による入出力装置１の操作に従い、３次元の形状データを作成する。既存の３次元形状データがデータ記憶部２１のデータベースに予め登録されている場合は、データベースから既存の３次元形状データを読み込むこともできる。本例では、平板２０４が作成されるか、又は平板２０４のデータがデータベースから読み込まれて、入出力装置１のディスプレイに表示される。
【００２７】
３次元形状データの表現方法のうち境界表現法を用いる境界表現では、立体は外側と内側を分ける境界面により表現される。よって、形状モデルデータは、境界面のつながりを表す位相（トポロジ）データと、境界の形状を表す幾何（ジオメトリ）データで表現される。境界表現では、立体は、これに属する１つ以上の連続した面の集合（殻）を所有し、面は、これに属する１つ以上の線分群（ループ）を所有し、線分は、その始点および終点を所有するというデータ構造をとる。ここでは、境界表現による形状データ表現方法における立体、殻、面、ループ、線分、点を形状要素と呼び、それぞれ１つの形状モデルのなかで固有の識別子を持つ。
【００２８】
また、点は、幾何データとして３次元座標値を持つ。線や面の幾何データの表現方法には、NURBS関数を始めとする様々な種類があり、どれを用いてもよい。ここでは、線や面の形状のタイプ（形状タイプ）に応じて、形状の特徴的幾何パラメータが算出可能であるデータ表現を用いる。図４には、面の形状に対して、主な形状タイプとこれに対する幾何パラメータの例を挙げた。
【００２９】
（２）クエリ形状指定部３
使用者が図３の「クエリ形状指定」ボタン３０２を選択すると、クエリ形状指定部３は、クエリ形状指定画面を入出力装置１のディスプレイに表示する。
【００３０】
図５は、クエリ形状指定画面の例であり、使用者が、画面左部に表示された操作メニューのうち「クエリ形状選択」ボタン５０１を選択したときの画面表示例である。使用者が、「クエリ形状選択」ボタン５０１を選択すると、クエリ形状指定部３は、使用者にクエリ形状の指定を促す。使用者は、入出力装置１を用いて形状モデルの形状面群を選択し、クエリ形状を指定する。指定したクエリ形状は、「ＤＢ登録」ボタン５０２の選択により、クエリ形状データベース９に登録することもできる。登録する際、クエリ形状の種類などの情報を合わせて登録しておくと、それ以後のデータベースからのクエリ形状を指定する際の選択が容易になる。
【００３１】
また、「ＤＢ読込み」ボタン５０３の選択により、クエリ形状データベース９から、予め登録されているクエリ形状を読み込んで指定することもできる。図６（ａ）に「ＤＢ読込み」ボタン５０３を選択したときの画面表示例を示す。クエリ形状データベース９に登録されているクエリ形状が画面に表示されており、この形状面群の一覧から、入出力装置１を用いてクエリ形状を指定する。
【００３２】
クエリ形状の指定が終了したら、「決定」ボタン５０４を選択し、図３に示したメイン画面に戻る。
【００３３】
ここでは、クエリ形状データベース９から、溝形状２０２と面のつながりが等しい、クエリ形状６０１を選択したとする。クエリ形状６０１を拡大したクエリ形状６０２を図６（ｂ）に示す。図６（ｂ）では、クエリ形状６０２の各面に面の識別子ｆ１〜ｆ１０と、面のタイプを記載した。面のタイプは、面の幾何パラメータ（図４参照）に基づき判断可能であり、ここでは、平面、円筒面、円錐面、球面、トーラス面などの面タイプを設定する。
【００３４】
（３）クエリ形状分割部４
使用者が、形状モデル簡略部２０の処理のメイン画面（図３）に表示された「類似形状検索」ボタン３０３を選択すると、クエリ形状分割部４の処理が開始される。クエリ形状分割部４は、上述した分割クエリ形状と、分割クエリ形状間の結合ルールを作成する。
【００３５】
本形状モデル作成装置は、クエリ形状分割部４で、使用者が、類似度しきい値、サイズしきい値、角度しきい値、及び距離しきい値を入力する構成にしても良い。類似度しきい値、サイズしきい値、及び角度しきい値は、いずれもモデル類似性の指標である。距離しきい値は、特徴形状の重ね合わせなどにより複数の部分に分割された形状を１つの形状とみなす処理（同一幾何面の連結処理）で使用される指標である。距離しきい値及び同一幾何面の連結処理の詳細については、後述する。
【００３６】
類似度しきい値は、０．０から１．０の実数で、大きいほどクエリ形状と面構成の類似性が高い部分形状を検索する。サイズしきい値は１以上の実数であり、サイズしきい値や角度しきい値が大きいと、それぞれサイズの異なる部分形状や面間の角度の異なる部分形状も類似部分形状として検索できる。類似度しきい値、サイズしきい値、又は角度しきい値が入力されない場合は、デフォルト値を用いて以降の処理を行う。デフォルト値は、例えば、類似度しきい値は０．５、サイズしきい値は１０、角度しきい値は４５度とする。
【００３７】
クエリ形状分割部４の処理について説明する。始めに、クエリ形状分割部４は、クエリ形状を複数の部分形状に分割し、分割クエリ形状を作成する。ここで部分形状とは、クエリ形状における面の隣接関係に基づき、隣り合う形状面ペアのそれぞれを分割された部分形状として定義し、これを「分割クエリ形状」と称する。
【００３８】
図７に、クエリ形状６０２を分割して作成された分割クエリ形状７０１〜７１８を示す。図７に示すように、クエリ形状６０２は１８個の分割クエリ形状７０１〜７１８に分割される。なお、図中にＦ１〜Ｆ３６で示すのは、分割クエリ形状７０１〜７１８を構成する面の識別子である。分割クエリ形状７０１〜７１８を構成する面には、面ごとに固有の識別子を与える。
【００３９】
次に、クエリ形状分割部４は、分割クエリ形状７０１〜７１８間の幾何パラメータの一致条件を表す結合ルールを作成する。ここでは、図６（ｂ）に示したクエリ形状６０２の面ｆ１０を例にとって説明する。
【００４０】
上記分割の過程から、面ｆ１０は、分割クエリ形状７０１〜７１８群の中の｛Ｆ１９，Ｆ２１，Ｆ２３，Ｆ２５，Ｆ２７，Ｆ２９，Ｆ３１、Ｆ３３，Ｆ３５｝という９つの面に該当することが分かる。この情報から、分割クエリ形状の面識別子のセット｛Ｆ１９，Ｆ２１，Ｆ２３，Ｆ２５，Ｆ２７，Ｆ２９，Ｆ３１、Ｆ３３，Ｆ３５｝は面の幾何パラメータが一致する、という結合ルールを作成する。結合ルールのデータは、クエリ形状の面識別子（ｆ１０）、面ｆ１０の面のタイプ（平面）、及び面ｆ１０に該当する分割クエリ形状の面識別子のセット（Ｆ１９，Ｆ２１，Ｆ２３，Ｆ２５，Ｆ２７，Ｆ２９，Ｆ３１、Ｆ３３，Ｆ３５）から構成される。
【００４１】
同様にして、図６のクエリ形状の各面識別子ｆ１〜ｆ９に対して、図７の分割クエリ形状７０１〜７１８の面識別子を用いて結合ルールを作成する。図８に、作成した結合ルールのデータ構造を示す。クエリ形状の面識別子ｆ１〜ｆ１０に対して、それぞれ面のタイプと分割クエリ形状の面識別子のセットとが対応付けられている。
【００４２】
図８に示した結合ルールは、クエリ形状６０２の面ｆ１〜ｆ１０のそれぞれが、分割クエリ形状７０１〜７１８を構成する面Ｆ１〜Ｆ３６のどれに対応しているかということを示している。
【００４３】
（４）類似形状検索部５
類似形状検索部５は、全ての分割クエリ形状７０１〜７１８に対して、形状モデル入力部２で入力した形状モデルの類似している部分形状（類似部分形状）を検索する。類似形状検索部の処理フローチャートを図９に示す。以下、フローチャートに従い、処理の詳細について説明する。
【００４４】
１）全分割クエリ形状の処理フラグの初期化（ステップ９０１）
全ての分割クエリ形状に対して処理フラグを設定し、０に初期化する。本例では、分割クエリ形状７０１〜７１８に対して、それぞれ処理フラグを設定して０に初期化する。ここでは、それぞれの処理フラグを代表してＫで表す。
【００４５】
２）未処理の分割クエリ形状があるかどうかの判定（ステップ９０２）
未処理（形状モデルの類似部分形状の検索処理に未だ使用されていない）の分割クエリ形状があるかどうかを判断する。判断は、処理フラグＫが０である分割クエリ形状は未処理である、とする。未処理の分割クエリ形状がある場合には、ステップ９０３以下の類似形状の検索処理に進み、全て処理済の場合には、本類似形状検索処理を終了する。
【００４６】
３）未処理の分割クエリ形状Ｑの取得（ステップ９０３）
未処理の分割クエリ形状、すなわち処理フラグＫが０である分割クエリ形状を１つ取得する。取得した分割クエリ形状の識別子をＱとする。
【００４７】
４）分割クエリ形状Ｑの処理フラグ変更（ステップ９０４）
識別子がＱである分割クエリ形状の処理フラグＫを、処理済である１に変更する。
【００４８】
５）検索対象の形状モデルにおける隣接二面（部分形状）の処理フラグの初期化（ステップ９０５）
検索対象である形状モデル（図２の２０４）において、隣接する（線で接する）二面（部分形状）の組み合わせを全て求め、各組み合わせに対して処理フラグを設定し、０に初期化する。ここでは、それぞれの本処理フラグを代表してＬで表す。以下では、形状モデルの前記隣接する二面の組み合わせを、単に「隣接二面」と称する。
【００４９】
６）未処理の隣接二面があるかどうかの判定（ステップ９０６）
未処理の隣接二面があるかどうかを判断する。判断は、処理フラグＬが０である隣接二面は未処理である、とする。未処理の隣接二面がある場合には、ステップ９０７以下の分割クエリ形状との形状比較処理に進み、全て処理済の場合には、ステップ９０２へ戻る。
【００５０】
７）未処理の隣接二面ｇｇの取得（ステップ９０７）
形状モデルの未処理の隣接二面、すなわち処理フラグＬが０である隣接二面を１つ取得する。取得した隣接二面の識別子をｇｇとする。
【００５１】
８）隣接二面（ｇｇ）の処理フラグ変更（ステップ９０８）
識別子がｇｇである隣接二面の処理フラグＬを、処理済である１に変更する。
【００５２】
９）Ｑとｇｇの面タイプが等しいかどうかの判定（ステップ９０９）
分割クエリ形状Ｑの隣接二面（図７の７０１〜７１８）の各面タイプと、検索対象である形状モデルの隣接二面（ｇｇ）の各面タイプを比較する。比較した面タイプが等しい場合には、形状モデルの隣接二面（ｇｇ）を分割クエリ形状の隣接二面の類似とみなし、次のステップに進む。比較した面タイプが異なる場合には、類似とみなさず比較を終了し、ステップ９０６へ戻る。本ステップにおける面タイプによる一致条件を、「面タイプ一致条件」と称する。
【００５３】
１０）サイズ比がサイズしきい値以下かどうかの判定（ステップ９１０）
分割クエリ形状Ｑを包含する最小の直方体ＱＲと、隣接二面ｇｇを包含する最小の直方体ｇｇＲとを比較し、サイズ比がサイズしきい値以下であるかどうかを判定する。ここでサイズ比とは、直方体ＱＲの体積と直方体ｇｇＲの体積のうち、大きい方の値を小さい方の値で割った値である。
【００５４】
サイズ比が前記サイズしきい値以下の場合には、隣接二面（ｇｇ）を類似とみなし、次のステップに進む。サイズ比がサイズしきい値より大きい場合には、類似とみなさず比較を終了し、ステップ９０６へ戻る。サイズしきい値が大きい程、サイズの異なる部分形状も類似しているとみなして検索できる。本ステップにおけるサイズ比による一致条件を、「サイズ一致条件」と称する。
【００５５】
１１）面間の角度の差が角度しきい値以下かどうかの判定（ステップ９１１）
分割クエリ形状Ｑの面間のなす角度と、隣接二面（ｇｇ）の面間のなす角度の差の絶対値が、角度しきい値以下であるかどうかを判定する。絶対値が角度しきい値以下の場合には、隣接二面（ｇｇ）を類似とみなし、次のステップに進む。絶対値が角度しきい値より大きい場合には、類似とみなさず比較を終了し、ステップ９０６へ戻る。なお、面間角度の計算方法には様々な方法があるが、ここでは、面間の共有線中間点における面の法線ベクトルのなす角度を面間角度とする。前記角度しきい値が大きい程、面間の角度が異なる部分形状も類似しているとみなして検索できる。本ステップにおける前記角度の差の絶対値による一致条件を、「角度一致条件」と称する。
【００５６】
１２）隣接二面（ｇｇ）を分割クエリ形状Ｑの類似形部分状として登録（ステップ９１２）
前述した面タイプ一致条件、サイズ一致条件、及び角度一致条件（以後「幾何的一致条件」と称する）の全てを満たす形状モデルの隣接二面（ｇｇ）を、分割クエリ形状Ｑの類似部分形状として、データ記憶部２１のメモリ又はデータベースに登録する。
【００５７】
類似形状検索部５は、ステップ９０２〜９１２の処理を、未処理の隣接二面及び未処理の分割クエリ形状がなくなるまで実行する。
【００５８】
ここで、類似形状検索部５による分割クエリ形状Ｑに対する形状モデルの類似部分形状（隣接二面）の検索結果の例を、図１０と図１１を用いて説明する。
【００５９】
図１０は、検索対象の形状モデルである平板２０４の部分形状２０６（図２参照）であり、ｇ１〜ｇ１２で記したのは、部分形状２０６の面の識別子である。
【００６０】
図１１は、図１０の部分形状２０６に対して、類似度しきい値を０．５、サイズしきい値を１０、角度しきい値を４５度と設定して前記幾何的一致条件を用いて、類似部分形状の検索を行った結果を示す表である。ここでは、分割クエリ形状７０１〜７１８（図７参照）のうち、その一部の分割クエリ形状７０１、７０２、７０９、７１０を例示した。すなわち、面Ｆ１とＦ２からなる分割クエリ形状７０１、面Ｆ３とＦ４からなる分割クエリ形状７０２、面Ｆ１７とＦ１８からなる分割クエリ形状７０９、及び面Ｆ１９とＦ２０からなる分割クエリ形状７１０の検索結果についてのみ記載した。
【００６１】
分割クエリ形状７０１に対しては、形状モデルの６個の類似部分形状（隣接二面ｇｇ）が検索され、この類似部分形状に１〜６の類似部分形状識別子をつけた。類似部分形状識別子１では、分割クエリ形状７０１の面Ｆ１に対して検索対象形状である平板２０４の面ｇ1が対応し、面Ｆ２に対しては面ｇ２が対応していることが分かる。すなわち、ｇ１、ｇ２が類似部分形状に相当する隣接二面となる。類似部分形状識別子２〜６に対しても同様に、分割クエリ形状７０１の面と検索対象形状である平板２０４の面との対応関係が分かる。
【００６２】
また、分割クエリ形状７０２に対しては形状モデルの１２個の類似部分形状が、分割クエリ形状７０９に対しては形状モデルの６個の類似部分形状が、分割クエリ形状７１０に対しては形状モデルの３個の類似部分形状が検索され、前述の分割クエリ形状７０１の場合と同様に、分割クエリ形状の面と検索対象形状の面との対応関係が分かる。
【００６３】
なお、図１１で記載を省略した分割クエリ形状７０３、７０４、７０６、７０７には、分割クエリ形状７０１及び７０９と同じ類似部分形状が検索される。分割クエリ形状７０５、７０８には、分割クエリ形状７０２と同じ類似部分形状が、分割クエリ形状７１１、７１２、７１３、７１４、７１５、７１６、７１７、７１８に対しては、分割クエリ形状７１０と同じ類似部分形状が検索される。
【００６４】
（５）結合評価部６
結合評価部６は、形状モデルの中から検索された類似部分形状の集合（図１１参照）が結合ルール（図８参照）を満足するかを判断し、満足する類似部分形状の集合を類似形状として検出する。この類似形状の検出については、図１２のフローチャートを用いて後述する。
【００６５】
全ての分割クエリ形状に関する結合ルールを全て満足する類似部分形状（面ｇ）の組み合わせ（集合）があれば、その類似部分形状は、クエリ形状の面の接続性を保った部分形状となる。しかし、本発明で対象としているような、特徴形状が重ね合わされ部分に分割された形状（図１０参照）は、全ての分割クエリ形状に関する結合ルールを満足できない。
【００６６】
そこで、１つ又は複数の分割クエリ形状及びこれに関する結合ルールを図８の結合ルールから除外して類似形状を検索する手段を備えることとする。１つ又は複数の分割クエリ形状及びこれに関する結合ルールを図８の結合ルールから除外することを、「分割クエリ形状の抑制」または単に「抑制」と称する。抑制した結合ルールを「抑制結合ルール」と称する（図１３参照）。
【００６７】
また、検索された類似形状の類似の度合いとして、類似度のしきい値を以下の式で定義する。
【００６８】
【数１】
2009258889.tif 000003
【００６９】
類似形状検索部５で検索された類似部分形状の集合の中に、結合ルールの中の分割クエリ形状に一致するものがあるか検索し、一致する分割クエリ形状の数Ｎ’を分割クエリ形状の全数Ｎで割った値（Ｎ’／Ｎ）が、式１による類似度しきい値以上である場合に、類似部分形状の集合をクエリ形状の類似形状とする。なお、類似度しきい値は、本装置の使用者が分割クエリ形状の抑制数を決めることで、入力により設定できる。
【００７０】
結合評価部６における類似形状の検索処理を表すフローチャートを図１２に示す。以下、図１２のフローチャートに従い、本処理の詳細について説明する。
【００７１】
１）抑制可能な分割クエリ形状数の取得（ステップ１２０１）
使用者の入力した類似度しきい値から、抑制可能な分割クエリ形状の数を算出する。抑制可能な分割クエリ形状の数をｎ、分割クエリ形状の全数をＮ、類似度しきい値をＰとすると、ｎはＮ×Ｐの小数点以下を切り上げた整数値となる。
【００７２】
２）未チェックの分割クエリ形状集合の取得（ステップ１２０２）
抑制した後の分割クエリ形状の集合を求める。例えば、抑制可能な分割クエリ形状の数が１の場合には、抑制数を｛０，１｝と変化させ、それぞれの抑制数に対する分割クエリ形状の集合を求める。ここでは、図７に示したように、分割クエリ形状の数が１８個であり、その識別子が｛７０１，７０２，７０３，・・・，７１６，７１７，７１８｝で表現され、抑制可能な分割クエリ形状の数が１の場合について説明する。
【００７３】
抑制数が０の場合は、要素数が１８個の分割クエリ形状集合｛７０１，７０２，７０３，・・・，７１６，７１７，７１８｝が１通り得られる。抑制数が１の場合は、要素数が１７個の分割クエリ形状集合が１８通り得られる。すなわち、｛７０２，７０３，・・・，７１６，７１７，７１８｝、｛７０１，７０３，７０４，・・・，７１６，７１７，７１８｝、｛７０１，７０２，７０４，・・・，７１６，７１７，７１８｝、・・・、｛７０１，７０２，７０３，・・・，７１６，７１８｝、｛７０１，７０２，７０３，・・・，７１６，７１７｝の1８通りである。従って、抑制数を｛０，１｝と変化させると、計１９通りの分割クエリ形状集合が得られる。
【００７４】
これら１９通りの分割クエリ形状集合に対して、チェック実施の有無を表すフラグを設け、未チェックの分割クエリ形状集合を取得する。ここでは、それぞれの前記フラグを代表してＭで表す。分割クエリ形状集合で、Ｍが０のものは未チェックであり、Ｍが１であるものはチェックが終了しているとする。従って、本ステップでは、Ｍが０である分割クエリ形状集合を取得する。
【００７５】
３）未チェックの分割クエリ形状集合があるかどうかの判定（ステップ１２０３）
２）にて未チェックの分割クエリ形状集合がある場合には、ステップ１２０４に進む。全ての分割クエリ形状集合に対してチェックが終了している場合は、本処理を終了する。
【００７６】
４）抑制結合ルールを満足するかどうかの判定（ステップ１２０４）
まず、抑制結合ルールを作成する。抑制結合ルールとは、１つ又は複数の分割クエリ形状及びこれに関する結合ルールを、図８の結合ルールから除外した結合ルールのことである。ここでは、分割クエリ形状７０２（面Ｆ３とＦ４）、７０５（面Ｆ９と面Ｆ１０）、及び７０８（面Ｆ１５とＦ１６）を抑制するものとし、図８の結合ルールから除外した場合の抑制結合ルールを、図１３に示す。
【００７７】
次に、類似部分形状検索部で検索した形状モデルの類似部分形状の集合（図１１参照）に対して、抑制結合ルール（図１３参照）を満足するかどうかのチェックを行う。ここで抑制結合ルールを満足するとは、形状モデルの各類似部分形状の面識別子ｇ（例えばｇ２）が抑制結合ルールにおけるクエリ形状の同一の面識別子ｆ（例えばｆ１）を示す分割クエリ形状間の面識別子Ｆ（例えばＦ２、Ｆ１７、Ｆ２０）に相当する場合をいう。
【００７８】
例えば、分割クエリ形状７０１（Ｆ１とＦ２）と７０９（Ｆ１７とＦ１８）と７１０（Ｆ１９とＦ２０）に着目して抑制結合ルールを参照すると、Ｆ２とＦ１７とＦ２０はともにクエリ形状の面識別子ｆ１の円筒面に該当する。図１１の類似部分形状の組み合わせを参照すると、Ｆ２、Ｆ１７及びＦ２０に対しては、ｇ２、ｇ６、ｇ１０の３つの面が類似部分形状として登録されていることが分かる。従って、Ｆ２がｇ２、Ｆ１７がｇ２、Ｆ２０がｇ２の組み合わせでは、結合ルールを満足することになる。すなわち、ｇ２がクエリ形状の面識別子ｆ１に相当する。一方、Ｆ２とＦ１７、Ｆ２０において、異なる面の組み合わせ（例えばｇ２とｇ６やｇ２とｇ１０など）では結合ルールを満足しない。
【００７９】
このように、類似部分形状の各面識別子（ｇ）について抑制結合ルールを満足するか判定し、満足する隣接二面（類似部分形状）が一致する分割クエリの数が類似度しきい値を超えるときは、類似部分形状の集合をクエリ形状の類似形状として取得する。抑制結合ルールを満足する類似部分形状の集合がない場合は、ステップ１２０２へ戻る。
【００８０】
５）同一幾何面の連結（ステップ１２０５）
本ステップでは、ステップ１２０４で得られた類似形状を構成する平面と同一平面上にあって前記距離しきい値以下の距離だけ離れている平面がある場合には、この平面を前記類似形状に連結させる。そして、連結された前記類似形状を、新たな類似形状とする。ここでいう連結とは、離れている形状を物理的に接続するものではなく、一体化して取り扱う（簡略化する）ために１つの形状とみなすことをいう。すなわち、本ステップの処理は、元来は１つの形状であったものが、その形状を分断する溝等が特徴形状として重ね合わせられて複数の部分に分割されている場合には、１つの形状とみなすための処理である。
【００８１】
図１４に、その同一幾何面の連結を示す。類似形状１４０１の面群と面１４０２、１４０３、１４０４は、元来は物理的に接続していた１つの形状を構成していたが、例えばクロス溝を重ね合わせたために、分割されたものである。従って、類似形状１４０１の面群と面１４０２、１４０３、１４０４は同一平面状にあり、距離がクロス溝の幅ｄだけ離れている。クロス溝の幅ｄが前記距離しきい値以下であれば、類似形状１４０１の面群に対して、面１４０２、１４０３、１４０４を連結し、これを新たな類似形状とする。
【００８２】
６）クエリ形状と類似形状のサイズ比がしきい値以下かどうかの判定（ステップ１２０６）
今までの処理で得られた類似形状について、クエリ形状とのサイズ比が前記サイズしきい値以下かどうかを判定し、前記サイズしきい値以下のものを検索結果で得られた類似形状として採用する。前記サイズ比の算出については、類似形状検索部５のステップ９１０（図９）と同様である。前記サイズ比が前記サイズしきい値以下でない場合は、ステップ１２０２へ戻る。
【００８３】
７）類似度算出（ステップ１２０７）
検索された類似形状（ステップ１２０６で採用された類似形状）に対して、類似度を算出する。類似度は、既述したように、類似形状検索部５で検索された類似部分形状の集合の中に、結合ルールの中の分割クエリ形状に一致するものがあるか検索し、一致する分割クエリ形状の数Ｎ’を分割クエリ形状の全数Ｎで割った値（Ｎ’／Ｎ）が、式１による類似度しきい値以上である場合に、類似部分形状の集合をクエリ形状の類似形状とする。
【００８４】
８）類似形状の登録（ステップ１２０８）
前記検索された類似形状のうち、類似度が前記類似度しきい値以上である類似形状を、類似度とともにデータ記憶部２１のメモリ又はデータベースに登録する。図１５には、ステップ１２０７までの処理で検索された類似形状を示す。ここでは、類似度しきい値を１．０、０．８と変化させて検索を実施した。類似度しきい値を１．０とした場合には、類似形状１５０１のみが検索でき、類似度しきい値を０．８とした場合には、類似形状１５０１及び１５０２を検索できた。このように、類似度しきい値を変化させることで、特徴形状である穴形状が重ね合わされた溝形状についても類似形状として検索できる。
【００８５】
（６）検索結果表示部７
検索結果表示部７は、結合評価部６によって検索された類似形状を全て、入出力装置１のディスプレイ画面に表示する。図１６は、検索結果表示部７による画面表示の例であり、検索された類似形状を類似度とともに画面に表示する。前記使用者は、簡略化したい類似形状を、図１６に示した画面から１つ又は複数個選択することができる。
【００８６】
（７）形状簡略化部８
形状簡略化部８は、前記使用者が簡略化したい類似形状を選択後、図１６に示した「形状簡略化」ボタン１６０１を選択すると、選択された類似形状を形状モデルから削除する処理を行い、簡略化形状モデルを作成する。
【００８７】
類似形状１６０２及び１６０３を選択して形状簡略化した場合の簡略化形状モデルを、図１７に示す。図３に示した平板２０４から、類似形状１６０２及び１６０３に対応する特徴形状（溝形状）が削除され、穴形状のみが残っている。
【００８８】
以上の形状モデル作成装置によれば、特徴形状の重ね合わせが生じている場合にも類似形状を精度よく検索でき、一括して簡略化などの作業を行えるので、作業の効率向上が図れる。
【図面の簡単な説明】
【００８９】
【図１】本発明による形状モデル作成装置の構成例。
【図２】特徴形状の重ね合わせの例。
【図３】形状モデル作成装置のメイン画面の表示例。
【図４】面の主な形状タイプとこれに対する幾何パラメータ。
【図５】クエリ形状指定の画面の例。
【図６】クエリ形状データベースからクエリ形状を読み込んだ時の画面表示例。
【図７】分割クエリ形状の例。
【図８】結合ルールの例。
【図９】類似形状検索部の処理フローチャート。
【図１０】重ね合わせが生じた溝形状（部分形状２０６）。
【図１１】分割クエリ形状に対する類似部分形状の検索結果の例。
【図１２】結合評価部の処理フローチャート。
【図１３】抑制結合ルールの例。
【図１４】同一幾何面の連結の例。
【図１５】類似形状の検索結果。
【図１６】類似形状の検索結果の画面表示例。
【図１７】簡略化された形状モデル。
【符号の説明】
【００９０】
１…入出力装置、２…形状モデル入力部、３…クエリ形状指定部、４…クエリ形状分割部、５…類似形状検索部、６…結合評価部、７…検索結果表示部、８…形状簡略化部、９…クエリ形状データベース、２０…形状モデル簡略部、２１…データ記憶部、２０１…平板、２０２…溝形状、２０３…穴形状、２０４…平板、２０５、２０６…部分形状、７０１〜７１８…分割クエリ形状、Ｆ１〜Ｆ３６…分割クエリ形状７０１〜７１８を構成する面の識別子、ｆ１〜ｆ１０…クエリ形状の面の識別子、ｇ１〜ｇ１２…部分形状２０６の面の識別子。
【図１】
2009258889.tif 000004
【図２】
2009258889.tif 000005
【図３】
2009258889.tif 000006
【図４】
2009258889.tif 000007
【図５】
2009258889.tif 000008
【図６】
2009258889.tif 000009
【図７】
2009258889.tif 000010
【図８】
2009258889.tif 000011
【図９】
2009258889.tif 000012
【図１０】
2009258889.tif 000013
【図１１】
2009258889.tif 000014
【図１２】
2009258889.tif 000015
【図１３】
2009258889.tif 000016
【図１４】
2009258889.tif 000017
【図１５】
2009258889.tif 000018
【図１６】
2009258889.tif 000019
【図１７】
2009258889.tif 000020