JPH07306888A - Cadシステムにおいて幾何図形対象に関するブール演算を実行するための方法 - Google Patents
Cadシステムにおいて幾何図形対象に関するブール演算を実行するための方法Info
- Publication number
- JPH07306888A JPH07306888A JP7099265A JP9926595A JPH07306888A JP H07306888 A JPH07306888 A JP H07306888A JP 7099265 A JP7099265 A JP 7099265A JP 9926595 A JP9926595 A JP 9926595A JP H07306888 A JPH07306888 A JP H07306888A
- Authority
- JP
- Japan
- Prior art keywords
- intersection
- track
- curve
- epsilon
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
Landscapes
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
を実行する方法と、高信頼性を有するCADシステムを提供す
る。 【構成】 CADシステムで、修正された幾何図形対象(14)を
生成するために、幾何図形対象(12,13)に関するフ゛ール演
算(例えばUNITE)を実施する方法において、第1の対象
(12)の面、及び第2の対象(13)の面を交差させ、修正さ
れた幾何図形対象(14)のエッシ゛を形成するク゛ラフ・エッシ゛(15,1
6)を生成する。第1の対象のエッシ゛を第2の対象の表面と
交差させて交差点を得、前記2つの対象の面を含む表面
を互いに交差させて、それぞれ交差トラックを得る。交差点
と対応する交差トラックの間に矛盾が存在する、即ち理想的
には交差トラックに位置すべき交差点が分解能の値(イフ゜シロン)
だけ離れている場合、摂動ステッフ゜が適用され、矛盾した
交差点の空間位置を訂正する。この摂動ステッフ゜は、幾何
学的一貫性が確立される位置まで、矛盾した点をエッシ゛に
沿って移動させるステッフ゜を含む。
Description
システムにおいて幾何図形対象に関するブール演算を実
行する方法に関する。物理的対象、例えば、機械部品の
設計において、対象を結合すること、ある対象を他の対
象から減ずること、あるいは対象を交差させること等、
2つ、又はいくつかの対象にブール演算を実行する必要
があることが多い。本発明は、物理的対象のグラフィッ
ク表現を記憶し、それらを等角図で三次元的(3D)に表示
することができる3D CADシステムにおけるブール演算の
実行を扱う。
品、あるいはその他の対象の設計に広く使用されてお
り、こうしたタイプのシステムがいくつか市販されてい
る。こうしたシステムの共通の特徴は、対象がユーザに
よって対話モードで設計されることである。それは、ユ
ーザが設計をしている間、対象が画面上に表示され、ユ
ーザが、既存の構造に修正、及び/又は追加を適用する
ためのコマンドを入力できることを意味する。
通常、陰極線管(CRT)、又は液晶表示装置(LCD)が使用さ
れる。その対象は等角図で表示され、結果的に、対象が
コンピュータで生成された光源によって追加的に発光さ
れ、現実的な三次元イメージを生成する。対象を補足、
又は修正するためのコマンドは、コンピュータ・マウ
ス、グラフィックス・タブレット、又はライト・ペンに
よって入力される。編集処理が終了し、設計すべき対象
がその最終形状となった時、プリンタ、又はプロッタに
よってハードコピーを作成することができる。
Packard Precision Engineering Solid Designer Versi
on 2.0である。3D CADシステムに関する記述は、I.C.Br
aid著「Notes on a geometric modeller」(C.A.D.グル
ープ ドキュメントNo.101、ケンブリッジ大学、1979年
6月)でも知られている。他の3D CADシステムに関する
記述は、I.C.Braid他の論文「Stepwise Construction o
f Polyhedra in Geometric Modelling」、K.W.Brodlie
編「Mathematical Methods in Computer Graphics and
Design」(Academic Press、1980年)で知られている。
よる上述のシステム等、幾何図形対象に関するUNITE、S
UBTRACT、又はINTERSECTのようなブール演算を実行可能
ないくつかのCADシステムが開発されている。広範で複
雑な対象を作成できるように、ソリッド・モデラはブー
ル演算を強力に支援しなければならない。しかし、既存
のCADシステムは、全ての所望の幾何図形構成に対して
ブール演算を実行できるわけではないため、全ての点で
満足できるものではない。特に、ブール演算の実行に関
して、表面を浅く交差させる必要がある接線方向、又は
ほぼ接線方向の幾何図形は、演算を失敗させるほど大き
な数値的矛盾を引き起こす。交差に関する計算のそうし
た誤差のために、CADシステムは、その演算を実行でき
ないか、又は、その演算の結果得られる幾何図形対象
が、理想的な状況において有するはずの形状を持たない
ことを示すエラー・メッセージを生成する。上述の問題
は、幾何図形対象面のエッジと、その面を含む表面と他
の幾何図形対象面を含む別の表面が交差する線がほぼ一
致する、部分一致幾何図形の場合にも発生する。
義された立体の境界の計算には、表面/表面交差、曲線/
表面交差、及び曲線/曲線交差に関するアルゴリズムが
必要である。正常な境界を生成するために、これらの交
差は、モデルの分解能によって決定される程度に対して
一貫性のあるものでなければならない。この分解能は、
モデルが「分解する」前に許容されうる許容可能な誤差
(イプシロン)を指定する。例えば、曲線が、特定の表面
からイプシロン以下の距離しか離れていない場合、その
表面に位置するものとみなされ、イプシロンより短い距
離しか相互に離れていない3つのエッジは、共通の頂点
で交差するとみなされる。立体の境界(例えば、ブール
演算の結果)を計算する上で重要なステップは、交差す
る2つの面の交差部分にある表面/表面交差トラックの
セグメントを表す交差グラフを構成することである。交
差グラフの構成に関して、理想的には交差トラックに一
致すべき交差点が、イプシロンを超える距離だけ離れて
おり、そのため、一貫性のある幾何図形対象を構成でき
ず、即ち、モデルが分解することがある。
れている2つの方法がある。 1.曲線/表面交差の精度を向上させる数値的方法。こ
のアプローチは、曲線と表面の非常に特殊な組合せにし
か適用できない。対応するアルゴリズムは比較的低速で
あり、数値的な定義が不完全な状況では信頼できる結果
が得られない。 2.曲線/表面交差の代わりに曲線/曲線交差を使用する
方法。このような方法の欠点は、数値的分解能が限られ
ており、三次元曲線が共通点で交わることが殆どないの
で、曲線/曲線交差が、曲線/表面交差よりも数値的な安
定度が劣ることである。
図形対象に関するブール演算を実行する方法と、高い信
頼性を有する強力な、対応するCADシステムを提供する
ことである。
つ数値的に高い安定度で実行できるようにすることであ
る。
の課題は、CADシステムにおいて幾何図形対象に関する
ブール演算を実行し、修正された幾何図形対象を生成す
る方法であって、第1の幾何図形対象面と第2の幾何図
形対象面を交差させて、修正された幾何図形対象のエッ
ジを形成するグラフ・エッジを生成し、 a)交差点を作成するために、第1の幾何図形対象のエッ
ジを、第2の幾何図形対象面を含む表面と交差させるス
テップ、 b)交差トラックを作成するために、第1の幾何図形対象
面を含む表面を、第2の幾何図形対象面を含む表面と交
差させるステップ、 c)前記交差点と前記交差トラックの間の距離がそれぞ
れ、分解能の値(イプシロン)より小さいかどうかを判定
するステップ、及び、 d)ステップc)で判定された距離がそれぞれ、分解能の値
(イプシロン)より大きい場合、前記交差点の空間位置を
訂正するステップを含むことを特徴とする前記方法と、
CADシステムであって、前記システムが、幾何図形対象
を作成し、修正するためのコマンド、及びデータを入力
し、特に、幾何図形対象に関するブール演算に関係する
コマンドを入力する入力手段、前記幾何図形対象を作成
し、修正するための計算を実行する処理手段、前記幾何
図形対象の表現を記憶し、対象の作成、及び修正に関係
する命令を記憶するメモリ手段、及び、前記幾何図形対
象を表示し、前記幾何図形対象に関するブール演算の結
果を表示する、表示手段を備え、前記処理手段、及び前
記メモリ手段が、項番1ないし6のいずれかに記載の方
法を実行するように動作することを特徴とするCADシス
テムによって達成される。従って、本発明は、計算機援
用設計(CAD)システムにおいて幾何図形対象に関するブ
ール演算を実行し、修正された幾何図形対象を生成する
方法を提供する。この方法では、第1の幾何図形対象面
と第2の幾何図形対象面を交差させ、修正された幾何図
形対象のエッジを形成するグラフ・エッジを生成し、前
記方法が、 a)交差点を作成するために、第1の幾何図形対象のエッ
ジを、第2の幾何図形対象面を含む表面に交差させるス
テップと、 b)交差トラックを作成するために、第1の幾何図形対象
面を含む表面を、第2の幾何図形対象面を含む表面に交
差させるステップと、 c)前記交差点と前記交差トラックの間の距離がそれぞ
れ、分解能の値(イプシロン)より小さいかどうかを判定
するステップと、 d)ステップc)で判定された距離がそれぞれ、分解能の値
(イプシロン)より大きい場合、交差点の空間位置を訂正
するステップを含む。
差点に摂動方法を適用して幾何学的矛盾を解消する。基
本的に、この矛盾は、矛盾した交差点を、所望の表面/
表面交差、又は、少なくとも、表面/表面交差からの距
離が分解能の値(イプシロン)以下である位置に再配置す
ることによって解決される。再配置の目標点は、曲線/
曲線交差方法によって決定されうる。この交差点を再配
置(摂動)することによって、追加的な誤差が生じるが、
全体的な誤差が最小化され、幾何図形対象の一貫性が確
立されるという効果がある。
リング方法、例えば、「境界表現(B-rep)」と呼ばれる
方法と共に使用することができる。本発明の他の利点
は、結果を安定させるために、例えば、交差ルーチンを
含む標準幾何図形ライブラリの使用、又は交換を容易に
することである。
詳細に説明する。
を示す概略図である。メイン・プロセッサ1は、グラフ
ィック・プロセッサ2を介して表示スクリーン3、例え
ばCRTに接続されている。設計中の幾何図形対象11は、
スクリーン3上に表示される。メイン・プロセッサ1
は、スクリーン3上に表示された幾何図形対象を作成
し、修正するための計算を実行する。プリンタ4は、集
線装置7を介してメイン・プロセッサ1に接続されてい
る。プリンタ4は、スクリーン3上に表示されているイ
メージのハードコピー、又はCADシステムのデータ・メ
モリ5に記憶されている幾何図形対象のハードコピーを
作成することができる。データ・メモリ5は、メイン・
プロセッサ1に接続され、磁気ディスクや光ディスク等
の大容量記憶装置から成る。プログラム・メモリ6は、
設計中の幾何図形対象の作成、及び操作に使用される命
令を含む。
使用できるいくつかの入力手段がある。図の実施例で
は、スクリーン3上に表示されるカーソルを制御するコ
ンピュータ・マウス9がある。ユーザが、マウス9を適
当に移動させることによって、表示されたオプションに
カーソルを位置決めし、かつ活動化キーを押すことによ
り、所望のコマンドを選択できる、コマンド・メニュー
もスクリーン3上に表示される。表示されたメニュー・
オプションの例は、対象に穴開け処理を施す等、スクリ
ーン上に表示された対象へのある部分の追加、又は前記
対象からのある部分の除去である。選択可能なオプショ
ンの他の例は、本発明によれば、表示されている対象に
対するブール演算の実行である。コマンド、又はデータ
をプロセッサ1に入力するために、マウス9の他に、キ
ーボード8も提供されている。他の入力手段は、スクリ
ーン3上に表示された対象を様々な軸を中心に回転さ
せ、特定の方向にそのままシフトさせるための複数のノ
ブを備えるノブ・ボックス10である。上述の入力手段の
代わりに、あるいはそれに加えて、グラフィクス・タブ
レット、又はライト・ペン等の代替入力手段が提供され
うることが理解されよう。唯一重要なことは、入力手段
によって、ユーザが、スクリーン3上に表示された幾何
図形を所望の方法で操作し、特にこれらの幾何図形に関
するブール演算を実行できるようになることである。
るブール演算UNITEを示す。図2の左側の部分は、UNITE
演算を実行する前の立方体12、及び円錐13の2つの異な
る斜視図を示し、右側の部分は、やはり2つの異なる斜
視図でUNITE演算の結果を示す。図2の右側の部分に示
されるUNITE演算された対象14には、最初の立方体と最
初の円錐の間の共通のエッジ15、及び16、即ち交差エッ
ジが示されている。
割を果たす用語「分解能」を例示する。分解能(イプシ
ロン)は、幾何図形対象(例えば、点、線、面)がCADシス
テムによって別々の要素とみなされる前に、そのシステ
ムによって許容される最大許容誤差である。図3は、曲
線18の表面17上における包含を示す。曲線18は、表面17
からある距離(イプシロン)だけ離れているように示され
ている。曲線と表面の間の距離は、分解能(イプシロン)
以下なので、CADシステムは、曲線18が表面17に位置す
るとみなす。
ッジ19、20、21を示す。3つのエッジが実際に共通点22で
交わる理想的な状況が図の左側の部分に示されている。
しかし、現実のCADシステムでは、数値的誤差、及び不
安定性によって、図4の右側の部分に示したように、エ
ッジ19'、20'、21'が交わらないことがある。誤差が、半
径(イプシロン)を有する球23によって示された分解能
(イプシロン)の範囲内である場合、この頂点は、依然矛
盾がないものとみなされる。誤差が分解能より大きくな
った場合、このモデルは「分解」し、システムは3つの
エッジを共通の1つの頂点として関連付けしない。分解
能は通常、CADシステムによって作成されるモデルのタ
イプに依存し、通常、ユーザによって調整可能である。
正確に交わらないような矛盾を扱う。このような状況は
一般に、ブール演算を実行して交差グラフを計算する時
に発生する。ブール演算を実行するには、ブール演算を
実行すべき幾何図形対象面が交差している必要がある。
交差すべき面は表面に含まれる。交差グラフは、交差す
る2つの面の交差部分に位置する、こうした2つの表面
の間の交差トラック(表面/表面交差トラック)のセグメ
ントである。交差グラフの構成は、ブール演算の結果に
対応した、立体の境界の計算における基本的なステップ
である。交差グラフの構成の信頼性は、ブール演算の成
否に直接影響を及ぼす。
を示す。各表面はそれぞれ、面、即ち、表面内の限られ
た領域を備えている。表面sf1は面fa1を含み、表面sf2
は面fa2を含む。表面/表面交差トラック24全体のうちの
一部だけが、面fa1とfa2の交差部分に位置する。この部
分が交差グラフgである。以下では、交差は記号∩でも
示される。従って、交差トラック24はsf1∩sf2に対応す
る。
交差グラフgを定義するために必要な点は、面fa1の境
界曲線を表面sf2と交差させ、面fa2の境界曲線を表面sf
1と交差させることによって得られる。図5に示した例
では、表面sf1と交差した面fa2の境界曲線aによって点
25が得られ、表面sf2と交差した面fa1の境界曲線bによ
って点26が得られる。点25、及び26は、面fa1とfa2の交
差部分にある交差グラフgを定義するために必要な定義
ポイントを表す。得られたこれらの定義ポイントの精度
によって、ブール演算の成否が決定される。以下で説明
するように、本発明は、立体の境界の一貫性ある表現を
構成できるように不正確な定義ポイントを訂正する方法
を提供する。
的に正確な他の状況を図6に関して論じる。理想的に
は、特定の表面上の曲線と他の表面との交差は、2つの
表面の交差から得られる1組の点に含まれる。図6はこ
の状況を示している。表面sf1上に位置する曲線cv1と表
面sf2が交差する場合、2つの表面sf1とsf2の交差トラ
ック29上にある交差点27が得られる。表面sf2上に位置
する曲線cv2と表面sf1が交差する場合、やはり交差トラ
ック29上にある交差点28が得られる。
況では、例えば、数値的誤差のために、曲線が正確に表
面上に位置していないこともある。典型的な状況が図3
に示されている。数学的に正確な状況からのこのような
偏差によって、幾何図形対象にある種の矛盾が発生する
ことがある。本発明の摂動方法は基本的に、交差点を、
所望の表面/表面交差上に位置するようになるまで、曲
線に沿って「移動させる」ことによって、結果として生
じる様々な矛盾を訂正するものである。この移動の目標
点は、表面/表面交差トラックと、交差点が交差トラッ
クから外れている曲線との間の交差を計算する、曲線/
曲線交差アルゴリズムによって見つけることができる。
例えば、最短距離点の計算等、そのような曲線/曲線交
差アルゴリズムは周知であり、従って、より詳細には説
明しない。
際の状況で発生する可能性があり、本発明の摂動方法に
よって訂正される、様々なタイプの矛盾を、図7ないし
図10に関して説明する。図7ないし図10はそれぞれ、2
つの表面の交差と、表面の一方に位置する曲線を扱うも
のに過ぎない。所望のブール演算を完全に実行するため
には、交差演算、及び図7ないし図10に示した、摂動に
よる交差演算に続く訂正をそれぞれ、異なる曲線、及び
表面に数回にわたって適用する必要があることが理解さ
れよう(図5と比較されたい)。図7ないし図10は、ブー
ル演算を完了させるために、幾何図形対象全体が構成さ
れるまで適当な回数だけ繰り返す必要がある方法の、基
本要素を示す。図7ないし図10は、実際のCADにおける
状況で発生する幾何学的矛盾の様々な例を使用する本発
明の方法の基本原理を示しているが、この方法の完全な
説明は、図11、及び図12のフローチャートに関して行
う。
ことができる。 1.接した状態、又は殆ど接した状態の表面間の交差に
おいて発生する矛盾。そのような状況では、ある表面の
直角方向における小さな誤差が、その表面の方向におい
てより大きな誤差を引き起こす。対応する例を図7ない
し図9に示す。 2.表面/表面交差トラックにほぼ一致する曲線におい
て発生する矛盾。対応する例を図10に示す。
とができる。 a)1つの曲線/表面交差点と1つの交差トラック(図7) b)2つの曲線/表面交差点と1つの交差トラック(図8) c)1つの曲線/表面交差点と2つの交差トラック(図
9)。
説明を明確にするために、ブール演算を実行すべき幾何
図形対象面が省略され、そのような面が位置する表面sf
1、及びsf2だけが示されている。表面sf1、及びsf2は、
殆ど接する状態にあり、わずかな角度βで相互に交差し
ている。交差トラックは、参照符号30で示されている。
CADシステムにおける数値的誤差のために、曲線31は、
表面sf1に正確には位置しておらず、理想的な(数学的に
正確な)状況では、曲線32(点線)によって示されると仮
定される。しかし、曲線31は、表面sf1から分解能イプ
シロン以下の距離しか離れていないので、その表面に位
置するとみなされる。曲線31が表面sf1から離れている
ので、曲線31の表面sf2との交差点33は、理想的な曲線3
2と表面sf2との交差から得られ、交差トラック30上に位
置する、理想的な交差点34とは異なる。2つの表面の角
度が小さい場合、即ち、前記2つの表面が殆ど接する状
態の交差である場合、理想的な交差点34と実際の交差点
33の間の距離dは、分解能イプシロンと比べて大きなも
のになり、以下の関係が成り立つ。d = イプシロン/(si
n β)。
合、もはや交差点33は交差トラックに割り当てられな
い。本発明の方法は、交差点33を矢印36の方向に、交差
トラック30と曲線31の間の最短距離点35に向かって移動
させることによって、この矛盾を除去する。新しい点35
と交差トラック30の間の距離は分解能イプシロンを超え
ていないので、この時、一貫性が確立されるように点35
が交差トラックに割り当てられうる。摂動された点35
は、図5に関して説明したように、ブール演算を実行す
るために判定される必要がある交差グラフの端点を形成
する。最初の交差点33を、摂動された位置35に移動する
ことによって、追加的に誤差が発生しても、この時、新
しい点35が交差トラック30に割り当てられうるので、全
体的な結果は摂動の前よりも依然好ましいものである。
と円筒状表面sf2は相互に交差している。表面sf1は、数
値分解能イプシロン以下の距離だけ表面sf2を貫通して
いる。従って、図8から明らかになるように、数学的に
正確な状況では2本の交差線が存在すべき場合でも、交
差アルゴリズムは1つの交差トラック38しか返さない。
しかし、表面sf1上に位置する曲線37は、表面sf2との2
つの異なる交差点39、及び40をもたらす。これらの点
は、交差トラック38からイプシロンよりかなり多い距離
だけ離れており、従って、交差トラックに割り当てられ
ない。本発明の摂動方法は、交差トラック38からイプシ
ロン以下の距離しか離れていない単一の点41に集約され
るまで、点39を方向42に、点40を方向43に移動させるこ
とによって矛盾を除去する。従って、新しい点41が交差
トラック38に割り当てられ、それによって、必要とされ
る一貫性が確立される。
合、2つの表面sf1とsf2の間の交差は、2つの異なる交
差トラック44、及び45をもたらす。表面sf1上に位置す
る曲線46と表面sf2の間の交差は、数値分解能(イプシロ
ン)が限られているために、1つの点47しか生じない。
この矛盾を訂正するために、摂動方法は、単一の交差点
47を2つの点に分割し、この2つの点を曲線46に沿って
それぞれ矢印48、及び49の方向に、それぞれ、2つの交
差トラック44、及び45に対して最短の位置50、51に移動
させる。
ほぼ一致する、上述の第2のクラスの矛盾を例示する。
垂直な表面sf1上に定義された面54が示されている。第
2の表面sf2は、交差トラック53において表面sf1と交差
する。図10に示したように、面54の下部境界「エッジ
2」は、表面/表面交差トラック53にほぼ一致する。面5
4の下部境界「エッジ2」とsf2の交差によって、1つの
交差点i2のみが生じる。面54の左境界エッジ「エッジ
1」は、sf2までの距離が分解能イプシロン以下なの
で、点i1でsf2と交差する。2つの点i1とi2はイプシロ
ンを超える距離だけ離れているので、両方の交差点を含
む頂点の作成は失敗し、交差グラフの計算は不可能とな
る。
及びi2で面54に入るようみなされ、それが不可能な状況
であるので、この摂動アルゴリズムは矛盾を検出する。
矛盾した状況において、交差トラックは、その交差トラ
ックが他の交差点、又は交差点のクラスタにおいて面に
入った後で、ある交差点(又は、イプシロン以下の距離
しか離れていない交差点のクラスタ)においてのみ、面
を離れることができる(例えば、図5を参照されたい)。
しかし、交差トラックが、連続する2つの点で面に入る
ことは不可能である。図10に示した矛盾を解決するため
に、この摂動アルゴリズムは、点i2を交差トラック53に
沿って点i1の位置に移動させ、i1とマージする。i2の移
動は、矢印55によって示されている。
チャートに関して本発明の方法を説明する。このフロー
チャートは、各対象から面を取り出し、それらを交差さ
せ、両方の面の交差部分である交差トラックの1部分か
らグラフ・エッジを生成する、ブール演算を実行する方
法を説明するものである。面/面交差の様々な組合せか
ら生成された全てのグラフ・エッジは全体として交差グ
ラフを形成する。この方法の第1の部分(「交差」)は実
質的に、図11に示したステップに対応し、第2の部分
(「グラフ・エッジ構成」)は実質的に、図12によるステ
ップに対応する。
第1のステップで、第1の幾何図形対象、又は立体から
面「面1」を取り出し、第2の立体から面「面2」を取
り出す。こうした2つの立体の典型的な例を図2に示
す。説明を簡単にするために、この2つの面が、図5に
示した幾何学的構成に類似した幾何学的構成を有すると
仮定する。
位置する表面(「表面1」)を、面2が位置する表面
(「表面2」)と交差させる。ブロック63で、この2つの
表面の間に交差トラックが存在するかどうかを検査す
る。交差がない場合、このアルゴリズムは終了する。交
差がある場合、ブロック64に示したように、面1を表面
2と交差させる。ブロック65に示したように、面2のエ
ッジも表面1と交差させる。次いで、これらのエッジ/
表面交差から得られる交差点が、前のステップで見つか
った表面/表面交差トラックに関連付け(あるいは、「割
当て」)られなければならない。この割当てが必要とな
るのは、交差グラフg(図5参照)と境を接する定義ポイ
ントを見つけられるようにするためである。
ユークリッド距離を使用して、ブロック66で実行され
る。点からの距離が分解能イプシロン以下であるトラッ
クが見つかった場合、その点は割当て済みとみなされ
る。
学的構成では、全ての点が割り当てられる。このような
場合、アルゴリズムはただちにブロック73(図12)に進
む。図7、図8、及び図9に示したような接している状
態、又は殆ど接している状態の構成の場合、交差点が交
差トラックからイプシロンを超える距離だけ離れている
ので、割当ては失敗する。割当てが失敗した場合、割当
てられていない点を処理するループが実施される。この
ループは、ブロック68ないし72から成る。
その矛盾をもたらしたエッジを、ブロック62から得られ
た全ての表面/表面交差トラックと交差させることであ
る。見つかった交差点の数に応じて(ブロック69、又は7
1)、適当な摂動方法が適用される。ブロック69によって
1つの曲線/曲線交差点が見つかった場合、ブロック70
によって、その曲線/曲線交差点に、割当てられていな
い点が再配置(摂動)される。摂動後、アルゴリズムは次
の点の処理に戻る。
す。図7で、点33は、交差トラック30からイプシロンを
超える距離だけ離れているので、割当てられていない。
従って、交差トラック30と曲線31の(分解能イプシロン
の範囲内の)交差に対応する点35に、点33が再配置され
る。図8では、点39、及び40は割当てられていない。従
って、曲線37と交差トラック38の(分解能イプシロンの
範囲内の)交差に対応する点41に、点39及、び点40が再
配置される。
差が見つかった場合、割当てられていない点がn回だけ
複写される。ここで、nは、見つかった曲線/曲線交差
点の数である。次いで、複写された各点が1つの曲線/
曲線交差点に再配置(摂動)される。この状況を図9に示
す。点47は、2つの交差トラック44、及び45からイプシ
ロンを超える距離だけ離れているので、割当てがなされ
ていない。次いで、点47が2つの点に分割され、それら
の点が、それぞれ曲線46と交差トラック44、及び45との
交差に対応する点50、及び点51に移動される。次いで、
ブロック67に従って、次の割当てられていない点が処理
される。
エッジ/表面交差点を摂動した後、グラフ・エッジが作
成される。これを行うには、各表面/表面交差トラック
と、その交差トラックに割り当てられているエッジ/表
面交差点が取り出され、それらの点がパラメータの昇順
に順序付けられる(ブロック73)。現在の分解能(イプシ
ロン)で区別できない交差点が共通のクラスタに入れら
れる。クラスタは、それに属する点を、単一点のように
表す構造である。次いで、アルゴリズムは、表面/表面
交差トラックに沿って進み、クラスタを越えるたびに、
いわゆる面接近値を算出する。面接近値は記号値であ
り、交差トラックがそのクラスタで面に入ったか、面か
ら離れたか、あるいは面に接触したかを示すものであ
る。
交差トラックごとにUNKNOWNに初期設定される。次い
で、ブロック75で、クラスタに属していない(パラメー
タ順で)最下位に割当てられた点と、分解能イプシロン
より近い、前記点に続く全ての点から点クラスタが構成
される。次いで、ブロック76で、両方の面に関するその
点クラスタでの面接近値を決定する。同じ面に関して同
じ接近値が2度検出された場合(ブロック77)、図10のよ
うな幾何学的構成となる。図10では、2つの交差点i1と
i2が、エッジ2の交差が浅いために一致しない。接近値
が等しい時の幾何図形の解釈は、交差トラックが、その
トラック上の連続する点で、面に入り、あるいは面から
離れたということである。これは、ある面に入ったトラ
ックが、その面を離れない限り、再びその面に入ること
ができないので、矛盾した状況である。この矛盾を意味
のある状況にするには、図10中の点i2が頂点vxと同じク
ラスタに属するように、点i2を交差トラック53に沿って
点i1に再配置(摂動)する。このクラスタは次に、固有の
面接近値を生成する。
ラックに割り当てられた全ての点に関して、点クラスタ
の形成と矛盾の解決が確実に行われる。次に、ブロック
80によって、交差している面の交差部分にある、交差ト
ラックのセグメントからグラフ・エッジが構成される。
この結果は、図5に示したエッジgに類似のグラフ・エ
ッジである。
/表面交差トラックが確実に処理される。追加面が相互
に交差するブール演算を実行する必要がある場合、これ
らの面に対して上述の処理を繰り返し、追加のグラフ・
エッジを作成する。これらのグラフ・エッジ全てと、ブ
ール演算が実行されるべき最初の幾何図形対象の交差の
ない部分から、演算の結果が構成され、CADシステムの
表示手段上に表示されうる。
めに簡略化されている。しかし、表面形状、及び曲線形
状がいかなる点においても制限されるものではないこと
が理解されよう。本発明の摂動方法は、CADシステムが
支援する全ての幾何図形に適用可能である。
に関するブール演算を実行し、修正された幾何図形対象
を生成する方法であって、第1の幾何図形対象面と第2
の幾何図形対象面を交差させて、修正された幾何図形対
象のエッジを形成するグラフ・エッジを生成し、 a)交差点を作成するために、第1の幾何図形対象のエッ
ジを、第2の幾何図形対象面を含む表面と交差させるス
テップ、 b)交差トラックを作成するために、第1の幾何図形対象
面を含む表面を、第2の幾何図形対象面を含む表面と交
差させるステップ、 c)前記交差点と前記交差トラックの間の距離がそれぞ
れ、分解能の値(イプシロン)より小さいかどうかを判定
するステップ、及び、 d)ステップc)で判定された距離がそれぞれ、分解能の値
(イプシロン)より大きい場合、前記交差点の空間位置を
訂正するステップを含むことを特徴とする前記方法。
れ、前記第1の幾何図形対象の前記エッジに沿って、前
記交差トラックへの距離が最小となる位置に移動させる
ステップを含むことを特徴とする、項番1に記載の方
法。
差トラックの交差によって1つの交差点しか得られない
場合、前記エッジと、前記第2の幾何図形対象面を含む
前記表面との交差によって得られた2つの交差点を、単
一の訂正された交差点にマージするステップを含むこと
を特徴とする、項番1に記載の方法。
差トラックの交差によってn個の交差点が得られた場
合、前記エッジと、前記第2の幾何図形対象面を含む前
記表面との交差によって得られる交差点を、訂正された
n個の交差点に分割するステップを含むことを特徴とす
る、項番1に記載の方法。
トラックの間の交差点が順序付けられ、 f)ステップe)で定義された順序で、交差トラックに沿っ
て進む際に、前記面が入れられるか、あるいは離される
かを記述する面接近値が、各交差点に関連付けられ、 g)交差点に関連する面接近値が、ステップe)で定義され
た順序で、前記交差点より前に発生する交差点に関連す
る面接近値と同じである場合、交差点の位置が訂正され
ることを特徴とする、項番1ないし4のいずれかに記載
の方法。
ン)より短い複数の交差点が、単一交差点とみなされる
1クラスタに結合されることを特徴とする、項番5に記
載の方法。
ムが、幾何図形対象を作成し、修正するためのコマン
ド、及びデータを入力し、特に、幾何図形対象に関する
ブール演算に関係するコマンドを入力する入力手段、前
記幾何図形対象を作成し、修正するための計算を実行す
る処理手段、前記幾何図形対象の表現を記憶し、対象の
作成、及び修正に関係する命令を記憶するメモリ手段、
及び、前記幾何図形対象を表示し、前記幾何図形対象に
関するブール演算の結果を表示する、表示手段を備え、
前記処理手段、及び前記メモリ手段が、項番1ないし6
のいずれかに記載の方法を実行するように動作すること
を特徴とするシステム。
ブール演算を実行する方法と、高い信頼性を有する強力
なCADシステムが提供され、ブール演算が高速かつ数値
的に高い安定度で実行される。
を概略的に示す図である。
る。
例を示す図である。
る。
である。
を示す図である。
本発明によって、結果的に生じる誤差を訂正する方法を
示す図である。
ける交差に関する第2の例を示す図である。
ける交差に関する第3の例を示す図である。
おける交差に関する第4の例を示す図である。
である。
である。
Claims (1)
- 【請求項1】CADシステムにおいて幾何図形対象に関す
るブール演算を実行し、修正された幾何図形対象を生成
する方法であって、第1の幾何図形対象面と第2の幾何
図形対象面を交差させて、修正された幾何図形対象のエ
ッジを形成するグラフ・エッジを生成し、 a)交差点を作成するために、第1の幾何図形対象のエッ
ジを、第2の幾何図形対象面を含む表面と交差させるス
テップ、 b)交差トラックを作成するために、第1の幾何図形対象
面を含む表面を、第2の幾何図形対象面を含む表面と交
差させるステップ、 c)前記交差点と前記交差トラックの間の距離がそれぞ
れ、分解能の値(イプシロン)より小さいかどうかを判定
するステップ、及び、 d)ステップc)で判定された距離がそれぞれ、分解能の値
(イプシロン)より大きい場合、前記交差点の空間位置を
訂正するステップを含むことを特徴とする前記方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE94106673.0 | 1994-04-28 | ||
EP94106673A EP0681243B1 (en) | 1994-04-28 | 1994-04-28 | Method for performing boolean operations on geometric objects in a computer-aided design system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07306888A true JPH07306888A (ja) | 1995-11-21 |
JP3567015B2 JP3567015B2 (ja) | 2004-09-15 |
Family
ID=8215898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09926595A Expired - Lifetime JP3567015B2 (ja) | 1994-04-28 | 1995-04-25 | Cadシステムにおいて幾何図形対象に関するブール演算を実行するための方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5649084A (ja) |
EP (1) | EP0681243B1 (ja) |
JP (1) | JP3567015B2 (ja) |
DE (1) | DE69414996T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102293201B1 (ko) * | 2020-11-20 | 2021-08-25 | 이마고웍스 주식회사 | 가상 브릿지 기반의 다중 집합 연산을 통한 디지털 덴티스트리용 3차원 모델 생성 방법 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69625484T2 (de) * | 1996-10-17 | 2003-10-30 | Cocreate Software Gmbh & Co Kg | Verbesserte Objektmodellerzeugung |
US7426455B1 (en) * | 1999-09-13 | 2008-09-16 | Science Applications International Corporation | Optimal boolean set operation generation among polygon-represented regions |
US6654011B1 (en) * | 1999-10-08 | 2003-11-25 | Dassault Systemes | Trim operation based on enhanced face definition |
US7330771B2 (en) * | 2002-09-23 | 2008-02-12 | Autodesk, Inc. | Operator for embossing and engraving profiles in a solid body modeling system |
US7031790B2 (en) * | 2002-09-23 | 2006-04-18 | Autodesk, Inc. | Operator for sculpting solids with sheet bodies |
US20040073148A1 (en) * | 2002-10-11 | 2004-04-15 | Urban Wayne M. | Leg sling |
US7653518B2 (en) * | 2005-03-14 | 2010-01-26 | Autodesk, Inc. | System and method for generating matched contour profiles |
US20060267975A1 (en) * | 2005-03-16 | 2006-11-30 | Gemological Institute Of America (Gia) | System and method for generating a gemstone proportion graphic |
US8207990B1 (en) * | 2008-01-04 | 2012-06-26 | Spaceclaim Corporation, Inc. | Systems and methods for merging and splitting intersecting solids and surfaces |
EP2189918A1 (en) | 2008-11-07 | 2010-05-26 | Dassault Systèmes | Computer-implemented method of computing, in a computer aided design system, of a boundary of a modeled object. |
CN104134236B (zh) * | 2014-07-30 | 2017-01-18 | 西安电子科技大学 | 一种三维平面实体的布尔运算方法 |
CN105809735A (zh) * | 2016-03-11 | 2016-07-27 | 武汉大学 | 一种基于三维几何体合并的拓扑维护方法 |
EP4158600A1 (en) * | 2020-05-25 | 2023-04-05 | Technologies Shapeshift 3D Inc. | Method and device for constraining shape deformation of 3d objects |
CN113219529B (zh) * | 2021-04-30 | 2022-06-14 | 电子科技大学 | 边界约束的三维构造地质模型构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3137245B2 (ja) * | 1991-10-30 | 2001-02-19 | ソニー株式会社 | 自由曲線作成方法及び自由曲面作成方法 |
-
1994
- 1994-04-28 EP EP94106673A patent/EP0681243B1/en not_active Expired - Lifetime
- 1994-04-28 DE DE69414996T patent/DE69414996T2/de not_active Expired - Lifetime
-
1995
- 1995-01-25 US US08/377,852 patent/US5649084A/en not_active Expired - Lifetime
- 1995-04-25 JP JP09926595A patent/JP3567015B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102293201B1 (ko) * | 2020-11-20 | 2021-08-25 | 이마고웍스 주식회사 | 가상 브릿지 기반의 다중 집합 연산을 통한 디지털 덴티스트리용 3차원 모델 생성 방법 |
Also Published As
Publication number | Publication date |
---|---|
DE69414996T2 (de) | 1999-04-15 |
DE69414996D1 (de) | 1999-01-14 |
US5649084A (en) | 1997-07-15 |
EP0681243B1 (en) | 1998-12-02 |
JP3567015B2 (ja) | 2004-09-15 |
EP0681243A1 (en) | 1995-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1710720B1 (en) | Method of computer-aided design of a modeled object having several faces | |
EP0248919B1 (en) | Method for generating representations of 3-dimensional objects and system performing this method | |
JP3567015B2 (ja) | Cadシステムにおいて幾何図形対象に関するブール演算を実行するための方法 | |
JP6282798B2 (ja) | 工作物の機械加工のシミュレーション | |
KR101955035B1 (ko) | 기하학적 3차원 모델링된 오브젝트를 디자인하는 방법 | |
US7969435B1 (en) | Method for modifying any modeled surface as a lofted surface | |
US5734383A (en) | Apparatus and method for generating a three-dimensional model on a graphic display from a two-dimensional image | |
GB2190268A (en) | C.a.d. | |
JPH05346957A (ja) | 形状特徴量提示装置および方法 | |
JPH09190551A (ja) | 3次元形状の作図方法 | |
US20160125659A1 (en) | Methods and systems for multilevel editing of subdivided polygonal data | |
JPH04679A (ja) | 座標格子作成支援方法及びその装置 | |
Johnson | Minimum distance queries for haptic rendering | |
Rose et al. | Intuitive and interactive modification of large finite element models | |
JP2001092805A (ja) | 解析メッシュ生成装置、方法及び記憶媒体 | |
JPH0749965A (ja) | 形状作成支援方法及びその装置 | |
Perles et al. | Interactive virtual tools for manipulating NURBS surfaces in a virtual environment | |
JP2755398B2 (ja) | ソリッドモデルに対する点の内外判定処理方法 | |
JPH07141528A (ja) | データ処理システム | |
Ewing et al. | A Display System for Processing Engineering Drawings: ‘THREAD’-Three-dimensional Editing and Drawing | |
JPH05134729A (ja) | Cad/camにおける三次元像への寸法及び部品番 号の表示システム | |
CN115761122A (zh) | 三维辅助尺的实现方法、装置、设备和介质 | |
US6232975B1 (en) | Reverse daylighting function for computer-generated images | |
JP2571178B2 (ja) | 3次元図形処理装置 | |
JPH0457167A (ja) | パラメトリック設計装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040407 |
|
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: 20040601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040614 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080618 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090618 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100618 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110618 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120618 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |