(57)【特許請求の範囲】
【請求項１】
円弧延長部と、断面内挿部と、境界取出部と、トリム生成部と、を備え、与えられた条件からフィレット面の複数の円弧形状断面を生成し、該複数の円弧状断面を内挿してフィレット面を生成するフィレット面生成装置のフィレット面生成方法において、
前記複数の円弧状断面を内挿して得た曲面が縮退している場合、前記円弧延長部が、各円弧状断面の両端点の距離のうちの最大距離に合わせて各円弧状断面を延長するステップと、
前記断面内挿部が、延長した前記円弧形状断面を内挿して母曲面を得るステップと、
前記境界取出部が、前記縮退している曲面を囲む境界をトリム境界曲線として取り出すステップと、
前記トリム生成部が、前記トリム境界曲線と前記母曲面を組み合わせてトリム曲面を得るステップと、
から構成され、
前記円弧延長部は、直径が前記最大距離よりも小さい前記円弧状断面については、円弧の中心角を、端点距離が最大の円弧状断面の中心角に合わせることを特徴とするフィレット面生成方法。
【請求項２】
請求項１記載のフィレット面生成方法において、
前記円弧延長部は、前記複数の円弧状断面のうち端点が退縮した円弧状断面について、当該円弧状断面が乗る平面が求まる場合は、他の円弧状断面を表現している円弧の中心位置を取り出し、各中心位置を滑らかにつなぐ曲線を求め、該曲線を延長して前記平面との交点を求め、該交点を前記両端点が退縮した円弧状断面の円弧の中心とすることを特徴とするフィレット面生成方法。
【請求項３】
請求項２記載のフィレット面生成方法において、
前記円弧延長部は、前記端点が退縮した円弧状断面が乗る平面が求まらない場合、隣接する円弧状断面の乗る平面を、前記端点が退縮した円弧状断面が乗る平面として用いることを特徴とするフィレット面生成方法。
【請求項４】
コンピュータに、請求項１乃至３の何れか一項に記載のフィレット面生成方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、専用の３次元形状処理装置やパーソナルコンピュータなど情報処理装置などで実施される、生成されている３次元形状モデル上にフィレット面を生成するフィレット面生成に係わり、特に、縮退辺が生成されるのを回避できるフィレット面生成技術に関する。
【背景技術】
【０００２】
グラフィクス表示装置とコンピュータとを用いたＣＡＤ／ＣＡＭ装置など３次元形状処理装置では、従来より、３次元形状モデルを生成したり、生成されている３次元形状モデルを変形させたり、生成または変形された３次元形状モデルを検証したりする処理を行なっている。なお、本発明に係わる３次元形状（３次元立体）モデルとは、例えば境界表現形式のソリッドモデルデータとして生成された形状を指し、その境界表現形式のソリッドモデルとは、稜線や頂点や面というような要素により３次元空間上に閉じた領域を定義し、中身の詰まった立体を表現したものである。
本発明は、このような３次元形状処理装置などにおいて従来より行なわれている、３次元形状モデルを構成する任意の稜線を挟んで隣接する２面間などに丸めた角部（フィレット面）を生成するフィレット面生成（丸め変形処理）に関するものであるが、このような処理に関する従来技術では、フィレット面生成の際、まず、利用者にフィレット面の半径を指定させ、３次元形状モデルの角を形成する対を成す２面の共通の稜線を指定させ、例えばその稜線に直交する複数の断面内で２面のそれぞれの断面線に接する指定した半径の接円弧を求め、求められた複数の接円弧が２面に接する二つの接点のそれぞれを順につなぐことによりフィレット面を生成する。あるいは、前記稜線の始点から終点に向かって、対になる２面に共に接する状態を保ちつつ、指定された丸め半径を持つフィレット球を転がしたと仮定したときに、２面とフィレット球との接点の描く軌跡をフィレット面の境界曲線としてフィレット面を生成する。
【０００３】
例えば、特許文献１記載の従来技術では、前記したようなフィレット面生成が短時間で済み、かつ簡単な指示で作業を行なえるようにすることを目的としており、利用者に、対象とする形状中における角部を判定するための角度値と、生成するフィレット面の半径とを入力させた後、前記形状中のすべての曲面の組について共通稜線を求め、その共通稜線を共有する２つの曲面の成す角度と前記角度値とを比較することにより角部であるか否かを判定し、角部と判定された場合、前記半径の値で仮のフィレット面を生成・表示し、利用者に、仮のフィレット面と、このフィレット面が生成された２つの曲面との位置関係を調べさせ、必要に応じてこのフィレット面を修正させたりする。
また、特許文献２記載の従来技術では、複数のフィレット面作成対象部およびその曲率半径値を指定させ、このフィレット面作成対象部およびその曲率半径値と、あらかじめ設定された複数のフィレット面交差形状に基づいてフィレット面の作成順序を示す複数のフィレット面作成条件セットを生成し、その複数のフィレット面作成条件セットについて曲面構築の可否を判定し、曲面構築可能と判定されたフィレット面のイメージ図を一覧表示する。
図１３は従来技術の一例を示すフィレット面生成部の要部構成図、図１４はその動作フロー図である。
図１３に示したように、従来技術では、利用者によって入力された半径や接する面などの条件からフィレット面の複数の断面を計算して生成する断面生成部２１、その断面生成部２１によって生成された複数の断面を内挿することによりフィレット面を得る断面内挿部２２などを備えている。そして、このような構成で、図１４に示したように、まず断面生成部２１が、与えられた条件にしたがってフィレット面の複数の断面を計算し（図６参照）（Ｓ１１）、断面内挿部２２は、その複数の断面を内挿してフィレット面を得る（図７参照）（Ｓ１２）。
なお、従来技術では、利用者によって与えられた条件で断面生成部１１が図５に示したような複数の断面を生成した場合、断面内挿部２２がその複数の断面をそのまま内挿するので、図１２に示したような曲面を生成する。
【特許文献１】特開平１０−２４０７９０号公報
【特許文献２】特開２００２−３０４４２４公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記したように、従来技術においては、指定された２面の形状または指定された条件によっては生成されるフィレット面が図１２に示したように端の部分で縮退してしまうことがある。この図のように端の部分で縮退が起こると、縮退した端の部分が特異点となる。多くの場合フィレット面は、３次元形状処理では、Ｕ，Ｖ座標系（３次元座標をＵ、Ｖパラメータと呼ばれる２次元的な座標値）で表現されている。また、座標値（パラメータ）はその曲線（の一端に対応する位置が０、他端に対応する位置が１である）の２パラメータで表わされる自由曲面で表現されており、縮退した特異点位置の法線ベクトルが不定になる問題が起こる。このように縮退した形状では、その後の形状処理動作に不具合が生じる可能性がある。
本発明の目的は、このような従来技術の問題を解決しようとするものであり、具体的には、フィレット面生成において縮退辺が生成されるのを回避することにより、縮退辺により問題が起こりがちな３次元形状処理、例えばフィレット面を除去した形状を得る処理や、他の３次元形状処理システムにデータを渡したりする処理などにおいて問題が発生するのを回避できるフィレット面生成技術を提供することにある。これにより、利用者は縮退ができる可能性を気にせずに操作することが可能になるし、３次元形状処理システム内部のプログラムについても、特異点処理の必要がなくなるので、単純化できる。
【課題を解決するための手段】
【０００５】
前記した課題を解決するために、請求項１記載の発明は、円弧延長部と、断面内挿部と、境界取出部と、トリム生成部と、を備え、与えられた条件からフィレット面の複数の円弧形状断面を生成し、該複数の円弧状断面を内挿してフィレット面を生成するフィレット面生成装置のフィレット面生成方法において、前記複数の円弧状断面を内挿して得た曲面が縮退している場合、前記円弧延長部が、各円弧状断面の両端点の距離のうちの最大距離に合わせて各円弧状断面を延長するステップと、前記断面内挿部が、延長した前記円弧形状断面を内挿して母曲面を得るステップと、前記境界取出部が、前記縮退している曲面を囲む境界をトリム境界曲線として取り出すステップと、前記トリム生成部が、前記トリム境界曲線と前記母曲面を組み合わせてトリム曲面を得るステップと、から構成され、前記円弧延長部は、直径が前記最大距離よりも小さい前記円弧状断面については、円弧の中心角を、端点距離が最大の円弧状断面の中心角に合わせるフィレット面生成方法を特徴とする。
また、請求項２記載の発明は、請求項１記載のフィレット面生成方法において、前記円弧延長部は、前記複数の円弧状断面のうち端点が退縮した円弧状断面について、当該円弧状断面が乗る平面が求まる場合は、他の円弧状断面を表現している円弧の中心位置を取り出し、各中心位置を滑らかにつなぐ曲線を求め、該曲線を延長して前記平面との交点を求め、該交点を前記両端点が退縮した円弧状断面の円弧の中心とするフィレット面生成方法を特徴とする。
また、請求項３記載の発明は、請求項２記載のフィレット面生成方法において、前記円弧延長部は、前記端点が退縮した円弧状断面が乗る平面が求まらない場合、隣接する円弧状断面の乗る平面を、前記端点が退縮した円弧状断面が乗る平面として用いるフィレット面生成方法を特徴とする。
また、請求項４に記載の発明は、コンピュータに、請求項１乃至３の何れか一項に記載のフィレット面生成方法を実行させるためのプログラムを特徴とする。
【発明の効果】
【０００９】
複数の円弧状断面を内挿して得た曲面が縮退している場合、円弧延長部が、各円弧状断面の両端点の距離のうちの最大距離に合わせて各円弧状断面を延長するステップと、断面内挿部が、延長した円弧形状断面を内挿して母曲面を得るステップと、境界取出部が、縮退している曲面を囲む境界をトリム境界曲線として取り出すステップと、トリム生成部が、トリム境界曲線と母曲面を組み合わせてトリム曲面を得るステップと、から構成され、円弧延長部は、直径が最大距離よりも小さい円弧状断面については、円弧の中心角を、端点距離が最大の円弧状断面の中心角に合わせるようにしたので、本発明によれば、フィレット面生成において縮退辺が生成されるのを回避でき、縮退辺により問題が起こりがちな３次元形状処理、例えばフィレット面を除去した形状を得る処理や、他の３次元形状処理システムにデータを渡したりする処理などにおいて問題が発生するのを回避できるために、利用者は縮退ができる可能性を気にせずに操作することが可能になり３次元形状処理システム内部のプログラムについても、特異点処理の必要がなくなるので、単純化できるとともに、縮退した曲面の乗る必要十分な大きさの母曲面を容易に生成でき、断面の円弧の直径が最大の端点距離より小さくても不自然でない端点距離の円弧を得ることができる。
【００１０】
また、本発明によれば、円弧延長部は、複数の円弧状断面のうち端点が退縮した円弧状断面について、当該円弧状断面が乗る平面が求まる場合は、他の円弧状断面を表現している円弧の中心位置を取り出し、各中心位置を滑らかにつなぐ曲線を求め、該曲線を延長して平面との交点を求め、該交点を両端点が退縮した円弧状断面の円弧の中心とするので、容易に目的を達せられる。
また、本発明によれば、円弧延長部は、端点が退縮した円弧状断面が乗る平面が求まらない場合、隣接する円弧状断面の乗る平面を、端点が退縮した円弧状断面が乗る平面として用いるので、円弧の乗る平面が求まらなくても円弧を求めることができる。
また、本発明のフィレット面生成方法を実行させるためのプログラムを情報処理装置上で実行させることができるので、情報処理装置を用いて本発明の効果を得ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面により本発明の実施形態を詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対位置などは特定的な記載がない限りこの説明の範囲をそれのみに限定する主旨ではなく、単なる説明例に過ぎない。
図１は本発明の一実施形態を示す３次元形状処理装置の構成ブロック図である。図示したように、この実施形態の３次元形状処理装置は、プログラムや各種データを一時的に記憶するメモリ（例えばＲＡＭ）およびそのプログラムに従って動作するＣＰＵを有して演算や処理をおこなうデータ処理部１、プログラムやデータや指示などを人のキー操作に基づき入力するキーボード２、３次元形状モデルや文字などを表示する表示装置（例えばＣＲＴ）３、３次元形状モデルや文字などを紙上に印刷するプリンタ４、表示装置３の画面上に表示された目印（カーソル）を人の操作に基づき移動させると共にその移動に基づくデータを入力するマウス５、フロッピー（登録商標）ディスクやハードディスクなど記憶媒体を収容する補助記憶装置６、それらを相互に接続するシステムバス７などを備えている。
【００１２】
以下、本発明の一実施例を説明する。
図２は、この実施例のフィレット面生成システムを示す構成ブロック図である。図２において、各ブロックは構成要素を、矢印はデータの流れを示す。図示したように、このフィレット面生成システムは、利用者によって入力された半径や接する面などの条件からフィレット面の複数の断面を計算して生成する断面生成部１１、その断面生成部１１により得られた円弧形状の断面を延長して出力する円弧延長部１２、前記断面生成部１１により得られた複数の断面、および前記円弧延長部１２により延長して得られた断面を内挿して曲面を得る断面内挿部１３、その断面内挿部１３により得られた断面延長処理前の曲面の境界をトリム境界曲線として取り出す境界取り出し部１４、そのトリム境界曲線とトリム母曲面を組み合わせてトリム曲面を得るトリム生成部１５などを備える。
なお、この実施例では、請求項記載の断面生成手段、円弧延長手段、断面内挿手段、境界取り出し手段、およびトリム生成手段がそれぞれ、断面生成部１１、円弧延長部１２、断面内挿部１３、境界取り出し部１４、およびトリム生成部１５により実現される。また、断面生成部１１、円弧延長部１２、断面内挿部１３、境界取り出し部１４、およびトリム生成部１５は、前記データ処理部１内に設けられている。
このような構成で、この実施例のフィレット面生成システムでは、図１２に示したような縮退したフィレット曲面が生成される状況で、図４に示したように、元の曲面（図４では点線で囲んだ曲面）内で、縮退している曲面部分を曲線（図４では実線）で囲んだトリム曲面としてフィレット面を生成する。なお、トリム曲面とは、元の曲面上のある領域を閉じた曲線で囲むことにより、有効な領域と無効な領域に分けられている曲面であり、ここでは元の曲面を母曲面、閉じた曲線をトリム境界曲線と呼ぶ。図４はトリム曲面であり、図４において、トリムされる点線で表わされた曲面が母曲面であり、実線で表現された曲線がトリム境界曲線である。
【００１３】
この実施例の動作フローを図３に示す。以下、この動作フローを説明する。
Ｓ１．元の断面生成
まず、断面生成部１１が、フィレット面を生成するための半径、フィレット面が接する曲面の情報を利用者に指定させる。そして、断面生成部１１は指定された条件に合うフィレット面の断面に相当する曲線を計算する。図１２に示したような縮退したフィレット面となる場合、図５に示したような縮退した曲線を含む断面となる。
Ｓ２．断面延長
図５に示したような縮退した曲線を含む断面からトリム母曲面となる図７に示したような曲面を得るには、断面を延長して図６に示したような縮退のない断面にする必要がある。そこで、円弧延長部１２は断面群のなかから両端点が最大の距離を持つものを探し、その最大の断面に合わせて各断面を延長する。その際、各断面は円弧形状で表現されているので、図８に示したように円弧の中心と半径を維持して延長する。前記したように、延長方法としては端点距離を最大のものに合わせるとよいのだが、断面により半径が異なる場合で最大の端点距離よりも直径が小さい円弧のときは、端点距離を合わせるのが不可能であるので、各円弧の中心角を最大のものに合わせる。延長の方向は、左右両側（例えば左右対称）または左右どちらか一方など任意であるが、すべての円弧に対して同一の方向にそろえる必要がある。
【００１４】
ここまでは、すべての断面が円弧情報をもっている場合だが、図１２のように端点が縮退している場合の断面は、図５に示したように端の部分では断面は大きさを持った曲線でなく点となっているので、延長するには点となる断面に対応する円弧を求める必要がある。この点となる断面での円弧を得る方法は、元のフィレット面の断面を得るアルゴリズムによって異なる。断面を計算するアルゴリズムで点となる断面の円弧の情報が求まる場合、それを用いる。
断面を計算するアルゴリズムでは円弧の情報は求まらないが、円弧の乗る平面が求まる場合は中心位置が決まればよい。この中心位置は他の断面を表現している円弧の中心を取り出し（図９参照）、滑らかにつなぐ自由曲線を求め、その曲線を延長して前記平面との交点を求めればよい（図１０参照）。なお、断面計算のアルゴリズムで平面さえ求まらない場合は、隣接する断面の乗る平面をその位置の平面として用い、中心位置は前記した方法による。
Ｓ３．延長後の断面の内挿
断面内挿部１３は、断面延長で得られた複数の断面を内挿して図７に示した曲面を得る。この曲面を後でトリム母曲面として用いる。
Ｓ４．元の断面の内挿
断面内挿部１３は元の断面生成で得られた複数の断面を内挿する。これにより、図１２に示した曲面が得られる。この曲面は後でトリム境界曲線を得るために用いる。
【００１５】
Ｓ５．元の断面内挿結果の境界取り出し
元の断面の内挿で得られた曲面は自由曲面なので、この曲面を囲む境界を自由曲線として得ることができる。境界取り出し部１４は、このような自由曲線を取り出し、それをトリム境界曲線とする。なお、トリム境界曲線は、図５に示した断面群からその断面の端点を取り出し（図１１参照）、それらを滑らかな自由曲線で内挿しても得ることができる。
Ｓ６．トリム曲面生成
延長後の断面を内挿してトリム母曲面が得られ、元の断面内挿結果からの境界取り出しによりトリム境界曲線が得られると、トリム生成部１５はそれらを合わせることによりフィレット面を表わすトリム曲面を得る。
こうして、この実施例によれば、フィレット面生成において縮退辺が生成されるのを回避することができ、利用者は縮退ができる可能性を気にせずに操作することが可能になるし、３次元形状処理システム内部のプログラムについても、特異点処理の必要がなくなるので、単純化できる。
以上、本発明の一実施例を説明したが、説明したようなフィレット面生成方法に従ってプログラミングしたプログラムを着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によったフィレット面生成をおこなえなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、そのような情報処理装置においても本発明によったフィレット面生成を行なうことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態を示す３次元形状処理装置の構成ブロック図。
【図２】本発明の一実施例を示すフィレット面生成システムの構成ブロック図。
【図３】本発明の一実施例を示すフィレット面生成方法の動作フロー図。
【図４】本発明の一実施例を示すフィレット面生成方法の説明図。
【図５】本発明の一実施例および従来技術のフィレット面生成方法に係る説明図。
【図６】本発明の一実施例を示すフィレット面生成方法の他の説明図。
【図７】本発明の一実施例を示すフィレット面生成方法の他の説明図。
【図８】本発明の一実施例を示すフィレット面生成方法の他の説明図。
【図９】本発明の一実施例を示すフィレット面生成方法の他の説明図。
【図１０】本発明の一実施例を示すフィレット面生成方法の他の説明図。
【図１１】本発明の一実施例を示すフィレット面生成方法の他の説明図。
【図１２】従来技術の一例を示すフィレット面生成方法の説明図。
【図１３】従来技術の一例を示すフィレット面生成システムの構成ブロック図。
【図１４】従来技術の一例を示すフィレット面生成方法の動作フロー図。
【符号の説明】
【００１７】
１  データ処理部、１１  断面生成部、１２  円弧延長部、１３  断面内挿部、１４  境界取り出し部、１５  トリム生成部
【図１】
0004235088.tif 000002
【図２】
0004235088.tif 000003
【図３】
0004235088.tif 000004
【図４】
0004235088.tif 000005
【図５】
0004235088.tif 000006
【図６】
0004235088.tif 000007
【図７】
0004235088.tif 000008
【図８】
0004235088.tif 000009
【図９】
0004235088.tif 000010
【図１０】
0004235088.tif 000011
【図１１】
0004235088.tif 000012
【図１２】
0004235088.tif 000013
【図１３】
0004235088.tif 000014
【図１４】
0004235088.tif 000015