JP2008059235A - 立体形状データ変換方法、それを記述したコンピュータプログラムおよび立体形状データ変換装置 - Google Patents
立体形状データ変換方法、それを記述したコンピュータプログラムおよび立体形状データ変換装置 Download PDFInfo
- Publication number
- JP2008059235A JP2008059235A JP2006234840A JP2006234840A JP2008059235A JP 2008059235 A JP2008059235 A JP 2008059235A JP 2006234840 A JP2006234840 A JP 2006234840A JP 2006234840 A JP2006234840 A JP 2006234840A JP 2008059235 A JP2008059235 A JP 2008059235A
- Authority
- JP
- Japan
- Prior art keywords
- data
- fillet surface
- intersection line
- fillet
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】フィレット面を含むビットマップデータや点群データを容易に利便性の高いB−repsデータに変換する。
【解決手段】ビットマップデータや点群データをB−repsデータに変換するデータ変換方法において、フィレット面を作成するために該フィレット面に接続する2つの曲面を指定し、その後、B−repsデータへの変換する。フィレット面に接続する2つのグループを指定し、そのグループ間の第1交線上でフィレット面の開始点と終了点を指定し、開始点と終了点の間で第1交線に垂直な垂直平面を複数定義し、垂直平面夫々表面形状との断面形状を求め、垂直平面夫々2つのグループとの第2交線を求め、断面形状夫々フィレット面に属する点群を検索し、第1交線上に沿ったフィレット面の半径分布を求め、2つのグループと半径分布からフィレット面を生成する。
【選択図】図1
【解決手段】ビットマップデータや点群データをB−repsデータに変換するデータ変換方法において、フィレット面を作成するために該フィレット面に接続する2つの曲面を指定し、その後、B−repsデータへの変換する。フィレット面に接続する2つのグループを指定し、そのグループ間の第1交線上でフィレット面の開始点と終了点を指定し、開始点と終了点の間で第1交線に垂直な垂直平面を複数定義し、垂直平面夫々表面形状との断面形状を求め、垂直平面夫々2つのグループとの第2交線を求め、断面形状夫々フィレット面に属する点群を検索し、第1交線上に沿ったフィレット面の半径分布を求め、2つのグループと半径分布からフィレット面を生成する。
【選択図】図1
Description
本発明は、対象物の表面形状を表す表面形状モデルの作成技術に関し、特に表面形状モデルを記述しているポリゴンデータを操作性や利用性の高いB−repsデータに変換する立体形状データ変換技術に関する。
ビットマップデータや点群データをB−repsデータに変換する方法としては、ビットマップデータや点群データが表している立体形状の表面から幾何学的な特徴面(平面や円筒面などといった幾何学的に定義された面)を抽出した後、残りの表面上に自由曲面を作成する方法がある(特許文献1)。ビットマップデータからポリゴンデータを作成する手法としては、特許文献2に、点群データからポリゴンデータを作成する手法としては非特許文献1に記載され、フィレット面生成方法としては、特許文献1、特許文献3、特許文献4等がある。
しかし、機械部品のようにフィレット面が多く含まれているビットマップデータや点群データをB−repsデータに変換する場合に課題を残している。変換後のB−repsデータの利便性、サイズ、フィレット面の形状を変更、高精度なフィレット面生成、変換時間等の問題もある。フィレット面を含むビットマップデータや点群データのB−repsデータへの変換について、フィレット面が定義されている領域に対して、簡単な操作で、高精度にフィレット面を作成し、利便性の高いB−repsデータに変換することができるようにすることが望まれる。
本発明の目的は、フィレット面を含むビットマップデータや点群データを容易に利便性の高いB−repsデータに変換することにある。
ビットマップデータや点群データをB−repsデータに変換するデータ変換方法において、フィレット面を作成するために該フィレット面に接続する2つの曲面を指定し、その後、B−repsデータへの変換する。
本発明によると、フィレット面を含むビットマップデータや点群データを容易に利便性の高いB−repsデータに変換することができる。
以下、本発明を実施するための形態について説明する。本実施の形態では、ビットマップデータや点群データをB−repsデータに変換するデータ変換方法において、フィレット面を作成するために該フィレット面に接続する2つの曲面を指定し、その後、B−repsデータへの変換する。そして、フィレット面を含むビットマップデータや点群データを容易に利便性の高いB−repsデータに変換する。
まず、ビットマップデータや点群データをB−repsデータに変換する技術につき説明する。対象物の立体形状を計測してその表面形状を記述するデータ(表面形状モデル)を生成するには、X線CT装置、表面計測プローブ、レーザ計測機、CCDカメラなどの3次元計測装置(3次元ディジタイザ)が用いられる。これらの3次元計測装置のなかで、X線CT装置は局所的なセルの集合であるビットマップデータを出力し、それ以外の装置は局所的な点の集合である点群データを出力する。これらビットマップデータや点群データは、表面形状についての局所的な情報を持つだけで大域的な情報(位相幾何学的な情報)を持っていない。一方、表面形状を記述するデータ形式として、一般の3次元CADにおけるデータ形式がある。このCADにおけるデータ形式は、「B−reps」(Boundary−representations:境界表現)と呼ばれ、大域的な情報を持っており、操作性や利用性においてビットマップデータや点群データよりも優れている。こうしたことから、3次元計測装置による計測で得られたビットマップデータや点群データをB−repsデータに変換して操作性や利用性を高める。
ビットマップデータや点群データをB−repsデータに変換する方法としては、ビットマップデータや点群データが表している立体形状の表面から幾何学的な特徴面(平面や円筒面などといった幾何学的に定義された面)を抽出した後、残りの表面上に自由曲面を作成する方法がある。この方法で例えばビットマップデータの表面形状モデルをB−repsデータによる表面形状モデルに変換するには、表示装置の画面上にビットマップデータの表面形状モデルを表示し、これを利用者が見ながら対話的に操作を行ってB−repsデータを作成する。
ここで、画面上にビットマップデータなどによる表面形状モデルを表示する際には「ポリゴンデータ」と呼ばれるデータ形式を用いるのが一般的である。したがってビットマップデータや点群データのB−repsデータへの変換は、ポリゴンデータのB−repsデータへの変換としてなされるのが通常である。ポリゴンデータは、表面形状モデルを記述する代表的なデータ形式であり、微小な3角形面の集合として構成される。
ところで、機械部品においては、応力集中をさけるために、表面形状のエッジ部分に対して丸みをつける処理が施されることが多い。B−repsデータに対して、上述の丸み付け処理が施された部位は「フィレット面」と呼ばれる面として定義される。図17、図18にこのようなフィレット面の代表的な例を示す。図17に示すように、エッジに接続する2つの曲面に対して、一定の半径で丸み付け処理を行うと、図中のハッチングで示したフィレット面が定義される。このようにして定義されるフィレット面は「径一定フィレット面」と呼ばれる。また、図18に示すように、エッジに接続する2つの曲面に対して、エッジに沿った半径分布を指定して丸み付け処理を行うと、図中のハッチングで示したフィレット面が定義される。ここで、エッジに沿った半径分布は、エッジに沿って定義される座標軸tの関数として定義されるのが普通である。このようにして定義されるフィレット面は「可変フィレット面」と呼ばれる。
機械部品には、上述のフィレット面が含まれていることが多いため、ビットマップデータや点群データからフィレット面を生成して、B−repsデータに変換したいというニーズが強くある。
ビットマップデータや点群データからフィレット面を生成して、B−repsデータに変換する方法としては、次の2つの方法があげられる。
第1の方法では、ビットマップデータや点群データが表している立体形状の表面上で、フィレット面が定義されている領域に自由曲面をフィッティングさせる。この方法では、フィレット面は自由曲面として定義される。ひとつのフィレット面は複数の自由曲面の集まりとして定義される。
第2の方法では、ビットマップデータや点群データが表している立体形状の表面上で、利用者が、フィレット面の境界線、あるいはフィレットの境界線を定義するためのパラメータ値と補助線のいずれかを指定することでフィレット面を生成する。
上述した幾何学的な特徴面に着目してビットマップデータや点群データをB−repsデータに変換する手法は有効性が高い。但し、第1の方法は、フィレット面を、ビットマップデータや点群データにフィッティングさせた自由曲面として定義しているので、ビットマップデータや点群データに対して高精度にフィレット面を生成することができるが、変換後のB−repsデータの利便性が低くなる。すなわち、フィレット面を定義するために必要な自由曲面の数が増えることにより、B−repsデータのサイズが大きくなったり、また、B−repsデータがフィレット面の半径等といったフィレット面に関する幾何学的特徴量を含まないために、そのデータを3次元CADに読み込んでフィレット面の形状を変更することが難しい。
上記第2の方法は、変換後のB−repsデータは、データサイズが小さく、フィレット面に関する幾何学的特徴量を含んでいるので、利便性は高い。しかしながら、その幾何学的特徴量は、ビットマップデータや点群データをフィッティングさせて定まるものでなく、利用者が間接的にその値を指定することにより定まるものである。利用者が指定する値によっては、ビットマップデータや点群データからかけ離れたフィレット面が生成されることもあり得るので、高精度にフィレット面を生成できない。また、利用者がフィレット面の幾何学的特徴量を間接的に指定する手順は複雑であり、B−repsデータへの変換に要する作業時間が長くなる。フィレット面を含むビットマップデータや点群データのB−repsデータへの変換について、フィレット面が定義されている領域に対して、簡単な操作で、高精度にフィレット面を作成し、利便性の高いB−repsデータに変換することができるようにすることが望まれる。
図1に第1の実施形態による立体形状データ変換装置のシステム構成を示す。本実施形態における立体形状データ変換装置は、入力されたビットマップデータD1あるいは点群データD2あるいはポリゴンデータD3からB−repsデータD5を作成して、これを出力する。そのために、ポリゴン変換手段C1、ポリゴン記憶手段C2、グループ生成手段C3、グループ記憶手段C4、フィレット面生成手段C5、B−reps生成手段C6、入力手段C7、表示手段C8を備えている。
ポリゴン変換手段C1は、ビットマップデータD1あるいは点群データD2をポリゴンデータD3に変換する機能を持つ。ポリゴン変換手段C1によって変換されるポリゴンデータD3は、対象物の表面形状モデルを微小な3角形面(ポリゴン)の集合として記述するデータである。ビットマップデータD1あるいは点群データD2は、上記の従来における変換技術によりポリゴンデータD3に変換されるのが通常である。
ポリゴンデータD3には、各ポリゴンの頂点座標が記述されている。ポリゴンデータD3は、例えば次のようなデータ構成となっている。
ポリゴン1=(頂点1の座標(X1,Y1,Z1),頂点2の座標(X2,Y2,
Z2),頂点3の座標(X3,Y3,Z3))
ポリゴン2=(頂点1の座標(X1,Y1,Z1),頂点2の座標(X2,Y2,
Z2),頂点3の座標(X3,Y3,Z3))
ポリゴンn=(頂点1の座標(X1,Y1,Z1),頂点2の座標(X2,Y2,
Z2),頂点3の座標(X3,Y3,Z3))
ポリゴン記憶手段C2は、メモリやハードディスクで構成され、入力されたデータを記憶し、必要時に出力する機能を持つ。
Z2),頂点3の座標(X3,Y3,Z3))
ポリゴン2=(頂点1の座標(X1,Y1,Z1),頂点2の座標(X2,Y2,
Z2),頂点3の座標(X3,Y3,Z3))
ポリゴンn=(頂点1の座標(X1,Y1,Z1),頂点2の座標(X2,Y2,
Z2),頂点3の座標(X3,Y3,Z3))
ポリゴン記憶手段C2は、メモリやハードディスクで構成され、入力されたデータを記憶し、必要時に出力する機能を持つ。
グループ生成手段C3は、ポリゴンデータD3とグループ生成コマンドD6を受け、グループデータD4を作成してグループ記憶手段C4に送る機能を持つ。グループ生成手段C3が作成するグループデータD4は、「グループ」を記述するデータである。「グループ」とは、ポリゴンデータD3に含まれているポリゴンの集合によって定義される単一の領域のことであり、一つのグループは一つの「幾何形状」と対応している。「幾何形状」とは、平面、円筒面、自由曲面などの幾何学的に定義された曲面のことであり、B−repsデータを構成する要素である。幾何形状を定義するには、平面、円筒面、自由曲面といった形態(形状)の分類を表す「種別情報」と、形態を詳細に規定する「特徴量」が必要である。
グループデータD4には、各グループに含まれるポリゴンの集合、各グループに対応する幾何形状の種別情報、幾何形状の特徴量が記述されている。グループデータD4は、たとえば次のようなデータ構成となっている。
グループaの記述(ポリゴンの集合、種別情報、特徴量)
グループbの記述(ポリゴンの集合、種別情報、特徴量)
グループmの記述(ポリゴンの集合、種別情報、特徴量)
種別情報としては、例えば、平面、球面、円筒面、円錐面、回転面、フィレット面、自由曲面などの幾何形状がある。さらに、特徴量は種別情報に応じて、次のように変わる。
グループbの記述(ポリゴンの集合、種別情報、特徴量)
グループmの記述(ポリゴンの集合、種別情報、特徴量)
種別情報としては、例えば、平面、球面、円筒面、円錐面、回転面、フィレット面、自由曲面などの幾何形状がある。さらに、特徴量は種別情報に応じて、次のように変わる。
(種別情報) (特徴量)
平面 : 基準点,単位法線ベクトル
球面 : 中心点,半径
円筒面 : 中心軸の基準点,中心軸の単位方向ベクトル,半径
円錐面 : 中心軸の基準点,中心軸の単位方向ベクトル、頂点、母線角度
回転面 : 中心軸の基準点,中心軸の単位方向ベクトル、母線
フィレット面 : 接続面、半径分布
自由曲面 : 曲面の次数,制御点,ノット列
グループ生成手段C3は、上で示した形状のうち、フィレット面以外の幾何形状に対応するグループデータを生成する。フィレット面以外の幾何形状に対応するグループデータD4は、上記の従来におけるグループデータ生成技術により生成されるのが通常である。
平面 : 基準点,単位法線ベクトル
球面 : 中心点,半径
円筒面 : 中心軸の基準点,中心軸の単位方向ベクトル,半径
円錐面 : 中心軸の基準点,中心軸の単位方向ベクトル、頂点、母線角度
回転面 : 中心軸の基準点,中心軸の単位方向ベクトル、母線
フィレット面 : 接続面、半径分布
自由曲面 : 曲面の次数,制御点,ノット列
グループ生成手段C3は、上で示した形状のうち、フィレット面以外の幾何形状に対応するグループデータを生成する。フィレット面以外の幾何形状に対応するグループデータD4は、上記の従来におけるグループデータ生成技術により生成されるのが通常である。
ポリゴン記憶手段C4は、メモリやハードディスクで構成され、入力されたデータを記憶し、必要時に出力する機能を持つ。
フィレット面生成手段C5は、グループデータD4とフィレット面生成コマンドD7を受け、グループデータD4を作成してグループ記憶手段C4に送る機能を持つ。フィレット面生成手段C5は、上で示した形状のうち、フィレット面に対応するグループデータを生成する。フィレット面生成手段C5の詳細については後述する。
B−repsデータ生成手段C6は、グループデータD4とB−repsデータ生成コマンドD8を受け、B−repsデータD5を生成して出力する機能を備える。B−repsデータD5は、上記の従来におけるB−repsデータ作成技術により作成されるのが通常である。
入力手段C7は、キーボードやマウスなどで構成され、ビットマップデータD1あるいは点群データD2あるいはポリゴンデータD3からB−repsデータD5を作成して、これを出力するまでの処理に必要なコマンドなどを利用者が入力するのに機能する。すなわち利用者は、この入力手段C2を介して、グループ生成コマンドD6、フィレット面生成コマンドD7、B−repsデータ生成コマンドD8などのコマンドを入力する。
表示手段C8は、ポリゴン記憶手段C2からポリゴンデータD3を、グループ記憶手段C4からグループデータD4を、それぞれ取り出して(入力して)、利用者に視覚的に表示する機能を持つ。
以上が立体形状データ変換装置Cの構成である。次に、立体形状データ変換装置で実行される立体形状データ変換方法の実施形態について説明する。本実施形態の立体形状データ変換方法における処理は、図2にその流れを示すように、ステップP1〜ステップP4の4つの処理過程を含む。
ステップP1(ポリゴンデータ変換過程)では、ポリゴン変換手段C1を用いて、入力されたビットマップデータD1あるいは点群データD2をポリゴンデータD3に変換する。変換されたポリゴンデータD3はポリゴン記憶手段C2を用いてメモリやハードディスク上に記憶される。ここで、ビットマップデータD1あるいは点群データD2からポリゴンデータD3への変換は立体形状データ変換装置C以外でなされることもある。そこで、立体形状データ変換装置CはポリゴンデータD3を直接入力する機能も備えている。すなわち、立体形状データ変換装置CにポリゴンデータD3が入力された場合、ステップP1では、変換処理は省略され、入力されたポリゴンデータD3がポリゴンリゴン記憶手段C2を用いてメモリやハードディスク上に記憶される。
ステップP2(グループデータ作成過程)では、グループ生成手段C3を用いて、ポリゴンデータD3からフィレット面以外の幾何形状に対応するグループデータD4を作成する。グループデータD4の作成は上述の手法で行なわれる。具体的には、表示手段C8の画面上に表示されているポリゴンデータD3つまり表面形状モデルを見ながら利用者が対話的な操作で幾何学的特徴面の抽出などを行ってグループデータD4を作成する。この時点で、ポリゴンデータD3の中で、フィレット面が定義されている領域以外の領域に対して、グループデータD4が作成される。
ステップP3(フィレット面生成過程)では、フィレット面生成手段C5がフィレット面生成処理を行う。フィレット面生成過程における処理の流れを図3に示す。この処理は、ステップP5〜ステップP15の11つの処理過程を含む。
ステップP5(接続グループ指定過程)では、入力手段2を用いて、表示手段C8の画面上に表示されているポリゴンデータD3に対して、図4に示すように、フィレット面に接続する2つのグループ(グループD9、グループD10)を指定する。ここで、図4においては、グループD9、グループD10に含まれるポリゴン群がハッチング表示されている。
接続グループ指定方法の一例を図5に基づいて説明する。図5に示すように、表示手段C8の表示画面の左側に、ステップP2で作成されたグループのリストが2つ表示されており、利用者はそれぞれのリスト上でフィレット面に接続するグループをマウスでクリックする。表示手段C8の表示画面の右側では、選択されたグループに含まれるポリゴン群がハイライト表示される。図3の例では、フィレット面に接続するグループとしてグループbとグループcが選択されている。以上の操作により、フィレット面に接続する2つのグループが決定される。
ステップP6(第1交線計算過程)では、グループD9、グループD10において定義されている幾何形状の間で交線計算を行い、図4に示すように、グループD9とグループD10間の交線である第1交線D11を求める。
ステップP7(フィレット面区間指定過程)では、図4に示すように、第1交線D11上でフィレット面開始点D12とフィレット面終了点D13を指定することにより、第1交線D11のうちフィレット面開始点D12とフィレット面終了点D13を端点とする部分区間(フィレット面区間)を定める。フィレット面開始点D12とフィレット面終了点D13を指定する方法は、表示手段C8の画面上に表示されている第1交線D11上の点を利用者がクリックすることで求める方法(第1のフィレット面区間指定方法)、グループD9とグループD10に含まれるポリゴン群の頂点を第1交線D11上に投影することで求める方法(第2のフィレット面区間指定方法)から選択する。
第1のフィレット面区間指定方法の一例を図6に基づいて説明する。図6に示すように、表示手段C8に第1交線D11が表示されており、利用者は第1交線D11上にマウスカーソルを移動させてクリックすることにより、マウスクリック位置の点をフィレット面開始点D12として指定する。図6の例では、黒丸で記した点が、ユーザーが指定したフィレット面開始点である。フィレット面終了点D13に関しても、同様な方法で指定する。以上の操作により、フィレット面開始点D12とフィレット面終了点D13が決定される。
次に第2のフィレット面区間指定方法を図7に基づいて説明する。図7に示すように、グループD9とグループD10に含まれるポリゴン群の頂点を第1交線D11上に投影した点を求める。図7においては、グループD9とグループD10に含まれるポリゴン群の頂点の一部が白抜きの黒丸で示されており、それらの頂点を第1交線D11上に投影した点が黒丸で示されている。投影した点の中で、第1交線D11上で最も端に位置する2つの点を検索し、それらの点をフィレット面開始点D12とフィレット面終了点D13とする。以上の操作により、フィレット面開始点D12とフィレット面終了点D13が決定される。
ステップP7に続くステップP8(垂直平面定義過程)では、図8に示すように、フィレット面区間内の第1交線D11上の点D14を通り、点D14における第1交線D11の接ベクトルに垂直な垂直平面D15を1つ以上定義する。点D14の指定方法としては、利用者がフィレット面区間の分割数を指定し、指定した分割数でフィレット面区間を等間隔に分割することにより定める方法が一般的である。この方法で点D14を指定した場合、フィレット面開始点D12とフィレット面終了点D13点が必ず点D14に含まれ、点D14の数は全体で(分割数+1)個になる。図8の例では、上で述べた指定方法を用いて、フィレット面区間を3つに等分割して4個の点D14を指定し、それに伴って4つの垂直平面D15を定義している。
ステップP9(断面形状計算過程)では、図9に示すように、垂直平面D15とポリゴンデータD3によって記述される表面形状との間で交線計算を行い、断面形状D16を求める。ポリゴンデータD3を構成する微小3角形面と垂直平面D15の交線形状は常に直線であるので、断面形状D16はこれら直線の集合、すなわち折れ線として定義される。
ステップP10(第2交線計算過程)では、グループD9、グループD10において定義されている幾何形状と垂直平面D15の間で交線計算を行い、グループD9と垂直平面D15間の交線である第2交線D17、およびグループD10と垂直平面D15間の交線である第2交線D18を求める。図9には、このようにして求めた第2交線D17、D18が点線で示されている。
ステップP11(フィレット面所属点群検索過程)では、断面形状D16に対してフィレット面所属点群D19を検索する。ここで、フィレット面所属点群D19とは、折れ線形状として定義される断面形状D16を構成する頂点群のうち、フィレット面近傍に位置する点群のことである。フィレット面所属点群D19を求める方法は、断面形状D16のうちグループD9、グループD10に含まる領域を検索し、これらの領域に挟まれる領域に含まれる点群を検索する方法(第1のフィレット面所属点群検索方法)、第2交線上で、グループD9、グループD10の境界点D23を求め、境界点D23を通る第2交線に垂直な直線と第2交線によって囲まれる領域に含まれる点群を検索する方法(第2のフィレット面所属点群検索方法)から選択する。
第1のフィレット面所属点群検索方法を図10に基づいて説明する。最初に、断面形状D16の中で、グループD9、グループD10に含まる領域を検索する。これは、グループD9、グループD10に含まるポリゴン群が既知であるので、断面形状D16の中で、グループD9、グループD10に含まるポリゴン群と垂直平面D15の間の交線を検索することにより実現可能である。図10においては、上に述べた方法で検索した領域が太線で示されている。断面形状D16aがグループD9に含まれる領域、断面形状D16bがグループD10に含まれる領域である。
次に、断面形状D16の中で、フィレット面に属する領域を検索する。フィレット面はグループD9とグループ10に接続しているので、断面形状D16においても、フィレット面に属する領域は断面形状D16aと断面形状D16bに接続する関係にある。すなわち、フィレット面に属する領域は断面形状D16aと断面形状D16bに挟まれる領域であるので、断面形状D16の中からこのような領域を検索することで実現可能である。図10においては、上に述べた方法で検索した領域(断面形状D16c)が細線で示されている。
最後に、断面形状D16cに含まれる頂点を選択することにより、フィレット面所属点群D19が求まる。図10においては、上に述べた方法で求めたフィレット面所属点群D19が白抜きの黒丸で示されている。以上の操作により、フィレット面所属点群D19が検索される。
次に、第2のフィレット面所属点群検索方法を図11に基づいて説明する。最初に、断面形状D16の中で、グループD9、グループD10に含まる領域を検索する。これは、第1のフィレット面所属点群検索方法と同様な方法で行う。
次に、図12に示すように、グループD9に含まれる領域(断面形状D16a)に対して、断面形状D16aに含まれる点群を第2交線D17上に投影した点を求める。図12においては、断面形状D16aに含まれる点群の一部が白抜きの黒丸で示されており、それらの点群を第2交線D17上に投影した点が黒丸で示されている。投影した点の中で、第2交線D17とD18の交点に最も近い点を検索し、この点をグループD9の境界点D23とする。グループD10に対しても同様な方法でグループD10の境界点D23を求める。
次に、図11に示すように境界点D23を通り、第2交線D17、D18に垂直な直線D24、D25を定義する。
最後に、断面形状D16上の点群のうち、第2交線D17、D18と直線D24、D25によって囲まれる領域に含まれるものを選択することにより、フィレット面所属点群D19が求まる。図11においては、上に述べた方法で求めたフィレット面所属点群D19が白抜きの黒丸で示されている。以上の操作により、フィレット面所属点群D19が検索される。
ステップP11に続くステップP12では、全ての垂直平面D15に対して、断面形状D16、第2交線D17、第2交線D18、フィレット面所属点群D19を求めたか否かを判断し、その判断結果が否定的であれば、ステップP9に戻ってステップP11までを残りの垂直平面D15について繰り返し、その判断結果が肯定的になればステップP13(フレット面半径分布算出過程)に進む。
ステップP13では、第1交線D11に沿ったフレット面の半径分布を算出する。フレット面半径分布算出過程における処理の流れを図13に示す。この処理は、ステップP16〜ステップP18の3つの処理過程を含む。
ステップP16(断面形状位置算出過程)では、第1交線D11に沿った断面形状D16の位置tiを求める。これは、断面形状D16の基準点D14が第1交線D11上の点であるので、基準点D14に対して、フィレット面開始点D12を起点とする第1交線D11の弧長を算出することにより求めることができる。
次にステップP17(フレット面半径算出過程)では、垂直平面D15におけるフレット面の半径を求める。これは、図14に示すように、垂直平面D15において、フィレット面所属点群D19から第2交線D17と第2交線D18に接する円D20を最小二乗法により求めることにより実現される。より具体的には、円D20の半径をri、円D20の中心座標をOi、フィレット面所属点群D19の座標をPijとして、(式1)で定義されるフィレット面所属点群D19と円D20間の距離の2乗和fiを最小化させる半径riを求めることにより、求めた半径riが断面形状D16におけるフィレット面の半径となる。
次にステップP18(フレット面半径分布補間過程)では、図15に示すように、ステップP16とステップP17で求めた各断面形状D16における位置tiと半径riをデータとして持つパラメータD21に対してスプライン補間を行って、第1交線D11に沿ったフィレット面の半径分布を求める。
ここで、第1交線D11に沿ったフィレット面の半径が一定となる、あるいは半径が線形に変化するといった具合に、第1交線D11に沿ったフィレット面の半径分布に対してある拘束をかけたい場合がある。これは、ステップP17において、円D20の半径riに対して拘束をかけて、円D20を求めることにより実現可能である。例えば、第1交線D11に沿ったフィレット面の半径が線形に変化する場合は、ri=R1×(1−ti)+R2×tiという拘束をかけて、式2で定義されるFを最小化させるR1、R2を求めることにより実現可能である。
また、第1交線D11に沿ったフィレット面の半径が一定になる場合は、ri=R3という拘束をかけて、式3で定義されるFを最小化させるR3を求めることにより実現可能である。
以上がフレット面半径分布算出過程における処理の内容である。
次に、図3のステップP14(フィレット面作成過程)では、図16に示すように、グループD9、グループD10において定義されている幾何形状と、第1交線D11に沿ったフィレット面の半径分布より、当業者にとって周知であるフィレット面作成方法を用いてフィレット面D22が作成される。
ステップP15では、ポリゴンデータD3によって記述される表面形状のうちフィレット面が定義されている領域の全てに対して、フィレット面D22が作成されたか否かを判断し、その判断結果が否定的であれば、ステップP5に戻ってステップP14までを残りのフィレット面が定義されている領域について繰り返し、その判断結果が肯定的になれば処理を終了する。以上がフィレット面生成過程における処理の内容である。
次に、図2のステップP4(B−reps生成過程)では、B−reps生成手段C6を用いて、グループデータD4からB−repsデータD5を作成する。以上が、立体形状データ変換装置Cによる立体形状データ変換処理である。本実施形態では、利用者はフィレット面に接続する2つのグループを指定する処理と、上記2つのグループの交線上でフレット面の開始点と終了点を指定する処理(この処理は省略することも可能である)を行うだけで簡単にフィレット面を作成することができる。また、ポリゴンデータをフィッティングさせてフィレット面の半径分布を求めているので、高精度にフィレット面を作成することができる。さらに、変換後のB−repsデータは、データサイズが小さく、フィレット面に関する幾何学的特徴量を含んでいるので、利便性の高いデータとなっている。
以上のように、本実施形態によれば、フィレット面を含むビットマップデータや点群データのB−repsデータへの変換について、フィレット面が定義されている領域に対して、簡単な操作で、高精度にフィレット面を作成し、利便性の高いB−repsデータに変換することができる。
また、フィレット面に接続する2つの曲面に対して、これらの曲面間の交線と垂直に交わる平面上で、ビットマップデータや点群データをフィティングさせてフィレット面の半径を求め、そのフィレット面の半径から曲面間の交線に沿ったフィレット面の半径分布を求め、さらにそのフィレット面の半径分布からフィレット面を作成している。従って、利用者はフィレット面に接続する2つの曲面を指定するだけで簡単に高精度なフィレット面を作成することができ、また、変換後のB−repsデータは、データサイズが小さく、フィレット面に関する幾何学的特徴量を含んでいるので、利便性の高いデータとなっている。
更に、本実施例では、フィレット面を含むビットマップデータや点群データに対して、簡単な操作で高精度にフィレット面を作成し、利便性の高いB−repsデータへの変換を可能とするものであり、B−repsデータが利用される設計や解析の分野などにおいて有用なものとして広く利用することができる。
C…第1の実施形態による立体形状データ変換装置、C1…ポリゴン変換手段、C2…ポリゴン記憶手段、C3…グループ生成手段、C4…グループ記憶手段、C5…フィレット面生成手段、C6…B−reps生成手段、C7…入力手段、C8…表示手段、D1…ビットマップデータ、D2…点群データ、D3…ポリゴンデータ、D4…グループデータ、D5…B−repsデータ、D6…グループ生成コマンド、D7…フィレット面生成コマンド、D8…B−repsデータ生成コマンド、D9…フィレット面に接続する2つのグループ、D10…フィレット面に接続する2つのグループ、D11…第1交線、D12…フィレット面開始点、D13…フィレット面終了点、D14…フィレット面区間内の第1交線上の点、D15…垂直平面、D16…断面形状、D16a…断面形状D16のうちグループD9に含まれる領域、D16b…断面形状D16のうちグループD10に含まれる領域、D16c…断面形状D16のうちフィレット面に含まれる領域、D17…第2交線、D18…第2交線、D19…フィレット面所属点群、D20…第2交線D17と第2交線D18に接する円、D21…断面形状D16の位置とフィレット面の半径をデータとして持つパラメータ、D22…フィレット面、D23…2交線上のグループD9、グループD10の境界点。
Claims (14)
- ビットマップデータや点群データをB−repsデータに変換するデータ変換方法において、
フィレット面を作成するために該フィレット面に接続する2つの曲面を指定し、
その後、B−repsデータへの変換する立体形状データ変換方法。 - フィレット面を有する表面形状モデルのビットマップデータや点群データから幾何学的な特徴面を抽出することによりビットマップデータや点群データをB−repsデータ化することで、前記ビットマップデータや点群データのB−repsデータへの変換を行う立体形状データ変換方法において、
前記フィレット面に接続する2つのグループを指定し、
前記2つのグループ間の第1交線を求め、
前記第1交線上で、前記フィレット面の開始点と終了点を指定し、
前記開始点と前記終了点の間で、前記交線に垂直な垂直平面を複数定義し、
前記垂直平面それぞれについて、前記表面形状との断面形状を求め、
前記垂直平面それぞれについて、前記2つのグループとの第2交線を求め、
前記断面形状それぞれについて、前記フィレット面に属する点群を検索し、
前記第1交線上に沿った、前記フィレット面の半径分布を求め、
前記2つのグループと前記半径分布から、前記フィレット面を生成することを特徴とする立体形状データ変換方法。 - 前記断面形状それぞれについて、前記2つのグループに属する領域を求め、
前記断面形状について、前記領域に挟まれる領域に含まれる点群を検索することで、前記フィレット面に属する点群を検索するようにされている請求項2に記載の立体形状データ変換方法。 - 前記第2交線上で、前記2つのグループの境界点を求め、
前記境界点を通る前記第2交線に垂直な直線を求め、
前記断面形状について、前記直線と前記第2交線によって囲まれる領域に含まれる点群を検索することで、前記フィレット面に属する点群を検索するようにされている請求項2に記載の立体形状データ変換方法。 - 前記断面形状それぞれについて、前記第1交線上に沿った位置を求め、
前記断面形状それぞれについて、前記フィレット面に属する点群に最もあてはまる、前記第2交線に接する円を求め、
前記断面形状における前記位置と前記円の半径の値を補間することで、前記第1交線上に沿った前記フィレット面の半径分布を求めるようにされている請求項2に記載の立体形状データ変換方法。 - 前記断面形状それぞれについて、円の半径の値に拘束をかけて、前記フィレット面に属する点群に最もあてはまる、前記第2交線に接する円を求めるようにされている請求項5に記載の立体形状データ変換方法。
- ビットマップデータや点群データをB−repsデータに変換する
手順が記述されたプログラムにおいて、
フィレット面に接続する2つの曲面の指定を可能とする機能を有し、
該機能によりフィレット面を作成する第一の手順と、
該第一の手順後に、B−repsデータへの変換を行う手順を
実行するためのコンピュータプログラム - 請求項2から請求項6のいずれか1項に記載の立体形状データ変換方法を実行するための手順を記述したコンピュータプログラム。
- ビットマップデータや点群データをB−repsデータに変換するデータ変換装置において、
フィレット面を作成するために該フィレット面に接続する2つの曲面を指定する手段と、
前記ビットマップデータや点群データをB−repsデータへ変換する手段とを備えた立体形状データ変換装置。 - フィレット面を有する表面形状モデルのビットマップデータや点群データから幾何学的な特徴面を抽出することによりビットマップデータや点群データをB−repsデータ化することで、前記ビットマップデータや点群データのB−repsデータへの変換を行うようにされた立体形状データ変換装置において、
前記フィレット面に接続する2つのグループを指定する手段と、
前記2つのグループ間の第1交線を求める手段と、
前記第1交線上で、前記フィレット面の開始点と終了点を指定する手段と、
前記開始点と前記終了点の間で、前記交線に垂直な垂直平面を複数定義する手段と、
前記垂直平面それぞれについて、表面形状との断面形状を求める手段と、
前記垂直平面それぞれについて、前記2つのグループとの第2交線を求める手段と、
前記断面形状それぞれについて、前記フィレット面に属する点群を検索する手段と、
前記第1交線上に沿った、前記フィレット面の半径分布を求める手段と、
前記2つのグループと前記半径分布から、前記フィレット面を生成する手段を備えていることを特徴とする立体形状データ変換装置。 - 前記断面形状について、前記2つのグループに属する領域を求める手段と、
前記断面形状について、前記領域に挟まれる領域に含まれる点群を検索することで、前記フィレット面に属する点群を検索する手段を備えている請求項10に記載の立体形状データ変換方法。 - 前記第2交線上で、前記2つのグループの境界点を求める手段と、
前記境界点を通る前記第2交線に垂直な直線を求める手段と、
前記断面形状について、前記直線と前記第2交線によって囲まれる領域に含まれる点群を検索することで、前記フィレット面に属する点群を検索する手段を備えている請求項10に記載の立体形状データ変換装置。 - 前記断面形状それぞれについて、前記第1交線上に沿った位置を求める手段と、
前記断面形状それぞれについて、前記フィレット面に属する点群に最もあてはまる前記第2交線に接する円を求める手段と、
前記断面形状における前記位置と前記円の半径の値を補間することで、前記第1交線上に沿った、前記フィレット面の半径分布を求める手段を備えている請求項10に記載の立体形状データ変換装置。 - 前記断面形状それぞれについて、円の半径の値に拘束をかけて、前記フィレット面に属する点群に最もあてはまる、前記第2交線に接する円を求める手段を備えている請求項10に記載の立体形状データ変換装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006234840A JP2008059235A (ja) | 2006-08-31 | 2006-08-31 | 立体形状データ変換方法、それを記述したコンピュータプログラムおよび立体形状データ変換装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006234840A JP2008059235A (ja) | 2006-08-31 | 2006-08-31 | 立体形状データ変換方法、それを記述したコンピュータプログラムおよび立体形状データ変換装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008059235A true JP2008059235A (ja) | 2008-03-13 |
Family
ID=39241904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006234840A Pending JP2008059235A (ja) | 2006-08-31 | 2006-08-31 | 立体形状データ変換方法、それを記述したコンピュータプログラムおよび立体形状データ変換装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008059235A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013020603A (ja) * | 2011-07-13 | 2013-01-31 | Inus Technology Inc | 非定型デジタルデータから断面の軌跡からなる特徴形状を自動抽出する装置および方法(ApparatusandMethodofautomaticallyextractingsweep/extrude/revolvefeatureshapefromatypicaldigitaldata) |
JP2017138704A (ja) * | 2016-02-02 | 2017-08-10 | トヨタ自動車株式会社 | 高意匠化方法、高意匠化装置及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0694428A (ja) * | 1992-07-29 | 1994-04-05 | Matsushita Electric Ind Co Ltd | 3次元形状入力装置 |
JP2003263464A (ja) * | 2002-03-08 | 2003-09-19 | Honda Motor Co Ltd | フィレット作成方法、及び3次元cadプログラム |
JP2006039668A (ja) * | 2004-07-22 | 2006-02-09 | Honda Motor Co Ltd | フィレット面を算出する方法およびプログラム |
-
2006
- 2006-08-31 JP JP2006234840A patent/JP2008059235A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0694428A (ja) * | 1992-07-29 | 1994-04-05 | Matsushita Electric Ind Co Ltd | 3次元形状入力装置 |
JP2003263464A (ja) * | 2002-03-08 | 2003-09-19 | Honda Motor Co Ltd | フィレット作成方法、及び3次元cadプログラム |
JP2006039668A (ja) * | 2004-07-22 | 2006-02-09 | Honda Motor Co Ltd | フィレット面を算出する方法およびプログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013020603A (ja) * | 2011-07-13 | 2013-01-31 | Inus Technology Inc | 非定型デジタルデータから断面の軌跡からなる特徴形状を自動抽出する装置および方法(ApparatusandMethodofautomaticallyextractingsweep/extrude/revolvefeatureshapefromatypicaldigitaldata) |
JP2017138704A (ja) * | 2016-02-02 | 2017-08-10 | トヨタ自動車株式会社 | 高意匠化方法、高意匠化装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007280354A (ja) | 三次元形状処理装置、三次元形状処理方法、三次元形状処理プログラム、記録媒体、パーツカタログ・システム、パーツカタログ作成方法、及びプログラム | |
US20100271369A1 (en) | Curved surface rendering system and method | |
JP6468757B2 (ja) | 三次元モデル生成方法、三次元モデル生成システム及び三次元モデル生成プログラム | |
JP2010097419A (ja) | 三次元データ処理装置、三次元データ処理プログラム、および三次元データ処理方法 | |
US8587586B2 (en) | Electronic device and method for meshing curved surface | |
US20180074224A1 (en) | Weather data processing apparatus and method using weather radar | |
JP4888013B2 (ja) | 高さ制限算出装置、高さ制限算出方法および高さ制限算出プログラム | |
JP2009122999A (ja) | 三次元形状最適化装置および三次元形状最適化方法 | |
JP7187234B2 (ja) | 三次元形状作成装置、三次元形状作成方法および三次元形状作成プログラム | |
WO2009104218A1 (ja) | 地図表示装置 | |
JP2010061259A (ja) | 3次元立体形状データ変換装置および変換方法 | |
JP2008059235A (ja) | 立体形状データ変換方法、それを記述したコンピュータプログラムおよび立体形状データ変換装置 | |
US20100026683A1 (en) | Method and program of visualizing structured grid data | |
JP2003323461A (ja) | Cadデータ作成装置および情報加工方法 | |
US7734059B2 (en) | Method and its program for cell labeling of volume data | |
JP4707581B2 (ja) | 表面形状データ変換方法および表面形状データ変換装置 | |
JP4597766B2 (ja) | 解析用メッシュ生成システム | |
CN114708382A (zh) | 基于增强现实的三维建模方法、装置、存储介质、设备 | |
JP6831130B1 (ja) | 風向風速推定装置、風向風速推定方法、および風向風速推定プログラム | |
JP4912756B2 (ja) | ポリゴンデータ分割方法およびポリゴンデータ分割装置 | |
JP2004348708A (ja) | 地図情報システム用ポリゴン生成方法及びその装置 | |
WO2012046436A1 (ja) | 文書分析装置、文書分析方法および文書分析プログラム | |
JP3777989B2 (ja) | 立体形状データ変換装置及び立体形状データ変換方法 | |
JP2008186074A (ja) | 形状データ変換方法、形状データ変換プログラムおよび形状データ変換装置 | |
JP4707543B2 (ja) | 立体形状データ変換方法、それを記述したコンピュータプログラムおよび立体形状データ変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081009 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110927 |