JP3898466B2 - 三次元モデル生成装置 - Google Patents
三次元モデル生成装置 Download PDFInfo
- Publication number
- JP3898466B2 JP3898466B2 JP2001166278A JP2001166278A JP3898466B2 JP 3898466 B2 JP3898466 B2 JP 3898466B2 JP 2001166278 A JP2001166278 A JP 2001166278A JP 2001166278 A JP2001166278 A JP 2001166278A JP 3898466 B2 JP3898466 B2 JP 3898466B2
- Authority
- JP
- Japan
- Prior art keywords
- interference
- dimensional model
- solid
- contact
- chamfered
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
この発明は、三次元モデルを生成する三次元モデル生成装置に関し、より詳細には、計算機を利用して三次元モデルを生成する境界表現ソリッドモデリングシステムにおいて、その三次元モデルを構成する任意の稜線を挟んで隣接する連続していない二面間におさまるようなフィレット面もしくは角落し面を生成する技術に関する。
【0002】
【従来の技術】
計算機を利用した設計・生産のための手段として、計算機の支援によって設計を行うCAD(Computer Aided Design)や、計算機の支援によって生産を行うCAM(Computer Aided Manufacturing)が広く普及している。
CADに必要な装置(CAD装置という)の中でも、特に三次元図形(形状)をモデル化して扱う三次元CAD装置においては、立体の面だけでなく、面で囲まれる中身のデータも備え、中身のデータが詰まったものとして扱うソリッドモデルによる手法(ソリッドモデリング)が主流になっている。そのソリッドモデルの他に、立体を線の集まりとして表現する針金細工のようなワイヤーフレーム・モデルや、それにさらに面のデータを加えて面の集まりとして表現するサーフェスモデルなどがあるが、ソリッドモデルはほかの手法に比べると解析・加工等の自動的な処理が可能になる等の優れた特徴をもっている。
【0003】
ソリッドモデリングを機械設計等に応用する際に重要な形状変形処理として、立体の角部に施す丸め処理と面取り処理がある。丸め処理とは、立体の角部を丸める処理をいい、その処理により丸められた角部にフィレット面と呼ばれる面を埋め込む処理である。面取り処理とは、立体の角部を切り落とす処理をいい、面取りした角部に角落し面と呼ばれる面を埋め込む処理である。
その丸め処理の操作は一般に次のような手順で行われる。まず、フィレット面の大きさを指定して、立体の角部を形成する対をなす二つの面に共通する稜線を指定する。そして、その稜線に直交する複数の断面を考え、各断面内において、その断面とその稜線を形成する面とが交差してできる断面線に接する上記指定した大きさの半径をもつ接円弧を求め、その各断面内の接円弧同士を滑らかにつなぐことによってフィレット面を生成するというものである。なお、フィレット面の大きさは必ずしも上記接円弧の半径を表すものでなくてもよく、フィレット面の幅や、共通の稜線から上記接円弧の接点までの距離として指定してもよい。この場合は、指定された条件を満たすようにして接円弧の半径が調整される。
【0004】
一方、面取り処理の操作は一般に次のような手順で行われる。まず、角落し面の大きさを指定して、立体の角部を形成する対をなす二つの面に共通する稜線を指定する。そして、その稜線に直交する複数の断面を考え、各断面内において、その断面とその稜線を形成する面とが交差してできる断面線に接する上記指定した大きさの半径をもつ接円弧を求めた上で、各断面内の二つの接点を結ぶ直線線分を求め、この直線線分同士をつなぐことによって角落し面を生成するというものである。なお、角落し面の大きさは必ずしも上記接円弧の半径を表すものでなくてもよく、角落し面の幅や、共通の稜線から上記接円弧の接点までの距離として指定してもよい。この場合は、指定された条件を満たすようにして接円弧の半径が調整される。
【0005】
以上のようにして指定したフィレット面または角落し面の大きさが、対をなして立体の角部を形成する二つの面に比べて大きすぎると、接円弧の接点がすべて若しくは一部求められなくなり、丸めおよび角落し面を生成することができないことになる。
【0006】
【発明が解決しようとする課題】
従来の丸め処理や面取り処理によると、上記指定した大きさで生成したフィレット面や角落し面を元の立体に埋め込む際に、そのフィレット面や角落し面の境界を形成する曲線(境界曲線)が、立体内の既存の稜線と交差して干渉してしまう場合があった。このような場合は、埋め込み操作を一旦取消した上で、埋め込み前の元の立体を変形させたり、フィレット面や角落し面の大きさを変更するなどして改めて埋め込み操作を行うことによって、そのような不具合を回避するようにしていた。そのため、対話的な設計作業という側面からみると、フィレット面や角落し面の境界曲線が立体内の既存の稜線と干渉するか否かの判断(干渉チェック)を自動的に行うことが必要となる。
【0007】
ところが、上述のような干渉が起こり、その干渉が生じる部分(以下「干渉部分」という)を含む形状(以下「干渉形状」という)が生成されるか否かは、埋め込もうとするフィレット面や角落し面の境界曲線を一旦生成した上で、各境界曲線と、既存の立体の稜線とが交差するか否かの判定(交差判定)をしなければならない。しかも、その境界曲線が複数の曲線で表されていれば、その干渉チェックは各曲線ごとに行わねばならないため対話的な設計作業に支障をきたす恐れがある。また、干渉することが判明した場合は、その時点で、干渉部分の形状を設計者の意図に応じて適切な形状に変形させる必要がある。
これらの問題は、従来のフィレット面を埋め込む丸め処理と、角落し面を埋め込む面取り処理の双方について同様に当てはまる問題である。
この発明は、上記の問題点を解決するためになされたものであり、計算機を利用して三次元モデルを生成する境界表現ソリッドモデリングシステムにおいて、干渉形状の生成を回避しながら、対話的設計作業に支障をきたすことなく、丸め処理および面取り処理をおこなうことを目的とする。
【0008】
【課題を解決するための手段】
この発明は、上記の目的を達成するため、三次元モデルを生成する手段と、該手段により生成された三次元モデルの角部に丸め又は面取りする手段を備えた三次元モデル生成装置において、上記丸め又は面取りする面と、立体の角部を形成する稜線との干渉を検出する干渉検出手段と、該干渉検出手段により検出された干渉が生じる部分の情報を表示する干渉情報表示手段とを設け、上記干渉検出手段を、立体の角部を形成する稜線に直交する複数の各断面内において、その稜線を共有する二つの面又はこれらの面と連続な面若しくはその二つの面を延長した面のいずれかに接する円弧を求め、その各円弧と上記各面との接点群を構成する隣接する二つの接点が同一面上にあるか否かを判定することにより、上記干渉を検出するように構成し、上記干渉を生じる部分の情報を、上記干渉検出手段により同一平面上にないと判定された隣接する二つの接点の情報としたものである。
この三次元モデル生成装置は、立体の角部の丸め処理または面取り処理において、フィレット面または角落し面の境界曲線が他の稜線と干渉してしまう場合には、その干渉部分の場所を特定することができ、効率的なフィレット面または角落し面の埋め込み操作を支援することができる。
【0009】
この場合、上記干渉情報表示手段が、上記干渉検出手段により検出された干渉が生じる部分の情報を、上記同一平面上にないと判定された隣接する二つの接点及びその隣接する周辺の接点をつなぐ曲線により表示するように構成されているとよい。
さらに、上記干渉検出手段が、上記丸め又は面取りする面と、立体の角部を形成する稜線との干渉を検出しないときに、該丸め又は面取りする面を該立体に埋め込む手段を設けたものが好ましい。
【0010】
さらに、上記干渉検出手段により干渉が検出された場合に、a)上記同一平面上にないと判定された隣接する二つの接点の一方が上記稜線を共有する二つの面うちの一方の面上にあり、その二つの接点の他方がその一方の面と連続な面上にある場合、その二つの接点と対応する円弧又はその二つの接点を結ぶ直線線分をつないで丸め面又は面取り面を生成する際、その丸め面又は面取り面の端部(E2)が、上記一方の面とその面と連続な面との境界(E3)と交差する点で頂点(K)ができるように上記丸め面又は面取り面を生成して上記立体に埋め込み、b)上記同一平面上にないと判定された隣接する二つの接点の一方が上記稜線を共有する二つの面うちの一方の面上にあり、その二つの接点の他方がその一方の面を延長した面上にある場合、その二つの接点と対応する円弧又はその二つの接点を結ぶ直線線分をつないで丸め面又は面取り面を生成し、その丸め面又は面取り面の端部を切断して上記立体に埋め込むか、あるいはその丸め面又は面取り面と上記立体との集合演算を行うことによりその丸め面又は面取り面を上記立体に埋め込むことにより、上記干渉検出手段により検出された干渉の起こらない三次元モデルを生成する手段を設けるとよい。
【0011】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて詳細に説明する。
この発明による三次元モデル生成装置は、図1に示すように構成されたCAD装置9によって実現される。このCAD装置9は、CPU1と、メモリ2と、キーボード3と、プリンタ4と、ディスプレイ5と、マウス6と、補助記憶装置7と、バスライン8とを有している。CPU1は入力データ等の演算処理などを行う中央処理ユニットであって、三次元モデルの生成手段、丸め又は面取りする手段として動作するとともに、この発明の特徴とする干渉検出手段、干渉しない三次元モデルを生成する手段として動作する。メモリ2はプログラムやデータ等を記憶する装置であり、キーボード3は所定の入力キーを有し、それらの操作に基いてデータを入力する装置である。
【0012】
プリンタ4は、プログラムやデータ等を印字して出力する装置である。ディスプレイ5は、生成された立体や、その他の図形及び文字を画面上に表示する画像表示装置であって、この発明の特徴とする干渉情報表示手段として動作するCRT又は液晶表示装置からなっている。マウス6は、ディスプレイ5の画面上に表示した記号(マウスポインタ)を人の操作に基づき移動させると共に、その移動に応じてデータや指示を入力する入力装置である。補助記憶装置7は、フロッピーディスクやハードディスク等の補助記憶媒体を収容する。バスライン8は、CPU1から補助記憶装置7までを相互に接続する。
【0013】
そして、CAD装置9は、キーボード3やマウス6等の操作入力の内容や指示内容に基づき、メモリ2に記憶されている三次元モデル生成用のプログラムに従って演算処理やデータ処理を行い、それによって三次元の立体形状やその他の図形を生成してディスプレイ5の画面上に表示するようになっている。
続いて、この発明による三次元モデル生成装置の動作内容について説明する。その動作内容は、ソリッドモデルとして生成した図5(a)に示す立体Bの角部B1に、ある指定した大きさによって、同図(b)に示すように他の稜線E1と干渉する(交差する)部分をもつフィレット面Tを埋め込む場合の動作を例にとって説明する。
【0014】
上述したCAD装置9をこの発明による三次元モデル生成装置として動作させるときは、図2に示す手順にしたがって処理を実行する。図2は、CAD装置9により干渉形状の生成を回避しながら三次元モデルを生成するための各工程を示すフローチャートである。この図2に示すように、干渉形状の生成を回避しながら三次元モデルを生成するには、接点算出工程10と、干渉検出工程20と、干渉情報提示工程30及び干渉除去工程40とを図2に示す順序で順に実行する必要がある。その各工程の具体的な内容は、図3及び図4に示すフローチャートの各ステップに対応しているので、接点算出工程10と、干渉検出工程20と、干渉情報提示工程30及び干渉除去工程40の各工程を図3及び図4のフローチャートに沿って説明する。図3及び図4は、操作者(以下適宜「設計者」ともいう)がCAD装置9を動作させて干渉形状の生成を回避しながら三次元モデルを生成するときの操作者の操作内容及びCPU1が実行するプログラムによる処理の手順を示すフローチャートである。なお、図3及び図4において、Sはステップを略記したものである。
【0015】
まず、ステップ1では、CAD装置9の操作者がフィレット面Tの生成位置と大きさを指定する。これは、操作者がキーボード3とマウス6を操作することによって行われる。例えば、生成位置の指定は、図6に示すようにフィレット面Tを生成する立体Bの角部B1を形成する対をなす2つの曲面F1、F2に共通する稜線E0を指定することによって行い、フィレット面Tの大きさは、具体的な数値の入力によって指定する。このとき指定された稜線E0の情報と、フィレット面Tの大きさの情報は後にCPU1によって処理される。この場合、フィレット面Tの大きさはフィレット面Tを生成する元になる接円弧の半径によって指定する。なお、このとき指定される半径を以下「丸め半径」という。
【0016】
続く、ステップ2では、稜線E0の長さを等しくn個に分割して、その分割された各点(以下「分割点」という)の座標EP(i)を求め、その各分割点を稜線E0上に始点から終点に向かい順次配置する。ここにiは断面を形成する位置を特定するための断面番号であって、i=0,1,2,3……n(0及び正の整数)とする。次に、ステップ3に進み、現在着目している断面番号iを0に設定して初期化する。すなわち、稜線E0の始点に最初の断面H(i)を設定する。その断面H(i)とは、各分割点の座標EP(i)を通り、稜線E0に垂直な平面をいう。
続いてステップ4に進み、断面番号が等しい次のような2つの接点P1(i),P2(i)を求め、両者をその求めた順序とともに保存する。これは、以下のような方法によって行われるが、詳しくは、下記文献1に記載されている。この文献1には、立体の角部を形成する対になる二面に接する球や円弧の接点を求めて、これらの補完曲線を求めることによって、フィレット面の境界の形状を算出し、フィレット面の埋め込み形状を生成する方法について記載されている。
T.Harada, et.al, Variable−Radius Blending by Using Gregory Patches in Geometric Modeling, EUROGRAPHICS’91, Eurographics Association,pp.507−516,1991:文献1
【0017】
まず、分割点の座標EP(i)を通る稜線E0に垂直な平面である断面H(i)上に乗り、半径がステップ1で指定した丸め半径の円弧C(i)を考える。そして、この円弧C(i)を稜線E0で隣接する二つの曲面F1,F2に接するように配置したときの2つの接点をそれぞれ接点P1(i),P2(i)として求める。この接点P1(i),P2(i)を求めた状態を図示すると、図7に示すようになる。
ここで、曲面F1,F2の面上で接点P1(i),P2(i)が求まらない場合には、その代わりに曲面F1,F2にG1連続に接続する曲面上に接点を求めることとし、その曲面F1,F2にG1連続に接続する曲面がない場合には、曲面F1,F2を延長した仮想の曲面(以下「仮想曲面」という)を設け、その仮想曲面上に接点P1(i),P2(i)を求めることとする。なお、「G1連続に接続する」とは、隣接する二つの曲面が、双方の共有する境界の稜線上に存在するすべての点で一致していることを意味していて、例えば図8に示すように、曲面F1’と曲面F1との接する部分が稜線E1上のすべての点で一致している状態を意味している。その曲面F1’は稜線E1において、F1に隣接する曲面であり、曲面F1とG1連続に接続している。
【0018】
次にステップ5に進み、現在着目している断面番号を1つ進めてi+1に設定してステップ6に進み、その設定後の断面番号iがnと等しいかを調べてステップ4の処理を稜線E0の終点で実行したか否かを調べる。そのiがnと等しい場合、すなわち、ステップ4の処理を稜線E0の終点で実行したときはステップ7に進み、そうでなければステップ4に戻ってステップ4及びステップ5の処理を繰り返す。
以上の各ステップのうち、ステップ2〜6までが接点算出工程10に対応している。この接点算出工程10では、稜線E0をn等分した各分割点において稜線E0と直交する断面H(i)上の2つの接点P1(i),P2(i)を算出している。これは、上述した文献1に記載された方法のうち、フィレット面の境界の形状算出部分におけるフィレット球の接点を求める方法を利用したものである。上述の通りこの方法を利用する場合には、指定した稜線E0を共有する2つの曲面F1,F2上に接点を求めることとなるが、その求める接点がこれらの2つの曲面F1,F2からはみだした位置に求まる場合も考慮するように拡張して利用している。
【0019】
ステップ6を終えるとステップ7に進む。ステップ7では、稜線E0を形成する2つの曲面F1,F2のうち、片側の曲面F1をカレント面Fに設定し、上述した接点算出工程10において曲面F1上で求められた各接点P1(i)(i=0,1,2…n)のまとまりをカレント接点群Pと設定する。続くステップ8ではチェックする断面番号iを初期値0に設定する。
ステップ9では、カレント面F上の隣接する接点P(i),P(i+1)について、接点P(i),P(i+1)のいずれか一方がカレント面FとG1連続に接続する曲面または仮想曲面上に求められている場合があり得るため、双方の接点P(i)とP(i+1)が同一面上にあるか否かを調べる。ここで、同一面上にあると判断したときはステップ11に進み、そうでなければステップ10に進む。
ステップ10は、双方の接点P(i)とP(i+1)とが同一面上にない場合に実行される。ここでは、現在着目している接点P(i)とそれに隣接する接点P(i+1)とが同一面上にないとして、これらの接点を干渉部分を示す接点ペア(以下「干渉接点ペア」という)として保存する。その接点P(i)と接点P(i+1)とが同一面上にないということは、両者の間に既存の稜線E0が存在し、両者を含む接点群を滑らかにつなぐ曲線を生成すると、干渉形状が生成されてしまうことを意味している。
【0020】
続くステップ11では、現在着目している断面番号iをひとつ移動してi+1に設定する。ステップ12では、断面番号iがnと等しいかを調べて、ステップ9〜11までの処理を稜線E0の終点で実行したか否かを調べる。そのiがnと等しい場合、すなわち、ステップ9〜11までの処理を稜線E0の終点で実行したときはステップ13に進み、そうでなければステップ9に戻ってステップ9〜11までの処理を繰り返す。
ステップ13では、カレント面FがF1かどうかをチェックする。この条件が成り立つ場合、すなわちカレント面FがF1である場合はステップ14に進み、そうでない場合はステップ15に進む。ステップ14はカレント面FがF1である場合に実行される。その場合は曲面F2をカレント面Fに設定するとともに、P2をカレント接点群Pに設定してステップ8に戻り、曲面F2を対象にして上述したステップ8以降の処理を繰り返し、隣接する接点P(i)と接点P(i+1)とが同一のカレント面F上にあるか否かを調べた上で、干渉接点ペアを保存する処理を曲面F2上を対象にして行う。
【0021】
以上のステップ7〜14までが干渉検出工程20に対応する。上述の通り、この干渉検出工程20は、CPU1が干渉検出手段として動作することによって行われ、その際に接点算出工程10で算出された曲面F1,F2のそれぞれにおける各接点群を構成する各接点を接点算出工程10で保存しておいた順序で滑らかにつなぐ曲線を生成したときに、その曲線が曲面F1,F2の共有する稜線E0と干渉するか否かを判定する。その判定は、接点算出工程10で算出されたカレント接点群Pの各接点がそれぞれ立体Bを構成するどの面に存在するかの判定によって行われ、これによって既存の稜線と後述するフィレット面境界曲線が干渉するか否かを検出することができる。
ステップ14を終えるとステップ15に進む。そのステップ15は、カレント面Fが曲面F1の場合とF2の場合の双方において干渉検出工程20を終えた場合に実行されるもので、接点算出工程10で算出した各接点を滑らかにつなぐ曲線を生成し、その生成された曲線をディスプレイ5に表示させる。このとき生成される曲線は、フィレット面境界曲線として設計者に提示されることとなる。
【0022】
続くステップ16では、ステップ10における干渉接点ペアが保存されているか否かをチェックする。ここで、干渉接点ペアが保存されていると判断した場合は、ステップ17に進み、保存されていないと判断した場合はステップ20に進む。
そのステップ17は、ステップ10における干渉接点ペアが保存されている場合、すなわち、同一面上になくて干渉形状を形成し得る2つの接点P(i)及び接点P(i+1)が存在する場合に実行される。この場合、保存されている干渉接点ペア、たとえば接点P1(i)及び接点P1(i+1)と、その隣接する周辺の接点P1(i−1),P1(i+2)を用いてこれらの各接点を滑らかにつなぐ曲線を生成する。この曲線は干渉部分を表す情報を表示するための曲線(以下「干渉曲線」という)とされ、ステップ15において表示したフィレット面境界曲線とともにディスプレイ5に表示される。この場合、例えば双方の曲線に異なる色彩を施すなどして、両者の区別が明確になるようにするとよい。この場合の接点P1(i)と接点P1(i+1)とは、干渉接点ペアであるから、それぞれ異なる曲面上にあるか若しくはいずれか一方が仮想面上に求められており、接点P1(i)と接点P1(i+1)とは同一面になく双方の間にはかならず稜線(以下「干渉稜線」という)が存在しているはずである。そのため、その干渉稜線(例えば図9の干渉稜線E2)を、立体Bのそれ以外の稜線と区別し得るように、例えば両者に異なる色彩を施す等して表示するとよい。その場合の表示例を図9に示す。
【0023】
以上の各ステップ15〜17が干渉情報提示工程30に対応している。上述の通り、干渉情報提示工程30では、接点算出検出工程10で得られた接点の情報から、フィレット面境界曲線を仮に生成し、ディスプレイ5を通じて操作者に提示しており、干渉検出工程20で干渉が検出されているときは、その干渉稜線を他の稜線とは区別し得るようにして表示している。この干渉情報提示工程30を経ることにより、操作者は生成しようとするフィレット面又は角落し面が、立体の既存の稜線と干渉するか否かとともに、干渉するとしたらどの個所で干渉が発生するのかを確認することができる。
【0024】
ステップ17に続いてステップ18に進む。ステップ18では、ステップ4において求められた接点群P1(i)(i=0,1,2…n)、P2(i)(i=0,1,2…n)から、それぞれの断面H(i)における各接点を通る円弧C(i)を表す曲線を発生させ、各曲線を滑らかにつないでフィレット面Tを仮に生成する。面取り処理の場合には、ステップ4において求められた接点群P1(i)(i=0,1,2…n),P2(i)(i=0,1,2…n)から、それぞれの断面H(i)における二つの接点を結ぶ直線線分を求め、求めた各直線線分を滑らかにつなぐことにより角落し面を仮に生成する。ここで生成されるフィレット面Tや角落し面の形状は、指定した稜線E0を共有する二つの曲面F1,F2からはみだしていたり、立体Bの他の部位と干渉したりしているはずである。それは、このステップ18がステップ16により、干渉接点ペアが保存され、フィレット面Tを埋め込むと干渉を引き起こすことが想定されている場合に実行されるからである。
【0025】
続くステップ19では、ステップ18で生成した仮のフィレット面Tまたは角落し面の形状と、既存の立体Bとの間で干渉部分を除去する処理を行う。すなわち、干渉接点ペアP(i),接点P(i+1)のいずれかがカレント面FとG1連続に接続する曲面上にある場合において、フィレット面Tの境界曲線E3と、干渉稜線E2とが接点P(i)と接点P(i+1)との間で干渉しているので、その干渉する点(交差する点)を頂点Kとしてフィレット面Tまたは角落し面を埋め込む処理を行う。この処理を行うことにより、干渉を引き起こした不正な形状を生成せずに済ませることができる。また、接点P(i)、接点P(i+1)のいずれかがカレント面Fを延長した仮想曲面上に求められていた場合、仮に生成したフィレット面を切断したり、立体との集合演算を行うことにより、干渉部分を除去した上でフィレット面または角落し面を埋め込むことができる。このステップ19を実行したら処理を終了する。
【0026】
ステップ20は、ステップ16で干渉接点ペアが保存されていない場合に実行される。このステップ20は、フィレット面Tをそのまま埋め込んでも干渉形状が生成されない場合に実行されるので、ステップ4において求められた接点群P1(i)(i=0,1,2…n),P2(i)(i=0,1,2…n)から、それぞれの断面H(i)における各接点を通る円弧C(i)を表す曲線を発生させ、各曲線を滑らかにつないでフィレット面Tを生成して立体Bに埋め込む。面取り処理の場合には、ステップ4において求められた接点群P1(i)(i=0,1,2…n)から、それぞれの断面H(i)における二つの接点をむすぶ直線線分を求めて、これらを滑らかにつないだ角落し面を生成して立体Bに埋め込むことになる。
【0027】
以上の各ステップ18〜20が干渉除去工程40に対応する。この干渉除去工程40では、干渉情報提示工程30により求められた干渉する位置の情報から、立体Bについて適切な形状変形処理を行ない、干渉を除去したフィレット面または角落し面の埋め込み済みの立体を自動的に生成している。なお、干渉除去工程40において生成される形状が、操作者の意図通りでない場合には、干渉除去工程40の処理を行わずに、上述した接点算出工程10から干渉情報提示工程30までを試行錯誤的に繰り返すことにより、干渉しないような丸め処理ができるパラメータを求めたり、干渉情報提示工程30において提示された情報を元にしてフィレット面Tや角落し面を埋め込む形状を予め変形することにより、三次元モデルの生成方法を検討するようにしてもよい。
【0028】
上述したように、この発明によるCAD装置9によれば、フィレット面または角落し面を生成したときに、その境界曲線が他の稜線と干渉してしまう場合にはその干渉部分を引き起こす位置を含む情報を設計者に提示したり、干渉を除去した上でフィレット面または角落し面を生成することができる。
以上、上述した実施例の説明では丸め処理を中心に説明したが、この発明はその丸め処理に限定されるものではなく面取り処理においても適用されるのはもとよりである。すなわち、面取り処理を行うに際して、上記実施例と同様に上記接点算出工程10〜干渉除去工程40を適用して角落し面の境界曲線が他の稜線と干渉するかどうかの情報を提示したり、その干渉を除去した上で角落し面を生成することもできる。
また、CAD装置9により、上記実施例におけるステップ1〜17の処理を試行錯誤的に繰り返し適用して、操作者の意図どおりの形状を生成するための支援を行うこととしてもよい。
【0029】
【発明の効果】
以上説明してきたように、この発明によれば、フィレット面又は角落し面の境界曲線が他の稜線と干渉する場合に、その旨を操作者に、干渉する位置の情報とともに提示することができ、これによって、不正なフィレット面または角落し面の形状の生成を回避することができる。また、干渉形状が生成され得る場合でもその干渉が除去され干渉を生じない三次元モデルを生成することができる。
【図面の簡単な説明】
【図1】この発明によるCAD装置のシステム構成図である。
【図2】図1のCAD装置により干渉形状の生成を回避しながら三次元モデルを生成するための各工程を示すフローチャートである。
【図3】操作者がCAD装置を動作させて三次元モデルを生成するときの操作者の操作内容及びCPUが実行するプログラムによる処理の手順を示すフローチャートである。
【図4】図3の後続の処理の手順を示すフローチャートである。
【図5】(a)はソリッドモデルとして生成した立体の一例を示す斜視図、(b)は他の稜線と干渉するフィレット面を埋め込んだ立体の一例を示す斜視図である。
【図6】ソリッドモデルとして生成した立体の一例を示す図4(a)と同様の斜視図である。
【図7】隣接する2つの曲面上に接点及び断面を求めた状態を示す斜視図である。
【図8】G1連続に接続している2つの曲面F1’と曲面F1を示す斜視図である。
【図9】この発明により三次元モデルを生成する過程で得られる干渉する箇所をもつ立体を示す斜視図である。
【符号の説明】
1:CPU 2:メモリ
3:キーボード 4:プリンタ
5:ディスプレイ 6:マウス
7:補助記憶装置 8:バスライン
9:CAD装置
10:接点算出工程 20:干渉抽出工程
30:干渉情報提示工程 40:干渉除去工程
B:立体 E0:稜線
T:フィレット面
Claims (4)
- 三次元モデルを生成する手段と、該手段により生成された三次元モデルの角部に丸め又は面取りする手段を備えた三次元モデル生成装置において、
前記丸め又は面取りする面と、立体の角部を形成する稜線との干渉を検出する干渉検出手段と、
該干渉検出手段により検出された干渉が生じる部分の情報を表示する干渉情報表示手段とを設け、
前記干渉検出手段が、立体の角部を形成する稜線に直交する複数の各断面内において、該稜線を共有する二つの面又はこれらの面と連続な面若しくは該二つの面を延長した面のいずれかに接する円弧を求め、該各円弧と前記各面との接点群を構成する隣接する二つの接点が同一面上にあるか否かを判定することにより、前記干渉を検出するように構成され、
前記干渉を生じる部分の情報は、前記干渉検出手段により同一平面上にないと判定された隣接する二つの接点の情報であることを特徴とする三次元モデル生成装置。 - 前記干渉情報表示手段が、前記干渉検出手段により検出された干渉が生じる部分の情報を、前記同一平面上にないと判定された隣接する二つの接点及びその隣接する周辺の接点をつなぐ曲線により表示するように構成されていることを特徴とする請求項1記載の三次元モデル生成装置。
- 請求項1又は2に記載の三次元モデル生成装置において、
前記干渉検出手段が、前記丸め又は面取りする面と、立体の角部を形成する稜線との干渉を検出しないときに、該丸め又は面取りする面を該立体に埋め込む手段を設けたことを特徴とする三次元モデル生成装置。 - 請求項1乃至3のいずれか一項に記載の三次元モデル生成装置において、
前記干渉検出手段により干渉が検出された場合に、
a)前記同一平面上にないと判定された隣接する二つの接点の一方が前記稜線を共有する二つの面うちの一方の面上にあり、該二つの接点の他方が該一方の面と連続な面上にある場合、該二つの接点と対応する円弧又はその二つの接点を結ぶ直線線分をつないで丸め面又は面取り面を生成する際、その丸め面又は面取り面の端部(E2)が、前記一方の面と該面と連続な面との境界(E3)と交差する点で頂点(K)ができるように前記丸め面又は面取り面を生成して前記立体に埋め込み、
b)前記同一平面上にないと判定された隣接する二つの接点の一方が前記稜線を共有する二つの面うちの一方の面上にあり、該二つの接点の他方が該一方の面を延長した面上にある場合、該二つの接点と対応する円弧又はその二つの接点を結ぶ直線線分をつないで丸め面又は面取り面を生成し、その丸め面又は面取り面の端部を切断して前記立体に埋め込むか、あるいはその丸め面又は面取り面と前記立体との集合演算を行うことによりその丸め面又は面取り面を前記立体に埋め込む
ことにより、前記干渉検出手段により検出された干渉の起こらない三次元モデルを生成する手段を設けたことを特徴とする三次元モデル生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001166278A JP3898466B2 (ja) | 2001-06-01 | 2001-06-01 | 三次元モデル生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001166278A JP3898466B2 (ja) | 2001-06-01 | 2001-06-01 | 三次元モデル生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002358337A JP2002358337A (ja) | 2002-12-13 |
JP3898466B2 true JP3898466B2 (ja) | 2007-03-28 |
Family
ID=19008834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001166278A Expired - Fee Related JP3898466B2 (ja) | 2001-06-01 | 2001-06-01 | 三次元モデル生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3898466B2 (ja) |
-
2001
- 2001-06-01 JP JP2001166278A patent/JP3898466B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002358337A (ja) | 2002-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103093036B (zh) | 工件加工仿真 | |
JP5130350B2 (ja) | 3次元モデルの局所的な更新 | |
JP2006294036A (ja) | いくつかの面を有するモデル化されたオブジェクトのコンピュータ支援設計(cad)の方法 | |
CN109558624B (zh) | 生成代表机械部件的2d绘图 | |
JP2010517136A (ja) | ソリッドモデリングシステムのための非明示的形状認識 | |
JP3567015B2 (ja) | Cadシステムにおいて幾何図形対象に関するブール演算を実行するための方法 | |
CN114429535A (zh) | 一种三角网格曲面的光滑裁剪方法及装置 | |
JP2003022285A (ja) | コンピュータ支援による製品設計装置 | |
JP2002283816A (ja) | タイヤ有限要素モデルの作成方法、タイヤ有限要素モデルの作成装置およびプログラム | |
JP3898466B2 (ja) | 三次元モデル生成装置 | |
CN111105501A (zh) | B-rep皮肤的3d设计 | |
JP3903334B2 (ja) | 三次元形状作成装置 | |
JP3801792B2 (ja) | 3次元形状の切断装置と切断方法及び切断処理プログラムを格納した記憶媒体 | |
CN113283020A (zh) | 机械部件的结构仿真 | |
JP4036691B2 (ja) | 三次元形状作成装置、三次元形状作成方法、プログラムおよび記録媒体 | |
JP2002373187A (ja) | コンピュータ支援による製品設計装置 | |
JP5383370B2 (ja) | 解析用モデル作成装置及び解析用モデル作成方法 | |
JP3945998B2 (ja) | サイジング処理システム及びそのコンピュータプログラム | |
JP3896236B2 (ja) | 3次元形状処理装置、3次元形状処理方法および記録媒体 | |
JP4235088B2 (ja) | フィレット面生成方法及びプログラム | |
JP3881223B2 (ja) | フィレット面干渉形状生成装置、角落とし面干渉形状生成装置、プログラム及び記憶媒体 | |
JP3896245B2 (ja) | 3次元形状処理装置、3次元形状処理方法および記録媒体 | |
JP2001290850A (ja) | 3次元形状処理装置、3次元形状処理方法およびその処理方法を実施するためのプログラムを記憶した記憶媒体 | |
JP2001092866A (ja) | 3次元形状処理方法およびその方法を実行するためのプログラムを記録した記録媒体 | |
US20040049306A1 (en) | Simplified model creation assisting apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061221 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3898466 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140105 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |