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
Application number
JP7099265A
Other languages
English (en)
Other versions
JP3567015B2 (ja
Inventor
Peter Ernst
ペーター・エルネスト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH07306888A publication Critical patent/JPH07306888A/ja
Application granted granted Critical
Publication of JP3567015B2 publication Critical patent/JP3567015B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive 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

(57)【要約】 【目的】 本発明は、幾何図形対象に関するブール演算
を実行する方法と、高信頼性を有するCADシステムを提供す
る。 【構成】 CADシステムで、修正された幾何図形対象(14)を
生成するために、幾何図形対象(12,13)に関するフ゛ール演
算(例えばUNITE)を実施する方法において、第1の対象
(12)の面、及び第2の対象(13)の面を交差させ、修正さ
れた幾何図形対象(14)のエッシ゛を形成するク゛ラフ・エッシ゛(15,1
6)を生成する。第1の対象のエッシ゛を第2の対象の表面と
交差させて交差点を得、前記2つの対象の面を含む表面
を互いに交差させて、それぞれ交差トラックを得る。交差点
と対応する交差トラックの間に矛盾が存在する、即ち理想的
には交差トラックに位置すべき交差点が分解能の値(イフ゜シロン)
だけ離れている場合、摂動ステッフ゜が適用され、矛盾した
交差点の空間位置を訂正する。この摂動ステッフ゜は、幾何
学的一貫性が確立される位置まで、矛盾した点をエッシ゛に
沿って移動させるステッフ゜を含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機援用設計(CAD)
システムにおいて幾何図形対象に関するブール演算を実
行する方法に関する。物理的対象、例えば、機械部品の
設計において、対象を結合すること、ある対象を他の対
象から減ずること、あるいは対象を交差させること等、
2つ、又はいくつかの対象にブール演算を実行する必要
があることが多い。本発明は、物理的対象のグラフィッ
ク表現を記憶し、それらを等角図で三次元的(3D)に表示
することができる3D CADシステムにおけるブール演算の
実行を扱う。
【0002】
【従来の技術】CADシステムは、機械部品、又は電子部
品、あるいはその他の対象の設計に広く使用されてお
り、こうしたタイプのシステムがいくつか市販されてい
る。こうしたシステムの共通の特徴は、対象がユーザに
よって対話モードで設計されることである。それは、ユ
ーザが設計をしている間、対象が画面上に表示され、ユ
ーザが、既存の構造に修正、及び/又は追加を適用する
ためのコマンドを入力できることを意味する。
【0003】設計中の幾何図形対象を表示するために、
通常、陰極線管(CRT)、又は液晶表示装置(LCD)が使用さ
れる。その対象は等角図で表示され、結果的に、対象が
コンピュータで生成された光源によって追加的に発光さ
れ、現実的な三次元イメージを生成する。対象を補足、
又は修正するためのコマンドは、コンピュータ・マウ
ス、グラフィックス・タブレット、又はライト・ペンに
よって入力される。編集処理が終了し、設計すべき対象
がその最終形状となった時、プリンタ、又はプロッタに
よってハードコピーを作成することができる。
【0004】市販の3D CADシステムの一例は、Hewlett-
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年)で知られている。
【0005】この間に、例えば、Hewlett-Packard社に
よる上述のシステム等、幾何図形対象に関するUNITE、S
UBTRACT、又はINTERSECTのようなブール演算を実行可能
ないくつかのCADシステムが開発されている。広範で複
雑な対象を作成できるように、ソリッド・モデラはブー
ル演算を強力に支援しなければならない。しかし、既存
のCADシステムは、全ての所望の幾何図形構成に対して
ブール演算を実行できるわけではないため、全ての点で
満足できるものではない。特に、ブール演算の実行に関
して、表面を浅く交差させる必要がある接線方向、又は
ほぼ接線方向の幾何図形は、演算を失敗させるほど大き
な数値的矛盾を引き起こす。交差に関する計算のそうし
た誤差のために、CADシステムは、その演算を実行でき
ないか、又は、その演算の結果得られる幾何図形対象
が、理想的な状況において有するはずの形状を持たない
ことを示すエラー・メッセージを生成する。上述の問題
は、幾何図形対象面のエッジと、その面を含む表面と他
の幾何図形対象面を含む別の表面が交差する線がほぼ一
致する、部分一致幾何図形の場合にも発生する。
【0006】上述のように、ブール演算の結果として定
義された立体の境界の計算には、表面/表面交差、曲線/
表面交差、及び曲線/曲線交差に関するアルゴリズムが
必要である。正常な境界を生成するために、これらの交
差は、モデルの分解能によって決定される程度に対して
一貫性のあるものでなければならない。この分解能は、
モデルが「分解する」前に許容されうる許容可能な誤差
(イプシロン)を指定する。例えば、曲線が、特定の表面
からイプシロン以下の距離しか離れていない場合、その
表面に位置するものとみなされ、イプシロンより短い距
離しか相互に離れていない3つのエッジは、共通の頂点
で交差するとみなされる。立体の境界(例えば、ブール
演算の結果)を計算する上で重要なステップは、交差す
る2つの面の交差部分にある表面/表面交差トラックの
セグメントを表す交差グラフを構成することである。交
差グラフの構成に関して、理想的には交差トラックに一
致すべき交差点が、イプシロンを超える距離だけ離れて
おり、そのため、一貫性のある幾何図形対象を構成でき
ず、即ち、モデルが分解することがある。
【0007】上述の問題に対処するために、通常使用さ
れている2つの方法がある。 1.曲線/表面交差の精度を向上させる数値的方法。こ
のアプローチは、曲線と表面の非常に特殊な組合せにし
か適用できない。対応するアルゴリズムは比較的低速で
あり、数値的な定義が不完全な状況では信頼できる結果
が得られない。 2.曲線/表面交差の代わりに曲線/曲線交差を使用する
方法。このような方法の欠点は、数値的分解能が限られ
ており、三次元曲線が共通点で交わることが殆どないの
で、曲線/曲線交差が、曲線/表面交差よりも数値的な安
定度が劣ることである。
【0008】
【発明が解決しようとする課題】本発明の課題は、幾何
図形対象に関するブール演算を実行する方法と、高い信
頼性を有する強力な、対応するCADシステムを提供する
ことである。
【0009】本発明の他の課題は、ブール演算を高速か
つ数値的に高い安定度で実行できるようにすることであ
る。
【0010】
【課題を解決するための手段】本発明によれば、これら
の課題は、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)で判定された距離がそれぞれ、分解能の値
(イプシロン)より大きい場合、交差点の空間位置を訂正
するステップを含む。
【0011】本発明の基本原理によれば、曲線/表面交
差点に摂動方法を適用して幾何学的矛盾を解消する。基
本的に、この矛盾は、矛盾した交差点を、所望の表面/
表面交差、又は、少なくとも、表面/表面交差からの距
離が分解能の値(イプシロン)以下である位置に再配置す
ることによって解決される。再配置の目標点は、曲線/
曲線交差方法によって決定されうる。この交差点を再配
置(摂動)することによって、追加的な誤差が生じるが、
全体的な誤差が最小化され、幾何図形対象の一貫性が確
立されるという効果がある。
【0012】本発明は、任意のタイプのソリッド・モデ
リング方法、例えば、「境界表現(B-rep)」と呼ばれる
方法と共に使用することができる。本発明の他の利点
は、結果を安定させるために、例えば、交差ルーチンを
含む標準幾何図形ライブラリの使用、又は交換を容易に
することである。
【0013】以下で、本発明の実施例を、図面に関して
詳細に説明する。
【0014】
【実施例】図1は、3D CADシステムの典型的な構成要素
を示す概略図である。メイン・プロセッサ1は、グラフ
ィック・プロセッサ2を介して表示スクリーン3、例え
ばCRTに接続されている。設計中の幾何図形対象11は、
スクリーン3上に表示される。メイン・プロセッサ1
は、スクリーン3上に表示された幾何図形対象を作成
し、修正するための計算を実行する。プリンタ4は、集
線装置7を介してメイン・プロセッサ1に接続されてい
る。プリンタ4は、スクリーン3上に表示されているイ
メージのハードコピー、又はCADシステムのデータ・メ
モリ5に記憶されている幾何図形対象のハードコピーを
作成することができる。データ・メモリ5は、メイン・
プロセッサ1に接続され、磁気ディスクや光ディスク等
の大容量記憶装置から成る。プログラム・メモリ6は、
設計中の幾何図形対象の作成、及び操作に使用される命
令を含む。
【0015】CADシステムとの対話のために、ユーザが
使用できるいくつかの入力手段がある。図の実施例で
は、スクリーン3上に表示されるカーソルを制御するコ
ンピュータ・マウス9がある。ユーザが、マウス9を適
当に移動させることによって、表示されたオプションに
カーソルを位置決めし、かつ活動化キーを押すことによ
り、所望のコマンドを選択できる、コマンド・メニュー
もスクリーン3上に表示される。表示されたメニュー・
オプションの例は、対象に穴開け処理を施す等、スクリ
ーン上に表示された対象へのある部分の追加、又は前記
対象からのある部分の除去である。選択可能なオプショ
ンの他の例は、本発明によれば、表示されている対象に
対するブール演算の実行である。コマンド、又はデータ
をプロセッサ1に入力するために、マウス9の他に、キ
ーボード8も提供されている。他の入力手段は、スクリ
ーン3上に表示された対象を様々な軸を中心に回転さ
せ、特定の方向にそのままシフトさせるための複数のノ
ブを備えるノブ・ボックス10である。上述の入力手段の
代わりに、あるいはそれに加えて、グラフィクス・タブ
レット、又はライト・ペン等の代替入力手段が提供され
うることが理解されよう。唯一重要なことは、入力手段
によって、ユーザが、スクリーン3上に表示された幾何
図形を所望の方法で操作し、特にこれらの幾何図形に関
するブール演算を実行できるようになることである。
【0016】図2は、立方体12、及び円錐13の例に関す
るブール演算UNITEを示す。図2の左側の部分は、UNITE
演算を実行する前の立方体12、及び円錐13の2つの異な
る斜視図を示し、右側の部分は、やはり2つの異なる斜
視図でUNITE演算の結果を示す。図2の右側の部分に示
されるUNITE演算された対象14には、最初の立方体と最
初の円錐の間の共通のエッジ15、及び16、即ち交差エッ
ジが示されている。
【0017】図3、及び図4は、以後の説明で重要な役
割を果たす用語「分解能」を例示する。分解能(イプシ
ロン)は、幾何図形対象(例えば、点、線、面)がCADシス
テムによって別々の要素とみなされる前に、そのシステ
ムによって許容される最大許容誤差である。図3は、曲
線18の表面17上における包含を示す。曲線18は、表面17
からある距離(イプシロン)だけ離れているように示され
ている。曲線と表面の間の距離は、分解能(イプシロン)
以下なので、CADシステムは、曲線18が表面17に位置す
るとみなす。
【0018】図4は、共通の頂点22で交差する3つのエ
ッジ19、20、21を示す。3つのエッジが実際に共通点22で
交わる理想的な状況が図の左側の部分に示されている。
しかし、現実のCADシステムでは、数値的誤差、及び不
安定性によって、図4の右側の部分に示したように、エ
ッジ19'、20'、21'が交わらないことがある。誤差が、半
径(イプシロン)を有する球23によって示された分解能
(イプシロン)の範囲内である場合、この頂点は、依然矛
盾がないものとみなされる。誤差が分解能より大きくな
った場合、このモデルは「分解」し、システムは3つの
エッジを共通の1つの頂点として関連付けしない。分解
能は通常、CADシステムによって作成されるモデルのタ
イプに依存し、通常、ユーザによって調整可能である。
【0019】本発明は、例えば、エッジが共通の頂点で
正確に交わらないような矛盾を扱う。このような状況は
一般に、ブール演算を実行して交差グラフを計算する時
に発生する。ブール演算を実行するには、ブール演算を
実行すべき幾何図形対象面が交差している必要がある。
交差すべき面は表面に含まれる。交差グラフは、交差す
る2つの面の交差部分に位置する、こうした2つの表面
の間の交差トラック(表面/表面交差トラック)のセグメ
ントである。交差グラフの構成は、ブール演算の結果に
対応した、立体の境界の計算における基本的なステップ
である。交差グラフの構成の信頼性は、ブール演算の成
否に直接影響を及ぼす。
【0020】図5は、交差する2つの表面sf1、及びsf2
を示す。各表面はそれぞれ、面、即ち、表面内の限られ
た領域を備えている。表面sf1は面fa1を含み、表面sf2
は面fa2を含む。表面/表面交差トラック24全体のうちの
一部だけが、面fa1とfa2の交差部分に位置する。この部
分が交差グラフgである。以下では、交差は記号∩でも
示される。従って、交差トラック24はsf1∩sf2に対応す
る。
【0021】通常、表面/表面交差トラック24全体から
交差グラフgを定義するために必要な点は、面fa1の境
界曲線を表面sf2と交差させ、面fa2の境界曲線を表面sf
1と交差させることによって得られる。図5に示した例
では、表面sf1と交差した面fa2の境界曲線aによって点
25が得られ、表面sf2と交差した面fa1の境界曲線bによ
って点26が得られる。点25、及び26は、面fa1とfa2の交
差部分にある交差グラフgを定義するために必要な定義
ポイントを表す。得られたこれらの定義ポイントの精度
によって、ブール演算の成否が決定される。以下で説明
するように、本発明は、立体の境界の一貫性ある表現を
構成できるように不正確な定義ポイントを訂正する方法
を提供する。
【0022】本発明の方法を詳細に説明する前に、数学
的に正確な他の状況を図6に関して論じる。理想的に
は、特定の表面上の曲線と他の表面との交差は、2つの
表面の交差から得られる1組の点に含まれる。図6はこ
の状況を示している。表面sf1上に位置する曲線cv1と表
面sf2が交差する場合、2つの表面sf1とsf2の交差トラ
ック29上にある交差点27が得られる。表面sf2上に位置
する曲線cv2と表面sf1が交差する場合、やはり交差トラ
ック29上にある交差点28が得られる。
【0023】しかし、CADシステムで発生する実際の状
況では、例えば、数値的誤差のために、曲線が正確に表
面上に位置していないこともある。典型的な状況が図3
に示されている。数学的に正確な状況からのこのような
偏差によって、幾何図形対象にある種の矛盾が発生する
ことがある。本発明の摂動方法は基本的に、交差点を、
所望の表面/表面交差上に位置するようになるまで、曲
線に沿って「移動させる」ことによって、結果として生
じる様々な矛盾を訂正するものである。この移動の目標
点は、表面/表面交差トラックと、交差点が交差トラッ
クから外れている曲線との間の交差を計算する、曲線/
曲線交差アルゴリズムによって見つけることができる。
例えば、最短距離点の計算等、そのような曲線/曲線交
差アルゴリズムは周知であり、従って、より詳細には説
明しない。
【0024】以下では、ブール演算を実行する際に、実
際の状況で発生する可能性があり、本発明の摂動方法に
よって訂正される、様々なタイプの矛盾を、図7ないし
図10に関して説明する。図7ないし図10はそれぞれ、2
つの表面の交差と、表面の一方に位置する曲線を扱うも
のに過ぎない。所望のブール演算を完全に実行するため
には、交差演算、及び図7ないし図10に示した、摂動に
よる交差演算に続く訂正をそれぞれ、異なる曲線、及び
表面に数回にわたって適用する必要があることが理解さ
れよう(図5と比較されたい)。図7ないし図10は、ブー
ル演算を完了させるために、幾何図形対象全体が構成さ
れるまで適当な回数だけ繰り返す必要がある方法の、基
本要素を示す。図7ないし図10は、実際のCADにおける
状況で発生する幾何学的矛盾の様々な例を使用する本発
明の方法の基本原理を示しているが、この方法の完全な
説明は、図11、及び図12のフローチャートに関して行
う。
【0025】前述した矛盾は、2つのクラスに分割する
ことができる。 1.接した状態、又は殆ど接した状態の表面間の交差に
おいて発生する矛盾。そのような状況では、ある表面の
直角方向における小さな誤差が、その表面の方向におい
てより大きな誤差を引き起こす。対応する例を図7ない
し図9に示す。 2.表面/表面交差トラックにほぼ一致する曲線におい
て発生する矛盾。対応する例を図10に示す。
【0026】第1のクラスは3つのケースに細別するこ
とができる。 a)1つの曲線/表面交差点と1つの交差トラック(図7) b)2つの曲線/表面交差点と1つの交差トラック(図8) c)1つの曲線/表面交差点と2つの交差トラック(図
9)。
【0027】次に、ケースa)を図7に関して説明する。
説明を明確にするために、ブール演算を実行すべき幾何
図形対象面が省略され、そのような面が位置する表面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 β)。
【0028】距離dが分解能イプシロンより大きい場
合、もはや交差点33は交差トラックに割り当てられな
い。本発明の方法は、交差点33を矢印36の方向に、交差
トラック30と曲線31の間の最短距離点35に向かって移動
させることによって、この矛盾を除去する。新しい点35
と交差トラック30の間の距離は分解能イプシロンを超え
ていないので、この時、一貫性が確立されるように点35
が交差トラックに割り当てられうる。摂動された点35
は、図5に関して説明したように、ブール演算を実行す
るために判定される必要がある交差グラフの端点を形成
する。最初の交差点33を、摂動された位置35に移動する
ことによって、追加的に誤差が発生しても、この時、新
しい点35が交差トラック30に割り当てられうるので、全
体的な結果は摂動の前よりも依然好ましいものである。
【0029】図8は、上述のケースb)を示す。表面sf1
と円筒状表面sf2は相互に交差している。表面sf1は、数
値分解能イプシロン以下の距離だけ表面sf2を貫通して
いる。従って、図8から明らかになるように、数学的に
正確な状況では2本の交差線が存在すべき場合でも、交
差アルゴリズムは1つの交差トラック38しか返さない。
しかし、表面sf1上に位置する曲線37は、表面sf2との2
つの異なる交差点39、及び40をもたらす。これらの点
は、交差トラック38からイプシロンよりかなり多い距離
だけ離れており、従って、交差トラックに割り当てられ
ない。本発明の摂動方法は、交差トラック38からイプシ
ロン以下の距離しか離れていない単一の点41に集約され
るまで、点39を方向42に、点40を方向43に移動させるこ
とによって矛盾を除去する。従って、新しい点41が交差
トラック38に割り当てられ、それによって、必要とされ
る一貫性が確立される。
【0030】図9は、上述のケースc)を示す。この場
合、2つの表面sf1とsf2の間の交差は、2つの異なる交
差トラック44、及び45をもたらす。表面sf1上に位置す
る曲線46と表面sf2の間の交差は、数値分解能(イプシロ
ン)が限られているために、1つの点47しか生じない。
この矛盾を訂正するために、摂動方法は、単一の交差点
47を2つの点に分割し、この2つの点を曲線46に沿って
それぞれ矢印48、及び49の方向に、それぞれ、2つの交
差トラック44、及び45に対して最短の位置50、51に移動
させる。
【0031】図10は、曲線が表面/表面交差トラックに
ほぼ一致する、上述の第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はイプシロ
ンを超える距離だけ離れているので、両方の交差点を含
む頂点の作成は失敗し、交差グラフの計算は不可能とな
る。
【0032】表面/表面交差トラック53が以後の点i1、
及びi2で面54に入るようみなされ、それが不可能な状況
であるので、この摂動アルゴリズムは矛盾を検出する。
矛盾した状況において、交差トラックは、その交差トラ
ックが他の交差点、又は交差点のクラスタにおいて面に
入った後で、ある交差点(又は、イプシロン以下の距離
しか離れていない交差点のクラスタ)においてのみ、面
を離れることができる(例えば、図5を参照されたい)。
しかし、交差トラックが、連続する2つの点で面に入る
ことは不可能である。図10に示した矛盾を解決するため
に、この摂動アルゴリズムは、点i2を交差トラック53に
沿って点i1の位置に移動させ、i1とマージする。i2の移
動は、矢印55によって示されている。
【0033】以下では、図11、及び図12に示したフロー
チャートに関して本発明の方法を説明する。このフロー
チャートは、各対象から面を取り出し、それらを交差さ
せ、両方の面の交差部分である交差トラックの1部分か
らグラフ・エッジを生成する、ブール演算を実行する方
法を説明するものである。面/面交差の様々な組合せか
ら生成された全てのグラフ・エッジは全体として交差グ
ラフを形成する。この方法の第1の部分(「交差」)は実
質的に、図11に示したステップに対応し、第2の部分
(「グラフ・エッジ構成」)は実質的に、図12によるステ
ップに対応する。
【0034】交差:フローチャートのブロック61による
第1のステップで、第1の幾何図形対象、又は立体から
面「面1」を取り出し、第2の立体から面「面2」を取
り出す。こうした2つの立体の典型的な例を図2に示
す。説明を簡単にするために、この2つの面が、図5に
示した幾何学的構成に類似した幾何学的構成を有すると
仮定する。
【0035】ブロック62による次のステップで、面1が
位置する表面(「表面1」)を、面2が位置する表面
(「表面2」)と交差させる。ブロック63で、この2つの
表面の間に交差トラックが存在するかどうかを検査す
る。交差がない場合、このアルゴリズムは終了する。交
差がある場合、ブロック64に示したように、面1を表面
2と交差させる。ブロック65に示したように、面2のエ
ッジも表面1と交差させる。次いで、これらのエッジ/
表面交差から得られる交差点が、前のステップで見つか
った表面/表面交差トラックに関連付け(あるいは、「割
当て」)られなければならない。この割当てが必要とな
るのは、交差グラフg(図5参照)と境を接する定義ポイ
ントを見つけられるようにするためである。
【0036】この割当ては、交差トラックに関する点の
ユークリッド距離を使用して、ブロック66で実行され
る。点からの距離が分解能イプシロン以下であるトラッ
クが見つかった場合、その点は割当て済みとみなされ
る。
【0037】図6に示したような数値的に安定した幾何
学的構成では、全ての点が割り当てられる。このような
場合、アルゴリズムはただちにブロック73(図12)に進
む。図7、図8、及び図9に示したような接している状
態、又は殆ど接している状態の構成の場合、交差点が交
差トラックからイプシロンを超える距離だけ離れている
ので、割当ては失敗する。割当てが失敗した場合、割当
てられていない点を処理するループが実施される。この
ループは、ブロック68ないし72から成る。
【0038】この矛盾を解決するための第1の動作は、
その矛盾をもたらしたエッジを、ブロック62から得られ
た全ての表面/表面交差トラックと交差させることであ
る。見つかった交差点の数に応じて(ブロック69、又は7
1)、適当な摂動方法が適用される。ブロック69によって
1つの曲線/曲線交差点が見つかった場合、ブロック70
によって、その曲線/曲線交差点に、割当てられていな
い点が再配置(摂動)される。摂動後、アルゴリズムは次
の点の処理に戻る。
【0039】前述の処理ステップを図7、及び図8に示
す。図7で、点33は、交差トラック30からイプシロンを
超える距離だけ離れているので、割当てられていない。
従って、交差トラック30と曲線31の(分解能イプシロン
の範囲内の)交差に対応する点35に、点33が再配置され
る。図8では、点39、及び40は割当てられていない。従
って、曲線37と交差トラック38の(分解能イプシロンの
範囲内の)交差に対応する点41に、点39及、び点40が再
配置される。
【0040】ブロック71によって、複数の曲線/曲線交
差が見つかった場合、割当てられていない点がn回だけ
複写される。ここで、nは、見つかった曲線/曲線交差
点の数である。次いで、複写された各点が1つの曲線/
曲線交差点に再配置(摂動)される。この状況を図9に示
す。点47は、2つの交差トラック44、及び45からイプシ
ロンを超える距離だけ離れているので、割当てがなされ
ていない。次いで、点47が2つの点に分割され、それら
の点が、それぞれ曲線46と交差トラック44、及び45との
交差に対応する点50、及び点51に移動される。次いで、
ブロック67に従って、次の割当てられていない点が処理
される。
【0041】グラフ・エッジ構成:割当てられていない
エッジ/表面交差点を摂動した後、グラフ・エッジが作
成される。これを行うには、各表面/表面交差トラック
と、その交差トラックに割り当てられているエッジ/表
面交差点が取り出され、それらの点がパラメータの昇順
に順序付けられる(ブロック73)。現在の分解能(イプシ
ロン)で区別できない交差点が共通のクラスタに入れら
れる。クラスタは、それに属する点を、単一点のように
表す構造である。次いで、アルゴリズムは、表面/表面
交差トラックに沿って進み、クラスタを越えるたびに、
いわゆる面接近値を算出する。面接近値は記号値であ
り、交差トラックがそのクラスタで面に入ったか、面か
ら離れたか、あるいは面に接触したかを示すものであ
る。
【0042】ブロック74によって、第1の面接近値が各
交差トラックごとにUNKNOWNに初期設定される。次い
で、ブロック75で、クラスタに属していない(パラメー
タ順で)最下位に割当てられた点と、分解能イプシロン
より近い、前記点に続く全ての点から点クラスタが構成
される。次いで、ブロック76で、両方の面に関するその
点クラスタでの面接近値を決定する。同じ面に関して同
じ接近値が2度検出された場合(ブロック77)、図10のよ
うな幾何学的構成となる。図10では、2つの交差点i1と
i2が、エッジ2の交差が浅いために一致しない。接近値
が等しい時の幾何図形の解釈は、交差トラックが、その
トラック上の連続する点で、面に入り、あるいは面から
離れたということである。これは、ある面に入ったトラ
ックが、その面を離れない限り、再びその面に入ること
ができないので、矛盾した状況である。この矛盾を意味
のある状況にするには、図10中の点i2が頂点vxと同じク
ラスタに属するように、点i2を交差トラック53に沿って
点i1に再配置(摂動)する。このクラスタは次に、固有の
面接近値を生成する。
【0043】ブロック79における検査によって、交差ト
ラックに割り当てられた全ての点に関して、点クラスタ
の形成と矛盾の解決が確実に行われる。次に、ブロック
80によって、交差している面の交差部分にある、交差ト
ラックのセグメントからグラフ・エッジが構成される。
この結果は、図5に示したエッジgに類似のグラフ・エ
ッジである。
【0044】最後に、ブロック81によって、全ての表面
/表面交差トラックが確実に処理される。追加面が相互
に交差するブール演算を実行する必要がある場合、これ
らの面に対して上述の処理を繰り返し、追加のグラフ・
エッジを作成する。これらのグラフ・エッジ全てと、ブ
ール演算が実行されるべき最初の幾何図形対象の交差の
ない部分から、演算の結果が構成され、CADシステムの
表示手段上に表示されうる。
【0045】上記で示された例は、説明を容易にするた
めに簡略化されている。しかし、表面形状、及び曲線形
状がいかなる点においても制限されるものではないこと
が理解されよう。本発明の摂動方法は、CADシステムが
支援する全ての幾何図形に適用可能である。
【0046】以下に本発明の実施態様を列挙する。
【0047】1. CADシステムにおいて幾何図形対象
に関するブール演算を実行し、修正された幾何図形対象
を生成する方法であって、第1の幾何図形対象面と第2
の幾何図形対象面を交差させて、修正された幾何図形対
象のエッジを形成するグラフ・エッジを生成し、 a)交差点を作成するために、第1の幾何図形対象のエッ
ジを、第2の幾何図形対象面を含む表面と交差させるス
テップ、 b)交差トラックを作成するために、第1の幾何図形対象
面を含む表面を、第2の幾何図形対象面を含む表面と交
差させるステップ、 c)前記交差点と前記交差トラックの間の距離がそれぞ
れ、分解能の値(イプシロン)より小さいかどうかを判定
するステップ、及び、 d)ステップc)で判定された距離がそれぞれ、分解能の値
(イプシロン)より大きい場合、前記交差点の空間位置を
訂正するステップを含むことを特徴とする前記方法。
【0048】2. ステップd)が、前記交差点をそれぞ
れ、前記第1の幾何図形対象の前記エッジに沿って、前
記交差トラックへの距離が最小となる位置に移動させる
ステップを含むことを特徴とする、項番1に記載の方
法。
【0049】3. ステップd)が、前記エッジと前記交
差トラックの交差によって1つの交差点しか得られない
場合、前記エッジと、前記第2の幾何図形対象面を含む
前記表面との交差によって得られた2つの交差点を、単
一の訂正された交差点にマージするステップを含むこと
を特徴とする、項番1に記載の方法。
【0050】4. ステップd)が、前記エッジと前記交
差トラックの交差によってn個の交差点が得られた場
合、前記エッジと、前記第2の幾何図形対象面を含む前
記表面との交差によって得られる交差点を、訂正された
n個の交差点に分割するステップを含むことを特徴とす
る、項番1に記載の方法。
【0051】5. e)前記第1の前記対象面と前記交差
トラックの間の交差点が順序付けられ、 f)ステップe)で定義された順序で、交差トラックに沿っ
て進む際に、前記面が入れられるか、あるいは離される
かを記述する面接近値が、各交差点に関連付けられ、 g)交差点に関連する面接近値が、ステップe)で定義され
た順序で、前記交差点より前に発生する交差点に関連す
る面接近値と同じである場合、交差点の位置が訂正され
ることを特徴とする、項番1ないし4のいずれかに記載
の方法。
【0052】6. 相互の距離が分解能の値(イプシロ
ン)より短い複数の交差点が、単一交差点とみなされる
1クラスタに結合されることを特徴とする、項番5に記
載の方法。
【0053】7. CADシステムであって、前記システ
ムが、幾何図形対象を作成し、修正するためのコマン
ド、及びデータを入力し、特に、幾何図形対象に関する
ブール演算に関係するコマンドを入力する入力手段、前
記幾何図形対象を作成し、修正するための計算を実行す
る処理手段、前記幾何図形対象の表現を記憶し、対象の
作成、及び修正に関係する命令を記憶するメモリ手段、
及び、前記幾何図形対象を表示し、前記幾何図形対象に
関するブール演算の結果を表示する、表示手段を備え、
前記処理手段、及び前記メモリ手段が、項番1ないし6
のいずれかに記載の方法を実行するように動作すること
を特徴とするシステム。
【0054】
【発明の効果】本発明によって、幾何図形対象に関する
ブール演算を実行する方法と、高い信頼性を有する強力
なCADシステムが提供され、ブール演算が高速かつ数値
的に高い安定度で実行される。
【図面の簡単な説明】
【図1】本発明を組み込んだ3D CADシステムの構成要素
を概略的に示す図である。
【図2】CADシステムにおけるブール演算を示す図であ
る。
【図3】CADシステムにおける分解能を例示するための
例を示す図である。
【図4】分解能を例示するための他の例を示す図であ
る。
【図5】ブール演算を実行するための面の交差を示す図
である。
【図6】理想的な状況における異なる交差の相互の包含
を示す図である。
【図7】実際の状況における交差に関する第1の例と、
本発明によって、結果的に生じる誤差を訂正する方法を
示す図である。
【図8】本発明による誤差訂正を含む、実際の状況にお
ける交差に関する第2の例を示す図である。
【図9】本発明による誤差訂正を含む、実際の状況にお
ける交差に関する第3の例を示す図である。
【図10】本発明による誤差訂正を含む、実際の状況に
おける交差に関する第4の例を示す図である。
【図11】本発明の一実施例を記述するフローチャート
である。
【図12】本発明の一実施例を記述するフローチャート
である。
【符号の説明】
1 メイン・プロセッサ 2 グラフィック・プロセッサ 3 表示スクリーン 5 データ・メモリ 6 プログラム・メモリ 7 集線装置 8 キーボード 9 マウス 30,38,44,45,53 交差トラック 31,37,46 曲線 33,39,40,41,47,50,51,i1,i2 交差点 54,fa1,fa2 面 sf1,sf2 表面 g 交差グラフ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】CADシステムにおいて幾何図形対象に関す
    るブール演算を実行し、修正された幾何図形対象を生成
    する方法であって、第1の幾何図形対象面と第2の幾何
    図形対象面を交差させて、修正された幾何図形対象のエ
    ッジを形成するグラフ・エッジを生成し、 a)交差点を作成するために、第1の幾何図形対象のエッ
    ジを、第2の幾何図形対象面を含む表面と交差させるス
    テップ、 b)交差トラックを作成するために、第1の幾何図形対象
    面を含む表面を、第2の幾何図形対象面を含む表面と交
    差させるステップ、 c)前記交差点と前記交差トラックの間の距離がそれぞ
    れ、分解能の値(イプシロン)より小さいかどうかを判定
    するステップ、及び、 d)ステップc)で判定された距離がそれぞれ、分解能の値
    (イプシロン)より大きい場合、前記交差点の空間位置を
    訂正するステップを含むことを特徴とする前記方法。
JP09926595A 1994-04-28 1995-04-25 Cadシステムにおいて幾何図形対象に関するブール演算を実行するための方法 Expired - Lifetime JP3567015B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102293201B1 (ko) * 2020-11-20 2021-08-25 이마고웍스 주식회사 가상 브릿지 기반의 다중 집합 연산을 통한 디지털 덴티스트리용 3차원 모델 생성 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3137245B2 (ja) * 1991-10-30 2001-02-19 ソニー株式会社 自由曲線作成方法及び自由曲面作成方法

Cited By (1)

* Cited by examiner, † Cited by third party
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