(57)【特許請求の範囲】
【請求項１】
生成されている３次元形状モデル上にフィレット面を生成することができる３次元形状処理装置において、立体の角部を形成する対になる２面が共有する稜線を指定して前記２面を滑らかに接続するフィレット面を生成する際、指定された丸め半径では埋め込むフィレット形状の一部が前記２面の外側にはみ出す場合に前記２面のうち、はみ出す側の面を延長する面延長手段と、前記面延長手段により延長された面を用いて元の２面からはみ出す仮フィレット面を生成する仮フィレット面生成手段と、前記仮フィレット面が元の２面からはみ出した不要部分を除去するための切断面を生成し、前記仮フィレット面を前記切断面により切断加工を行って不要な部分を除去する仮フィレット面加工手段と、を備えたことを特徴とする３次元形状処理装置。
【請求項２】
入力手段と、制御手段と、を備え、生成されている３次元形状モデル上にフィレット面を生成することができる３次元形状処理装置における３次元形状処理方法において、立体の角部を形成する対になる２面が共有する稜線を指定して前記２面を滑らかに接続するフィレット面を生成する際、前記入力手段により指定された丸め半径では埋め込むフィレット形状の一部が前記２面の外側にはみ出す場合、前記制御手段は、前記２面のうちはみ出す側の面を延長するステップと、延長された面を用いて元の２面からはみ出す仮フィレット面を生成するステップと、前記仮フィレット面が元の２面からはみ出した不要部分を除去するための切断面を生成するステップと、前記仮フィレット面を前記切断面により切断加工を行って不要な部分を除去するステップと、を実行することを特徴とする３次元形状処理方法。
【請求項３】
請求項２記載の３次元形状処理方法において、仮フィレット面を収めるための丸め補助面を生成することにより面を延長することを特徴とする３次元形状処理方法。
【請求項４】
請求項２または請求項３記載の３次元形状処理方法において、仮フィレット面がはみ出す位置にある稜線で元の面に隣接する面を延長して切断面を生成することを特徴とする３次元形状処理方法。
【請求項５】
請求項２乃至請求項４の何れか１項に記載された３次元形状処理方法をコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、専用の３次元形状処理装置やパーソナルコンピュータなど情報処理装置などで実施される、生成されている３次元形状モデル上にフィレット面を生成する３次元形状処理装置およびその方法に関する。
【０００２】
【従来の技術】
従来より、グラフィクス表示装置とコンピュータとを用いたＣＡＤ／ＣＡＭ装置など３次元形状処理装置では、３次元形状を生成したり、生成されている３次元形状を変形させたり、３次元形状の体積や重心などを計算したり、３次元形状上で様々な判定を行ったりしている。なお、本発明に係わる３次元形状（３次元立体）とは、境界表現形式のソリッドモデルデータとして生成された形状を指し、その境界表現形式のソリッドモデルとは、稜線や頂点や面というような要素により３次元空間上に閉じた領域を定義し、中身の詰まった立体を表現したものである。
本発明は、このような３次元形状処理装置において従来より行われている、３次元形状モデルを構成する任意の稜線を挟んで隣接する２面間に丸めた角部（フィレット面）を生成するフィレット面生成（丸め変形処理）に関するものであるが、このような処理に関する従来技術では、フィレット面生成の際、まず、利用者がフィレット面の半径を指定し、立体の角を形成する対を成す二つの面の共通の稜線を指定し、その稜線に直交する複数の断面内で二つのそれぞれの面の断面線に接する指定した半径の接円弧を求め、求められた複数の接円弧を滑らかにつなぐことによりフィレット面を生成する。
例えば、特開平7−44732号公報に示されたフィレット面の生成方法は前記のようにしてフィレット面を生成する従来技術の一つであり、前記のようにしてフィレット面を生成した後、接円弧の各間につき、隣り合う接円弧間に位置するフィレット面と角を形成する２面との間の接平面連続性を検査し、その２面とフィレット面との離れや重なりを防止している。
【０００３】
【発明が解決しようとする課題】
しかしながら、前記従来の丸め処理技術においては、指定された半径で生成したフィレット面を角をなす２面間に埋め込む際、フィレット面がその２面からはみ出してしまうことがあり、そのような場合、フィレット面の生成そのものが失敗として扱われてしまうという問題や、角をなす２面からはみ出した不要な部分を手動で取り去る作業を行わねばならないという問題があった。
本発明の課題は、このような従来技術の問題を解決し、フィレット面が角をなす２面からはみ出した場合、その２面に収まるようなフィレット形状を自動的に生成することができる３次元形状処理方法を提供することにある。
【０００４】
【課題を解決するための手段】
前記の課題を解決するために、請求項１記載の発明では、生成されている３次元形状モデル上にフィレット面を生成することができる３次元形状処理装置において、立体の角部を形成する対になる２面が共有する稜線を指定して前記２面を滑らかに接続するフィレット面を生成する際、指定された丸め半径では埋め込むフィレット形状の一部が前記２面の外側にはみ出す場合に前記２面のうち、はみ出す側の面を延長する面延長手段と、前記面延長手段により延長された面を用いて元の２面からはみ出す仮フィレット面を生成する仮フィレット面生成手段と、前記仮フィレット面が元の２面からはみ出した不要部分を除去するための切断面を生成し、前記仮フィレット面を前記切断面により切断加工を行って不要な部分を除去する仮フィレット面加工手段と、を備えた。
また、請求項２記載の発明では、入力手段と、制御手段と、を備え、生成されている３次元形状モデル上にフィレット面を生成することができる３次元形状処理装置における３次元形状処理方法において、立体の角部を形成する対になる２面が共有する稜線を指定して前記２面を滑らかに接続するフィレット面を生成する際、前記入力手段により指定された丸め半径では埋め込むフィレット形状の一部が前記２面の外側にはみ出す場合、前記制御手段は、前記２面のうちはみ出す側の面を延長するステップと、延長された面を用いて元の２面からはみ出す仮フィレット面を生成するステップと、前記仮フィレット面が元の２面からはみ出した不要部分を除去するための切断面を生成するステップと、前記仮フィレット面を前記切断面により切断加工を行って不要な部分を除去するステップと、を実行するようにした。
また、請求項３記載の発明では、請求項２記載の発明において、仮フィレット面を収めるための丸め補助面を生成することにより面を延長する方法にした。
また、請求項４記載の発明では、請求項２または請求項３記載の発明において、仮フィレット面がはみ出す位置にある稜線で元の面に隣接する面を延長して切断面を生成する方法にした。
また、請求項５記載の発明は、請求項２乃至請求項４の何れか１項に記載された３次元形状処理方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【０００５】
【作用】
前記のような手段にしたので、請求項１および請求項２記載の発明では、立体の角部を形成する対になる２面が共有する稜線を指定してその２面を滑らかに接続するフィレット面を生成する際、指定された丸め半径では埋め込むフィレット形状の一部が前記２面の外側にはみ出す場合、その２面の少なくとも一方の面が延長され、延長された面を用いて元の２面からはみ出す仮フィレット面が生成され、その仮フィレット面が元の２面からはみ出した不要部分を除去するための切断面を生成し、前記仮フィレット面を前記切断面により切断加工を行って不要な部分が除去される。
請求項３記載の発明では、請求項２記載の発明において、仮フィレット面を収めるための丸め補助面を生成することにより面が延長される。
請求項４記載の発明では、請求項２または請求項３記載の発明において、仮フィレット面がはみ出す位置にある稜線で元の面に隣接する面を延長して切断面が生成される。
請求項５記載の発明では、請求項２乃至請求項４の何れか１項に記載された３次元形状処理方法をコンピュータに実行させるためのプログラムを記録したことを特徴値するがコンピュータが読み取り可能な記録媒体に記憶される。
【０００６】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図１は本発明の一実施例の３次元形状処理装置を示す構成ブロック図である。図示したように、この実施例の３次元形状処理装置は、プログラムに従って３次元形状モデルを生成したり、生成されている３次元形状モデルを変形させたりする処理を実行するＣＰＵ１、プログラムや各種データを一時的に記憶するメモリ（例えば、ＲＡＭ）２、各種データなどを入力するキーボード３、表示された情報や形状要素などを指し示したりするマウス４、３次元形状モデルなどを表示する表示装置（例えば、ＣＲＴ）５、３次元形状モデルなどを用紙上に出力するプロッタ６、複数の３次元形状モデルデータ（以下、３次元形状データと略す）やプログラムなどを記憶しておく補助記憶装置（例えば、ハードディスク装置）７などを備えている。
このような構成で、この実施例の３次元形状処理装置では、キーボード３やマウス４により指示内容が入力されると、ＣＰＵ１がその指示内容に基づき所定のプログラムを実行して図形を生成したりし、生成された図形を表示装置５に表示させたりする。
また、ＣＰＵ１は、立体の角部を形成する対になる２面の両方に接する球や円弧をその２面の共有する稜線に沿って滑らせたときの接点を、当業者には公知の幾何的ニュートン法の収束計算を用いて複数求め、これらを滑らかにつなぐ補間曲線などを求めることによって、フィレット面境界の幾何形状を算出する（T.Harada, et.al, Variable-Radius blending by Using Gregory Patches in Gemetric Modeling, EUROGRAPHICS'91, Eurographics Association, pp.507-516, 1991. 参照）。なお、前記補間曲線は、隣接する二面の両方に接するように、指定した半径の球もしくは円弧を滑べらせたときの軌跡を表している。この曲線を図５に曲線Tとして示す。また、前記曲線T以外に、これら２本の曲線Tの対になる端点同士を、指定された半径で２面が滑らかにつながるようにつなぐ曲線Bを求め（図５参照）、曲線Tおよび曲線Bを用いてフィレット面を生成してもよい。つまり、面を囲む４本の境界曲線から当業者には公知の方法でフィレット面を生成するのである。
【０００７】
また、この３次元形状処理装置では、立体の角部を形成する対になる２面が共有する稜線を指定して前記２面を滑らかに接続するフィレット面を生成する際、指定された丸め半径では埋め込むフィレット形状の一部が前記２面の外側にはみ出す場合に前記２面の少なくとも一方の面を延長する面延長手段、その面延長手段により延長された面を用いて元の２面からはみ出す仮フィレット面を生成する仮フィレット面生成手段、その仮フィレット面が元の２面からはみ出す位置において仮フィレット面を切断して元の２面に収まるフィレット形状を生成する仮フィレット面加工手段とを備え、生成された、例えば図２(a)に示すような３次元形状モデルの角部に、角部を形成する２面からはみ出した部分を図２(b)の円内に示すように取り去ったフィレット面形状を生成する。なお、前記面延長手段、仮フィレット面生成手段、および仮フィレット面加工手段は、ＣＰＵ１およびメモリ２などから構成される。
【０００８】
図３に、本発明の一実施例の動作フローを示す。以下、図３に従って、この実施例の動作を説明する。なお、対象とされる３次元形状モデルの形状データは補助記憶装置７内に格納されているものとする。
このような状態で、この実施例ではまず、キーボード３またはマウス４を用いて行われる利用者の指示に応じて、ＣＰＵ１が処理対象の３次元形状モデルを表示装置５に表示させ、フィレット面を作成する角部を形成する対をなす曲面の共通の稜線E0を指定させることによりフィレット面の作成位置を指定させると共に丸め半径を指定させる（図４(a)参照）（Ｓ１）。なお、丸め半径は角部を形成する対をなす２面の片方の面F1からフィレット面がはみ出すような値が指定されたものとする。
続いて、ＣＰＵ１は指定した稜線 E0 において隣接する２面のうち、フィレット面がはみ出す側の面F1を、面F1を構成する稜線E1においてG1連続に接続するように稜線E2の延長上の位置まで延長し、丸め補助面Hとする（図４(b)参照）（Ｓ２）。なお、G1連続とは、曲線や曲面の連続性（接続の滑らかさ）を表す用語であり、曲面の場合のG1連続とは、連続性が判定される二つの曲面の共有境界曲線上のすべての点において接平面が一致している状態のことを言う。
さらに、稜線E0に直交する複数の断面内で面F1,F2の断面線に接する指定された半径の接円弧を求め、求められた複数の接円弧を滑らかにつなぐことにより、面F1と丸め補助面Hとにまたがるような仮フィレット面F3を生成する（図４(c)参照）（Ｓ３）。
次に、ＣＰＵ１は仮フィレット面F3の面F1からはみ出した不要部分を除去するための切断面を生成する。前記の仮フィレット面埋め込み処理において、予め面F1を構成するどの稜線においてフィレット面が面F1からはみ出しているかを判別しておくことにより、はみ出しが生じている稜線E1において面F1と隣接する面F4を延長した面を生成し、その面を切断面Cとするのである（図４(d)参照）（Ｓ４）。したがって、ステップＳ１で生成した丸め補助面Hとこの切断面Cとは交差する位置関係にあることになる。
続いて、ＣＰＵ１は生成した仮フィレット面埋め込み形状から、切断面Cを用いて不要な部分を切断・除去する加工を行う（図４(e)参照）（Ｓ５）。
こうして、この実施例によれば、指定した丸め半径が大きくて、フィレット面が指定された稜線の両側に隣接する面をはみ出してしまう場合にも、その丸め処理を問題なく行うことができる。
【０００９】
以上、凹型の角部について説明したが、この発明は、前記実施例とほぼ同様にして、立体中の凸型の角部の稜線に隣接する二面からフィレット面がはみ出す場合にも丸め処理を施すことができる。また、図１の構成の３次元形状処理装置について説明したが、以上説明した本発明によった３次元形状処理方法に従ってプログラミングしたプログラムを、例えば着脱可能な記録媒体に記憶し、その記録媒体をそれまで本発明によった３次元形状処理を行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、その情報処理装置においても本発明によった３次元形状処理を行うことができる。
【００１０】
【発明の効果】
以上説明したように、本発明によれば、請求項１および請求項２記載の発明では、立体の角部を形成する対になる２面が共有する稜線を指定してその２面を滑らかに接続するフィレット面を生成する際、指定された丸め半径では埋め込むフィレット形状の一部が前記２面の外側にはみ出す場合、その２面の少なくとも一方の面が延長され、延長された面を用いて元の２面からはみ出す仮フィレット面が生成され、その仮フィレット面が元の２面からはみ出した不要部分を除去するための切断面を生成し、前記仮フィレット面を前記切断面により切断加工を行って不要な部分が除去されるので、フィレット面が角をなす２面からはみ出した場合、その２面に収まるようなフィレット形状を自動的に生成することができる。
また、請求項３記載の発明では、請求項２記載の発明において、仮フィレット面を収めるための丸め補助面を生成することにより面が延長されるので、一つの面全体を延長する場合に比べて延長する面の形状データが得やすくなり、したがって、延長する面を容易に生成することができる。
また、請求項４記載の発明では、請求項２または請求項３記載の発明において、仮フィレット面がはみ出す位置にある稜線で元の面に隣接する面を延長して切断面が生成されるので、切断面の形状データが得やすくなり、したがって、切断面を容易に生成することができるとともに、はみ出す部分だけを過不足なく切断することができる。
また、請求項５記載の発明では、請求項２乃至請求項４の何れか１項に記載された３次元形状処理方法をコンピュータに実行させるためのプログラムが、例えば着脱可能な記録媒体に記憶されるので、その記録媒体をそれまで請求項２乃至請求項４記載の発明の３次元形状処理を行えなかった情報処理装置に装着して、その情報処理装置において請求項２乃至請求項４記載の発明の効果を実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す３次元形状処理装置の構成ブロック図である。
【図２】本発明の一実施例を示す３次元形状処理方法の説明図である。
【図３】本発明の一実施例を示す３次元形状処理方法の動作フロー図である。
【図４】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図５】本発明の一実施例に係わる３次元形状処理方法の説明図である。
【符号の説明】
１  ＣＰＵ
２  メモリ
３  キーボード
４  マウス
５  表示装置
７  補助記憶装置
【図１】
0003896236.tif 000002
【図２】
0003896236.tif 000003
【図３】
0003896236.tif 000004
【図４】
0003896236.tif 000005
【図５】
0003896236.tif 000006