JPH0566605B2 - - Google Patents
Info
- Publication number
- JPH0566605B2 JPH0566605B2 JP60055078A JP5507885A JPH0566605B2 JP H0566605 B2 JPH0566605 B2 JP H0566605B2 JP 60055078 A JP60055078 A JP 60055078A JP 5507885 A JP5507885 A JP 5507885A JP H0566605 B2 JPH0566605 B2 JP H0566605B2
- Authority
- JP
- Japan
- Prior art keywords
- shape
- data
- free
- expressed
- stored
- 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.)
- Expired - Fee Related
Links
- 239000013598 vector Substances 0.000 claims description 50
- 238000011156 evaluation Methods 0.000 claims description 29
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000003754 machining Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 45
- 238000000034 method Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 23
- 239000007787 solid Substances 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 7
- 238000000547 structure data Methods 0.000 description 7
- 238000011960 computer-aided design Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000013178 mathematical model Methods 0.000 description 4
- 101100261173 Arabidopsis thaliana TPS7 gene Proteins 0.000 description 2
- GLQOALGKMKUSBF-UHFFFAOYSA-N [amino(diphenyl)silyl]benzene Chemical compound C=1C=CC=CC=1[Si](C=1C=CC=CC=1)(N)C1=CC=CC=C1 GLQOALGKMKUSBF-UHFFFAOYSA-N 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000007261 regionalization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35012—Cad cam
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35151—Modeling geometric, generation or forming of curved surface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Description
【発明の詳細な説明】
(発明の技術分野)
この発明は、NC(数値制御)装置に対する工
具軌跡生成システムに関するものである。
具軌跡生成システムに関するものである。
(発明の技術的背景とその問題点)
従来のCAD(Computer Aided Densign)や
CAM(Computer Aided Manufacturing)シス
テムにおいて形状定義する場合、数式により表現
できる単純形状を組合せて表現する方法が通例で
あり、その組合せの方法としては論理演算(セツ
トオペレーシヨン)の原理を用いている。しか
し、金型形状の場合、全てを数式で表現できる形
状の組合せで定義することができない場合があ
る。実際には所望形状の一部に数式表現可能な形
状を用い、その他に点群により定義される自由曲
面を用いて両者の組合せにより表現する形状が多
い。しかし、自由曲面に対して従来のセツトオペ
レーシヨンが困難であつたため、数式表現による
形状と自由曲面による形状が混在する形状を処理
して加工データを生成する場合、それぞれの形状
に対して別個のアルゴリズムを用いて処理しなけ
ればならないのが現状である。
CAM(Computer Aided Manufacturing)シス
テムにおいて形状定義する場合、数式により表現
できる単純形状を組合せて表現する方法が通例で
あり、その組合せの方法としては論理演算(セツ
トオペレーシヨン)の原理を用いている。しか
し、金型形状の場合、全てを数式で表現できる形
状の組合せで定義することができない場合があ
る。実際には所望形状の一部に数式表現可能な形
状を用い、その他に点群により定義される自由曲
面を用いて両者の組合せにより表現する形状が多
い。しかし、自由曲面に対して従来のセツトオペ
レーシヨンが困難であつたため、数式表現による
形状と自由曲面による形状が混在する形状を処理
して加工データを生成する場合、それぞれの形状
に対して別個のアルゴリズムを用いて処理しなけ
ればならないのが現状である。
金型等の形状加工を、NC(Numerical
Control)加工を主体とするCAD/CAMの概念
を用いて実現しようとする場合、加工オペレータ
が加工現場における迅速な工具経路の変更等のオ
ペレータのノウハウを十分反映できるような機能
を持たせることが重要になる。この点を考慮して
形状加工システムを考えた場合、以下に示すよう
な要求〜を満たす必要がある。
Control)加工を主体とするCAD/CAMの概念
を用いて実現しようとする場合、加工オペレータ
が加工現場における迅速な工具経路の変更等のオ
ペレータのノウハウを十分反映できるような機能
を持たせることが重要になる。この点を考慮して
形状加工システムを考えた場合、以下に示すよう
な要求〜を満たす必要がある。
形状定義機能と工具経路生成機能とが完全に
分離されていること リアルタイムで工具経路の自動生成が可能で
あること 数式形状と自由曲面形状を同一プロセツサで
処理可能なこと それらの組合せのセツトオペレーシヨンが可
能なこと CADシステムとの結合が容易なこと システムソフトウエアがコンパクトであるこ
と 形状モデリング主体に開発されてきたCADの
機能を拡張することを目的として、自由曲面式を
モデリングに取入れる研究が現在進められてお
り、一般的には自由曲面のデータ構造を判断し
て、自由曲面をB−Reps(Boundary
Representation)として認識することにより処
理の統一を計つている。しかしながら、B−
Repsの場合、CSG(Constructive Solid
Geometry)に比べデータ構造が複雑であり、ま
た処理が繁雑となるため、CAMの機能としてセ
ツトオペレーシヨンを実現しようとすると、前述
の要求仕様を満たすのは困難となる。形状モデ
リングは3次元物体の数学モデルをコンピユータ
内部に構築し、それを要求された問題に適する形
に加工し、外部表現することである。したがつ
て、先ず数学モデルが作成されていなければなら
ず、数学モデルの作成としては上述のCSG又は
B−Repsの2つの手法が主に存在している。結
果的には、CSGに基づくモデルは曲面によつて
2つに分割された3次元空間の片側、すなわち半
空間領域の集まりによつて、3次元空間内に閉じ
た点集合領域を3次元物体形状モデルとして作り
出すものであり、B−Repsは物体の点、辺、曲
面等のトポロジ−関係とトポロジ−関係の要素で
ある頂点、辺、曲線の幾何形状情報を与え、3次
元空間内に閉じた2次元マニフオールドを創成し
て3次元物体の形状モデルとするものである。ま
た、実際の形状加工を考慮し、Z軸方向に1価以
上の形状(オーバーハングした形状等)は処理し
ないと仮定し、形状の存在する領域を境界曲面か
らZ軸一方向に固定すれば、第1図に示すよう
に、基本形状A,B毎のZ軸を比較することでセ
ツトオペレーシヨンは実現できる。すなわち、論
理和の場合はZ値の最大値を選択し、論理積の場
合は最小値を選択することで所望の形状を得るこ
とができる。しかしながら、上述の仮定に反する
ような形状の処理は困難であり、厳密な意味でセ
ツトオペレーシヨンを表現しているとは言えな
い。これに対してCSGの場合、データ構造が簡
潔であり、処理方法から判断して高速処理が可能
と考えられる。
分離されていること リアルタイムで工具経路の自動生成が可能で
あること 数式形状と自由曲面形状を同一プロセツサで
処理可能なこと それらの組合せのセツトオペレーシヨンが可
能なこと CADシステムとの結合が容易なこと システムソフトウエアがコンパクトであるこ
と 形状モデリング主体に開発されてきたCADの
機能を拡張することを目的として、自由曲面式を
モデリングに取入れる研究が現在進められてお
り、一般的には自由曲面のデータ構造を判断し
て、自由曲面をB−Reps(Boundary
Representation)として認識することにより処
理の統一を計つている。しかしながら、B−
Repsの場合、CSG(Constructive Solid
Geometry)に比べデータ構造が複雑であり、ま
た処理が繁雑となるため、CAMの機能としてセ
ツトオペレーシヨンを実現しようとすると、前述
の要求仕様を満たすのは困難となる。形状モデ
リングは3次元物体の数学モデルをコンピユータ
内部に構築し、それを要求された問題に適する形
に加工し、外部表現することである。したがつ
て、先ず数学モデルが作成されていなければなら
ず、数学モデルの作成としては上述のCSG又は
B−Repsの2つの手法が主に存在している。結
果的には、CSGに基づくモデルは曲面によつて
2つに分割された3次元空間の片側、すなわち半
空間領域の集まりによつて、3次元空間内に閉じ
た点集合領域を3次元物体形状モデルとして作り
出すものであり、B−Repsは物体の点、辺、曲
面等のトポロジ−関係とトポロジ−関係の要素で
ある頂点、辺、曲線の幾何形状情報を与え、3次
元空間内に閉じた2次元マニフオールドを創成し
て3次元物体の形状モデルとするものである。ま
た、実際の形状加工を考慮し、Z軸方向に1価以
上の形状(オーバーハングした形状等)は処理し
ないと仮定し、形状の存在する領域を境界曲面か
らZ軸一方向に固定すれば、第1図に示すよう
に、基本形状A,B毎のZ軸を比較することでセ
ツトオペレーシヨンは実現できる。すなわち、論
理和の場合はZ値の最大値を選択し、論理積の場
合は最小値を選択することで所望の形状を得るこ
とができる。しかしながら、上述の仮定に反する
ような形状の処理は困難であり、厳密な意味でセ
ツトオペレーシヨンを表現しているとは言えな
い。これに対してCSGの場合、データ構造が簡
潔であり、処理方法から判断して高速処理が可能
と考えられる。
ここに、自由曲面とは曲面形状を数式化できな
い曲面、たとえばF(x、y、z)=0のような式
で表現できない曲面である。このため曲面は第2
図に示すように、点群2をデータ構造に持ち、点
群2の点と点の間はたとえばCoons式やBezier式
で補間することで曲面1を詳細に表現できる。さ
らに、自由曲面は複雑な形状を有するので、補間
曲面式は全てパラメータ表示された式となる。つ
まり、第3図に示すように曲面1の詳細表現はパ
ラメータ空間(uv座標系)で補間したパラメー
タを用い、XYZ座標系の実空間への補間を行な
う。このことは曲面1がパラメータ空間により表
現されることを意味し、実空間内だけでは曲面の
存在を認識することは不可能である。このような
曲面をCADやCAMの一要素として加えた場合、
球形状や平面のような数式面等の他の要素との関
係を調べなければならないが、これは明らかに実
空間での解析であり、上記問題点のために非常に
困難で、自由曲面取扱い上の欠点となつていた。
い曲面、たとえばF(x、y、z)=0のような式
で表現できない曲面である。このため曲面は第2
図に示すように、点群2をデータ構造に持ち、点
群2の点と点の間はたとえばCoons式やBezier式
で補間することで曲面1を詳細に表現できる。さ
らに、自由曲面は複雑な形状を有するので、補間
曲面式は全てパラメータ表示された式となる。つ
まり、第3図に示すように曲面1の詳細表現はパ
ラメータ空間(uv座標系)で補間したパラメー
タを用い、XYZ座標系の実空間への補間を行な
う。このことは曲面1がパラメータ空間により表
現されることを意味し、実空間内だけでは曲面の
存在を認識することは不可能である。このような
曲面をCADやCAMの一要素として加えた場合、
球形状や平面のような数式面等の他の要素との関
係を調べなければならないが、これは明らかに実
空間での解析であり、上記問題点のために非常に
困難で、自由曲面取扱い上の欠点となつていた。
第3図はまた、実空間に存在する曲面1をパラ
メータ空間に写像した図を示しており、曲面1の
各境界線(辺)はパラメータ空間上の曲面領域を
示す矩形領域3の各境界線に対応している。この
ことが、以下に示す現象を起すのである。すなわ
ち、第4図に示すようにパラメータ空間上で直線
的な補間をしても曲面上で歪んでしまう。この補
間を工具軌跡とすると、実空間においてAとBに
示す工具のピツチ(ピツクフイード)が一定とな
らず、ある所では広く、またある所では狭くな
り、この現象が加工効率に大きく影響してしま
う。次に加工の工程を考えると、第5図に示すよ
うに特定の領域A′を指定してその部分だけの部
分加工が当然考えられる。しかし、その領域指定
の際も実空間A′とパラメータ空間A″との対応が
困難である。加工領域A′は実空間で指定するが、
それに対してパラメータ空間での対応付けA″が
不可能(解析的)である。さらに、第6図に示す
ように曲面が極端に曲つている場合、従来のパラ
メータ補間を行なうと左図に示すような工具軌跡
TTを発生する。しかし、加工の際は右図に示す
ような工具軌跡生成TT′の要求もあり、このよう
な工具軌跡は従来のパラメータ補間では不可能で
ある。
メータ空間に写像した図を示しており、曲面1の
各境界線(辺)はパラメータ空間上の曲面領域を
示す矩形領域3の各境界線に対応している。この
ことが、以下に示す現象を起すのである。すなわ
ち、第4図に示すようにパラメータ空間上で直線
的な補間をしても曲面上で歪んでしまう。この補
間を工具軌跡とすると、実空間においてAとBに
示す工具のピツチ(ピツクフイード)が一定とな
らず、ある所では広く、またある所では狭くな
り、この現象が加工効率に大きく影響してしま
う。次に加工の工程を考えると、第5図に示すよ
うに特定の領域A′を指定してその部分だけの部
分加工が当然考えられる。しかし、その領域指定
の際も実空間A′とパラメータ空間A″との対応が
困難である。加工領域A′は実空間で指定するが、
それに対してパラメータ空間での対応付けA″が
不可能(解析的)である。さらに、第6図に示す
ように曲面が極端に曲つている場合、従来のパラ
メータ補間を行なうと左図に示すような工具軌跡
TTを発生する。しかし、加工の際は右図に示す
ような工具軌跡生成TT′の要求もあり、このよう
な工具軌跡は従来のパラメータ補間では不可能で
ある。
次に、B−Repsによる従来のシステム例を第
7図に示して説明する。
7図に示して説明する。
たとえば第8図に示すような立体形状200を
想定した場合、形状データ入力装置10で入力さ
れた形状データは所定の演算処理で第9図に示す
ような立体を構成する境界要素201〜209に
分解されると共に、各要素の連結関係を示す物体
構造データ21と、各要素の頂点座標、辺の方程
式、面の方程式を示す数式化形状データ22とに
分離されて整理される。立体形状200が自由曲
面を有する場合は、前述したような点群と補間曲
面で表わせる自由曲面データ23を有するが、B
−Repsの自由曲面データ23は必らず交線デー
タを含んでいるものでなければならない。このよ
うにして求められた形状データ20は、工具半
径、工具送り方向、切削速度、加工領域等の加工
情報31と共に、数式化形状処理部30に入力さ
れてデータポインタの追跡処理が行なわれる。つ
まり、B−Repsでは形状要素の境界情報を有し
ているので、この境界をドツト情報で追跡して行
けば、CRT等の表示装置で画面表示処理101
したり、NC加工のための工具軌跡を生成102
したりすることができる。このようなB−Reps
では立体形状等の境界の関数に分解しているの
で、形状データの数が多くなつてしまうと共に、
幾何学的に存在し得ないような形状を定義してし
まつたり、形状要素の入力ミスによつて立体では
あり得ない形状を入力してしまうといつた欠点が
ある。
想定した場合、形状データ入力装置10で入力さ
れた形状データは所定の演算処理で第9図に示す
ような立体を構成する境界要素201〜209に
分解されると共に、各要素の連結関係を示す物体
構造データ21と、各要素の頂点座標、辺の方程
式、面の方程式を示す数式化形状データ22とに
分離されて整理される。立体形状200が自由曲
面を有する場合は、前述したような点群と補間曲
面で表わせる自由曲面データ23を有するが、B
−Repsの自由曲面データ23は必らず交線デー
タを含んでいるものでなければならない。このよ
うにして求められた形状データ20は、工具半
径、工具送り方向、切削速度、加工領域等の加工
情報31と共に、数式化形状処理部30に入力さ
れてデータポインタの追跡処理が行なわれる。つ
まり、B−Repsでは形状要素の境界情報を有し
ているので、この境界をドツト情報で追跡して行
けば、CRT等の表示装置で画面表示処理101
したり、NC加工のための工具軌跡を生成102
したりすることができる。このようなB−Reps
では立体形状等の境界の関数に分解しているの
で、形状データの数が多くなつてしまうと共に、
幾何学的に存在し得ないような形状を定義してし
まつたり、形状要素の入力ミスによつて立体では
あり得ない形状を入力してしまうといつた欠点が
ある。
一方、CSGによる従来のシステム例は第10
図に示すような構成となつており、形状データ入
力装置10から入力された形状データは物体構造
データ21及び数式化形状データ22に分離さ
れ、これらデータは境界を示す面の情報を含んで
いる。したがつて、第8図の立体形状は第11図
の形状要素(プリミテイブ)210〜212に分
解され、プリミテイブ211及び212を加算し
た形状からプリミテイブ210を減算すれば立体
形状200となる。このように、CSGシステム
では境界を示す関数情報が必要であることから、
従来のCSGでは自由曲面データを取扱うことが
できず、形状データ20にも含まれていない。形
状データ20は形状抽出処理部40に送られ、表
示や工具軌跡生成等のアプリケーシヨン対応の処
理43に応じた空間情報SPを入力して立体の全
体形状情報TSを生成する。すなわち、数式化形
状データ22と空間情報SPは数式化形状処理4
1で合成され、合成された数式化形状SSPが物体
構造データ21と共にセツトオペレーシヨン42
されることによつて全体形状情報TSが生成され
る。この全体形状情報TSが画面表示処理101
されたり、NC工具の軌跡を生成102したりす
ると共に、これらアプリケーシヨン対応の処理を
示すアプリケーシヨン情報S1,S2が出力さ
れ、アプリケーシヨン対応の処理43で空間情報
SPに変換される。このように、従来のCSGでは
恵贈データ20として自由曲面を取扱つていない
ので、自由曲面を含んだ形状に対してNC工具軌
跡の生成を行ない得ない欠点がある。
図に示すような構成となつており、形状データ入
力装置10から入力された形状データは物体構造
データ21及び数式化形状データ22に分離さ
れ、これらデータは境界を示す面の情報を含んで
いる。したがつて、第8図の立体形状は第11図
の形状要素(プリミテイブ)210〜212に分
解され、プリミテイブ211及び212を加算し
た形状からプリミテイブ210を減算すれば立体
形状200となる。このように、CSGシステム
では境界を示す関数情報が必要であることから、
従来のCSGでは自由曲面データを取扱うことが
できず、形状データ20にも含まれていない。形
状データ20は形状抽出処理部40に送られ、表
示や工具軌跡生成等のアプリケーシヨン対応の処
理43に応じた空間情報SPを入力して立体の全
体形状情報TSを生成する。すなわち、数式化形
状データ22と空間情報SPは数式化形状処理4
1で合成され、合成された数式化形状SSPが物体
構造データ21と共にセツトオペレーシヨン42
されることによつて全体形状情報TSが生成され
る。この全体形状情報TSが画面表示処理101
されたり、NC工具の軌跡を生成102したりす
ると共に、これらアプリケーシヨン対応の処理を
示すアプリケーシヨン情報S1,S2が出力さ
れ、アプリケーシヨン対応の処理43で空間情報
SPに変換される。このように、従来のCSGでは
恵贈データ20として自由曲面を取扱つていない
ので、自由曲面を含んだ形状に対してNC工具軌
跡の生成を行ない得ない欠点がある。
また、CSGによつてたとえば第12図の斜線
形状を形状データ20で表現する場合、物体構造
データ21はP=B−A+C−Dで表わされ、数
式化形状データ22は第13図のように記述され
る。ここに、円の数式化形状データは中心点座標
と半径で表わされ、長方形は長辺及び短辺の長さ
で表現され、形状によつてそのデータ長が異な
る。このため、形状データの数式化形状データを
記憶するメモリエリアは、予想される形状の最長
メモリエリアMAを準備しておく必要があり、最
長メモリエリアMAよりもデータ量が少ない形状
が入力された場合には、空となつているブランク
エリアBMが生じてしまう。
形状を形状データ20で表現する場合、物体構造
データ21はP=B−A+C−Dで表わされ、数
式化形状データ22は第13図のように記述され
る。ここに、円の数式化形状データは中心点座標
と半径で表わされ、長方形は長辺及び短辺の長さ
で表現され、形状によつてそのデータ長が異な
る。このため、形状データの数式化形状データを
記憶するメモリエリアは、予想される形状の最長
メモリエリアMAを準備しておく必要があり、最
長メモリエリアMAよりもデータ量が少ない形状
が入力された場合には、空となつているブランク
エリアBMが生じてしまう。
ここにおいて、工具軌跡生成システムでNC工
具径路を発生させるために必要なデータは、一般
に被加工物の形状データである。この形状データ
は数式化表現可能なもの(たとえば球)から、自
動車のボデイ等に見られる数式化不可なもの(た
とえば自由曲面)まで巾広く存在する。従来のシ
ステムでは、主に数式化表現可能なものについて
取扱えるシステム、または数式化不可能(自由曲
面)なものを主に取扱うシステムというように、
別途にシステムを構成しなければならなかつた。
加工したい形状は、特に金型加工においては、数
式化可能な形状と自由曲面とが複雑に組合わさつ
たものもある。このような複雑な形状は、数式化
可能な形状と自由曲面とのセツトオペレーシヨン
を行なわなければ表現できず、従来の各々の形状
を別途に取扱うシステムでは、両者のセツトオペ
レーシヨンを実現できるものではなく、非常に複
雑な形状に対して表現不可能になり、そのために
工具軌跡を生成できなかつた。
具径路を発生させるために必要なデータは、一般
に被加工物の形状データである。この形状データ
は数式化表現可能なもの(たとえば球)から、自
動車のボデイ等に見られる数式化不可なもの(た
とえば自由曲面)まで巾広く存在する。従来のシ
ステムでは、主に数式化表現可能なものについて
取扱えるシステム、または数式化不可能(自由曲
面)なものを主に取扱うシステムというように、
別途にシステムを構成しなければならなかつた。
加工したい形状は、特に金型加工においては、数
式化可能な形状と自由曲面とが複雑に組合わさつ
たものもある。このような複雑な形状は、数式化
可能な形状と自由曲面とのセツトオペレーシヨン
を行なわなければ表現できず、従来の各々の形状
を別途に取扱うシステムでは、両者のセツトオペ
レーシヨンを実現できるものではなく、非常に複
雑な形状に対して表現不可能になり、そのために
工具軌跡を生成できなかつた。
(発明の目的)
この発明は上述のような事情からなされたもの
であり、この発明の目的は、CSG方式の利点を
生かしつつ、自由曲面に対しても実空間上で評価
を行なつたと同等の効果を得るようなNC工具軌
跡の生成システムを提供することにある。
であり、この発明の目的は、CSG方式の利点を
生かしつつ、自由曲面に対しても実空間上で評価
を行なつたと同等の効果を得るようなNC工具軌
跡の生成システムを提供することにある。
(発明の概要)
この発明は、NC装置に対して工具軌跡データ
を生成して与えるNC工具軌跡生成システムに関
するもので、NC加工形状データを判別すること
によつて数式化形状データ、自由曲面又はオペレ
ーシヨンコードに振分け、数式化形状データに関
しては数式化形状法線ベクトル演算を行なつて結
果をスタツクへストアし、自由曲面データに関し
ては自由曲面点群データで曲面法線ベクトル演算
を行なつて結果を前記スタツクへストアし、オペ
レーシヨンコードに関しては前記スタツクにスト
アされた結果に対してセツトオペレーシヨンを行
なつて全体形状情報を生成し、前記全体形状情報
に対する距離が0となる位置を、評価関数の極性
を面法線と評価ベクトルの開き角により決定する
ことによつて追跡するようにして前記NC装置の
工具径路を生成するようにしたものである。
を生成して与えるNC工具軌跡生成システムに関
するもので、NC加工形状データを判別すること
によつて数式化形状データ、自由曲面又はオペレ
ーシヨンコードに振分け、数式化形状データに関
しては数式化形状法線ベクトル演算を行なつて結
果をスタツクへストアし、自由曲面データに関し
ては自由曲面点群データで曲面法線ベクトル演算
を行なつて結果を前記スタツクへストアし、オペ
レーシヨンコードに関しては前記スタツクにスト
アされた結果に対してセツトオペレーシヨンを行
なつて全体形状情報を生成し、前記全体形状情報
に対する距離が0となる位置を、評価関数の極性
を面法線と評価ベクトルの開き角により決定する
ことによつて追跡するようにして前記NC装置の
工具径路を生成するようにしたものである。
(発明の実施例)
第14図はこの発明を実現するシステム例を第
10図に対応させて示すもので、CSGによる形
状データ20としては境界を示す面の関数情報が
用いられ、自由曲面データ23は境界データを含
んでいない。そして、自由曲面データ23は形状
抽出処理部40内でアプリケーシヨン対応の処理
44からの空間情報と共に処理され、更に数式化
形状処理41の情報と共に形状情報スタツクエリ
ア46に格納される。このスタツクエリア46に
は全てのプリミテイブの情報が格納される。格納
されたプリミテイブは物体構造データ21を基に
セツトオペレーシヨン42され、全体形状情報
TSを得るようになつている。形状入力の方法は
人間が直感的に理解し易く、しかも表現能力の豊
かなものが望まれ、ここではプリミテイブによる
入力とセツトオペレーシヨンの組合せを用いてい
る。複雑な形状は段階を追つて作られていくた
め、形状の変形や付加、削除などの変更操作も形
状を構築する上で大きな役割を演じている。プリ
ミテイブによる入力は、直方体、円柱等の単純な
図形を基本形状として登録しておき、これを必要
に応じて取り出す方法である。また、セツトオペ
レーシヨンはBoolean Operationとも呼ばれ、プ
リミテイブや掃引などによつて既に定義された2
つの形状の空間領域に対して集合演算を行なうも
のである。一般に和、差、積の3種の演算が用い
られ、差の代わりに反転(Negative)を用いる
場合もある。このような集合演算を繰り返して適
用することにより、複雑な形状を得ることができ
る。
10図に対応させて示すもので、CSGによる形
状データ20としては境界を示す面の関数情報が
用いられ、自由曲面データ23は境界データを含
んでいない。そして、自由曲面データ23は形状
抽出処理部40内でアプリケーシヨン対応の処理
44からの空間情報と共に処理され、更に数式化
形状処理41の情報と共に形状情報スタツクエリ
ア46に格納される。このスタツクエリア46に
は全てのプリミテイブの情報が格納される。格納
されたプリミテイブは物体構造データ21を基に
セツトオペレーシヨン42され、全体形状情報
TSを得るようになつている。形状入力の方法は
人間が直感的に理解し易く、しかも表現能力の豊
かなものが望まれ、ここではプリミテイブによる
入力とセツトオペレーシヨンの組合せを用いてい
る。複雑な形状は段階を追つて作られていくた
め、形状の変形や付加、削除などの変更操作も形
状を構築する上で大きな役割を演じている。プリ
ミテイブによる入力は、直方体、円柱等の単純な
図形を基本形状として登録しておき、これを必要
に応じて取り出す方法である。また、セツトオペ
レーシヨンはBoolean Operationとも呼ばれ、プ
リミテイブや掃引などによつて既に定義された2
つの形状の空間領域に対して集合演算を行なうも
のである。一般に和、差、積の3種の演算が用い
られ、差の代わりに反転(Negative)を用いる
場合もある。このような集合演算を繰り返して適
用することにより、複雑な形状を得ることができ
る。
ここにおいて、形状データを物体構造データ2
1と数式化形状データ22に分けて前述では2次
元の形状について説明したが、球の数式化形状デ
ータは中心座標と半径で表わされ、直方体は第1
5図Aに示すように1つの面を規定する3個の点
CB1〜CB3と、この面に直交する幅Wとで表わ
される。また、円柱は底面円の中心及び半径と、
軸方向の単位ベクトル及び高さとで表現され、円
錐は第15図Bに示すように底面円の中心CP1
及び半径rと、軸方向の単位ベクトルN→及び高さ
Hと、斜面の傾斜角θとで表わされ、自由曲面は
第2図に示すようにuv方向の境界線上の点線2
の数で表わされる。このような立体形状を考慮す
ると、形状データ記憶部のメモリ容量の冗長度が
更に大きくなる。このため、逆ポーランド記法で
記述した形状データをメモリに順番に記憶するよ
うにし、必要メモリ容量に無駄を生じないように
している。すなわち、ここでは形状データのスト
ア部の物体構造データと数式化形状データに分け
ることなく、第16図に示すように逆ポーランド
記述された1つの形状データ24に整理し、形状
抽出処理部40で数式化形状データ41、オペレ
ーシヨンコード42A又は自由曲面45かの判断
をし、後述する方法で形状情報スタツクエリア4
6Aにストアし、この形状情報スタツクエリア4
6Aから全体形状情報TSを出力する。逆ポーラ
ンド記述された形状データ24は、たとえば第1
2図に示すような形状の場合には第17図の24
で示すフオーマツトとなり、“B”、“A”“C”及
び“D”に数式化形状データが記述されている。
このような逆ポーランド記述された形状データ2
4は、第17図で示すような入力(P=B−A+
C−D)11に対しで、一般的なコンピユータソ
フトウエア処理であるコンパイラ処理12を施し
て、逆ポーランド記述された形状データ24を得
る。このような記憶方式を用いれば、形状データ
メモリエリアMAの先頭から順番にストアされ
る。メモリエリアMAの範囲内で形状データを順
番に入力・記憶することができる。
1と数式化形状データ22に分けて前述では2次
元の形状について説明したが、球の数式化形状デ
ータは中心座標と半径で表わされ、直方体は第1
5図Aに示すように1つの面を規定する3個の点
CB1〜CB3と、この面に直交する幅Wとで表わ
される。また、円柱は底面円の中心及び半径と、
軸方向の単位ベクトル及び高さとで表現され、円
錐は第15図Bに示すように底面円の中心CP1
及び半径rと、軸方向の単位ベクトルN→及び高さ
Hと、斜面の傾斜角θとで表わされ、自由曲面は
第2図に示すようにuv方向の境界線上の点線2
の数で表わされる。このような立体形状を考慮す
ると、形状データ記憶部のメモリ容量の冗長度が
更に大きくなる。このため、逆ポーランド記法で
記述した形状データをメモリに順番に記憶するよ
うにし、必要メモリ容量に無駄を生じないように
している。すなわち、ここでは形状データのスト
ア部の物体構造データと数式化形状データに分け
ることなく、第16図に示すように逆ポーランド
記述された1つの形状データ24に整理し、形状
抽出処理部40で数式化形状データ41、オペレ
ーシヨンコード42A又は自由曲面45かの判断
をし、後述する方法で形状情報スタツクエリア4
6Aにストアし、この形状情報スタツクエリア4
6Aから全体形状情報TSを出力する。逆ポーラ
ンド記述された形状データ24は、たとえば第1
2図に示すような形状の場合には第17図の24
で示すフオーマツトとなり、“B”、“A”“C”及
び“D”に数式化形状データが記述されている。
このような逆ポーランド記述された形状データ2
4は、第17図で示すような入力(P=B−A+
C−D)11に対しで、一般的なコンピユータソ
フトウエア処理であるコンパイラ処理12を施し
て、逆ポーランド記述された形状データ24を得
る。このような記憶方式を用いれば、形状データ
メモリエリアMAの先頭から順番にストアされ
る。メモリエリアMAの範囲内で形状データを順
番に入力・記憶することができる。
第17図はこの発明によるNC工具軌跡生成の
詳細を示すものであり、形状データ演算処理判定
部401に入力され、自由曲面の点群データ23
は曲面法線ベクトル生成部404に入力される。
演算処理判定部401で判定されたオペレーシヨ
ンコードDT1はセツトオペレータ402に入力
され、スタツク405内にストアされた情報とで
セツトオペレーシヨンされ、数式化情報データ
DT2は数式化情報法線ベクトル生成部403に
入力され、数式化形状法線ベクトルVR1を生成
してスタツク405にストアされる。また、演算
処理判定部401で判定された自由曲面の構造形
状データDT3は曲面法線ベクトル生成部404
に入力され、点群データ23と共に曲面法線ベク
トルVR2が生成されてスタツク405にストア
される。スタツク405にストアされた情報は形
状法線ベクトルVR3として境界評価部406に
入力され、後述の手法で形状との距離DT4を求
めて演算処理部401に入力し、距離DT4が0
となるようにして工具軌跡TPSを出力する。
詳細を示すものであり、形状データ演算処理判定
部401に入力され、自由曲面の点群データ23
は曲面法線ベクトル生成部404に入力される。
演算処理判定部401で判定されたオペレーシヨ
ンコードDT1はセツトオペレータ402に入力
され、スタツク405内にストアされた情報とで
セツトオペレーシヨンされ、数式化情報データ
DT2は数式化情報法線ベクトル生成部403に
入力され、数式化形状法線ベクトルVR1を生成
してスタツク405にストアされる。また、演算
処理判定部401で判定された自由曲面の構造形
状データDT3は曲面法線ベクトル生成部404
に入力され、点群データ23と共に曲面法線ベク
トルVR2が生成されてスタツク405にストア
される。スタツク405にストアされた情報は形
状法線ベクトルVR3として境界評価部406に
入力され、後述の手法で形状との距離DT4を求
めて演算処理部401に入力し、距離DT4が0
となるようにして工具軌跡TPSを出力する。
第18図はコンパイラ処理12で一括して逆ポ
ーランド記述された形状データ24を得る例であ
るが、第19図に示すフローに従つてシーケンシ
ヤルに形状データ24を得ることもできる。先ず
入力される形状がPであることを示す“P”をメ
モリにストアし(ステツプS1)、形状Bの数式化
形状データを入力すると(ステツプS2)、コンピ
ユータの内部処理に適したフオーマツトにデータ
変換され(ステツプS3)、メモリにストアされる
(ステツプS4)。次に、オペレーシヨンコード
(−)が入力され(ステツプS5)、形状Aの数式
化形状データが入力されてデータ変換された後に
結果がメモリにストアされる(ステツプS6〜
S8)。その後にオペレーシヨンコード(−)がメ
モリにストアされ(ステツプS9)、次にオペレー
シヨンコード(+)が入力され(ステツプS10)、
更に形状Cの数式化形状データが入力され(ステ
ツプS11)、同様にデータ変換されて結果がメモ
リにストアされる(ステツプS12、S13)。オペレ
ーシヨンコード(+)がメモリにストアされ(ス
テツプS14)、オペレーシヨンコード(−)が入
力され(ステツプS15)、形状Dの数式化形状デ
ータ入力され(ステツプS16)、データ変換され
た後に結果がメモリにストアされ、オペレーシヨ
ンコード(−)が入力されて“=”が入力される
(ステツプS17〜S20)と、第18図で示すような
形状データ24が生成されて形状データ入力用の
メモリに記憶される。
ーランド記述された形状データ24を得る例であ
るが、第19図に示すフローに従つてシーケンシ
ヤルに形状データ24を得ることもできる。先ず
入力される形状がPであることを示す“P”をメ
モリにストアし(ステツプS1)、形状Bの数式化
形状データを入力すると(ステツプS2)、コンピ
ユータの内部処理に適したフオーマツトにデータ
変換され(ステツプS3)、メモリにストアされる
(ステツプS4)。次に、オペレーシヨンコード
(−)が入力され(ステツプS5)、形状Aの数式
化形状データが入力されてデータ変換された後に
結果がメモリにストアされる(ステツプS6〜
S8)。その後にオペレーシヨンコード(−)がメ
モリにストアされ(ステツプS9)、次にオペレー
シヨンコード(+)が入力され(ステツプS10)、
更に形状Cの数式化形状データが入力され(ステ
ツプS11)、同様にデータ変換されて結果がメモ
リにストアされる(ステツプS12、S13)。オペレ
ーシヨンコード(+)がメモリにストアされ(ス
テツプS14)、オペレーシヨンコード(−)が入
力され(ステツプS15)、形状Dの数式化形状デ
ータ入力され(ステツプS16)、データ変換され
た後に結果がメモリにストアされ、オペレーシヨ
ンコード(−)が入力されて“=”が入力される
(ステツプS17〜S20)と、第18図で示すような
形状データ24が生成されて形状データ入力用の
メモリに記憶される。
上述のようにしてメモリに記憶された逆ポーラ
ンド記述された形状データ24を、形状抽出処理
部40で処理して形状情報スタツクエリア46A
に全体形状情報TSを格納する。第20図はその
様子を示すものであり、形状データ24の先頭番
地から順番に情報が転送され、数式化形状データ
41、オペレーシヨンコード42A又は自由曲面
45の判別がされると共に、形状情報スタツクエ
リア46Aは3つのエリアAR1〜AR3に分か
れている。先ず、形状Pであることを示す情報が
転送されると、これが判別されてエリアAR1に
ストアされ(状態ST1)、次に数式化形状データ
Bが転送されてエリアAR2にストアされる(状
態ST2)。その後に次の数式化形状データAが転
送されてエリアAR3にストアされ(状態ST3)、
オペレーシヨンコード(−)が転送されることに
よりエリアAR2で(B−A)が演算され、その
結果S1がエリアAR2にストアされる(状態
ST4)。次の数式化形状データCが転送されると
状態ST5のようにエリアAR3にストアされ、次
にオペレーシヨンコード(+)が転送されること
により、エリアAR2の結果S1とエリアAR3の
数式化形状データCとが加算され、その結果
(S1+C)がエリアAR2にストアされる(状態
ST6)。その後、数式化形状データDが転送され
てエリアAR3にストアされ(状態ST7)、オペ
レーシヨンコード(−)が転送されることによつ
て(S2−D)が演算されてエリアAR2にストア
され(状態ST8)、“=”が転送されると状態ST9
のようにエリアAR1に(S2−D)、つまりP=
B−A+C−Dがストアされる。これにより形状
情報スタツクエリア46Aに、入力された形状デ
ータPの全体形状情報が格納されたことになる。
したがつて、形状情報スタツクエリア46Aのメ
モリ容量も少なく済む。
ンド記述された形状データ24を、形状抽出処理
部40で処理して形状情報スタツクエリア46A
に全体形状情報TSを格納する。第20図はその
様子を示すものであり、形状データ24の先頭番
地から順番に情報が転送され、数式化形状データ
41、オペレーシヨンコード42A又は自由曲面
45の判別がされると共に、形状情報スタツクエ
リア46Aは3つのエリアAR1〜AR3に分か
れている。先ず、形状Pであることを示す情報が
転送されると、これが判別されてエリアAR1に
ストアされ(状態ST1)、次に数式化形状データ
Bが転送されてエリアAR2にストアされる(状
態ST2)。その後に次の数式化形状データAが転
送されてエリアAR3にストアされ(状態ST3)、
オペレーシヨンコード(−)が転送されることに
よりエリアAR2で(B−A)が演算され、その
結果S1がエリアAR2にストアされる(状態
ST4)。次の数式化形状データCが転送されると
状態ST5のようにエリアAR3にストアされ、次
にオペレーシヨンコード(+)が転送されること
により、エリアAR2の結果S1とエリアAR3の
数式化形状データCとが加算され、その結果
(S1+C)がエリアAR2にストアされる(状態
ST6)。その後、数式化形状データDが転送され
てエリアAR3にストアされ(状態ST7)、オペ
レーシヨンコード(−)が転送されることによつ
て(S2−D)が演算されてエリアAR2にストア
され(状態ST8)、“=”が転送されると状態ST9
のようにエリアAR1に(S2−D)、つまりP=
B−A+C−Dがストアされる。これにより形状
情報スタツクエリア46Aに、入力された形状デ
ータPの全体形状情報が格納されたことになる。
したがつて、形状情報スタツクエリア46Aのメ
モリ容量も少なく済む。
ところで、3次元物体形状は3次元ユークリツ
ド空間の部分集合としてモデル化できる。モデル
は物理的な物体を表わすから、内部を閉じた3次
元空間の部分集合である。今、与えられた物体に
対応する3次元空間の閉じた領域をS(X)とし、こ
の点集合をSとすると、 S={X:X∈S(X))} ……(1) と表現することができる。S(X)は閉じた領域なの
で半空間領域の集まりと考えることができ、Sを
更にいくつかの部分集合による集合演算で表現す
ることができる。SをSi(i=1、2、……、n)
の部分集合に分解し、逐次的にSこれらの部分集
合を使つて集合演算φiで構成する。ここで利用す
る集合演算φiは、和、積及び差集合演算であると
する。こうすると Pi=φi(Pi-1、Si) P1=S1 S=φo(Po-1、So) ……(2) (i=2、3、……、n) としてSを表現できる。φiは和集合演算ならばPi
=φ(Pi-1、Si)=Si∪Pi-1、積集合演算ならばPi=
φi(Pi-1、Si)=Si∩Pi-1、差集合演算ならばPi=φi
(Pi-1、Si)=Pi-1−Si=Pi-1∩S〜i(〜を補集合演
算
とする)とする。Siをいくつかの部分集合の積で
表わし、Siの内部を閉じるとする。すなわち、 Si=Si1∩Si2∩…∩Sin ……(3) と置く。(3)式のSijを半空間領域に対応させると、 Sij={X:fij(X)≧0} ……(4) と書け、こうして3次元物体形状を半空間領域に
よる数学モデルとして表現できた。形状モデリン
グでは、Siの部分集合であるSij(j=1、2、…、
m)の1つあるいはいくつかは、解析的に特徴の
ある半空間領域を表わし、残りはこの半空間領域
を閉じるため使用されることが多い。このSiの特
徴をSiの名前に使用し、あらかじめ準備されたSi
の種類をそれぞれプリミテイブと呼ぶ。
ド空間の部分集合としてモデル化できる。モデル
は物理的な物体を表わすから、内部を閉じた3次
元空間の部分集合である。今、与えられた物体に
対応する3次元空間の閉じた領域をS(X)とし、こ
の点集合をSとすると、 S={X:X∈S(X))} ……(1) と表現することができる。S(X)は閉じた領域なの
で半空間領域の集まりと考えることができ、Sを
更にいくつかの部分集合による集合演算で表現す
ることができる。SをSi(i=1、2、……、n)
の部分集合に分解し、逐次的にSこれらの部分集
合を使つて集合演算φiで構成する。ここで利用す
る集合演算φiは、和、積及び差集合演算であると
する。こうすると Pi=φi(Pi-1、Si) P1=S1 S=φo(Po-1、So) ……(2) (i=2、3、……、n) としてSを表現できる。φiは和集合演算ならばPi
=φ(Pi-1、Si)=Si∪Pi-1、積集合演算ならばPi=
φi(Pi-1、Si)=Si∩Pi-1、差集合演算ならばPi=φi
(Pi-1、Si)=Pi-1−Si=Pi-1∩S〜i(〜を補集合演
算
とする)とする。Siをいくつかの部分集合の積で
表わし、Siの内部を閉じるとする。すなわち、 Si=Si1∩Si2∩…∩Sin ……(3) と置く。(3)式のSijを半空間領域に対応させると、 Sij={X:fij(X)≧0} ……(4) と書け、こうして3次元物体形状を半空間領域に
よる数学モデルとして表現できた。形状モデリン
グでは、Siの部分集合であるSij(j=1、2、…、
m)の1つあるいはいくつかは、解析的に特徴の
ある半空間領域を表わし、残りはこの半空間領域
を閉じるため使用されることが多い。このSiの特
徴をSiの名前に使用し、あらかじめ準備されたSi
の種類をそれぞれプリミテイブと呼ぶ。
次に、トポロジーモデルのセツトオペレーシヨ
ンがどのような処理過程を経るかを説明する。
今、第20図Aに示すように2つの立体B1、B2
があり、立体B1、B2は各々6つの面、12の辺、
8の頂点を持つ。つまり、 B1について: F1=6、E1=12、V1=8、H1=0、R1=0、
B1=1 B2について: F2=6、E2=12、V2=8、H2=0、R2=0、
B2=1 ただし、F=面、E=辺、V=頂点、H=穴 R=穴輪郭(Ring)、B=立体である。
ンがどのような処理過程を経るかを説明する。
今、第20図Aに示すように2つの立体B1、B2
があり、立体B1、B2は各々6つの面、12の辺、
8の頂点を持つ。つまり、 B1について: F1=6、E1=12、V1=8、H1=0、R1=0、
B1=1 B2について: F2=6、E2=12、V2=8、H2=0、R2=0、
B2=1 ただし、F=面、E=辺、V=頂点、H=穴 R=穴輪郭(Ring)、B=立体である。
となる。これは、多面体の必要条件であるオイラ
ーポンカレの式 V−E+F−R+2H−2B=0 ……(5) を満たしている。こ2つの立体B1及びB2に対し、
第20図Bに示すように重ね合わせ、その和をと
ると同図Cに示す形状B3ができ、この形状B3に
ついて F3=11、E3=24、V3=16、H3=0、R3=1、
B3=1となり、これもオイラーポアンカレの式
を満たしている。つまり、“B1”=(8、12、8、
0、1)、“B2”=(8、12、6、0、0、1)で
“B3”=“B1”+“B2”のとき“B3”=(16、24、11、
0、1、1)となるために必要な “τ”=(0、0、−1、1、0、−1) ただし、各成分は(v、e、f、r、h、b) の処理を実施する必要がある。“τ”の処理は立
体、面を1つ消去して穴輪郭を1つ作る処理であ
る。このようにしてR1=0、R2=0からはR3=
1になることにより、Rは穴輪郭としているがこ
れはまぎれもなく立体と立体の交差線を示すもの
である。これは、トポロジーモデル(連結関係モ
デル)においてセツトオペレーシヨンを行なわせ
るためには、対称となる立体同志の交差線が求め
られればよいことを意味している。また、第22
図〜第24図はプリミテイブのセツトオペレーシ
ヨンの例を示しており、第22図はプリミテイブ
P1とP2の和によつて形状モデルP3が作成さ
れる様子を示している。第23図はプリミテイブ
P4とP5との差によつて形状モデルP6が作成
される様子を、第24図はプリミテイブP7とP
8の積によつて形状モデルP9が作成される様子
をそれぞれ示している。
ーポンカレの式 V−E+F−R+2H−2B=0 ……(5) を満たしている。こ2つの立体B1及びB2に対し、
第20図Bに示すように重ね合わせ、その和をと
ると同図Cに示す形状B3ができ、この形状B3に
ついて F3=11、E3=24、V3=16、H3=0、R3=1、
B3=1となり、これもオイラーポアンカレの式
を満たしている。つまり、“B1”=(8、12、8、
0、1)、“B2”=(8、12、6、0、0、1)で
“B3”=“B1”+“B2”のとき“B3”=(16、24、11、
0、1、1)となるために必要な “τ”=(0、0、−1、1、0、−1) ただし、各成分は(v、e、f、r、h、b) の処理を実施する必要がある。“τ”の処理は立
体、面を1つ消去して穴輪郭を1つ作る処理であ
る。このようにしてR1=0、R2=0からはR3=
1になることにより、Rは穴輪郭としているがこ
れはまぎれもなく立体と立体の交差線を示すもの
である。これは、トポロジーモデル(連結関係モ
デル)においてセツトオペレーシヨンを行なわせ
るためには、対称となる立体同志の交差線が求め
られればよいことを意味している。また、第22
図〜第24図はプリミテイブのセツトオペレーシ
ヨンの例を示しており、第22図はプリミテイブ
P1とP2の和によつて形状モデルP3が作成さ
れる様子を示している。第23図はプリミテイブ
P4とP5との差によつて形状モデルP6が作成
される様子を、第24図はプリミテイブP7とP
8の積によつて形状モデルP9が作成される様子
をそれぞれ示している。
ところで、自由曲面は通常曲面上の点群によつ
て表わされ、第2図に示すように点群2を滑らか
に結んで曲面の全体形状を表現する。便宜上第2
5図で示すような2次元の点列(ノード;node)
を考えると、ノード2A〜2Cを必らず通り、か
つ滑らかに結ぶ曲線は無数に存在するが、これら
曲線群の中から必らず1つの曲線を定義する曲線
式が必要である。ノードの数をnとすると、(n
−1)次多項式で上述の条件を満たす曲線式を求
めることができる。しかし、多項式の次数が高く
なればなるほどランジエ効果により曲線は振動
し、この効果はノードを一部ずつ結ぶ低次の多項
式を用いることにより軽減される。これが局所補
間又はスプライン補間である。スプライン補間
は、ノードとノードの間を低次多項式で表現する
もので、ノードの数をnとすると(n−1)の式
を得ることになる。全式の接続性は、隣接する式
の端条件をノード上で一致させることで容易に保
つことができる。
て表わされ、第2図に示すように点群2を滑らか
に結んで曲面の全体形状を表現する。便宜上第2
5図で示すような2次元の点列(ノード;node)
を考えると、ノード2A〜2Cを必らず通り、か
つ滑らかに結ぶ曲線は無数に存在するが、これら
曲線群の中から必らず1つの曲線を定義する曲線
式が必要である。ノードの数をnとすると、(n
−1)次多項式で上述の条件を満たす曲線式を求
めることができる。しかし、多項式の次数が高く
なればなるほどランジエ効果により曲線は振動
し、この効果はノードを一部ずつ結ぶ低次の多項
式を用いることにより軽減される。これが局所補
間又はスプライン補間である。スプライン補間
は、ノードとノードの間を低次多項式で表現する
もので、ノードの数をnとすると(n−1)の式
を得ることになる。全式の接続性は、隣接する式
の端条件をノード上で一致させることで容易に保
つことができる。
曲面の場合は、4つのノードで囲まれた曲面を
1単位(パツチと呼ぶ)として曲面式を設定し、
上述の2次元の場合と同様に(ただし、3次元の
考察が必要)それらの連続性をパツチの境界上で
持たせればよい。曲面式は、一般にCoonsの式、
Bezeirの式、B−Splineパツチのいずれかを用い
ている。Coons補間式は第26図に示すような曲
面P(u、v)に対して P(u、v)=[F0(u)、F1(u)、G0(u)、G1(u)]
B→F0(v) F1(v) G0(v) G1(v) ……(6) ただし、 B→=P(0,0) P(0,1) Pv(0,
0) Pv(0,1) B→=P(0,0) P(0,1) Pv(0,
0) Pv(0,1) P(1,0) P(1,1) Pv(1,0) Pv(1,
1) B→=P(0,0) P(0,1) Pv(0,
0) Pv(0,1) P(1,0) P(1,1) Pv(1,0) Pv(1,
1) Pu(0,0) Pu(0,1) Puv(0,0) Puv(0
,1) B→=P(0,0) P(0,1) Pv(0,
0) Pv(0,1) P(1,0) P(1,1) Pv(1,0) Pv(1,
1) Pu(0,0) Pu(0,1) Puv(0,0) Puv(0
,1) Pu(1,0) Pu(1,1) Puv(1,0) Puv(1
,1) F0(t)=2t3−32+1、G0(t)=t3−2t2+t F1(t)=−2t3+3t2、G1(t)=t3−t2 で与えられ、このCoons補間式は実空間座標系に
存在しないベクトル式である。また、上記Coons
補間式はパラメトリツクな表現法を用いており、
このパラメトリツク表現は複雑な式を簡素表現で
きる反面、そのパラメトリツク空間と実空間との
間の関係を明確にできないという欠点を持つ。つ
まり、パラメトリツク空間内で式に与えるパラメ
ータは、実空間内で全く評価できないのである、
物体は3次元空間内に存在し、その空間内で評価
される必要がある。
1単位(パツチと呼ぶ)として曲面式を設定し、
上述の2次元の場合と同様に(ただし、3次元の
考察が必要)それらの連続性をパツチの境界上で
持たせればよい。曲面式は、一般にCoonsの式、
Bezeirの式、B−Splineパツチのいずれかを用い
ている。Coons補間式は第26図に示すような曲
面P(u、v)に対して P(u、v)=[F0(u)、F1(u)、G0(u)、G1(u)]
B→F0(v) F1(v) G0(v) G1(v) ……(6) ただし、 B→=P(0,0) P(0,1) Pv(0,
0) Pv(0,1) B→=P(0,0) P(0,1) Pv(0,
0) Pv(0,1) P(1,0) P(1,1) Pv(1,0) Pv(1,
1) B→=P(0,0) P(0,1) Pv(0,
0) Pv(0,1) P(1,0) P(1,1) Pv(1,0) Pv(1,
1) Pu(0,0) Pu(0,1) Puv(0,0) Puv(0
,1) B→=P(0,0) P(0,1) Pv(0,
0) Pv(0,1) P(1,0) P(1,1) Pv(1,0) Pv(1,
1) Pu(0,0) Pu(0,1) Puv(0,0) Puv(0
,1) Pu(1,0) Pu(1,1) Puv(1,0) Puv(1
,1) F0(t)=2t3−32+1、G0(t)=t3−2t2+t F1(t)=−2t3+3t2、G1(t)=t3−t2 で与えられ、このCoons補間式は実空間座標系に
存在しないベクトル式である。また、上記Coons
補間式はパラメトリツクな表現法を用いており、
このパラメトリツク表現は複雑な式を簡素表現で
きる反面、そのパラメトリツク空間と実空間との
間の関係を明確にできないという欠点を持つ。つ
まり、パラメトリツク空間内で式に与えるパラメ
ータは、実空間内で全く評価できないのである、
物体は3次元空間内に存在し、その空間内で評価
される必要がある。
金型形状等に見られる自由曲面と数式化表現可
能な形状とは全く同一座標系内に存在するにも拘
わらず、全く別の空間内で論議されるのである。
そのため、この発明では自由曲面を数式化形状と
同一空間で取扱うようにしている。
能な形状とは全く同一座標系内に存在するにも拘
わらず、全く別の空間内で論議されるのである。
そのため、この発明では自由曲面を数式化形状と
同一空間で取扱うようにしている。
この発明に用いる自由曲面評価の手法を図面を
参照して説明すると、第27図に示すように実空
間内で指定した座標値(x、y、z)が、パラメ
ータ表示(u、v)された曲面1に対してどのよ
うな位置関係にあるかを演算するものである。そ
の演算手法は収束演算を利用するもので、以下収
束演算の概略を述べ、次にその詳細を説明する。
参照して説明すると、第27図に示すように実空
間内で指定した座標値(x、y、z)が、パラメ
ータ表示(u、v)された曲面1に対してどのよ
うな位置関係にあるかを演算するものである。そ
の演算手法は収束演算を利用するもので、以下収
束演算の概略を述べ、次にその詳細を説明する。
半空間領域化の基本概念は自由曲面の空間にお
ける評価の実現である。今、第28図に示すよう
に、自由曲面上方に点Pを想定し、曲面1上の任
意の点Nから与点Pまでの距離をEとする。曲面
1上に無数に存在する任意の位置全てに対し、こ
の距離Eを計算し、距離Eが同じ値をとる曲面1
上の点を結ぶと第29図に示すように、曲面1上
に距離Eの等高線を描くことができる。これを、
E軸と曲面上の系u、v軸とで表わした図を第3
0図に示す。これは曲面1から与点Pへの距離関
数となり、この関数をΨ(u、v)とおく。そし
て、この関数に対して、曲面1上のu方向につい
て方向数微分係数を求めると、 ∂Ψ/∂u=u→・▽Ψ ……(7) となる。u→を単位ベクトルとして、gradΨとの作
る角度をθ1とすると、 ∂Ψ/∂u=|▽Ψ|cosθ1 ……(8) を得る。同様にv方向について ∂Ψ/∂u=|▽Ψ|cosθ2 ……(9) を得る。今、このポテンシヤル関数の最小値を求
める場合、 ∂Ψ/∂u=0でかつ∂Ψ/∂v=0 ……(10) なる条件を満たす必要がある。また、 ∂Ψ/∂u=|▽Ψ|cosθ1、∂Ψ/∂u=|▽Ψ|cos
θ2 ……(11) であるから|▽Ψ|≠0とすると、cosθ1=0、
cosθ2=0である必要がある。故に、θ1=90°、θ2
=90°となる。ここで、θは曲面上の各方向と
gradΨのなす角であることから、ポテンシヤル関
数値の最小をとるEは与点Pに向う面法線方向で
の与点Pとの距離となる。
ける評価の実現である。今、第28図に示すよう
に、自由曲面上方に点Pを想定し、曲面1上の任
意の点Nから与点Pまでの距離をEとする。曲面
1上に無数に存在する任意の位置全てに対し、こ
の距離Eを計算し、距離Eが同じ値をとる曲面1
上の点を結ぶと第29図に示すように、曲面1上
に距離Eの等高線を描くことができる。これを、
E軸と曲面上の系u、v軸とで表わした図を第3
0図に示す。これは曲面1から与点Pへの距離関
数となり、この関数をΨ(u、v)とおく。そし
て、この関数に対して、曲面1上のu方向につい
て方向数微分係数を求めると、 ∂Ψ/∂u=u→・▽Ψ ……(7) となる。u→を単位ベクトルとして、gradΨとの作
る角度をθ1とすると、 ∂Ψ/∂u=|▽Ψ|cosθ1 ……(8) を得る。同様にv方向について ∂Ψ/∂u=|▽Ψ|cosθ2 ……(9) を得る。今、このポテンシヤル関数の最小値を求
める場合、 ∂Ψ/∂u=0でかつ∂Ψ/∂v=0 ……(10) なる条件を満たす必要がある。また、 ∂Ψ/∂u=|▽Ψ|cosθ1、∂Ψ/∂u=|▽Ψ|cos
θ2 ……(11) であるから|▽Ψ|≠0とすると、cosθ1=0、
cosθ2=0である必要がある。故に、θ1=90°、θ2
=90°となる。ここで、θは曲面上の各方向と
gradΨのなす角であることから、ポテンシヤル関
数値の最小をとるEは与点Pに向う面法線方向で
の与点Pとの距離となる。
ポテンシヤル最小値とは、与点の曲面に対する
最短距離を示すものであり、これはパラメトリツ
クに表現された曲面を空間的に評価する値とな
る。曲面補間式をQ→(u、v)とすると、そのと
きポテンシヤル値は Ψ(u、v)=|P→−Q→(u、v)|……(12) となり、さらにポテンシヤルの発生する向きを考
えると Ψ→(u、v)=P→−Q→(u、v) ……(13) となる。今、ポテンシヤル最小値を与える曲面上
の点をu1、v1とすると、ポテンシヤルベクトル
は、 Ψ→(u1、v1)=P→−Q→(u1、v1) ……(14) となる。ポテンシヤル最小値を与えるu1、v1上の
面法線とΨ→(u1、v1)の向きは一致するので、
u1、v1の面法線ベクトルをn→とすると S=Ψ→(u1、v1)・n→ ……(15) を行なうことによつてポテンシヤルの符号が決定
でき、その結果半空間領域の向き付けを行なうこ
とができる。
最短距離を示すものであり、これはパラメトリツ
クに表現された曲面を空間的に評価する値とな
る。曲面補間式をQ→(u、v)とすると、そのと
きポテンシヤル値は Ψ(u、v)=|P→−Q→(u、v)|……(12) となり、さらにポテンシヤルの発生する向きを考
えると Ψ→(u、v)=P→−Q→(u、v) ……(13) となる。今、ポテンシヤル最小値を与える曲面上
の点をu1、v1とすると、ポテンシヤルベクトル
は、 Ψ→(u1、v1)=P→−Q→(u1、v1) ……(14) となる。ポテンシヤル最小値を与えるu1、v1上の
面法線とΨ→(u1、v1)の向きは一致するので、
u1、v1の面法線ベクトルをn→とすると S=Ψ→(u1、v1)・n→ ……(15) を行なうことによつてポテンシヤルの符号が決定
でき、その結果半空間領域の向き付けを行なうこ
とができる。
ポテンシヤル最小なる曲面上のパラメータ値
(u1、v1)を求めれば、自由曲面に対し半空間の
領域分けを行なうことができる。しかし、解析的
に(u1、v1)を求めることは不可能なため、探索
法を用いて求める必要がある。すなわち、曲面上
に探索初期位置(u0、v0)を設定し、その時のΨ
(u0、v0)に対してその極小値は−gradΨ(u0、
v0)方向にあることは理解できる。
(u1、v1)を求めれば、自由曲面に対し半空間の
領域分けを行なうことができる。しかし、解析的
に(u1、v1)を求めることは不可能なため、探索
法を用いて求める必要がある。すなわち、曲面上
に探索初期位置(u0、v0)を設定し、その時のΨ
(u0、v0)に対してその極小値は−gradΨ(u0、
v0)方向にあることは理解できる。
−gradΨ(u0、v0)=−▽Ψ=−∂Ψ/∂uu→−∂Ψ
/∂vv→ ……(16) ここでΨ/u=|▽Ψ|cosθとなるので −▽Ψ=−u→・|▽Ψ|cosθ1−v→・|▽Ψ|
cosθ2 ……(17) となる。これは、(−|▽Ψ|cosθ1、−|▽Ψ|
cosθ2)方向に求めたい解があることを示してい
る。ここで、Ψ(u0、v0)は明らかに与点Pとの
距離であるので、次に求める位置は u1=−Ψ(u0、v0)・|▽Ψ|cosθ1+u0 v1=−Ψ(u0、v0)・|▽Ψ|cosθ1+v0 ……(18) となる。ここで、X→=(u、v)とすると上記(18)
式は一般に、 X→i=−Ψ(X→i-1)・▽Ψ(X→i-1)+X→i-1…
…(19) と書ける。Ψ(X→i-1)は探索ステツプ、−Ψ(X→i
-
1)は探索方向を示している。この式により次の
探索位置を求め、その探索位置毎に S=(P→−Q→(X→i))・n→=S(n→は面法
線) をモニタすればよい。S≒1又はS≒−1とな
つた時のXiがポテンシヤル最小の位置である。
/∂vv→ ……(16) ここでΨ/u=|▽Ψ|cosθとなるので −▽Ψ=−u→・|▽Ψ|cosθ1−v→・|▽Ψ|
cosθ2 ……(17) となる。これは、(−|▽Ψ|cosθ1、−|▽Ψ|
cosθ2)方向に求めたい解があることを示してい
る。ここで、Ψ(u0、v0)は明らかに与点Pとの
距離であるので、次に求める位置は u1=−Ψ(u0、v0)・|▽Ψ|cosθ1+u0 v1=−Ψ(u0、v0)・|▽Ψ|cosθ1+v0 ……(18) となる。ここで、X→=(u、v)とすると上記(18)
式は一般に、 X→i=−Ψ(X→i-1)・▽Ψ(X→i-1)+X→i-1…
…(19) と書ける。Ψ(X→i-1)は探索ステツプ、−Ψ(X→i
-
1)は探索方向を示している。この式により次の
探索位置を求め、その探索位置毎に S=(P→−Q→(X→i))・n→=S(n→は面法
線) をモニタすればよい。S≒1又はS≒−1とな
つた時のXiがポテンシヤル最小の位置である。
第31図で示すように、曲面1は2つのパラメ
ータu、vで表現され、式C→=S→(u、v)で示
し、実空間で任意に指定した点の位置ベクトルを
P→とする。今、初期パラメータ値を(Pu、Pv)
とすると、曲面1上の位置ベクトルC→は C→=S→(Pu、Pv) ……(20) となり、この時のベクトルV→は V→=P→−C→ ……(21) となり、このベクトルV→に対して n→=∂C→/∂u×∂C→/∂v ……(22) n→/|n→|≒V→/|V→|(23) であれば、|V→|は曲面1から任意点に対する最
短距離にある。次に、上記(23)式を満足するよ
うなパラメータ(Pu、Pv)を求める手法を説明
する。第32図はパラメータ(Pu、Pv)点での
曲面1の接平面1Aを示すもので、接平面1A上
にはu、v各方向に接線ベクトルが存在する。こ
の接平面1AにベクトルV→を投影したV→′を計算
すると、 V→′=(n→×V→)×n→ ……(24) によつてベクトルの方向を計算し、後に V→′=|V→|sinθ・V→′/|V→′|……(25
) の計算をすることによつて求めることができる。
そして、このベクトルV→′に対して、接平面1A
上に存在するu、v方向の接線ベクトル(T→u、
T→v)向きの成分を計算する。その計算は、各方
向成分を各々TU、TVとし、T→uとx軸、T→v
軸とy軸のなす角をθ、Ψとすると TU=V′xcosθ−Vysinθ ……(26) TV=V′xsinΨ−VyconΨ ……(27) となる。このTU、TVを基にそれに見合う大き
さのパラメータ量分だけ、初期のパラメータから
移動させたパラメータが、より上記(23)式を満
足させる可能性のある曲面位置を示しているとい
える。このパラメータの計算は面のu、v方向の
曲面の境界線長さをDU、DVとすると PUnew=PU+TU/DU ……(28) PVnew=PV+TV/DV ……(29) で行なわれる。この結果を基に再び(20)式へ戻り、
(23)式が満足されるまでこの処理を繰り返す。
(23)式を満足した|V→|は、面からの距離を表
わす。しかし、このままでは面の表裏どちらの方
向か明確化しないので、次に後述する極性判定を
行なう必要がある。
ータu、vで表現され、式C→=S→(u、v)で示
し、実空間で任意に指定した点の位置ベクトルを
P→とする。今、初期パラメータ値を(Pu、Pv)
とすると、曲面1上の位置ベクトルC→は C→=S→(Pu、Pv) ……(20) となり、この時のベクトルV→は V→=P→−C→ ……(21) となり、このベクトルV→に対して n→=∂C→/∂u×∂C→/∂v ……(22) n→/|n→|≒V→/|V→|(23) であれば、|V→|は曲面1から任意点に対する最
短距離にある。次に、上記(23)式を満足するよ
うなパラメータ(Pu、Pv)を求める手法を説明
する。第32図はパラメータ(Pu、Pv)点での
曲面1の接平面1Aを示すもので、接平面1A上
にはu、v各方向に接線ベクトルが存在する。こ
の接平面1AにベクトルV→を投影したV→′を計算
すると、 V→′=(n→×V→)×n→ ……(24) によつてベクトルの方向を計算し、後に V→′=|V→|sinθ・V→′/|V→′|……(25
) の計算をすることによつて求めることができる。
そして、このベクトルV→′に対して、接平面1A
上に存在するu、v方向の接線ベクトル(T→u、
T→v)向きの成分を計算する。その計算は、各方
向成分を各々TU、TVとし、T→uとx軸、T→v
軸とy軸のなす角をθ、Ψとすると TU=V′xcosθ−Vysinθ ……(26) TV=V′xsinΨ−VyconΨ ……(27) となる。このTU、TVを基にそれに見合う大き
さのパラメータ量分だけ、初期のパラメータから
移動させたパラメータが、より上記(23)式を満
足させる可能性のある曲面位置を示しているとい
える。このパラメータの計算は面のu、v方向の
曲面の境界線長さをDU、DVとすると PUnew=PU+TU/DU ……(28) PVnew=PV+TV/DV ……(29) で行なわれる。この結果を基に再び(20)式へ戻り、
(23)式が満足されるまでこの処理を繰り返す。
(23)式を満足した|V→|は、面からの距離を表
わす。しかし、このままでは面の表裏どちらの方
向か明確化しないので、次に後述する極性判定を
行なう必要がある。
以上では一般的なベクトル式で説明したが、更
に具体的な例で説明すると、第32図で示したも
のと同様の性質をもつデータを得る場合の評価関
数は、第33図の接平面4Sに関する面法線方向
の距離ベクトルn→である。ここで、曲面4A上の
点Cはパラメータu、vと表現される。
に具体的な例で説明すると、第32図で示したも
のと同様の性質をもつデータを得る場合の評価関
数は、第33図の接平面4Sに関する面法線方向
の距離ベクトルn→である。ここで、曲面4A上の
点Cはパラメータu、vと表現される。
C→=S→(u、v) x=Sx(u、v)
y=Sy(u、v) 0≦u≦1
z=Sz(u、v) 0≦v≦1 ……(30)
スキヤンライン7上の任意の点をP→とし、スキ
ヤンされるパツチに探索開始点を決め、この探索
開始点のパラメータ値をu1、v1とすると、 x1=Sx(u1、v1) y1=Sy(u1、v1) z1=Sz(u1、v1)C→ ……(31) となり、次に開始点と任意の点との距離ベクトル
を求める。
ヤンされるパツチに探索開始点を決め、この探索
開始点のパラメータ値をu1、v1とすると、 x1=Sx(u1、v1) y1=Sy(u1、v1) z1=Sz(u1、v1)C→ ……(31) となり、次に開始点と任意の点との距離ベクトル
を求める。
V→=P→−C→ ……(32)
このV→ベクトルに対して、
n→=∂S/→(u、v)/∂u×∂S/→(u、
v)/∂v ……(33) n/→/|n|≒V/→/|V|……(34) が成立すれば、|V→|は評価関数の値である。ス
キヤンライン7の評価は第34図のようになる。
(33)式はパラメータu1、v1でのu方向接線ベク
トルとv方向接線ベクトルの外積計算をしたもの
で、これは面法線ベクトルn→となる。2次元の場
合同様、(34)式は1回では満足されないため、
次の手続きへ移る。この処理はV→を接平面4Sに
投影する処理であり、接平面4Sはu、v接線ベ
クトルと法線ベクトルn→から成る座標系のu、v
接線ベクトルが存在する平面である。接平面4S
への投影処理は第35図のようになる。すなわ
ち、 V→′=(n→×V→)×n→ ……(35) の計算をすることによつて投影したベクトルの方
向が計算でき、その後にこのV→′の大きさを決め
る。その計算は で求められる。ここで求めたV→について、Tu→、
Tv→、n→座標系に対するTu、Tv成分を各々求め
る。ここで、Tu、Tvは必ずしもx、y、z直交
座標系と一致しないため、座標変換の処理が必要
になる。座標変換の手順は、法線ベクトルをZ軸
と一致させる処理を基本とし、第36図に示すよ
うにn→に対して、θ、Ψのパラメータが分つてい
るとすると、Z軸回りに、 T→u=T→u・M1 T→v=T→v・M1 V→′=V→′・M1 ……(37) ただし、 M1=cosΨ −sinΨ 0−sinΨ cosΨ 00 0 1 続いてY軸回りに、 T→u=T→u・M2 T→v=T→v・M2 V→′=V→′・M2 ……(38) ただし、 M2=cosθ 0 −sinθ0 1 0sinθ 0 cosθ の計算をすればn→がZ軸と一致したことになる。
このときのX−Y平面でのT→u、T→v座標系の関
係は、第37図に示すものとなる。このような関
係にあるTu→、Tv→座標系に対するV→′の各々の
成分を次に求める。V→′の成分を(Vx、Vy、
Vz)とするとTu→成分は、 Tu=Vx cosθ−Vy sinθ ……(39) であり、T→v成分は、 Tv=−Vx sinΨ+Vy cosΨ ……(40) となる。(39)及び(40)式により計算した値を
基に、これに見合う大きさのパラメータ分だけ初
期のパラメータu1、v1からずらした点が、より
(34)式を満足する可能性のある位置といえる。
新たなパラメータの位置の計算は、パツチのu、
v方向の境界線長さをDu、Dvとすれば、 u1=u1+Tu/Du v1=v1+Tv/Dv ……(41) で行なえばよい。
v)/∂v ……(33) n/→/|n|≒V/→/|V|……(34) が成立すれば、|V→|は評価関数の値である。ス
キヤンライン7の評価は第34図のようになる。
(33)式はパラメータu1、v1でのu方向接線ベク
トルとv方向接線ベクトルの外積計算をしたもの
で、これは面法線ベクトルn→となる。2次元の場
合同様、(34)式は1回では満足されないため、
次の手続きへ移る。この処理はV→を接平面4Sに
投影する処理であり、接平面4Sはu、v接線ベ
クトルと法線ベクトルn→から成る座標系のu、v
接線ベクトルが存在する平面である。接平面4S
への投影処理は第35図のようになる。すなわ
ち、 V→′=(n→×V→)×n→ ……(35) の計算をすることによつて投影したベクトルの方
向が計算でき、その後にこのV→′の大きさを決め
る。その計算は で求められる。ここで求めたV→について、Tu→、
Tv→、n→座標系に対するTu、Tv成分を各々求め
る。ここで、Tu、Tvは必ずしもx、y、z直交
座標系と一致しないため、座標変換の処理が必要
になる。座標変換の手順は、法線ベクトルをZ軸
と一致させる処理を基本とし、第36図に示すよ
うにn→に対して、θ、Ψのパラメータが分つてい
るとすると、Z軸回りに、 T→u=T→u・M1 T→v=T→v・M1 V→′=V→′・M1 ……(37) ただし、 M1=cosΨ −sinΨ 0−sinΨ cosΨ 00 0 1 続いてY軸回りに、 T→u=T→u・M2 T→v=T→v・M2 V→′=V→′・M2 ……(38) ただし、 M2=cosθ 0 −sinθ0 1 0sinθ 0 cosθ の計算をすればn→がZ軸と一致したことになる。
このときのX−Y平面でのT→u、T→v座標系の関
係は、第37図に示すものとなる。このような関
係にあるTu→、Tv→座標系に対するV→′の各々の
成分を次に求める。V→′の成分を(Vx、Vy、
Vz)とするとTu→成分は、 Tu=Vx cosθ−Vy sinθ ……(39) であり、T→v成分は、 Tv=−Vx sinΨ+Vy cosΨ ……(40) となる。(39)及び(40)式により計算した値を
基に、これに見合う大きさのパラメータ分だけ初
期のパラメータu1、v1からずらした点が、より
(34)式を満足する可能性のある位置といえる。
新たなパラメータの位置の計算は、パツチのu、
v方向の境界線長さをDu、Dvとすれば、 u1=u1+Tu/Du v1=v1+Tv/Dv ……(41) で行なえばよい。
ところで、評価関数の極性は、面いよつて形成
される立体の形状内外の判定を行なうために必要
なデータである。この極性は形状内において負、
形状外において正であるのが望ましく、面で表現
される形状の内外判定の基本は面法線との関係で
ある。ここでは極性の決定に、面法線と評価ベク
トルの開き角より決定する方法をとる。上記
(23)式を満足したV→′に対して AN=n/→/|n|・V/→′/|V|……
(42) の計算を行なうと、以下に示すようにn→とV→′の
開き角が90°以上の時にANは負、90°以下の時に
ANは正となる。また、n→とV→′はほぼ同一直線
上に存在するので AN≒1;面法線ベクトルと同方向 −1;面法線ベクトルと逆方向 となり、評価関数値を V′=|V→′|・AN/|AN| ……(43) とすれば、形状内外の判定可能な評価関数とな
る。
される立体の形状内外の判定を行なうために必要
なデータである。この極性は形状内において負、
形状外において正であるのが望ましく、面で表現
される形状の内外判定の基本は面法線との関係で
ある。ここでは極性の決定に、面法線と評価ベク
トルの開き角より決定する方法をとる。上記
(23)式を満足したV→′に対して AN=n/→/|n|・V/→′/|V|……
(42) の計算を行なうと、以下に示すようにn→とV→′の
開き角が90°以上の時にANは負、90°以下の時に
ANは正となる。また、n→とV→′はほぼ同一直線
上に存在するので AN≒1;面法線ベクトルと同方向 −1;面法線ベクトルと逆方向 となり、評価関数値を V′=|V→′|・AN/|AN| ……(43) とすれば、形状内外の判定可能な評価関数とな
る。
面境界での評価関数の取扱いとして、評価関数
の適用可能な領域範囲が存在する。評価関数は任
意のスキヤン点に対して形状を表現する面の面法
線方向の距離で表わす。そのため、第38図に示
すような適用範囲が存在する。しかし、評価関数
の演算を行なわせる際、上記(28)及(29)式の
結果がこの領域外になることがある。この位置は
曲面1上に存在しないため、その位置からスキヤ
ン点に対して面法線を立てるのは不可能であり、
領域外の評価関数の取扱いについて特別に考慮し
なくてはならない。
の適用可能な領域範囲が存在する。評価関数は任
意のスキヤン点に対して形状を表現する面の面法
線方向の距離で表わす。そのため、第38図に示
すような適用範囲が存在する。しかし、評価関数
の演算を行なわせる際、上記(28)及(29)式の
結果がこの領域外になることがある。この位置は
曲面1上に存在しないため、その位置からスキヤ
ン点に対して面法線を立てるのは不可能であり、
領域外の評価関数の取扱いについて特別に考慮し
なくてはならない。
ここでは、第39図に示すようなベクトルE→を
評価ベクトルとする。すなわち、パツチ4の境界
線5に垂直な面法線6に対して、境界線5に直交
するベクトルを考え、その垂直方向ベクトルを評
価ベクトルE→とするのである。このような評価ベ
クトルE→を用いると、評価関数は近似的にではあ
るが第40図に示すようにパツチ曲面4からの距
離を明確化し、かつ面4に対する上下関係(表裏
関係)を明確化する。その演算法は上記(28)及
び(29)式の結果が第41図に示すA〜Hの領域
のどこに属するかを判定する。これはパラメータ
空間上での領域判定である。この判定は、パラメ
ータ空間上で形状内部を表現する領域を負とする
ようなF(u、v)≦0なる関数を各境界線毎に用
意し(4本)、その値を全て比較することで容易
に行なうことができる。次に、第42図に示すよ
うに、パラメータ空間上での前回の探索位置P1
と、上記(28)及び(29)式の結果P2から求め
ることができる直線の形状境界との交点IPを求
める。直線の式は v=v0/u0u+v2・u0−v0・u2/u0 ……(44) であるので、交点IPは容易に求めることができ
る。このパラメータを基に再びV→′を求める処理
を行なう。この処理を経ても尚(28)及び(29)
式の結果P2が領域外であるなら、境界線とスキ
ヤン点に対し第43図で示すような探索を行なつ
て行き、 V→′・T→=0 ……(45) となるようなu、vパラメータを求め、第38図
に示すような評価関数値を求める極性は前述と同
一である。なお、第43図は境界線5に上の点
(u、v)とスキヤン点SCとの間をベクトルV→′
で表わし、点(u、v)における接線ベクトルを
T→で示している。そして、(45)式の結果を得る
手法は第44図に示す通りである。
評価ベクトルとする。すなわち、パツチ4の境界
線5に垂直な面法線6に対して、境界線5に直交
するベクトルを考え、その垂直方向ベクトルを評
価ベクトルE→とするのである。このような評価ベ
クトルE→を用いると、評価関数は近似的にではあ
るが第40図に示すようにパツチ曲面4からの距
離を明確化し、かつ面4に対する上下関係(表裏
関係)を明確化する。その演算法は上記(28)及
び(29)式の結果が第41図に示すA〜Hの領域
のどこに属するかを判定する。これはパラメータ
空間上での領域判定である。この判定は、パラメ
ータ空間上で形状内部を表現する領域を負とする
ようなF(u、v)≦0なる関数を各境界線毎に用
意し(4本)、その値を全て比較することで容易
に行なうことができる。次に、第42図に示すよ
うに、パラメータ空間上での前回の探索位置P1
と、上記(28)及び(29)式の結果P2から求め
ることができる直線の形状境界との交点IPを求
める。直線の式は v=v0/u0u+v2・u0−v0・u2/u0 ……(44) であるので、交点IPは容易に求めることができ
る。このパラメータを基に再びV→′を求める処理
を行なう。この処理を経ても尚(28)及び(29)
式の結果P2が領域外であるなら、境界線とスキ
ヤン点に対し第43図で示すような探索を行なつ
て行き、 V→′・T→=0 ……(45) となるようなu、vパラメータを求め、第38図
に示すような評価関数値を求める極性は前述と同
一である。なお、第43図は境界線5に上の点
(u、v)とスキヤン点SCとの間をベクトルV→′
で表わし、点(u、v)における接線ベクトルを
T→で示している。そして、(45)式の結果を得る
手法は第44図に示す通りである。
以上述べた方法で自由曲面の評価を行なうこと
によつて、次に示すような2つの自由曲面間の交
換を求めることができる。第33図に示すよう
に、2つの曲面4A及び4Bのどちらか一方の面
上にスキヤンライン7を設定し、そのライン7上
の点について上記手法に基づく評価法を用いる。
この際、この評価法によつて計算される評価関数
とスキヤンラインとの関係は第34図のようにな
り、この評価関数の0となる位置がスキヤンライ
ン7と面4Aとの交点となり、全てのスキヤンラ
イン7についてこの交点を求めると、その交点群
は曲面4A及び4B間の交線を表わすことにな
る。
によつて、次に示すような2つの自由曲面間の交
換を求めることができる。第33図に示すよう
に、2つの曲面4A及び4Bのどちらか一方の面
上にスキヤンライン7を設定し、そのライン7上
の点について上記手法に基づく評価法を用いる。
この際、この評価法によつて計算される評価関数
とスキヤンラインとの関係は第34図のようにな
り、この評価関数の0となる位置がスキヤンライ
ン7と面4Aとの交点となり、全てのスキヤンラ
イン7についてこの交点を求めると、その交点群
は曲面4A及び4B間の交線を表わすことにな
る。
第44図は、NC装置300に上述の如き工具
軌跡データTPSを与えた際の処理の流れを示す。
工具軌跡TPSはポストプロセツサ312に与え
られて所定の処理がされて軌跡情報TPSAとして
紙テープ307にさん孔されるか、DNC(Direct
NC)用のインタフエース302を介してNC装
置300内に取込まれ、紙テープ307又は
DNCインタフエース302から軌跡情報TPSA
を読込み(303、そのNC情報を表わしている
キヤラクタイメージのデータをバイナリ変換する
(304)。そのバイナリデータを基に指令情報の
解析処理を行ない(305)、サーボ処理306
を行なつてその出力を工作機械308に与える。
NC装置300はセツトオペレーシヨンされた全
体形状情報を工具軌跡TPSとして利用すること
ができる。この場合、複雑形状の加工の際に必要
となるNC指令情報は膨大な量となりその取扱い
が問題となるが、それに対して工具軌跡生成処理
311をするための形状データ310は非常にコ
ンパクトな量であり、その取扱いも容易である。
軌跡データTPSを与えた際の処理の流れを示す。
工具軌跡TPSはポストプロセツサ312に与え
られて所定の処理がされて軌跡情報TPSAとして
紙テープ307にさん孔されるか、DNC(Direct
NC)用のインタフエース302を介してNC装
置300内に取込まれ、紙テープ307又は
DNCインタフエース302から軌跡情報TPSA
を読込み(303、そのNC情報を表わしている
キヤラクタイメージのデータをバイナリ変換する
(304)。そのバイナリデータを基に指令情報の
解析処理を行ない(305)、サーボ処理306
を行なつてその出力を工作機械308に与える。
NC装置300はセツトオペレーシヨンされた全
体形状情報を工具軌跡TPSとして利用すること
ができる。この場合、複雑形状の加工の際に必要
となるNC指令情報は膨大な量となりその取扱い
が問題となるが、それに対して工具軌跡生成処理
311をするための形状データ310は非常にコ
ンパクトな量であり、その取扱いも容易である。
なお、第45図の例では、DNCインタフエー
ス302からの情報を指令情報として読込むよう
にしているが、第46図に示すようにサーボ指令
としてサーボ処理するようにすることも可能であ
る。
ス302からの情報を指令情報として読込むよう
にしているが、第46図に示すようにサーボ指令
としてサーボ処理するようにすることも可能であ
る。
(発明の効果)
以上のようにこの発明のNC工具軌跡生成シス
テムによれば、CSGによる自由曲面に対しても
領域分けを行なうことができ、任意の曲面に対し
ても実空間で表現できることになるので、工具軌
跡生成の自由度が増大する。
テムによれば、CSGによる自由曲面に対しても
領域分けを行なうことができ、任意の曲面に対し
ても実空間で表現できることになるので、工具軌
跡生成の自由度が増大する。
第1図は2次元図形についてのセツトオペレー
シヨンを説明するための図、第2図は曲面の点群
による表示例を示す図、第3図はXYZ実空間と
uvパラメータ空間の関係を示す図、第4図〜第
6図は実空間とパラメータ空間との間の関係を説
明するための図、第7図はB−Repsによる従来
のシステム例を示すブロツク図、第8図は立体形
状の一例を示す図、第9図及び第11図は第8図
の立体形状の分解例を説明するための図、第10
図はCSGによる従来のシステム例を示すブロツ
ク図、第12図及び第13図は形状データの入力
を説明するための図、第14図はこの発明方法を
実現するシステム例を示すブロツク図、第15図
A及びBは数式化形状データを説明するための
図、第16図はこの発明による図形データの処理
システムの例を示すブロツク図、第17図はその
詳細を示すブロツク図、第18図〜第20図は逆
ポーランド記述された形状データの生成及び処理
を説明するための図、第21図〜第24図はセツ
トオペレーシヨンを説明するための図、第25図
は曲面の補間を説明するための図、第26図は
Coons補間式を説明するための図、第27図〜第
32図はこの発明による自由曲面の評価の原理を
説明するための図、第33図〜第37図はこの発
明の自由曲面の具体的な評価を説明するための
図、第38図〜第44図は自由曲面の極性判定の
手法を説明するための図、第45図及び第46図
はNC装置に対する具体的応用例を示すブロツク
構成図である。 1……曲面、1A……接平面、2……点群(ノ
ード)、3……矩形領域、4……パツチ、10…
…形状データ入力装置、20……形状データ、3
0……数式化形状処理部、31……加工情報、4
0……形状抽出処理部、41……数式化形状処
理、42……セツトオペレーシヨン、43,44
……アプリケーシヨン対応の処理、45……自由
曲面評価演算処理、46……形状情報スタツクエ
リア、200……立体形状、300……NC装
置。
シヨンを説明するための図、第2図は曲面の点群
による表示例を示す図、第3図はXYZ実空間と
uvパラメータ空間の関係を示す図、第4図〜第
6図は実空間とパラメータ空間との間の関係を説
明するための図、第7図はB−Repsによる従来
のシステム例を示すブロツク図、第8図は立体形
状の一例を示す図、第9図及び第11図は第8図
の立体形状の分解例を説明するための図、第10
図はCSGによる従来のシステム例を示すブロツ
ク図、第12図及び第13図は形状データの入力
を説明するための図、第14図はこの発明方法を
実現するシステム例を示すブロツク図、第15図
A及びBは数式化形状データを説明するための
図、第16図はこの発明による図形データの処理
システムの例を示すブロツク図、第17図はその
詳細を示すブロツク図、第18図〜第20図は逆
ポーランド記述された形状データの生成及び処理
を説明するための図、第21図〜第24図はセツ
トオペレーシヨンを説明するための図、第25図
は曲面の補間を説明するための図、第26図は
Coons補間式を説明するための図、第27図〜第
32図はこの発明による自由曲面の評価の原理を
説明するための図、第33図〜第37図はこの発
明の自由曲面の具体的な評価を説明するための
図、第38図〜第44図は自由曲面の極性判定の
手法を説明するための図、第45図及び第46図
はNC装置に対する具体的応用例を示すブロツク
構成図である。 1……曲面、1A……接平面、2……点群(ノ
ード)、3……矩形領域、4……パツチ、10…
…形状データ入力装置、20……形状データ、3
0……数式化形状処理部、31……加工情報、4
0……形状抽出処理部、41……数式化形状処
理、42……セツトオペレーシヨン、43,44
……アプリケーシヨン対応の処理、45……自由
曲面評価演算処理、46……形状情報スタツクエ
リア、200……立体形状、300……NC装
置。
Claims (1)
- 1 NC装置に対して工具軌跡データを生成して
与えるシステムにおいて、NC加工形状データを
判別することによつて数式化形状データ、自由曲
面又はオペレーシヨンコードに振分け、数式化形
状データに関しては数式化形状法線ベクトル演算
を行なつて結果をスタツクへストアし、自由曲面
データに関しては自由曲面点群データで曲面法線
ベクトル演算を行なつて結果を前記スタツクへス
トアし、オペレーシヨンコードに関しては前記ス
タツクへストアされた結果に対してセツトオペレ
ーシヨンを行なつて全体形状情報を生成し、前記
全体形状情報に対する距離が0となる位置を、評
価関数の極性を面法線と評価ベクトルの開き角よ
り決定することによつて追跡するようにして前記
NC装置の工具経路を生成するようにしたことを
特徴とするNC工具軌跡生成システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60055078A JPS61213901A (ja) | 1985-03-19 | 1985-03-19 | Nc工具軌跡生成システム |
KR1019860001800A KR900003123B1 (ko) | 1985-03-13 | 1986-03-13 | 자유표면 평가방법 및 그의 nc 시스템 |
DE19863608438 DE3608438A1 (de) | 1985-03-13 | 1986-03-13 | Verfahren zum berechnen von freien gekruemmten flaechen mittels computergestuetztem design cad und computergestuetzter herstellung cam und numerischer steuerung nc |
US07/225,596 US4868761A (en) | 1985-03-13 | 1988-07-27 | Method for evaluating free surface and NC system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60055078A JPS61213901A (ja) | 1985-03-19 | 1985-03-19 | Nc工具軌跡生成システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61213901A JPS61213901A (ja) | 1986-09-22 |
JPH0566605B2 true JPH0566605B2 (ja) | 1993-09-22 |
Family
ID=12988668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60055078A Granted JPS61213901A (ja) | 1985-03-13 | 1985-03-19 | Nc工具軌跡生成システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS61213901A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58219606A (ja) * | 1982-06-14 | 1983-12-21 | Mitsubishi Electric Corp | 形状自動加工方式 |
JPS6015711A (ja) * | 1983-07-07 | 1985-01-26 | Fanuc Ltd | 曲面生成方法 |
JPS6031610A (ja) * | 1983-07-29 | 1985-02-18 | Fanuc Ltd | 対話型数値制御自動プログラミングのデ−タ処理方法 |
-
1985
- 1985-03-19 JP JP60055078A patent/JPS61213901A/ja active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58219606A (ja) * | 1982-06-14 | 1983-12-21 | Mitsubishi Electric Corp | 形状自動加工方式 |
JPS6015711A (ja) * | 1983-07-07 | 1985-01-26 | Fanuc Ltd | 曲面生成方法 |
JPS6031610A (ja) * | 1983-07-29 | 1985-02-18 | Fanuc Ltd | 対話型数値制御自動プログラミングのデ−タ処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JPS61213901A (ja) | 1986-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4868761A (en) | Method for evaluating free surface and NC system thereof | |
CN107067473B (zh) | 用于对3d建模对象进行重构的方法、装置及*** | |
JP2915826B2 (ja) | 干渉チェック装置 | |
KR0125776B1 (ko) | 선요소 데이타의 3차원 변환 장치 및 방법 | |
JP7049807B2 (ja) | パラメトリックビュー関数に基づくデータベースの照会 | |
Balasubramaniam et al. | Generation of collision-free 5-axis tool paths using a haptic surface | |
Mi et al. | Tool orientation optimization for 5-axis machining with C-space method | |
US5159512A (en) | Construction of minkowski sums and derivatives morphological combinations of arbitrary polyhedra in cad/cam systems | |
Mulder et al. | 3D computational steering with parametrized geometric objects | |
US6862023B1 (en) | Fully integrated machinable profile based parametric solid modeler | |
Oliver et al. | Automated path planning for integrated assembly design | |
CN111709095A (zh) | 一种面向复杂曲面6d虚拟夹具构造方法 | |
JPH0727582B2 (ja) | Cadシステムにおける形状モデリングシステム | |
Bhanu et al. | CAGD based 3-D vision | |
JPH0566605B2 (ja) | ||
JP3425760B2 (ja) | 干渉チェック装置 | |
JPH0566607B2 (ja) | ||
Roach et al. | Spherical dual images: A 3D representation method for solid objects that combines dual space and Gaussian spheres | |
Merlhiot | A robust, efficient and time-stepping compatible collision detection method for non-smooth contact between rigid bodies of arbitrary shape | |
Tanaka et al. | Generalized symmetry and its application to 3D shape generation | |
Zhong et al. | Solid modelling in a virtual reality environment | |
JPH0566606B2 (ja) | ||
JPH0724076B2 (ja) | Cad/camシステムにおける面交線抽出方式 | |
JPH0724075B2 (ja) | Cad/camシステムにおける形状デ−タ記憶・処理方式 | |
Leth et al. | Robot Path Generation for Curve Manufacturing Processes from Unstructured CAD Data: An Off-line Programming Method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |