説明

オフセツト曲面生成方式及びオフセツト立体生成方式

【目的】 自由曲面を含む立体についてもオフセット立体を生成可能とする。
【構成】 立体の各稜線の両側の曲面の接続状態をチェックする。オフセット曲面のための境界線を生成し、この境界線よりトポロジーを生成する。生成されたオフセットループに曲面の情報を付加する。オフセットループを接続してオフセット立体を生成する。オフセットループ間の補間にともなう隙間のNGループを除去する。自己干渉している部分の除去を行う。

【発明の詳細な説明】
【0001】
【技術分野】本発明は、オフセット曲面生成方式及びオフセット立体生成方式に関し、より詳細には、三次元立体形状処理装置の形状生成におけるオフセット曲面生成方式及びオフセット立体生成方式に関する。例えば、複雑な立体を定義するための立体生成装置に適用されるものである。
【0002】
【従来技術】近年、計算機上で3次元のCADシステムを用いて3次元立体を定義し、そのデータをもとに構造解析を行ったり、加工を行ったりするようになってきている。3次元CADシステムはそれを支援するための強力な形状定義能力が求められ、またさまざまな入力方法が期待されている。3次元CADシステムではいろいろな形状を入力するが、一般に立体全体に同じ肉厚をもった形状を入力する機会が多い。このような立体形状を入力する方法としてオフセット立体生成手法は非常に有効である。しかし、この機能が3次元CADにはない場合が多く、結局外形のみを作って終わりにしたり、あるいは内側の形状はいいかげんに作成することが多かった。
【0003】これは、一つの面のオフセット曲面を組み合わせてオフセット立体とすることが非常に困難であることに起因している。特願昭63−203651号の「オフセット曲線生成方法」においても、曲線レベルでのオフセットに過ぎないし、「Exact offset procedures for simple solids」(R.T.Farouki,Computer Aided Geometric Design 2 P.257-2791985)においても、円柱、円錐等、簡単な立体形状に関してはその形状の性質を利用することでオフセット立体を生成する方法について述べているが、それ以上複雑な立体形状については処理が難しいとしている。
【0004】
【目的】本発明は、上述のごとき実情に鑑みてなされたもので、立体が円柱や円錐のような簡単な立体形状の場合の外、自由曲面を含む立体についてもオフセット立体を生成すること、また、CADシステムなどに実現することにより、効果的な形状入力環境を得るようにしたオフセット曲面生成方式及びオフセット立体生成方式を提供することを目的としてなされたものである。
【0005】
【構成】本発明は、上記目的を達成するために、(1)三次元空間中の立体において、立体の一部から抜き出した曲面集合の各稜線の両側の曲面が稜線をはさんでどのように接続されているかの接続状態をチェックする曲面接続判定手段と、オフセット曲面生成のための境界情報をもとの立体の一部から抜き出した曲面集合の各ループの境界曲線をオフセットすることで生成する境界情報生成手段と、もとの立体の一部から抜き出した曲面集合の各ループの曲面情報からのオフセット曲面を生成するオフセット曲面生成手段と、前記境界情報生成手段と前記オフセット曲面生成手段とにより求められた情報から位相情報を持ったオフセットループを生成するオフセットループ生成手段と、もとのループとオフセットループおよびもとのループの境界曲線とオフセットループの境界曲線の間に一方向のリンク関係をもたせる保持手段と、前記曲面接続判定手段によりチェックされた情報ともとの立体の一部から抜き出した曲面集合の位相情報から前記保持手段で生成されたオフセットループ同士の接続状態を判定するオフセットループ接続判定手段とから成り、立体全体ではなく、立体の一部から抜き出した曲面集合を対象とすることで広範囲のオフセットループを生成すること、或いは、(2)前記(1)の三次元空間中の立体において、立体の各稜線の両側の曲面が稜線をはさんでどのように接続されているかの接続状態をチェックする曲面接続判定手段と、オフセット曲面生成のための境界情報をもとの立体の各ループの境界曲線をオフセットすることで生成する境界情報生成手段と、もとの立体の各ループの曲面情報からのオフセット曲面を生成するオフセット曲面生成手段と、前記境界情報生成手段と前記オフセット曲面生成手段とにより求められた情報から位相情報を持ったオフセットループを生成するオフセットループ生成手段と、もとのループとオフセットループおよびもとのループの境界曲線とオフセットループの境界曲線の間に一方向のリンク関係をもたせる保持手段と、前記曲面接続判定手段によりチェックされた情報ともとの立体の位相情報から前記保持手段で生成されたオフセットループ同士の接続状態を判定するオフセットループ接続判定手段とから成り、該オフセットループ接続判定手段の判定結果をもとにオフセットループ同士を接続し、対象となる立体のオフセット立体を生成すること、更には、(3)前記(2)において、生成されたオフセット立体とそのもとになった立体を組み合わせることにより肉厚が同厚な立体である肉厚立体を生成することを特徴としたものである。以下、本発明の実施例に基づいて説明する。
【0006】なお、本発明に用いられる技術としては、■立体の自己干渉部分を除去する方法、■二つの曲面ループを接合する方法、■与えられた境界内に曲面を生成する方法、■与えられた点列とそれらの点におけるベクトルから曲線を生成する方法、などが挙げられる。オフセット立体を生成するうえで、その基本的な単位となるオフセット曲面についてはじめに説明する。まず、曲面Sがパラメトリックにr=r(u,v)
と表わされていると、曲面上の点rにおいて、単位法線ベクトルnはその点におけるu方向,v方向の偏微分ベクトルru=∂r/∂u,rv=∂r/∂vで次のように表わすことができる。
【0007】
【数1】


【0008】そして、オフセット曲面S0は次のようになる。dはオフセットした距離である。
0(u,v)=r(u,v)+dn(u,v)
【0009】図1は、本発明によるオフセット立体生成方式の一実施例を説明するためのフローチャートで、以下、各ステップに従って順に説明する。
step1;面の接続のチェックstep2;トポロジー(Topology:位相要素:立体,数,面,ループ,稜線,頂点)を持ったオフセット曲面の生成step3;オフセット曲面同士の接続step4;NGループの除去;ループ(loop)は面の境界を表わす要素。
step5;自己干渉部分の除去
【0010】NGループというのは、Non Geometry ループの略で、トポロジー(位相要素)情報はあるが、ジオメトリー(幾何要素)情報がないループのことである。それに対してジオメトリー情報もあるループをNGループと明確に区別するためにGループと呼ぶ。NGループは曲面を生成できないループのことを示しているわけではない。面を生成できるようなループがNGループになることもある。図4に示した例は平面(図中の斜線部)がNGループになっている場合である。この場合、通常中身が詰まっているはずの立体であるが、両端のループがNGループであるため中が空洞のデータになっている。
【0011】以下、各ステップについて詳しく説明する。
step1面の接続のチェックオフセット立体はもとの立体の持っているすべての曲面のオフセット曲面を組み合わせて生成される立体である。しかし、実際にはオフセット曲面とオフセット曲面の間にすきまがあったりするため、さらに曲面を追加したりしなければならない。また、オフセット曲面同士が干渉するため干渉部分の除去が必要になる場合もある。曲面の追加や干渉部分の除去といった操作が必要かどうかは、もとの立体面の接続状態によって決まってくる。つまり、もとの立体の面同士が滑らかに接続されていればオフセット曲面同士も滑らかに接続されるし、そうでないときは隙間ができたり干渉したりする。図5(a)〜(c)に典型的な3つの状態を示す。図(a)は滑らかな状態、図(b)は凹状の状態、図(c)は凸状の状態を各々に示している。面の接続状態をあらかじめチェックすることは、オフセット立体の生成を効率的に行うためには非常に重要と考えられる。そこで次のような方法で面同士の接続状態を“滑らか”、“凹”、“凸”の三つに判定している。
【0012】■稜線によるチェック面の接続のチェックは二つの面の間の稜線付近のチェックをすることに他ならない。そこで、二つの面の間の稜線の両端の頂点付近のチェックを、その稜線の接線ベクトルを利用することで行う。つまり図6にあるように頂点につながっている稜線の接線ベクトル(d0,d1,d2)の外積(d0×d2,d1×d0)を求め、その求まったベクトルの角度で判定する。
■曲面によるチェック実際に稜線のチェックしたい部分における曲面の法線ベクトルを求め、その角度をチェックすることで行う。
【0013】通常は稜線によるチェックを行って接続状態を判定するが、稜線の接線ベクトルが一直線にあると判定ができない。そのような場合は曲面のチェックを行うことで判定する。曲面上のある点における法線ベクトルを計算機上で求めるには高コストの計算を必要とする。そのため、曲面の接続状態のチェックの大部分を稜線のチェックで行うことは処理時間上非常に有効である。この判定結果はもとの立体の各稜線の属性情報として記憶装置上に保存されている。図7(a),(b)にその状態を示す。図(a)は稜線テーブル、図(b)は属性情報を各々示している。保存する際には保存されているデータが曲面の接続状態の判定結果であることを示すIDと曲面の間の稜線のどの部分の判定結果かを示すKEYとがいっしょに保存されている。
【0014】
step2トポロジーを持ったオフセット曲面の生成ソリッドモデリングシステムでは、曲面情報だけの立体の生成はできない。常にトポロジー情報が必要である。トポロジーを持ったオフセット曲面を作るということは曲面一枚からなる立体を生成するということである。この手続きは次のようになる。
【0015】■オフセット曲面のための境界線の生成オフセット曲面のためのトポロジー情報はもとのループの境界線である稜線の情報をもとに生成する。その方法として、カーブフィッティングの手法を用いている。この手法は曲線が通過する位置とそこにおける方向ベクトルから曲線を生成する手法である。そこで、もとのループを構成する稜線上に数点サンプリングし、その点から曲面の法線方向にオフセットした点を求め、それらの点と、そこにおけるベクトルとでオフセットループの境界曲線を求めている。通常、ループを構成する稜線は隣のループと共有されている。もし、隣のループのオフセットループがすでに生成されている場合、この同じ稜線を使って隣のループのオフセットループの境界線を生成しているはずである。そして、さらにこの稜線の両側のループが前記step1における面の接続のチェックで“滑らか”と判定されている場合、オフセットした曲線も同じであるためそのままもう一方のループのオフセットループの境界線として利用することが可能である。そこで、このような場合は、もう一度計算するのではなく、前に求めた曲線を利用する。この境界線のオフセット曲線を求めるという操作は、実は非常に高コストな計算を必要とするため、このように計算の重複をなくすことは処理の高速化には非常に役だつ。
【0016】■境界線からトポロジーの生成前記■で生成された境界線よりトポロジーを生成する。この時、オフセットループは2個生成される。この生成されたオフセットループの境界となっている稜線の情報は前記■において生成されたものであるが、前記■で説明した通り、再度利用される可能性がある。そこでこの情報の参照が行いやすいようにオフセットループの稜線の情報をもとのループの稜線の属性情報として記憶装置上に保存しておく。これにより前記■における情報の参照が効率良く行える。この保存方法は、前記step1における面の接続状態の保存方法と同じである。
【0017】■オフセット曲面の張り付け前記■で生成されたオフセット曲面の情報を付加する。前記■ではオフセットループが2個生成されているが、そのうちもとのループと向きが同じものに付加する。もう一方はNGループとする。以上の■〜■の操作により、もとの立体の各面(ループ)のオフセット曲面(オフセットループ)が生成される。
【0018】step3オフセット曲面同士の接続前記step2で生成されたオフセットループはそれぞれ独立して存在している。この独立しているオフセットループを接続してオフセット立体を生成する。オフセットループの接続はstep1での判定結果に基づき行われる。すなわち、次のように処理が行われる。
■“滑らか”な場合隣あったオフセットループ同士は接合部分でぴったり一致するのでそのまま接合する。接合はオフセットループの裏側にあるNGループ同士で行われ、その結果、NGループは大きなひとつのループになる。
■“凹”な場合隣あったオフセットループ同士が干渉している。ここでは何もしない。
■“凸”な場合隣あったオフセットループ同士が離れている。この離れている部分に曲面を新たに生成し、補間することで接続する。図8(a),(b)に補間した状態を示し、図(a)は補間前、図(b)は補間後を各々示している。補間後は“滑らか”な場合と同様で、NGループは大きなループのみになる。
【0019】step4NGループの除去前記step3の処理が終わった形状は、最終的なオフセット立体にかなり近いものになっている。しかし、オフセットループ間の補間を行うことで新たな隙間ができている。この新たな隙間の部分にはNGループが残っている。この部分に曲面が張れる場合は曲面データを付加することでNGループからGループに変換する。図9では太線のループがNGとして残っているため、そこに曲面情報(この場合は球面)を付加してGループにしている。
step5自己干渉部分の除去最後に自己干渉している部分の除去を行う。自己干渉は前記step1において“凹”(第5図(b))と判定された部分に起こっている。
【0020】図10(a)〜(c)は、本発明によるオフセット立体生成方式を用いた立体生成の例を示す図で、図(a)はもとの立体、図(b)は外側にオフセットした立体、図(c)は内側にオフセットした立体を各々示している。機械部品に対してプラス、およびマイナスのオフセット量を指定し、機械部品のオフセット立体を生成した例である。すなわち、請求項2項に記載されたオフセット立体生成方式による具体例である。
【0021】図2は、本発明によるオフセット曲面生成方式の一実施例(請求項1)を説明するためのフローチャートである。以下、各ステップに従って順に説明する。
step1;まず、必要な面の抜き出しを行う。
step2;次に、図1における実施例(請求項1)のstep1(面の接続チェック)〜step4(曲面の付加)までの処理を行う。このようにして、立体の一部から抜き出した曲面の集合を対象とすることで広範囲なオフセット曲面を生成することができる。
【0022】図11(a),(b)は、図2に示したオフセット曲面生成方式を用いた曲面生成の具体例を示す図で、図(a)は立体の一部から抜き出した曲面(太線部分)、図(b)は広範囲にオフセットした曲面である。
【0023】図3は、本発明によるオフセット立体生成方式の他の実施例(請求項3)を説明するためのフローチャートである。以下、各ステップに従って順に説明する。
step1;まず、図1における実施例(請求項1)のstep1(面の接続チェック)〜step4(曲面の付加)までの処理を行う。
step2;自己干渉部分の除去を行う。
step3;オフセット立体の裏表反転を行う。すなわち、肉厚立体を生成するために位相情報を逆にしなければ穴あきにならないので、オフセット立体の裏表を反転する。
step4;もと立体とのマージを行う。すなわち、もと立体とオフセット立体とをいっしょにつける。
step5;前記step4でいっしょにされた立体の外側と内側をつなぎ、肉厚立体を生成する。
このようにして、生成されたオフセット立体とそのもとになった立体を組み合わせることにより、肉厚が同厚な立体(肉厚立体)を生成することができる。
【0024】図12(a),(b)は、図3に示したオフセット立体生成方式を用いた肉厚立体生成の具体例を示す図で、図(a)は生成されたオフセット立体、図(b)は生成された肉厚立体である。立体の一つの面とオフセット量を指定し、その指定した面から立体の内側をくりぬき、厚さが指定したオフセット量と等しい立体を生成した具体例である。
【0025】
【効果】以上の説明から明らかなように、本発明によると、以下のような効果がある。
(1)請求項1に対応する効果: 立体全体ではなく、立体の一部の領域を対象にし、いくつものオフセット曲面を合わせたような大きなオフセット曲面の生成を行うことができる。これは、オフセット立体を立体の構成要素であるループのオフセット集合体としてとらえているためである。また、請求項1の方式を用いて作成されたいくつものオフセット曲面を合わせたような大きなオフセット曲面は、加工システムにおいて非常に重要な意味を持っている。それは加工用の工具はまさにこのようなオフセット曲面上を移動するからである。つまり、請求項1の方式で生成されたオフセット曲面を利用することで加工用のカッターパスを生成することができる。
(2)請求項2に対応する効果: 請求項2のオフセット立体の生成方式は立体の形状に依存しない一般的な生成方式である。この方式を用いることによって複雑な立体形状のオフセット立体でも作成することが可能である。
(3)請求項3に対応する効果: 請求項2の方式を利用して肉厚が一定の立体の生成が簡単に行えるようになる。これにより中が空洞になっているような形状の作成が容易になる。そして、これらの方式を3次元のソリットモデラに実現することによってソリッドモデラにおける立体形状の作成能力が飛躍的に向上する。
【図面の簡単な説明】
【図1】 本発明によるオフセット立体生成方式の一実施例を説明するためのフローチャートである。
【図2】 本発明によるオフセット曲面生成方式の一実施例を説明するためのフローチャートである。
【図3】 本発明によるオフセット立体生成方式の他の実施例を説明するためのフローチャートである。
【図4】 NGループを示す図である。
【図5】 面の接続状態を示す図である。
【図6】 稜線によるチェックの様子を示す図である。
【図7】 属性情報の保存の様子を示す図である。
【図8】 オフセット曲面の補間を示す図である。
【図9】 曲面の付加の様子を示す図である。
【図10】 オフセット立体生成例を示す図である。
【図11】 複数の面のオフセットの例を示す図である。
【図12】 肉厚立体の生成例を示す図である。

【特許請求の範囲】
【請求項1】 三次元空間中の立体において、立体の一部から抜き出した曲面集合の各稜線の両側の曲面が稜線をはさんでどのように接続されているかの接続状態をチェックする曲面接続判定手段と、オフセット曲面生成のための境界情報をもとの立体の一部から抜き出した曲面集合の各ループの境界曲線をオフセットすることで生成する境界情報生成手段と、もとの立体の一部から抜き出した曲面集合の各ループの曲面情報からのオフセット曲面を生成するオフセット曲面生成手段と、前記境界情報生成手段と前記オフセット曲面生成手段とにより求められた情報から位相情報を持ったオフセットループを生成するオフセットループ生成手段と、もとのループとオフセットループおよびもとのループの境界曲線とオフセットループの境界曲線の間に一方向のリンク関係をもたせる保持手段と、前記曲面接続判定手段によりチェックされた情報ともとの立体の一部から抜き出した曲面集合の位相情報から前記保持手段で生成されたオフセットループ同士の接続状態を判定するオフセットループ接続判定手段とから成り、立体全体ではなく、立体の一部から抜き出した曲面集合を対象とすることで広範囲のオフセットループを生成することを特徴とするオフセット曲面生成方式。
【請求項2】 三次元空間中の立体において、立体の各稜線の両側の曲面が稜線をはさんでどのように接続されているかの接続状態をチェックする曲面接続判定手段と、オフセット曲面生成のための境界情報をもとの立体の各ループの境界曲線をオフセットすることで生成する境界情報生成手段と、もとの立体の各ループの曲面情報からのオフセット曲面を生成するオフセット曲面生成手段と、前記境界情報生成手段と前記オフセット曲面生成手段とにより求められた情報から位相情報を持ったオフセットループを生成するオフセットループ生成手段と、もとのループとオフセットループおよびもとのループの境界曲線とオフセットループの境界曲線の間に一方向のリンク関係をもたせる保持手段と、前記曲面接続判定手段によりチェックされた情報ともとの立体の位相情報から前記保持手段で生成されたオフセットループ同士の接続状態を判定するオフセットループ接続判定手段とから成り、該オフセットループ接続判定手段の判定結果をもとにオフセットループ同士を接続して対象となる立体のオフセット立体を生成することを特徴とするオフセット立体生成方式。
【請求項3】 生成されたオフセット立体とそのもとになった立体を組み合わせることにより肉厚が同厚な立体である肉厚立体を生成することを特徴とする請求項2記載のオフセット立体生成方式。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図7】
image rotate


【図8】
image rotate


【図9】
image rotate


【図10】
image rotate


【図11】
image rotate


【図12】
image rotate


【公開番号】特開平5−46711
【公開日】平成5年(1993)2月26日
【国際特許分類】
【出願番号】特願平3−234091
【出願日】平成3年(1991)8月20日
【出願人】(000006747)株式会社リコー (37,907)