(57)【要約】      （修正有）【課題】三次元モデルから精度の高い解析モデルを効率的に作成する。【解決手段】CADにより作成された三次元モデルの表面形状を表す初期メッシュモデルを作成し(S201)、初期メッシュモデルが表す他の部品の面が予め設定された閾値以内の距離にある初期メッシュモデルが表す部品の頂点またはエッジを近接点として検出し(S205)、初期メッシュモデルに所定回数のエッジコラプスを行って(S206)、得られる簡略化メッシュモデルと初期メッシュモデルの間の形状のずれを表す評価値を、初期メッシュモデルの頂点またはエッジごとに算出し(S207)、評価値が小さい頂点またはエッジの順に、エッジコラプスを予め設定された実行回数繰り返して、初期メッシュモデルの形状を簡略化した解析モデルを作成する(S208)。【選択図】図２Ａ
2014032473.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ支援設計により作成された三次元モデルの表面形状を表す初期メッシュモデルを作成する作成手段と、
前記初期メッシュモデルが表す他の部品の面が予め設定された閾値以内の距離にある、前記初期メッシュモデルが表す部品の頂点またはエッジを近接点として検出する検出手段と、
前記初期メッシュモデルに所定回数のエッジコラプスを行う処理手段と、
前記処理手段によって得られる簡略化メッシュモデルと前記初期メッシュモデルの間の形状のずれを表す評価値を、前記初期メッシュモデルの頂点またはエッジごとに算出する算出手段と、
前記評価値が小さい頂点またはエッジの順に、前記エッジコラプスを予め設定された実行回数繰り返して、前記初期メッシュモデルの形状を簡略化した解析モデルを作成する簡略化手段とを有することを特徴とする情報処理装置。
【請求項２】
前記検出手段は、前記他の部品の表面形状を表すポリゴンが前記予め設定された閾値以内の距離にある前記部品の表面形状を表すポリゴンの頂点またはエッジを前記近接点として検出することを特徴とする請求項1に記載された情報処理装置。
【請求項３】
前記簡略化手段は、前記評価値が小さい頂点が前記近接点か否かの判定、当該頂点が一端であるエッジの他端が前記近接点か否かの判定を行い、当該頂点または前記他端の頂点が前記近接点の場合は当該頂点と前記他端の頂点を結合する前記エッジコラプスを前記実行回数繰り返して、前記初期メッシュモデルとの間の形状のずれを表す評価値、および、前記結合によって得られるマージ頂点と前記結合前の近接点に対応する面の距離を表す評価値の和が最小になるように、前記マージ頂点を決定することを特徴とする請求項1または請求項2に記載された情報処理装置。
【請求項４】
前記所定回数は、前記初期メッシュモデルの頂点またはエッジの数の所定割合であることを特徴とする請求項1から請求項3の何れか一項に記載された情報処理装置。
【請求項５】
さらに、前記エッジコラプスを実行する度合いを設定する設定手段を有し、
前記実行回数は、前記所定回数と前記度合いから計算されることを特徴とする請求項1から請求項4の何れか一項に記載された情報処理装置。
【請求項６】
さらに、前記閾値を入力する入力手段を有することを特徴とする請求項1から請求項5の何れか一項に記載された情報処理装置。
【請求項７】
前記解析モデルは、熱流体解析用の解析モデルであることを特徴とする請求項1から請求項6の何れか一項に記載された情報処理装置。
【請求項８】
作成手段、検出手段、処理手段、算出手段、簡略化手段を有する情報処理装置の情報処理方法であって、
前記作成手段が、コンピュータ支援設計により作成された三次元モデルの表面形状を表す初期メッシュモデルを作成し、
前記検出手段が、前記初期メッシュモデルが表す他の部品の面が予め設定された閾値以内の距離にある、前記初期メッシュモデルが表す部品の頂点またはエッジを近接点として検出し、
前記処理手段が、前記初期メッシュモデルに所定回数のエッジコラプスを行い、
前記算出手段が、前記処理手段によって得られる簡略化メッシュモデルと前記初期メッシュモデルの間の形状のずれを表す評価値を、前記初期メッシュモデルの頂点またはエッジごとに算出し、
前記簡略化手段が、前記評価値が小さい頂点またはエッジの順に、前記エッジコラプスを予め設定された実行回数繰り返して、前記初期メッシュモデルの形状を簡略化した解析モデルを作成することを特徴とする情報処理方法。
【請求項９】
コンピュータを請求項1から請求項7の何れか一項に記載された情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元モデルから解析モデルを作成する情報処理に関する。
【背景技術】
【０００２】
部品や製品の設計にコンピュータ支援設計(CAD)が広く利用される。そして、CADを用いて作成した三次元モデル（以下、CADモデル）の活用方法として有限要素法を使う解析が挙げられる。CADモデルを解析に活用する際、複雑な形状または微細な形状が存在すると、メッシュの数が多くなり、多大な計算時間を必要とする。そこで、一般に、ある程度の解析精度を保ちつつ、CADモデルを簡易な形状に修正する形状簡略化によって解析用のCADモデル（以下、解析モデル）を生成する。
【０００３】
熱流体解析における形状簡略化には、部品の形状の微細部分を削除する「形状削除」と、部品の間で接触していると判断される微小な隙間（以下、接触部）を埋める「隙間埋め」の二種類が存在する。現状、ユーザは、解析結果への影響が少ないと考えられる箇所を判断し、当該箇所に「形状削除」や「隙間埋め」を施す。このようなユーザの作業負荷を軽減するために、接触部を埋める方法が提案されている。
【０００４】
特許文献1の発明は、部品の形状を複数の面要素に分割し、各面要素と、それに対向する面要素の間の距離を測定し、部品の隙間に存在する面要素を抽出し、抽出した面要素を使って隙間モデルを作成する。
【０００５】
特許文献1の手法は、単純に微小な距離の隙間を埋めるため、形状簡略化の過程で部品の形状が変更されると、形状簡略化前の隙間の接触関係が維持されず、残すべき隙間を埋めたり、埋めるべき隙間を残したりして適切な解析モデルが作成されない場合がある。結局、隙間の接触関係を維持して正しい「隙間埋め」が実行されるように、ユーザが手作業によって形状簡略化を行うことになり、ユーザ作業に多大な手間と時間を要する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2004-265050号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、三次元モデルから精度の高い解析モデルを効率的に作成することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００９】
本発明にかかる情報処理は、コンピュータ支援設計により作成された三次元モデルの表面形状を表す初期メッシュモデルを作成し、 前記初期メッシュモデルが表す他の部品の面が予め設定された閾値以内の距離にある、前記初期メッシュモデルが表す部品の頂点またはエッジを近接点として検出し、前記初期メッシュモデルに所定回数のエッジコラプスを行って得られる簡略化メッシュモデルと前記初期メッシュモデルの間の形状のずれを表す評価値を、前記初期メッシュモデルの頂点またはエッジごとに算出し、前記評価値が小さい頂点またはエッジの順に、前記エッジコラプスを予め設定された実行回数繰り返して、前記初期メッシュモデルの形状を簡略化した解析モデルを作成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、三次元モデルから精度の高い解析モデルを効率的に作成することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例の形状簡略化処理を実行する情報処理装置の構成例を説明するブロック図。
【図２Ａ】形状簡略化処理を説明するフローチャート。
【図２Ｂ】形状簡略化処理を説明するフローチャート。
【図３】隙間埋めの閾値を入力するためのユーザインタフェイスである画面例を示す図。
【図４】簡略化レベルを設定するUIである画面例を示す図。
【図５】評価関数の係数を設定するためのUIである画面例を示す図。
【図６】関数E1を説明する図。
【図７】関数E2を説明する図。
【図８】近接頂点と近接ポリゴンの対応関係を示す近接関係テーブルの一例を示す図。
【図９】近接頂点と近接ポリゴンの関係を確認するためのUIの画面例を示す図。
【図１０】ずれ量テーブルの一例を示す図。
【図１１】エッジコラプスを説明する図。
【図１２】形状簡略化処理の実行結果を示すUIである画面例を示す図。
【図１３】変形例のエッジコラプスを説明する図。
【図１４】ずれ量テーブルの一例を示す図。
【図１５】ずれ量テーブルの一例を示す図。
【図１６】エッジコプラスの処理を模式的に説明する図。
【発明を実施するための形態】
【００１２】
以下、本発明にかかる実施例の情報処理を図面を参照して詳細に説明する。
【００１３】
［装置の構成］
図1のブロック図により実施例の形状簡略化処理を実行する情報処理装置の構成例を説明する。
【００１４】
図1において、中央演算装置(CPU)102は、入力装置104から入力される指示に従い、設計対象のユニットの各種パラメータを設定し、形状入力に対する処理を実行する。また、CPU102は、その処理に応じて表示装置101に、ユニットの三次元形状、入力情報（各種パラメータ、経路情報）、処理経過などを表示する。
【００１５】
入力装置104は、キーボード、マウス、ポインティングデバイスなどを含み、処理に必要な様々な情報、メニューの選択指示、その他のユーザ指示などを入力する。記憶装置103は、ROM、RAM、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)から構成される。記憶装置103は、CPU102が実行するプログラム、コンピュータ支援設計(CAD)を使用して作成された三次元モデル（以下、CADモデル）のデータなどを記憶する。
【００１６】
また、表示装置101に表示される情報を記録紙に記録するためのプリンタ（不図示）をCPU102に接続してもよいし、また、必要に応じてその他の周辺機器を接続してもよい。勿論、実施例の情報処理装置として専用の装置を用いてもよいが、実施例の形状簡略化処理を実行するプログラムを供給したパーソナルコンピュータなど汎用のコンピュータ機器を利用してもよい。
【００１７】
［形状簡略化処理］
図2Aおよび図2Bのフローチャートにより形状簡略化処理を説明する。
【００１８】
CPU102は、ユーザ指示に従いCADモデルの表面形状を表すメッシュモデルを作成する(S201)。なお、メッシュモデルは複数のポリゴンで構成される。
【００１９】
●パラメータの設定
次に、CPU102は、ある部品の形状を表すポリゴンの集合（以下、部品の形状）と、他の部品の形状の間で接触していると判断される微小な隙間（以下、接触部）を埋める（以下、隙間埋め）際の閾値を入力する(S202)。図3により隙間埋めの閾値を入力するためのユーザインタフェイス(UI)である画面例を示す。ユーザは、閾値入力部301に閾値（図3の例では5mm）を入力し、OKボタン302を押して閾値を決定する。また、キャンセルボタン303を押して閾値入力を取り消す。
【００２０】
次に、CPU102は、作成したメッシュモデルについて、部品の形状の微細部分の削除（以下、形状削除）における簡略化レベルを設定する(S203)。図4により簡略化レベルを設定するUIである画面例を示す。ユーザは、スライディングバー401を操作して目的に合わせた簡略化レベルを設定する。ユーザは、OKボタン402を押して簡略化レベルを決定し、キャンセルボタン403を押して簡略化レベルの設定を取り消す。
【００２１】
簡略化レベルは、例えばエッジコラプスを実行する割合を指すが、他の基準を設けてもよい。例えば、簡略化レベルを「低」に設定する（スライディングバー401を左端の「低」に移動する）と、エッジコラプスの最大実行回数の例えば90%が実施される。エッジコラプスの実行回数が多いと、簡略化前のメッシュモデル（以下、初期メッシュモデル）の形状と簡略化後のメッシュモデル（以下、簡略化メッシュモデル）の形状のずれが大きくなる。つまり、初期メッシュモデルの形状に対して形状の差異が大きい簡略化メッシュモデルが作成される。
【００２２】
また、簡略化レベルをスライディングバー401を中央付近に移動すると、エッジコラプスの最大実行回数の例えば50%が実施される。さらに、簡略化レベルを「高」に設定する（スライディングバー401を右端の「高」に移動する）と、エッジコラプスの最大実行回数の例えば10%が実施される。エッジコラプスの実行回数が少ないと、初期メッシュモデルの形状と簡略化メッシュモデルの形状のずれは小さい。つまり、初期メッシュモデルの形状に対して形状の差異が小さい簡略化メッシュモデルが作成される。
【００２３】
このように「簡略化レベル」は、簡略化メッシュモデルの形状の、初期メッシュモデルの形状からの変化の度合いを示し、簡略化レベル「低」は形状の変化が大きく、簡略化レベル「高」は形状の変化が小さい。簡略化レベルを上げると簡略化メッシュモデルはより詳細化する。
【００２４】
次に、CPU102は、初期メッシュモデルについて隙間埋めと形状削除を含む形状簡略化処理を実行した結果を評価するための評価関数の係数を設定する(S204)。図5により評価関数の係数を設定するためのUIである画面例を示す。符号501で示す評価関数Eが含む関数E1は、形状削除による初期メッシュモデルの形状（初期形状）からのずれを表す関数である。また、関数E2は、隙間埋めによる二つの部品の形状の間の距離を表す関数である。つまり、関数E1とE2の和が二つの部品の形状の間の接触部における初期形状からのずれを評価するための評価関数Eになる。
【００２５】
●関数E1
関数E1は、一つのポリゴンを含む平面からある点への距離の自乗和(QEM: quadric error metrics)を最小化するための計算式である。図6により関数E1を説明する。図6に示すように、一つのポリゴンを含む平面は、平面の法線ベクトルnを使って代数的に次式で表すことができる。
nTx + d = 0      …(1)
【００２６】
従って、図6に示す点Vと面fの距離Dは次式で表される。
D = |nTv + d|      …(2)
【００２７】
そして、面fが要素としてもつ頂点v（f∋v）の、周囲の面に対する距離Dの自乗の総和を当該頂点vのQEMとして定義すると、下式のように、関数E1を二次形式で表すことができる。
E1 = Σarea(f)|nfTv+ df|2
= vTAv+ 2bTv + c      …(3)
ここで、Aは3×3の対称行列、
bは列ベクトル、
cはスカラー、
area(f)は面fの面積。
【００２８】
●関数E2
図7により関数E2を説明する。関数E2は、ある部品の形状701のポリゴンの頂点vと、頂点vに近接する、他の部品の形状702の面（以下、近接ポリゴン）の間の距離であり、下式のように、二次形式で表すことができる。
E2 = Σd2(v, Pmin)
= vTA'v + 2b'Tv + c'      …(4)
ここで、Pminは、頂点vに一番近い部品形状702の面（近接ポリゴン）。
【００２９】
従って、CPU102は、下に示す評価関数Eを最小化するように後述するマージ頂点を算出する。
E = αE1 + βE2
= α(vTAv + 2bTv + c) + β(vTA'v + 2b'Tv + c')      …(5)
ここで、αは係数入力部502に設定された値、
βは係数入力部503に設定された値。
【００３０】
ユーザは、係数入力部502に形状削除による初期形状からのずれを評価する関数E1の係数α（0≦α≦1）を入力し、係数入力部503に隙間埋めによる部品形状の間の距離を評価する関数E2の係数β（0≦β≦1）を入力する。
【００３１】
なお、α=1、β=0が設定されると、形状削除に関する評価のみが行われ、隙間埋めに関する評価は行われない。逆に、α=0、β=1を設定すると、隙間埋めに関する評価のみ行われ、形状削除に関する評価は行われない。ユーザは、OKボタン505を押して係数を決定し、キャンセルボタン506を押して係数の設定を取り消す。
【００３２】
●近接関係テーブルの作成
ステップS204までの設定が終了すると、CPU102は、初期メッシュモデルについて、ある部品の形状の頂点と、その近接ポリゴンを検出し、検出結果を示す近接関係テーブルとして記憶装置103の所定領域に保存する(S205)。検出されるペアは、ある部品の形状の頂点と、当該頂点に対してステップS202で設定された隙間埋めの閾値以内にある、他の部品の形状の近接ポリゴンである。以下では、検出された近接ポリゴンに対応する頂点を「近接頂点」と呼ぶ。図8により近接頂点と近接ポリゴンの対応関係を示す近接関係テーブルの一例を示す。
【００３３】
図9により近接頂点と近接ポリゴンの関係を確認するためのUIの画面例を示す。ユーザは、表示画面903において近接ポリゴンを表示したい頂点905を選択し、近接関係表示ダイアログの「近接ポリゴン表示」ボタン901を押すと、表示画面904に示すように、頂点905と近接ポリゴン906のペアがハイライト表示される。また、近接関係表示ダイアログの「近接ポリゴン非表示」ボタン902を押すと、近接頂点と近接ポリゴンのペアのハイライト表示が解除される。
【００３４】
●ずれ量テーブルの作成
次に、CPU102は、初期メッシュモデルに最大実行回数のエッジコラプスを施す(S206)。なお、最大実行回数は、初期メッシュモデルの全頂点数の所定割合に相当する所定回数である。つまり、所定割合を例えば20%にすると、エッジコラプスにより、初期メッシュモデルの全頂点の20%を削減した簡略化メッシュモデルが作成される。
【００３５】
次に、CPU102は、初期メッシュモデルの全頂点について、エッジコラプスにより簡略化した簡略化メッシュモデルとの形状のずれを表す関数E1を計算する(S207)。そして、関数E1が示す評価値が小さい順に頂点と評価値のペアを並べたずれ量テーブルを記憶装置103の所定領域に保存する(S208)。
【００３６】
図10によりずれ量テーブルの一例を示す。詳細は後述するが、CPU102は、ずれ量テーブルに保存された頂点を上位から順（評価値が小さい順）に取得し、取得した頂点が近接関係テーブルに保存された近接頂点の場合はエッジコラプスを実行する。
【００３７】
●エッジコラプス
図11によりエッジコラプスを説明する。エッジコラプスは、あるエッジeと、エッジeの両端の頂点v1、v2が隣接する領域において、エッジeを消去して二つの頂点v1、v2を結合した新たな頂点（マージ頂点）v'を作成する。マージ頂点v'は、評価関数E=αE1+βE2を最小化するように算出される。エッジコラプスは、マージ頂点を作成する操作を連続的に実行して簡略化処理を行う。ただし、例えば簡略化レベルが「高」の場合、エッジコラプスの実行回数がエッジコラプスの最大実行回数の例えば10%に達した時点で、エッジコラプスの実行が終了する。
【００３８】
エッジコラプスにおいて、CPU102は、カウンタiをi=0に初期化し(S209)、ずれ量テーブルの上位から順に頂点を取得する(S210)。そして、近接関係テーブルを参照して、取得した頂点が近接端点か否かの判定(S211)、取得した頂点を一端とする初期メッシュモデルのエッジの他端の頂点が近接頂点か否かの判定(S212)を行う。
【００３９】
取得した頂点または他端の頂点の何れかが近接頂点の場合、CPU102は、カウンタiをインクリメントする(S213)。そして、初期メッシュモデルの、それら二頂点を結合したマージ頂点を近接頂点とし、結合前の近接頂点に対応する近接ポリゴンをマージ頂点に対応付ける(S214)。なお、何れの頂点も近接頂点ではない場合はマージ頂点の作成および対応付けの修正を含む近接関係テーブルの更新は行わない。
【００４０】
次に、CPU102は、カウンタiの計数値によりエッジコラプスの実行が予め設定された実行回数（以下、設定回数N、例えば最大実行回数の10%）に達したか否かを判定する(S215)。そして、設定回数未満（i＜N）であれば処理をステップS210に戻してエッジコラプスを繰り返し、設定回数に達する（i=N）と形状簡略化処理を終了する。
【００４１】
図12により形状簡略化処理の実行結果を示すUIである画面例を示す。表示画面1201は隙間埋め処理により二つの部品の形状の間の接触部が埋められた状態を示す。この状態で隙間埋め実施箇所表示ダイアログの「隙間表示」ボタン1203を押すと、表示画面1202に示すように、エッジコラプスの実行前は隙間があった部分（エッジ）1205がハイライト表示される。また、「隙間非表示」ボタン1204を押すと、エッジコラプスの実行前に隙間があった部分のハイライト表示が解除される。
【００４２】
ユーザは、形状簡略化処理の実行結果を示すUIを参照して、作成された解析モデルが満足できるものであれば、当該解析モデルを用いて熱流体解析などの段階に進む。また、作成された解析モデルに満足できない場合は、隙間埋め閾値、簡略化レベル、評価関数の係数などを修正して、再び形状簡略化処理を実行する。
【００４３】
このように、最大実行回数のエッジコラプスを実行した場合の各頂点の初期形状からのずれを示すずれ量テーブルと近接関係テーブルを参照して、エッジコラプスを予め設定された実行回数繰り返す。従って、初期形状からのずれが小さい近接頂点（接触部の頂点）からエッジコラプスを実行して形状簡略化処理を行うことになる。言い換えれば、接触部における近接頂点を、エッジコラプスによる移動距離が短いものから順に移動して隙間埋めを実行することになり、三次元モデルから精度の高い、熱流体解析用の解析モデルを効率的に作成することができる。
【００４４】
［変形例］
上記では、エッジコラプスを最初に実行する例を説明したが、必ずしも行わなくともよい。つまり、ずれ量を算出してテーブルを作成した後、エッジコラプスを実行してもよい。この場合、エッジコラプスを最初に行う回数を0回として処理を行う。
【００４５】
また、図11の変形例を図13とし、図14、図15のようにずれ量テーブルを定めてもよい。図14、図15のずれ量テーブルは、上述した例における頂点の代わりにエッジを対象とする近接点を用いる。なお、この場合、上述した評価関数EにおけるE2に近接関係の情報が含まれるため、エッジコラプスの実行前に近接頂点か否かの判定が不要になる。
【００４６】
図14は図13の左側の状態を表し、図15はe1のエッジコラプスが行われた後である、図13の右側の状態を表す。すなわち、図14から図15のようにテーブルが更新される。具体的には、図15では、e1およびe5が消去され、Eの値が更新され、Eの値が更新されることにより、順番も更新される。さらに、図示しないが、e1のエッジコラプスの後に、e2のエッジコラプスというように処理の継続に従ってテーブルも更新される。
【００４７】
図16は、上記処理の模式図であり、図16(a)の枠1601で囲ったエッジは近接頂点ではないため、E2=0になり、Eの値が小さいことで先にエッジコラプスが実行される。続いて、図16(b)の枠1602で囲った、近接頂点を含むエッジがエッジコラプスされる（図16(c)から図16(e)）。
【００４８】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ（又はCPUやMPU等）がプログラムを読み出して実行する処理である。
【図１】
2014032473.tif 000003
【図２Ａ】
2014032473.tif 000004
【図２Ｂ】
2014032473.tif 000005
【図３】
2014032473.tif 000006
【図５】
2014032473.tif 000007
【図６】
2014032473.tif 000008
【図８】
2014032473.tif 000009
【図１０】
2014032473.tif 000010
【図１１】
2014032473.tif 000011
【図１３】
2014032473.tif 000012
【図１４】
2014032473.tif 000013
【図１５】
2014032473.tif 000014
【図１６】
2014032473.tif 000015
【図４】
2014032473.tif 000016
【図７】
2014032473.tif 000017
【図９】
2014032473.tif 000018
【図１２】
2014032473.tif 000019