(57)【特許請求の範囲】
【請求項１】
第１の３次元設計データに基づく第１の立体と、第２の３次元設計データに基づく第２の立体とを比較して互いに形状が異なる箇所を特定する設計支援装置において、
前記第１および第２の立体を、平面、円柱面、円錐面、トーラス面および自由曲面のいずれかの面要素に分割し、前記面要素を特定するための幾何学的情報を面要素ごとに取得する分割手段であって、前記面要素が平面であった場合には通過点座標と法線ベクトルを取得し、前記面要素が円柱面であった場合には軸通過点座標、軸ベクトルおよび底面半径を取得し、前記面要素が円錐面であった場合には頂点座標、軸ベクトルおよび開き角度を取得し、前記面要素がトーラス面であった場合には中心座標、軸ベクトルおよび２半径を取得し、前記面要素が自由であった場合には同一の面要素であると判断された組み合わせが無い面要素を取得する分割手段と、
前記第１の立体の１つの面要素と、前記第２の立体の１つの面要素とを比較するときに、前記第１の立体の面要素に対する幾何学的情報と、前記第２の立体の面要素に対する幾何学的情報との比較のみを行い、前記第１の立体の面要素と前記第２の立体の面要素との全ての組み合わせについて幾何学的情報を比較し、幾何学的情報が完全に一致した組み合わせは同一の面要素であると判断し、幾何学的情報の全部または一部が異なっている組み合わせは非同一の面要素であると判断する比較手段と、
前記比較手段による比較結果に基づいて、同一の面要素であると判断された組み合わせが無い面要素を、それぞれ形状が異なる面要素として特定する特定手段とを備えることを特徴とする設計支援装置。
【請求項２】
第１の立体および第２の立体における形状が異なる面要素として特定された面要素を他の面要素と識別可能に表示することを特徴とする請求項１記載の設計支援装置。
【請求項３】
前記特定手段は、同一の面要素であると判断された組み合わせが無い面要素同士がエッジを介して接している場合に、それらエッジを介して接している面要素をグループ化し、形状が異なる面要素グループとして特定することを特徴とする請求項１記載の設計支援装置。
【請求項４】
第１の立体における前記形状が異なる面要素グループがエッジを介して接している他の面と第２の立体における前記形状が異なる面要素グループがエッジを介して接している他の面とが同一の面要素である場合に、前記第１の立体における前記形状が異なる面要素グループと前記第２の立体における前記形状が異なる面要素グループとを変更された面として特定することを特徴とする請求項３記載の設計支援装置。
【請求項５】
変更された面として特定された第１の立体における前記形状が異なる面要素グループと第２の立体における前記形状が異なる面要素グループの面要素を、他の前記形状が異なる面要素グループおよび形状が異なる面要素と識別可能に表示することを特徴とする請求項４記載の設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元設計を行う場合に利用される設計支援装置に関する。
【背景技術】
【０００２】
近年、製品設計を行う際には、コンピュータを利用して設計することがほとんどである。その中でも特に、設計から製品出荷までの期間を大幅に短縮することができる３次元ＣＡＤ（Computer Aided Design）装置を用いることが主流となっている。
【０００３】
３次元ＣＡＤ装置を用いて３次元設計データを作成後、設計変更などが発生した場合には３次元設計データを変更しなければならなくなる。このような場合には、変更する前の３次元設計データ（以下では、旧設計データと呼ぶ。）に変更を加えて新たな３次元設計データ（以下新設計データと呼ぶ。）を作成するが、従来の３次元ＣＡＤ装置では変更履歴情報を残していないため、新設計データと旧設計データの変更箇所を特定することができなくなってしまう。
【０００４】
このような場合、従来の３次元ＣＡＤ装置では、旧設計データと新設計データとの間で干渉チェック（差分計算）を実施する以外、変更箇所を特定する方法は無く、干渉チェックに長い時間を要していた。
【０００５】
特許文献１記載の３次元ＣＡＤシステムは、３次元設計データを一定形状の複数のエリアによりメッシュ状に分割し、旧３次元設計データと新３次元設計データそれぞれに対して、各エリア毎のエリア内のデータ体積を計算し、旧３次元設計データの各エリア毎の体積値と、新３次元設計データの各エリア毎の体積値とを比較し、体積値が異なっているエリアを形状変更が行われた変更箇所として特定している。特許文献２記載の設計変更箇所検証装置は、第１の３次元設計データで表される第１の立体形状と、第２の３次元設計データで表される第２の立体形状とが同一密度の物体であると仮定し、小空間毎に重心座標を求め、第１の立体形状について求めた重心座標と第２の立体形状について求めた重心座標とを比較し、一致しなかった小空間に変更箇所が含まれていると判断している。
【０００６】
【特許文献１】特開平１１−３４５２５６号公報
【特許文献２】特開２０００−３３１０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１，２に記載の３次元ＣＡＤシステムおよび設計変更箇所検証装置の場合、干渉チェックを行うよりは短時間で変更箇所の特定が可能となっている。
【０００８】
しかしながら、液晶ディスプレイのキャビのように、製品全体のサイズが大きく、かつ内部構造などに微小な形状変化が多数存在する複雑な設計データを扱う場合、新旧設計データ間での形状差異を抽出可能な程度にまでメッシュサイズを小さくする（たとえば、０．５ｍｍピッチ）必要があるが、そのような条件で演算を実行しようとすると、メッシュの生成に多大なメモリ容量を消費するため演算速度が低下してしまう。さらには、メッシュ生成に必要なメモリ容量が、装置に搭載されているメモリ容量を超えることもあり、このような場合は、メッシュ生成が不可能となるので、設計の対象とすることができる製品のサイズおよび形状が制限されてしまうという問題がある。
【０００９】
本発明の目的は、高速処理が可能で汎用性の高い設計支援装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、第１の３次元設計データに基づく第１の立体と、第２の３次元設計データに基づく第２の立体とを比較して互いに形状が異なる箇所を特定する設計支援装置において、
前記第１および第２の立体を、平面、円柱面、円錐面、トーラス面および自由曲面のいずれかの面要素に分割し、前記面要素を特定するための幾何学的情報を面要素ごとに取得する分割手段であって、前記面要素が平面であった場合には通過点座標と法線ベクトルを取得し、前記面要素が円柱面であった場合には軸通過点座標、軸ベクトルおよび底面半径を取得し、前記面要素が円錐面であった場合には頂点座標、軸ベクトルおよび開き角度を取得し、前記面要素がトーラス面であった場合には中心座標、軸ベクトルおよび２半径を取得し、前記面要素が自由であった場合には同一の面要素であると判断された組み合わせが無い面要素を取得する分割手段と、
前記第１の立体の１つの面要素と、前記第２の立体の１つの面要素とを比較するときに、前記第１の立体の面要素に対する幾何学的情報と、前記第２の立体の面要素に対する幾何学的情報との比較のみを行い、前記第１の立体の面要素と前記第２の立体の面要素との全ての組み合わせについて幾何学的情報を比較し、幾何学的情報が完全に一致した組み合わせは同一の面要素であると判断し、幾何学的情報の全部または一部が異なっている組み合わせは非同一の面要素であると判断する比較手段と、
前記比較手段による比較結果に基づいて、同一の面要素であると判断された組み合わせが無い面要素を、それぞれ形状が異なる面要素として特定する特定手段とを備えることを特徴とする設計支援装置である。
【００１８】
また本発明は、第１の立体および第２の立体における形状が異なる面要素として特定された面要素を他の面要素と識別可能に表示することを特徴とする。
【００１９】
また本発明は、前記特定手段は、同一の面要素であると判断された組み合わせが無い面要素同士がエッジを介して接している場合に、それらエッジを介して接している面要素をグループ化し、形状が異なる面要素グループとして特定することを特徴とする。
【００２０】
また本発明は、第１の立体における前記形状が異なる面要素グループがエッジを介して接している他の面と第２の立体における前記形状が異なる面要素グループがエッジを介して接している他の面とが同一の面要素である場合に、前記第１の立体における前記形状が異なる面要素グループと前記第２の立体における前記形状が異なる面要素グループとを変更された面として特定することを特徴とする。
【００２１】
また本発明は、変更された面として特定された第１の立体における前記形状が異なる面要素グループと第２の立体における前記形状が異なる面要素グループの面要素を、他の前記形状が異なる面要素グループおよび形状が異なる面要素と識別可能に表示することを特徴とする。
【発明の効果】
【００２２】
本発明によれば、第１の３次元設計データに基づく第１の立体と、第２の３次元設計データに基づく第２の立体とを比較して互いに形状が異なる箇所を特定する設計支援装置である。分割手段が前記第１および第２の立体を面要素に分割すると、比較手段が、前記第１の立体の面要素と、前記第２の立体の面要素とを比較する。特定手段は、前記比較手段による比較結果に基づいて、互いに形状が異なる面要素を特定する。
【００２３】
このように、面要素によって２つの立体を比較するので、従来のようなメッシュ分割または小空間分割を行う必要がなく、体積または重心の計算も不要であるので、２つの立体の形状が異なる箇所を特定するに必要な処理を高速化できる。また、必要なメモリ容量が少なくて済むので、立体のサイズや形状によらず処理することができ汎用性が高くなる。
【００２４】
また、前記分割手段は、前記面要素として、平面、円柱面、円錐面、トーラス面および自由曲面のいずれかに分割する。
【００２５】
立体の形状がどんなに複雑であっても、単純な幾何学的形状の集合でしかないので、上記のような面要素に分割することで立体の形状によらず２つの立体の形状が異なる箇所を特定することができる。
【００２６】
また、前記分割手段は、前記面要素を特定するための幾何学的情報を面要素ごとに取得し、前記比較手段は、前記第１の立体形状の面要素に対する幾何学的情報と、前記第２の立体形状の面要素に対する幾何学的情報とを比較する。
【００２７】
また、前記面要素が平面であった場合には通過点座標と法線ベクトルを取得し、前記面要素が円柱面であった場合には軸通過点座標、軸ベクトルおよび底面半径を取得し、前記面要素が円錐面であった場合には頂点座標、軸ベクトルおよび開き角度を取得し、前記面要素がトーラス面であった場合には中心座標、軸ベクトルおよび２半径を取得する。
【００２８】
これにより、インポートした３次元設計データのように寸法に関する情報および形状作成手順（フィーチャー）に関する情報がない３次元設計データにも対応することができる。
【００２９】
また、前記比較手段は、前記第１の立体形状の面要素と前記第２の立体形状の面要素との全ての組み合わせについて幾何学的情報を比較する。幾何学的情報が完全に一致した組み合わせは同一の面要素であると判断し、幾何学的情報の全部または一部が異なっている組み合わせは非同一の面要素であると判断する。
【００３０】
２つの情報が完全に一致するかどうかを判断するだけで比較を行うことができるので、比較に要する演算量の削減、演算速度の高速化が可能となる。
【００３１】
また、比較しようとする面要素が自由曲面であっても、サンプリング点における位置と法線ベクトルとを幾何学的情報として用いることで比較に要する演算量の削減、演算速度の高速化が可能となる。
【００３２】
また、前記特定手段は、同一の面要素であると判断された組み合わせが全く無い面要素を、形状が異なる面要素として特定する。
【００３３】
これにより、比較手段の比較結果を参照するだけで容易に形状が異なる面要素を特定することができる。
【００３４】
また本発明によれば、第１の立体および第２の立体における形状が異なる面要素として特定された面要素を他の面要素と識別可能に表示する。
【００３５】
これにより、形状差異の箇所が容易に認識できる。
また本発明によれば、前記特定手段は、同一の面要素であると判断された組み合わせが無い面要素同士がエッジを介して接している場合に、それらエッジを介して接している面要素をグループ化し、形状が異なる面要素グループとして特定する。
【００３６】
これにより、形状が異なる面要素がエッジを介して複数接している場合に、それらを１つの面要素グループとして容易に特定することができる。
【００３７】
また本発明によれば、第１の立体における前記形状が異なる面要素グループがエッジを介して接している他の面と第２の立体における前記形状が異なる面要素グループがエッジを介して接している他の面とが同一の面要素である場合に前記第１の立体における前記形状が異なる面要素グループと前記第２の立体における前記形状が異なる面要素グループとを変更された面として特定する。  これにより、第１の立体における形状が異なる面要素グループと第２の立体における形状が異なる面要素グループとを、変更された面として特定することができる。
【００３８】
また、本発明によれば、変更された面として特定された第１の立体における前記形状が異なる面要素グループと第２の立体における前記形状が異なる面要素グループの面の色を他の前記形状が異なる面要素グループおよび形状が異なる面要素以外の面と識別可能に表示する。
【００３９】
これにより、複数の形状差異の箇所が検出された場合でも、変更された面要素は、他の形状差異の箇所と識別可能に表示されているので、変更された面要素であることを容易に認識できる。またたとえば、色を変えることで識別可能に表示させた場合は、変更前モデルの変更された面要素の色以外の色が付いている面要素が表示されることになり、変更前には存在していたが変更後には消えている面要素として容易に認識できる。変更後モデルの変更された面要素の色以外の色が付いている面要素が表示されることになり、変更前には存在していなかったが変更後に追加された面要素として容易に認識できる。
【発明を実施するための最良の形態】
【００４０】
本発明の実施形態について、図面を参照して説明する。
図１は、本発明の実施の一形態である設計支援装置１を含む設計支援システム１００の構成を示すブロック図である。設計支援システム１００は、設計支援装置１、モデルデータ格納装置２および出力装置３を含んで構成される。設計支援装置１は、モデルデータ読み込み部１０、サーフェス幾何情報取得部１１、サーフェス幾何情報記憶部１２、サーフェス比較部１３、サーフェス比較結果記憶部１４、非同一サーフェス検索部１５、非同一サーフェス記憶部１６および形状差異表示生成部１７で構成される。
【００４１】
モデルデータ格納装置２は、図示しない３次元ＣＡＤシステムで作成された３次元設計データを格納する装置である。たとえば、図２に示すデータ構造のように、格納されている３次元設計データの名前（ファイル名）２１、サイズ（ファイルサイズ）２２および更新日時２３が、３次元設計データに関連付けて記憶されている。ここで、設計変更などにより変更された第１の３次元設計データ（新設計データ）の名前は、変更前の第２の３次元設計データ（旧設計データ）の主ファイル名の最後に「_2」を付加した名前となっている。たとえば、図２に示した例には、「Cab.prt」という名前と、「Cab_2.prt」という名前とがあり、「Cab.prt」が旧設計データの名前、「Cab_2.prt」が新設計データの名前である。
【００４２】
出力装置３は、ＣＲＴ（Cathode Ray Tube）、液晶ディスプレイなどの表示装置で実現され、３次元設計データに基づくモデル形状を表示する。
【００４３】
モデルデータ格納装置２および出力装置３としては、３次元設計データを作成する３次元ＣＡＤシステムが備えている記憶装置および表示装置を利用することができる。
【００４４】
設計支援装置１は、旧設計データと新設計データとの変更箇所を特定し、特定した箇所を表示可能とする設計支援処理を行う。
【００４５】
モデルデータ読み込み部１０は、モデルデータ格納装置２に接続され、モデルデータ格納装置２から３次元設計データを読み込むためのインターフェイスとして機能する。
【００４６】
サーフェス幾何情報取得部１１は、モデルデータ読み込み部１０を介して取得した第１および第２の３次元設計データに基づいて、第１および第２のモデル（立体）を１以上の面要素であるサーフェスに分割し、その分割されたそれぞれのサーフェスの幾何学的情報（以下では、単に「幾何情報」と呼ぶ）を取得する分割手段である。取得した幾何情報は、サーフェス幾何情報記憶部１２に記憶される。サーフェスとしては、たとえば、平面、円柱面、円錐面、トーラス面および自由曲面のいずれかに分割する。
【００４７】
どんなに複雑な形状を有するモデルであっても、単純な幾何学的形状の集合でしかないので、サーフェスに分割することでモデルの形状によらず変更箇所を特定することができる。
【００４８】
サーフェスの種類および幾何情報の例について説明する。図３には平面の例が、図４には円柱面の例が、図５には円錐面の例が、図６にはトーラス面の例を示している。
【００４９】
図３に示すように、サーフェスの種類が平面の場合、幾何情報は、通過点座標、法線ベクトルである。図４に示すように、サーフェスの種類が円柱面の場合、幾何情報は、軸通過点座標、軸ベクトル、底面半径である。図５に示すように、サーフェスの種類が円錐面の場合、幾何情報は、頂点座標、軸ベクトル、開き角度である。図６に示すように、サーフェスの種類がトーラス面の場合、幾何情報は、中心座標、軸ベクトル、２半径（小半径および大半径）である。図７に示すように、サーフェスの種類が自由曲面の場合、幾何情報は、サンプリング点座標、法線ベクトルである。ここで、本来各幾何形状を一意に特定するには、平面の場合には頂点座標（４点）、円柱面及び円錐面の場合には高さもサーフェス幾何情報記憶部１２に記憶させるべきである。しかしながら、サーフェス幾何情報記憶部１２に記憶させない理由は、各幾何形状の広がりである頂点座標（４点）や高さを考慮しないことにより、変更されたサーフェスのみを検出することができ、変更されたサーフェスに連動して平面の大きさや円柱面及び円錐面の高さが変わったサーフェスを検出しないためである。たとえば図８のように、直方体に穴が空いているモデル形状（ａ）の上面を上方向に移動した形状（ｂ）に変更を行った場合、各幾何形状の広がりである頂点座標（４点）や高さを考慮すると、図９のように、直方体に穴が空いているモデル形状（ａ）から変更された形状（ｂ）では、上面の他にサイドの面や穴形状も変更されたサーフェスとして検出されてしまう。しかし、各幾何形状の広がりである頂点座標（４点）や高さを考慮しないと、図１０のように、直方体に穴が空いているモデル形状（ａ）から変更された形状（ｂ）では、上面のみが変更されたサーフェスとして検出される。
【００５０】
図１１は、サーフェス幾何情報記憶部１２に記憶されている平面の幾何情報のデータ構造である。図に示すように、各平面を識別するための名前２４、通過点座標２５、法線ベクトル２６が関連付けて記憶される。平面以外の種類のサーフェスについても、平面と同様に、各面を識別するための名前と、上記の幾何情報とが関連付けて記憶されている。さらに、分割されたサーフェスは、いずれの３次元設計データに基づくサーフェスであるかが識別可能なように、たとえば、各幾何情報と、分割元の３次元設計データの名前とが関連付けて記憶されている。
【００５１】
サーフェス比較部１３は、サーフェス幾何情報記憶部１２に記憶されている幾何情報のうち、異なる２つの３次元設計データ、すなわち、新設計データと旧設計データとに基づく幾何情報を設計データ別に取得し、比較を行う比較手段である。
【００５２】
比較しようとするサーフェスの種類が平面、円柱面、円錐面、トーラス面の場合にはサーフェスの特徴を表す幾何情報同士を比較し、自由曲面の場合には互いのサンプリング点における位置および法線ベクトル同士を比較し、全てが一致した場合は、２のサーフェスは同一のサーフェスであると判断し、幾何情報のうち一つでも異なっている場合は、２つのサーフェスは非同一のサーフェスであると判断する。
【００５３】
２つの幾何情報が完全に一致するかどうかを判断するだけで比較を行うことができるので、比較に要する演算量の削減、演算速度の高速化が可能となる。
【００５４】
具体的には、旧設計データから１つのサーフェスを選択し、新設計データの全てのサーフェスと比較し、それぞれの組み合わせが同一か非同一かを判断する。このような比較を繰り返し、旧設計データの全てのサーフェスについて比較を行う。
【００５５】
なお、自由曲面サーフェスの場合のサンプリング点の数は１点でも複数でも良く、図１２に示すように自由曲面がパラメータｕ，ｖで表されるとき、サンプリング点を、ｕ＝０．３、ｖ＝０．３と設定した場合にはサンプリング点（ｕ＝０．３、ｖ＝０．３）における位置および法線ベクトルが互いに同じ値であるかどうかを比較する。
【００５６】
このように、幾何情報を比較するので、インポートした３次元設計データのように寸法に関する情報および形状作成手順（フィーチャー）に関する情報がない３次元設計データにも対応することができる。
【００５７】
サーフェス比較結果記憶部１４は、サーフェス比較部１３による比較結果を記憶する。比較結果としては、比較した２つのサーフェスの名前の組み合わせと、その比較結果とを関連付けて記憶する。
【００５８】
非同一サーフェス検索部１５は、サーフェス比較結果記憶部に記憶されている比較結果を参照し、同一と判断された組み合わせが全く無いサーフェスを検索する特定手段である。
【００５９】
非同一サーフェス記憶部１６は、非同一サーフェス検索部１５によって検索されたサーフェスについて、サーフェスの名前と、３次元設計データの名前とを関連付けて記憶する。
【００６０】
形状差異表示生成部１７は、非同一サーフェス記憶部１６に記憶された名前のサーフェスについて、他の同一のサーフェスと識別可能に表示する。たとえば、当該サーフェスのみハイライト表示したり、他のサーフェスとは異なる色で表示するように出力装置３に指示を行う。
【００６１】
以上のように、サーフェスによって２つのモデルを比較するので、従来のようなメッシュ分割または小空間分割を行う必要がなく、体積または重心の計算も不要であるので、変更箇所を特定するに必要な処理を高速化できる。また、必要なメモリ容量が少なくて済むので、モデルのサイズや形状によらず処理することができ汎用性が高くなる。
【００６２】
以下では、図１３に示すモデルを一例とし、より詳細に設計支援処理について説明する。図１３（ａ）は、変更前のモデル３０の形状を示す斜視図であり、図１３（ｂ）は、変更後のモデル３１の形状を示す斜視図である。このモデル例は、平面部中央に、厚み方向に貫通する貫通孔が設けられた板状部材であり、変更後のモデル３１は、変更前のモデル３０に比べて貫通孔の孔径が大きくなっている。
【００６３】
図１４は、設計支援装置１による設計支援処理を示すフローチャートである。
設計支援装置１は、たとえば、３次元ＣＡＤシステムとデータ通信可能に接続されており、３次元ＣＡＤシステムからの処理開始コマンドを受信することで、設計支援処理を開始する。また、旧設計データは、ファイル名「model.prt」としてモデルデータ格納装置２に格納されており、新設計データは、ファイル名「model_2.prt」としてモデルデータ格納装置２に格納されている。
【００６４】
ステップＳ１では、モデルデータ読み込み部１０がモデルデータ格納装置２から旧設計データを読み込み、ステップＳ２では、モデルデータ読み込み部１０がモデルデータ格納装置２から新設計データを読み込む。
【００６５】
ステップＳ３では、サーフェス幾何情報取得部１１が、旧設計データに基づいて変更前のモデル３０を複数のサーフェスに分割することで、サーフェスの幾何情報を生成し、生成した幾何情報をサーフェス幾何情報記憶部１２に記憶する。
【００６６】
ステップＳ４では、サーフェス幾何情報取得部１１が、新設計データに基づいて変更後のモデル３１を複数のサーフェスに分割することで、サーフェスの幾何情報を生成し、生成した幾何情報をサーフェス幾何情報記憶部１２に記憶する。
【００６７】
図１５は、変更前のモデル３０を分割したときの模式図である。板状部材の部分は、６つの平面ｐ０１〜ｐ０６として分割され、貫通孔の部分は、円柱面ｐ０７として分割される。平面ｐ０１〜ｐ０６の幾何情報は、図１６に示すようなデータ構造でサーフェス幾何情報記憶部１２に記憶され、円柱面ｐ０７の幾何情報は、図１７に示すようなデータ構造でサーフェス幾何情報記憶部１２に記憶される。
【００６８】
図１８は、変更後のモデル３１を分割したときの模式図である。板状部材の部分は、６つの平面ｑ０１〜ｑ０６として分割され、貫通孔の部分は、円柱面ｑ０７として分割される。平面ｑ０１〜ｑ０６の幾何情報は、図１９に示すようなデータ構造でサーフェス幾何情報記憶部１２に記憶され、円柱面ｑ０７の幾何情報は、図２０に示すようなデータ構造でサーフェス幾何情報記憶部１２に記憶される。
【００６９】
ステップＳ５では、サーフェス比較部１３が、比較しようとするサーフェスの幾何情報をサーフェス幾何情報記憶部１２から取得する。
【００７０】
ステップＳ６では、サーフェス比較部１３が、取得したサーフェスの幾何情報を比較し、同一か非同一かを判断する。比較結果は、サーフェス比較結果記憶部１４に記憶される。
【００７１】
たとえば、図２１の模式図に示すように変更前モデル３０のサーフェスと、変更後モデル３１のサーフェスとを総当りで比較する場合、まず、サーフェス比較部１３は、変更前モデル３０の平面ｐ０１の幾何情報と、変更後モデル３１の全て（平面ｑ０１〜ｑ０６および円柱面ｑ０７）の幾何情報とを取得する。次に平面ｐ０１の幾何情報と、平面ｑ０１〜ｑ０６および円柱面ｑ０７の幾何情報とをそれぞれ比較し、幾何情報が完全に一致すれば同一であると判断し、幾何情報の一部でも一致しなければ非同一であると判断する。なお、サーフェスの種類が異なっていれば、座標などを比較することなく非同一であると判断する。
【００７２】
ステップＳ７では、全てのサーフェスについて比較が終了したかどうかを判断する。全て終了していればステップＳ８に進み、比較していないサーフェスがあればステップＳ５に戻る。ステップＳ５では、変更前モデル３０の次のサーフェスを取得して再度サーフェスの比較を行う。
【００７３】
全ての比較が終了すると、図２２に示すようなデータ構造の比較結果が得られる。たとえば、変更前モデル３０の平面ｐ０１と、変更後モデル３１の平面ｑ０１とが同一である。モデル３０の円柱面ｐ０７と、変更後モデル３１の円柱面ｑ０７とは、通過座標、軸ベクトル、高さは一致しているが、半径の値が異なるので非同一である。
【００７４】
ステップＳ８では、非同一サーフェス検索部１５が、サーフェス比較結果記憶部１４に記憶されている比較結果に基づいて、同一と判断されたサーフェスが全く無いサーフェスを検索し、検索結果を図２３に示すようなデータ構造で非同一サーフェス記憶部１６に記憶する。本検索によって抽出されたサーフェスが変更箇所として特定される。
【００７５】
円柱面ｐ０７および円柱面ｑ０７は、同一と判断されたサーフェスが全く無いので、変更箇所として、サーフェスの名前とモデルの元データのファイル名とを関連付けて非同一サーフェス記憶部１６に記憶する。
【００７６】
ステップＳ９では、形状差異表示生成部１７が、非同一サーフェス記憶部１６に記憶されている検索結果に基づいて、該当するサーフェスの部分が視覚的に識別可能に表示するように、出力装置３に対して指示を出力して処理を終了する。
【００７７】
図２４は、出力装置３の表示例を示す図である。表示例では、変更箇所のサーフェスである円柱面ｐ０７およびｑ０７、すなわちモデル形状における貫通孔の内面にハッチングが施され、変更箇所を容易に確認することができる。
【００７８】
以下では本発明の他の実施形態について、図面を参照して説明する。
図２５は、本発明の他の実施形態である設計支援装置３３を含む設計支援システム１０１の構成を示すブロック図である。
【００７９】
設計支援システム１０１は、設計支援装置３３、モデルデータ格納装置２および出力装置３を含んで構成される。設計支援装置１は、モデルデータ読み込み部１０、サーフェス幾何情報取得部１１、サーフェス幾何情報記憶部１２、サーフェス比較部１３、サーフェス比較結果記憶部１４、非同一サーフェス検索部１５、非同一サーフェス記憶部１６、形状差異表示生成部１７、同一サーフェス記憶部３４、面要素グルーピング部３５、面要素グループ記憶装置３６、変更サーフェス特定部３７および変更面要素グループ記憶装置３８で構成される。
【００８０】
モデルデータ格納装置２、出力装置３、モデルデータ読み込み部１０、サーフェス幾何情報取得部１１、サーフェス幾何情報記憶部１２、サーフェス比較部１３、サーフェス比較結果記憶部１４、非同一サーフェス検索部１５および非同一サーフェス記憶部１６は、図１に示した設計支援システム１００に含まれる構成と同一であるので、同じ参照符号を付して詳細な説明は省略する。
【００８１】
同一サーフェス記憶部３４は、非同一サーフェス検索部１５によって同一の面要素である一対の面要素について、第１の立体のサーフェスの名前と第２の立体のサーフェスの名前とを関連づけて記憶する。面要素グルーピング部３５は、非同一サーフェス記憶部１６に記憶された名前の面要素について、エッジを介して接している面要素を検出しグループ化する。面要素グループ記憶装置３６は、面要素グルーピング部３５によってグループ化された形状が異なる面要素グループ（以下では単に面要素グループと略称する。）を記憶する。
【００８２】
変更サーフェス特定部３７は、面要素グループ記憶装置３６に記憶された第１の立体における面要素グループがエッジを介して接しているサーフェスＡを取得し、面要素グループ記憶装置３６に記憶された第２の立体における面要素グループがエッジを介して接しているサーフェスＢを取得する。さらに、サーフェスＡとサーフェスＢとが全て同一のサーフェスである場合に、面要素グループ記憶装置３６に記憶された第１の立体における面要素グループと、面要素グループ記憶装置３６に記憶された第２の立体における面要素グループとを変更したサーフェスとして特定する。
【００８３】
変更面要素グループ記憶装置３８は、変更サーフェス特定部３７によって変更したサーフェスと特定された面要素グループを記憶する。
【００８４】
形状差異表示生成部１７は、非同一サーフェス記憶部１６に記憶された名前のサーフェスについて、他の同一のサーフェスと識別可能に表示し、さらに変更面要素グループ記憶装置３８に記憶された面要素グループについて、同一のサーフェスおよび変更面要素グループ記憶装置３８に記憶されていないが非同一サーフェス記憶部１６には記憶されているサーフェスと識別可能に表示する。
【００８５】
以下では、図２６に示すモデルを一例とし、より詳細に設計支援処理について説明する。
【００８６】
図２６（ａ）は、変更前のモデル４０の形状を示す斜視図であり、図２６（ｂ）は、変更後のモデル４１の形状を示す斜視図である。変更前のモデル４０は、直方体の形状であり、変更後のモデル４１は、変更前のモデル４０に比べて上端面と下端面とが異なっている。上端面は、２つの面が合わさった形状になり、下端面は、その一角が面で切り取られた形状になっている。
【００８７】
図２７は、設計支援装置３３による設計支援処理を示すフローチャートである。
設計支援装置３３は、たとえば、３次元ＣＡＤシステムとデータ通信可能に接続されており、３次元ＣＡＤシステムからの処理開始コマンドを受信することで、設計支援処理を開始する。また、旧設計データは、ファイル名「mode2.prt」としてモデルデータ格納装置２に格納されており、新設計データは、ファイル名「mode2_2.prt」としてモデルデータ格納装置２に格納されている。
【００８８】
ステップＳ１１では、モデルデータ読み込み部１０がモデルデータ格納装置２から旧設計データを読み込み、ステップＳ１２では、モデルデータ読み込み部１０がモデルデータ格納装置２から新設計データを読み込む。ステップＳ１３では、サーフェス幾何情報取得部１１が、旧設計データに基づいて変更前のモデル４０を複数のサーフェスに分割することで、サーフェスの幾何情報を生成し、生成した幾何情報をサーフェス幾何情報記憶部１２に記憶する。ステップＳ１４では、サーフェス幾何情報取得部１１が、新設計データに基づいて変更後のモデル４１を複数のサーフェスに分割することで、サーフェスの幾何情報を生成し、生成した幾何情報をサーフェス幾何情報記憶部１２に記憶する。
【００８９】
図２８は、変更前のモデル４０、変更後のモデル４１を分割したときの模式図である。図２８（ａ）は変更前のモデル４０を示し、図２８（ｂ）は変更後のモデル４１を示している。変更前のモデル４０は、６つの平面r０１〜r０６として分割される。変更後のモデル４１は、８つの平面t０１〜t０６として分割される。
【００９０】
ステップＳ１５では、サーフェス比較部１３が、比較しようとするサーフェスの幾何情報をサーフェス幾何情報記憶部１２から取得する。
【００９１】
ステップＳ１６では、サーフェス比較部１３が、取得したサーフェスの幾何情報を比較し、同一か非同一かを判断する。比較結果は、サーフェス比較結果記憶部１４に記憶される。
【００９２】
たとえば、変更前モデル４０のサーフェスと、変更後モデル４１のサーフェスとを総当りで比較する場合、まず、サーフェス比較部１３は、変更前モデル４０の平面r０１の幾何情報と、変更後モデル４１の全て（平面t０１〜t０８）の幾何情報とを取得する。次に平面ｒ０１の幾何情報と、平面ｔ０１〜ｔ０８の幾何情報とをそれぞれ比較し、幾何情報が完全に一致すれば同一であると判断し、幾何情報の一部でも一致しなければ非同一であると判断する。なお、サーフェスの種類が異なっていれば、座標などを比較することなく非同一であると判断する。
【００９３】
ステップＳ１７では、全てのサーフェスについて比較が終了したかどうかを判断する。全て終了していればステップＳ１８に進み、比較していないサーフェスがあればステップＳ１５に戻る。ステップＳ１５では、変更前モデル４０の次のサーフェスを取得して再度サーフェスの比較を行う。
【００９４】
ステップＳ１８では、非同一サーフェス検索部１５が、サーフェス比較結果記憶部１４に記憶されている比較結果に基づいて、同一と判断されたサーフェスの対を検索し、検索結果を図２９に示すようなデータ構造で同一サーフェス記憶部３４に記憶する。
【００９５】
ステップＳ１９では、非同一サーフェス検索部１５が、サーフェス比較結果記憶部１４に記憶されている比較結果に基づいて、同一と判断されたサーフェスが全く無いサーフェスを検索し、検索結果を図３０に示すようなデータ構造で非同一サーフェス記憶部１６に記憶する。本検索によって抽出されたサーフェスが変更箇所として特定される。
【００９６】
ステップＳ２０では、非同一サーフェス記憶部１６に記憶された名前のサーフェスについて、エッジを介して接しているサーフェスをグループ化する。
【００９７】
図３０に示した例では、変更前モデル４０は、非同一サーフェス記憶部１６に平面r０６１つしかサーフェスがないため、平面r０６を含むグループを作成し、面要素グループ記憶装置３６に記憶する。変更後モデル４１は、非同一サーフェス記憶部１６に平面t０６、t０７、t０８の３つ面要素があり、平面t０６と平面t０７とがエッジを介して接しているので平面t０６と平面t０７とを含むグループを作成し、平面t０８はエッジを介して接しているがないため平面t０８を含むグループを作成し、面要素グループ記憶装置３６に記憶する。この結果、図３１に示すように、グループ名とそのグループに含まれるサーフェス名とを関連付けたデータ構造で面要素グループ記憶装置３６に記憶する。
【００９８】
ステップＳ２１では、変更サーフェス特定部３７が、面要素グループ記憶装置３６に記憶された変更前モデルにおける面要素グループがエッジを介して接しているサーフェスＡを取得し、面要素グループ記憶装置３６に記憶された変更後モデルにおける面要素グループがエッジを介して接しているサーフェスＢを取得する。サーフェスＡとサーフェスＢとが全て同一のサーフェスである場合に、面要素グループ記憶装置３６に記憶された変更前モデルにおける面要素グループと、面要素グループ記憶装置３６に記憶された変更後モデルにおける面要素グループとを変更した面要素グループとして特定し、変更面要素グループ記憶装置３８に記憶する。この結果、図３２に示すようなデータ構造で変更した面要素グループを変更面要素グループ記憶装置３８に記憶する。
【００９９】
たとえば、変更前モデル４０では、面要素グループ記憶装置３６に記憶されているグループGr1-1がエッジを介して接しているサーフェスは、平面r０１、r０２、r０３、r０４である。変更後モデル４１では、面要素グループ記憶装置３６に記憶されているグループGr2-1がエッジを介して接しているサーフェスは、平面t０１、t０２、t０３、t０４であり、グループGr2-2がエッジを介して接しているサーフェスは、平面t０１、t０２、t０８である。同一サーフェス記憶部３４により、平面r０１、r０２、r０３、r０４と平面t０１、t０２、t０３、t０４はそれぞれ同一のサーフェスであるので、グループGr1-1とグループGr2-1とは、変更した面要素グループとして特定される。すなわち、図３３の模式図に示すように平面r０６が平面t０６、t０７に変更されたことを特定できる。
【０１００】
ステップＳ２２では、形状差異表示生成部１７が、非同一サーフェス記憶部１６に記憶された名前のサーフェスについて、他の同一のサーフェスと識別可能に表示し、さらに変更面要素グループ記憶装置３８に記憶された面要素グループに含まれるサーフェスについて、同一のサーフェスおよび変更面要素グループ記憶装置３８に記憶されていないが非同一サーフェス記憶部１６に記憶されているサーフェスと識別可能に表示するように、出力装置３に対して指示を出力して処理を終了する。
【０１０１】
たとえば、図３４の表示例に示すように、平面ｔ０８が他の同一サーフェスとは異なる色で表示され、平面r０６、t０７およびt０８が、同一サーフェスおよび平面t０８とは異なる色で同じ色で表示される。
【図面の簡単な説明】
【０１０２】
【図１】本発明の実施の一形態である設計支援装置１を含む設計支援システム１００の構成を示すブロック図である。
【図２】モデルデータ格納装置２に格納されるデータのデータ構造を示す図である。
【図３】平面の幾何情報を示す図である。
【図４】円柱面の幾何情報を示す図である。
【図５】円錐面の幾何情報を示す図である。
【図６】トーラス面の幾何情報を示す図である。
【図７】自由曲面の幾何情報を示す図である。
【図８】モデル形状の変更例を示す図である。
【図９】モデル形状の変更例を示す図である。
【図１０】モデル形状の変更例を示す図である。
【図１１】サーフェス幾何情報記憶部１２に記憶されている平面の幾何情報のデータ構造である。
【図１２】自由曲面の幾何情報を示す図である。
【図１３】変更前および変更後のモデルの一例を示す図である。
【図１４】設計支援装置１による設計支援処理を示すフローチャートである。
【図１５】変更前のモデル３０を分割したときの模式図である。
【図１６】サーフェス幾何情報記憶部１２に記憶されている平面の幾何情報のデータ構造である。
【図１７】サーフェス幾何情報記憶部１２に記憶されている円柱面の幾何情報のデータ構造である。
【図１８】変更後のモデル３１を分割したときの模式図である。
【図１９】サーフェス幾何情報記憶部１２に記憶されている平面の幾何情報のデータ構造である。
【図２０】サーフェス幾何情報記憶部１２に記憶されている円柱面の幾何情報のデータ構造である。
【０１０３】
【図２１】変更前モデル３０のサーフェスと、変更後モデル３１のサーフェスとの比較を示す模式図である。
【図２２】サーフェス比較結果記憶部１４に記憶されている比較結果のデータ構造である。
【図２３】非同一サーフェス記憶部１６に記憶されている比較結果のデータ構造である。
【図２４】出力装置３の表示例を示す図である。
【図２５】本発明の実施の一形態である設計支援装置３３を含む設計支援システム１０１の構成を示すブロック図である。
【図２６】変更前および変更後のモデルの一例を示す図である。
【図２７】設計支援装置３３による設計支援処理を示すフローチャートである。
【図２８】変更前のモデル４０および変更後のモデル４１を分割したときの模式図である。
【図２９】同一サーフェス記憶部３４に記憶されている同一サーフェス情報のデータ構造である。
【図３０】非同一サーフェス記憶部１６に記憶されている比較結果のデータ構造である。
【図３１】面要素グループ記憶装置３６に記憶されている面要素グループ情報のデータ構造である。
【図３２】変更面要素グループ記憶装置３８に記憶されている面要素グループ情報のデータ構造である。
【図３３】変更サーフェス特定部３７が特定した面要素グループの模式図である。
【図３４】出力装置３の表示例を示す図である。
【符号の説明】
【０１０４】
１，３３  設計支援装置
２  モデルデータ格納装置
３  出力装置
１０  モデルデータ読み込み部
１１  サーフェス幾何情報取得部
１２  サーフェス幾何情報記憶部
１３  サーフェス比較部
１４  サーフェス比較結果記憶部
１５  非同一サーフェス検索部
１６  非同一サーフェス記憶部
１７  形状差異表示生成部
３４  同一サーフェス記憶部
３５  面要素グルーピング部
３６  面要素グループ記憶装置
３７  変更サーフェス特定部
３８  変更面要素グループ記憶装置
【図１】
0004825109.tif 000002
【図２】
0004825109.tif 000003
【図３】
0004825109.tif 000004
【図４】
0004825109.tif 000005
【図５】
0004825109.tif 000006
【図６】
0004825109.tif 000007
【図７】
0004825109.tif 000008
【図８】
0004825109.tif 000009
【図９】
0004825109.tif 000010
【図１０】
0004825109.tif 000011
【図１１】
0004825109.tif 000012
【図１２】
0004825109.tif 000013
【図１３】
0004825109.tif 000014
【図１４】
0004825109.tif 000015
【図１５】
0004825109.tif 000016
【図１６】
0004825109.tif 000017
【図１７】
0004825109.tif 000018
【図１８】
0004825109.tif 000019
【図１９】
0004825109.tif 000020
【図２０】
0004825109.tif 000021
【図２１】
0004825109.tif 000022
【図２２】
0004825109.tif 000023
【図２３】
0004825109.tif 000024
【図２４】
0004825109.tif 000025
【図２５】
0004825109.tif 000026
【図２６】
0004825109.tif 000027
【図２７】
0004825109.tif 000028
【図２８】
0004825109.tif 000029
【図２９】
0004825109.tif 000030
【図３０】
0004825109.tif 000031
【図３１】
0004825109.tif 000032
【図３２】
0004825109.tif 000033
【図３３】
0004825109.tif 000034
【図３４】
0004825109.tif 000035