(57)【特許請求の範囲】
【請求項１】
物体の表面形状を表現する表面格子をコンピュータが生成する物体の表面格子生成方法であって、
上記物体の表面形状データを読み込み、読み込んだ表面形状データを指定された直交格子のサイズ以下の複数の三角形要素に細分化するステップと、
上記複数の三角形要素のそれぞれを代表する点群を上記物体の表面形状に沿って配置するステップと、
上記点群の中の各点が上記直交格子の内側にあるか否かを判定するステップと、
上記点群の中の点が内側にあると判定された直交格子を上記物体の表面格子と定義するステップと、
上記表面格子の位置を、物体の厚さに近い格子数に基づいて調整するステップと
を有することを特徴とする物体の表面格子生成方法。
【請求項２】
上記複数の三角形要素に細分化するステップは、三角形の中線のうちの最も短い中線で２分割することを繰返して上記表面形状データを上記直交格子のサイズ以下の複数の三角形要素に細分化することを特徴とする請求項１記載の物体の表面格子生成方法。
【請求項３】
上記複数の三角形要素に細分化するステップは、三角形の各辺の中点を結んで得られる４つの相似形の三角形に分割することを繰返して上記表面形状データを上記直交格子のサイズ以下の複数の三角形要素に細分化することを特徴とする請求項１記載の物体の表面格子生成方法。
【請求項４】
上記直交格子に含まれる点の数から上記物体の表面積を算出し、この表面積を格子情報として付加するステップを更に有することを特徴とする請求項３記載の物体の表面格子生成方法。
【請求項５】
上記表面格子の位置を調整するステップは、物体の厚さを上記直交格子のサイズで除算し、この除算値に最も近い整数値を上記物体の厚さに近い格子数として求め、上記整数値が物体を含む直交格子の厚さになるように表面格子の位置をオフセットさせることを特徴とする請求項１，２，３，４のいずれか一に記載の物体の表面格子生成方法。
【請求項６】
上記表面格子に、物体の物理的特性情報を付加するステップを更に有することを特徴とする請求項１，２，３，４，５のいずれか一に記載の物体の表面格子生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＡＤ、ＦＥＭ、計測データ等の多様な形状データから表面格子を生成する物体の表面格子生成方法に関する。
【０００２】
【従来の技術】
従来、ＣＡＥ等の数値シミュレーションにおける物体形状の認識技術として、物体の表面形状を三次元の直交格子で定義する技術がある。この技術では、例えば特開平１１−２５２９３号公報等に開示されているように、形状データの直交格子に対する内外判定を行って表面格子を生成するのが一般的である。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の技術では、予め内外判定の計算に必要なデータ形式で物体の形状データを作成する必要があり、データ作成作業に多大な労力を要するばかりでなく、入力データ形式を特定しなければならないことから、ＣＡＤ、ＦＥＭ、計測データ等の多様な形状データを共有することが困難であった。更には、内外判定に複雑な計算を要するため、精度を確保するためには高価なシステムが必要となる。
【０００４】
本発明は上記事情に鑑みてなされたもので、ＣＡＤ、ＦＥＭ、計測データ等の多様な形状データから複雑な内外判定を行うことなく容易且つ精度良く表面格子を生成することのできる物体の表面格子生成方法を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明は、物体の表面形状を表現する表面格子をコンピュータが生成する物体の表面格子生成方法であって、上記物体の表面形状データを読み込み、読み込んだ表面形状データを指定された直交格子のサイズ以下の複数の三角形要素に細分化するステップと、上記複数の三角形要素のそれぞれを代表する点群を上記物体の表面形状に沿って配置するステップと、上記点群の中の各点が上記直交格子の内側にあるか否かを判定するステップと、上記点群の中の点が内側にあると判定された直交格子を上記物体の表面格子と定義するステップと、上記表面格子の位置を、物体の厚さに近い格子数に基づいて調整するステップとを有することを特徴とする。
【０００６】
請求項２記載の発明は、請求項１記載の発明において、上記複数の三角形要素に細分化するステップは、三角形の中線のうちの最も短い中線で２分割することを繰返して上記表面形状データを上記直交格子のサイズ以下の複数の三角形要素に細分化することを特徴とする。
【０００７】
請求項３記載の発明は、請求項１記載の発明において、上記複数の三角形要素に細分化するステップは、三角形の各辺の中点を結んで得られる４つの相似形の三角形に分割することを繰返して上記表面形状データを上記直交格子のサイズ以下の複数の三角形要素に細分化することを特徴とする。
【０００８】
請求項４記載の発明は、請求項３記載の発明において、上記直交格子に含まれる点の数から上記物体の表面積を算出し、この表面積を格子情報として付加するステップを更に有することを特徴とする。
【０００９】
請求項５記載の発明は、請求項１，２，３，４のいずれか一に記載の発明において、上記表面格子の位置を調整するステップは、物体の厚さを上記直交格子のサイズで除算し、この除算値に最も近い整数値を上記物体の厚さに近い格子数として求め、上記整数値が物体を含む直交格子の厚さになるように表面格子の位置をオフセットさせることを特徴とする。
【００１０】
請求項６記載の発明は、請求項１，２，３，４，５のいずれか一に記載の発明において、上記表面格子に、物体の物理的特性情報を付加するステップを更に有することを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図５は本発明の実施の第１形態に係わり、図１は表面格子生成システムの構成図、図２は表面格子生成処理のフローチャート、図３は多角形の面データの三角形要素への分割を示す説明図、図４は三角形要素の細分化処理の説明図、図５は三角形要素の他の細分化処理の説明図である。
【００１２】
図１において、符号１は、直交格子から物体の形状を定義する表面格子データを生成する表面格子生成システムの概略構成を示すものであり、システム全体を制御すると共に表面格子データ生成のための各種処理を実行するＣＰＵ２、処理途中の一時データ等を格納するメモリ３、磁気ディスク装置等の主記憶装置４を備えるワークステーション本体５を中心として構成される。
【００１３】
ワークステーション本体５には、画像を表示するためのディスプレイ６、数値・文字や各種処理の操作情報を入力するためのキーボード７、ディスプレイ６上に表示された画像の位置等を指示するためのポインティング装置としてのマウス８、処理すべき形状データ等を記憶した外部記憶装置９、生成した格子データを格納するための外部記憶装置１０等が接続されている。
【００１４】
この表面格子生成システム１で解析可能な形状データは、ＣＡＤデータ、ＦＥＭモデルデータ、実測形状データ等であり、物体の表面形状に沿って発生させた点群データを、直交格子の内外判定に利用し、点群データの中の点が直交格子の内部に含まれれば物体表面、含まれなければ空間と判断することで、直交格子における物体の表面情報を定義する。
【００１５】
詳細には、物体の表面形状データを、直交格子のサイズ以下となるまで三角形要素で細分化し、各三角形要素を代表する点を物体形状を定義するための点群データとして配置する。そして、点群における各点が直交格子の内側にあるか外側にあるかをチェックし、点が直交格子の内側にあれば、その点を含む直交格子を物体の表面格子として定義する。
【００１６】
以下、表面格子データの生成処理について、図２のフローチャートを用いて説明する。
【００１７】
この処理では、先ず、ステップＳ１で、外部記憶装置９から物体の形状データを入力データとして読込み、ステップＳ２で物体の形状データを複数個の任意の三角形要素に分割する。具体的には、物体の形状データが多角形、例えば、図３に示すように五角形である場合、この五角形で表される物体の形状データを３つの三角形に分割する。すなわち、処理すべきデータを一種類とし、しかも幾何学的に最小単位の三角形とすることで、以下に述べる三角形の細分化や点群データの配置を容易とする。尚、物体の形状データが既に三角形要素で定義されている場合には、このステップＳ２の処理は必要ない。
【００１８】
次に、ステップＳ３へ進むと、直交格子のサイズ（格子幅）と直交格子全体の領域を指定し、ステップＳ４で、三角形の大きさが直交格子の幅以下か否かを調べる。ここで、三角形の大きさは、三角形の最も長い辺、中線の長さ、外接円の直径等で代表するものである。そして、三角形の大きさが直交格子の幅以下の場合には、ステップＳ４からステップＳ７へジャンプし、三角形の大きさが直交格子の幅以下でない場合、ステップＳ４からステップＳ５へ進む。
【００１９】
ステップＳ５では、物体表面の三角形要素を更に分割して細分化し、ステップＳ６で、再度、三角形の大きさが直交格子の幅以下か否かを調べる。そして、三角形の大きさが直交格子の幅以下でないときには、ステップＳ５へ戻り、三角形の細分化を進める。
【００２０】
この三角形の細分化処理は、例えば、以下の（１），（２）で説明するように、三角形を最短の中線で分割する手法、或いは３辺の中点で分割する手法を用いる。
【００２１】
（１）最短の中線で分割
図４に示すように、一つの三角形を、その最短の中線で２つの三角形に分割し、分割した２つの三角形の各々を最短の中線で更に分割するといった処理を、物体表面の全ての三角形要素の大きさが直交格子の幅以下となるまで繰返す。この手法では、元の三角形が扁平率の大きい三角形、すなわち歪んだ三角形であっても、より扁平率の小さい、均等に近い三角形に分割することができる。従って、分割回数を少なくすることが可能であり、処理効率を向上することができる。
【００２２】
（２）３辺の中点で分割
図５に示すように、一つの三角形を、その３辺の中点を結んでできる相似形の新たな三角形ａ，ｂ，ｃ，ｄで４つに分割し、分割した４つの三角形ａ，ｂ，ｃ，ｄの各々を、３辺の中点を結んでできる相似の三角形で更に４つに分割するといった処理を、物体表面の全ての三角形要素の大きさが直交格子の幅以下となるまで繰返す。この手法では、三角形が相似形に分割され、分割した三角形の面積が分割前の三角形の面積の１／分割数となるため、直交格子に含まれる三角形の数（点データの数）から物体の表面積を近似的に算出することができ、物体の表面積を格子情報として与えることができる。
【００２３】
次に、以上により、細分化した三角形の大きさが直交格子の幅以下になったとき、ステップＳ５からステップＳ７へ進み、分割された各三角形を代表する点を、物体形状を定義するための点群データとして配置する。各三角形を代表する点群は、各三角形の重心、頂点、内接円又は外接円の中心等である。
【００２４】
続くステップＳ８では、配置された各点のデータが直交格子の内側にあるか外側にあるかの判定を行う。その結果、点データが直交格子の外側であれば、ステップＳ１１へジャンプし、点データが直交格子の内側にあれば、ステップＳ９で、その点を含む直交格子を物体の表面格子として定義する。そして、ステップＳ１０へ進み、必要に応じて物体の材質、板厚、重量等の格子情報を表面格子に付け加え、ステップＳ１１で、全部の点データについて上述の判定処理を実施したか否かを調べる。
【００２５】
その結果、全部の点データについての判定処理が終了していない場合には、前述のステップＳ８に戻り、全部の点データについての判定処理が終了した場合、ステップＳ１２へ進む。ステップＳ１２では、全部の三角形要素について上述の処理を実施したか否かを調べる。そして、未だ全部の三角形要素について処理を終了していない場合には、ステップＳ７へ戻り、全部の三角形要素について処理を終了した場合、ステップＳ１２から抜けて処理を終了する。
【００２６】
以上の処理により、物体表面形状を三角形要素で細分化して格子幅以下の点群データを発生させ、各点の直交格子に対する位置関係を調べて物体形状を定義する表面格子を生成するため、従来のような線或いは面による複雑な内外判定の計算を行うことなく、簡単且つ精度高く物体を定義することができる。
【００２７】
しかも、物体がどんな形状であっても、表面形状に沿った点群を発生させることは可能であるため、入力データ形式を選ぶことなく、多様なデータを共有することとができる。また、表面格子に物体の物理的特性を付加することで、各種解析計算やポスト処理を行う際の条件として用いることができる。
【００２８】
図６は本発明の実施の第２形態に係わり、表面格子生成処理のフローチャートである。
【００２９】
第２形態は、三次元スキャナ等により物体表面の形状データを点群データとして取得し、この点群データを入力データとして処理して表面格子データを生成するものである。
【００３０】
以下、第２形態における表面格子生成処理について、図６のフローチャートを用いて説明する。この処理では、ステップＳ２０において、図示しないスキャナ等で生成された物体表面の点群データを読込み、ステップＳ２１で、直交格子のサイズ（格子幅）と直交格子全体の領域を指定する。次いで、ステップＳ２２へ進み、読込んだ点群データの中で最も近い２点間の距離が直交格子の幅以下か否かを調べる。
【００３１】
そして、２点間の距離が直交格子の幅以下の場合には、ステップＳ２２からステップＳ２５へジャンプし、２点間の距離が直交格子よりも大きい場合、ステップＳ２２からステップＳ２３へ進んで２点の間に新たな点を補間し、ステップＳ２４で、再度、補間した新たな点と元の２点のうちの近い方の点との間の距離が直交格子の幅以下か否かを調べる。その結果、２点間の距離が直交格子よりも大きい場合には、ステップＳ２２へ戻って２点間の補間を繰返し、２点間の距離が直交格子以下になったとき、ステップＳ２５へ進んで各点のデータが直交格子の内側にあるか外側にあるかの判定を行う。
【００３２】
その結果、点データが直交格子の外側であれば、ステップＳ２５からステップＳ２８へジャンプし、点データが直交格子の内側にあれば、ステップＳ２５からステップＳ２６へ進んで、その点を含む直交格子を物体の表面格子として定義する。次いで、ステップＳ２７へ進み、必要に応じて物体の材質、板厚、重量等の物理的特性情報を表面格子に付加し、ステップＳ２８で、全部の点データについて上述の判定処理を実施したか否かを調べる。そして、全部の点データについての判定処理が終了していない場合には、前述のステップＳ２５に戻り、全部の点データについての判定処理が終了した場合、ステップＳ２８から抜けて処理を終了する。
【００３３】
第２形態では、従来のような面データが無くとも、点だけのデータから格子生成ができるため、入力データを選ばないという利点に加え、補間する点の数により形状表現精度を制御することができることから、より適応範囲の広い柔軟なシステムを実現することができる。
【００３４】
図７及び図８は本発明の実施の第３形態に係わり、図７は表面格子生成処理の部分フローチャート、図８は板厚を考慮した格子位置の調整を示す説明図である。
【００３５】
第３形態は、前述の第１形態に対し、物体形状の厚さが重要となる場合に対処するものである。すなわち、厚さのある物体に対し、その表面データから格子データを生成すると、直交格子と物体表面との位置関係によっては、物体の実寸法の厚さを近似した格子数に比べて大きくなってしまうことがある。このような場合、表面格子の位置よりも、厚さ方向の格子数を優先させ、実寸法を近似した格子数で表面格子の位置を調整する。
【００３６】
このため、第３形態の表面格子生成処理では、第１形態の表面格子生成処理（図２参照）において格子情報を付加するステップＳ１０の後に、物体の厚さに応じた補正を加えるためのステップ（Ｓ１０−１）を追加する。
【００３７】
すなわち、図７のフローチャートに示すように、第１形態と同様のステップＳ１〜Ｓ６を経てステップＳ７で点群データを配置した後、ステップＳ８で、配置された各点のデータが直交格子の内側にあるか外側にあるかの判定を行い、点データが直交格子の外側であれば、ステップＳ１１へジャンプし、点データが直交格子の内側にあれば、ステップＳ９で、その点を含む直交格子を物体の表面格子として定義する。そして、ステップＳ１０で、物体の材質、板厚、重量等の付加情報を表面格子に付け加えた後、ステップＳ１０−１へ進み、厚さ方向の実寸法を近似した格子数で表面格子の位置を補正し、第１形態と同様のステップＳ１１，Ｓ１２を経て処理を終了する。
【００３８】
例えば、図８（ａ）に示すように、物体の厚さｄが格子のサイズδより厚い場合（ｄ＞δ）、物体の表面データから直交格子を生成すると、図８（ｂ）に示すように、厚さＤ１の物体の直交格子が生成される。従って、物体の実寸厚さｄを格子サイズδで除算した値に最も近い整数値Ｄ２と、物体の直交格子の厚さＤ１とを比較し、Ｄ１＝Ｄ２のとき、先に生成した表面格子の位置はそのままとし、Ｄ１＞Ｄ２のときには、物体表面と直交格子の位置関係を調べて表面格子の位置を調整する。
【００３９】
この格子位置の調整は、図８（ｃ）に示すように、厚さＤ１の表面格子の両端における物体との位置の差Δｄ１，Δｄ２を比較することで行い、Δｄ１＞Δｄ２のとき、Δｄ１側の表面格子をΔｄ２側に１格子分だけオフセットさせ、図８（ｄ）に示すように、Ｄ１＝Ｄ２となるように調整する。
【００４０】
第３形態では、物体の厚さの実寸法に最も近い格子数で物体を定義するため、厚さが重要な要素となる部品について、表面形状データから厚さを考慮した格子生成が可能となり、より精度高く物体を定義することができる。
【００４１】
【発明の効果】
以上説明したように本発明によれば、物体表面形状を直交格子のサイズ以下まで三角形要素で細分化して点群データを発生させ、各点の直交格子に対する位置関係を調べて物体形状を定義する表面格子を生成するので、複雑な内外判定を行うことなく、多様な形状データから容易且つ精度良く表面格子を生成することができる。
【図面の簡単な説明】
【図１】本発明の実施の第１形態に係わり、表面格子生成システムの構成図
【図２】同上、表面格子生成処理のフローチャート
【図３】同上、多角形の面データの三角形要素への分割を示す説明図
【図４】同上、三角形要素の細分化処理の説明図
【図５】同上、三角形要素の他の細分化処理の説明図
【図６】本発明の実施の第２形態に係わり、表面格子生成処理のフローチャート
【図７】本発明の実施の第３形態に係わり、表面格子生成処理の部分フローチャート
【図８】同上、板厚を考慮した格子位置の調整を示す説明図
【符号の説明】
１  表面格子生成システム
５  ワークステーション本体
９，１０  外部記憶装置
ｄ  物体の厚さ
δ  格子サイズ
【図１】
0004703907.tif 000002
【図２】
0004703907.tif 000003
【図３】
0004703907.tif 000004
【図４】
0004703907.tif 000005
【図５】
0004703907.tif 000006
【図６】
0004703907.tif 000007
【図７】
0004703907.tif 000008
【図８】
0004703907.tif 000009