JPH03118667A - 形状データ作成方法 - Google Patents
形状データ作成方法Info
- Publication number
- JPH03118667A JPH03118667A JP1255479A JP25547989A JPH03118667A JP H03118667 A JPH03118667 A JP H03118667A JP 1255479 A JP1255479 A JP 1255479A JP 25547989 A JP25547989 A JP 25547989A JP H03118667 A JPH03118667 A JP H03118667A
- Authority
- JP
- Japan
- Prior art keywords
- free
- distance
- value
- sampling points
- shortest distance
- 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.)
- Pending
Links
- 238000005070 sampling Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 abstract description 22
- 238000003801 milling Methods 0.000 abstract description 3
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 230000000694 effects Effects 0.000 description 2
- 238000012887 quadratic function Methods 0.000 description 2
- 102100031798 Protein eva-1 homolog A Human genes 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Landscapes
- Numerical Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
以下の順序で本発明を説明する。
A産業上の利用分野
B発明の概要
C従来の技術(第6図及び第7図)
D発明が解決しようとする問題点
E問題点を解決するための手段(第3図及び第5図)
F作用
G実施例(第1図〜第5図)
(G1)第1実施例(第1図〜第3図)(G2)第2実
施例(第4図及び第5図)(G3)他の実施例 H発明の効果 A産業上の利用分野 本発明は形状データ作成方法に関し、例えばCAD (
con+puter aided design )又
はCAM(c。
施例(第4図及び第5図)(G3)他の実施例 H発明の効果 A産業上の利用分野 本発明は形状データ作成方法に関し、例えばCAD (
con+puter aided design )又
はCAM(c。
s+puter aided manufacturi
ng)において生成された自由曲線又は自由曲面の形状
を変形処理する場合に適用して好適なものである。
ng)において生成された自由曲線又は自由曲面の形状
を変形処理する場合に適用して好適なものである。
B発明の概要
本発明は、形状データ作成方法において、2つの自由曲
線又は自由曲面上のサンプリング点相互間の距離を表す
距離データを演算することにより簡易かつ確実に最短距
離を求めることができる。
線又は自由曲面上のサンプリング点相互間の距離を表す
距離データを演算することにより簡易かつ確実に最短距
離を求めることができる。
C従来の技術
例えばCADの手法を用いて自由曲線(2次関数で規定
できない曲線をいう)や自由曲面(2次関数で規定でき
ない曲面をいう)をもった物体の形状をデザインする場
合(geometric modeoing)、一般に
デザイナは、曲面が通るべき3次元空間における複数の
点(これを節点と呼ぶ)を指定し、当該指定された複数
の節点を結ぶ境界曲線網を所望のベクトル関数を用いて
コンピュータによって演算させることにより、いわゆる
ワイヤフレームで表現された曲面を作成する。
できない曲線をいう)や自由曲面(2次関数で規定でき
ない曲面をいう)をもった物体の形状をデザインする場
合(geometric modeoing)、一般に
デザイナは、曲面が通るべき3次元空間における複数の
点(これを節点と呼ぶ)を指定し、当該指定された複数
の節点を結ぶ境界曲線網を所望のベクトル関数を用いて
コンピュータによって演算させることにより、いわゆる
ワイヤフレームで表現された曲面を作成する。
ここで境界曲線網を形成する自由曲線は第6図に示すよ
うに、任意の間隔で設定された節点P0及びPi(P+
。、I及びP (31Is P (。、2及びPo)2
、P(。1.及びP(3es)で区切られる複数の曲線
セグメントKm* (KSGI s Ksr、z %
KsG3)が接続された構成を有する。
うに、任意の間隔で設定された節点P0及びPi(P+
。、I及びP (31Is P (。、2及びPo)2
、P(。1.及びP(3es)で区切られる複数の曲線
セグメントKm* (KSGI s Ksr、z %
KsG3)が接続された構成を有する。
この曲線セグメントK s G’=1−13次のベジェ
(bezier)弐を用いて、次式 %式%(1) で表されるパラメトリックな空間ベクトルR(t)で表
現される。
(bezier)弐を用いて、次式 %式%(1) で表されるパラメトリックな空間ベクトルR(t)で表
現される。
ここでEはシフト演算子であり、曲線セグメントに5.
上の制御点Piに対して、次式3式% (2) の関係をもち、パラメータtは、次式 O≦t≦1 ・・・・・・(3) で表される。
上の制御点Piに対して、次式3式% (2) の関係をもち、パラメータtは、次式 O≦t≦1 ・・・・・・(3) で表される。
かかる自由曲線でなる境界曲線によって囲まれた多数の
枠組み空間を形成することができる(以下このような処
理を枠組み処理と呼ぶ)。
枠組み空間を形成することができる(以下このような処
理を枠組み処理と呼ぶ)。
かかる枠組み処理によって形成された境界曲線網は、そ
れ自体デザイナがデザインしようとする大まかな外形形
状を表しており、各枠組み空間を囲む境界曲線を用いて
、パラメトリックなベクトル関数によって表現できる曲
面を補間演算することができれば、全体としてデザイナ
がデザインした自由曲面を生成することができる。ここ
で各枠組空間に張られた曲面は、全体の曲面を構成する
基本要素を形成し、これをバッチと呼ぶ。
れ自体デザイナがデザインしようとする大まかな外形形
状を表しており、各枠組み空間を囲む境界曲線を用いて
、パラメトリックなベクトル関数によって表現できる曲
面を補間演算することができれば、全体としてデザイナ
がデザインした自由曲面を生成することができる。ここ
で各枠組空間に張られた曲面は、全体の曲面を構成する
基本要素を形成し、これをバッチと呼ぶ。
自由曲面の作成原理を、第7図について述べる。
U方向及びV方向の4つの節点P0゜、P、。、P33
及びPo、によって決まる共有境界COMI、C0M2
、C0M3及びC0M4によって囲まれる枠組空間につ
いて、共有境界に沿ってU方向及びV方向のパラメータ
U及びVを考えるとき、次式3式%) (4) で表されるように、3次のベジェ式でなるベクトル関数
S (tl+ v) を用いて、共有境界COMI、C
0M2、C0M3及びC0M4によって囲まれる自由曲
面でなるバッチを形成することができる。
及びPo、によって決まる共有境界COMI、C0M2
、C0M3及びC0M4によって囲まれる枠組空間につ
いて、共有境界に沿ってU方向及びV方向のパラメータ
U及びVを考えるとき、次式3式%) (4) で表されるように、3次のベジェ式でなるベクトル関数
S (tl+ v) を用いて、共有境界COMI、C
0M2、C0M3及びC0M4によって囲まれる自由曲
面でなるバッチを形成することができる。
ここでE及びFはシフト演算子であり、バッチS (u
+ vl 上の位置ベクトルとして表される制御点P1
jに対して、次式 E −P IJ= Pt+ 1 (i、j=o、1.2) ・・・・・・ (5) F ・PiJ””Pijや。
+ vl 上の位置ベクトルとして表される制御点P1
jに対して、次式 E −P IJ= Pt+ 1 (i、j=o、1.2) ・・・・・・ (5) F ・PiJ””Pijや。
(i、j=0.1.2)
・・・・・・ (6)
の関係をもつ。
また、パラメータU及びVは、次式
%式%(7)
(8)
従って、入力された複数の節点を結ぶ境界曲線網につい
て、共有境界において互いに連続するパッチS lu+
w)を生成するようにすれば、多数のバッチS (u
+ v、I s S (an v□・・・・・・で囲ま
れた所望の外形形状の自由曲面を表す形状データを得る
ことができる。
て、共有境界において互いに連続するパッチS lu+
w)を生成するようにすれば、多数のバッチS (u
+ v、I s S (an v□・・・・・・で囲ま
れた所望の外形形状の自由曲面を表す形状データを得る
ことができる。
このようにして、デザイナがデザインしようとする外形
形状を各枠組空間を囲む境界曲線を用いて、パラメトリ
ックなベクトル関数によって表現でき、かくして全体と
してデザイナがデザインした自由曲面を生成することが
できる。
形状を各枠組空間を囲む境界曲線を用いて、パラメトリ
ックなベクトル関数によって表現でき、かくして全体と
してデザイナがデザインした自由曲面を生成することが
できる。
D発明が解決しようとする問題点
ところでデザイナがかかる形状データ作成方法を用いて
製品の外形形状をデザインしようとする際に、−旦生成
した2つの自由曲線間、又は2つの自由曲面間の空間を
肉厚として、当該肉厚が最も薄い部分(すなわち2つの
自由曲線間又は2つの自由曲面間が最短距離になる位置
)を基準にして自由曲線又は自由曲面の形状を必要に応
じて変形し直したい場合がある。
製品の外形形状をデザインしようとする際に、−旦生成
した2つの自由曲線間、又は2つの自由曲面間の空間を
肉厚として、当該肉厚が最も薄い部分(すなわち2つの
自由曲線間又は2つの自由曲面間が最短距離になる位置
)を基準にして自由曲線又は自由曲面の形状を必要に応
じて変形し直したい場合がある。
従来、例えば自由曲線を表すベジェ曲線間の最短距離を
求める場合、ベジェ曲線で表される第1の自由曲線R(
t+)上の点R,と、同様にベジェ曲線で表される第2
の自由曲線R(tz)上の点R2との距Md1の2乗が
極小値をとる条件から求めていた。
求める場合、ベジェ曲線で表される第1の自由曲線R(
t+)上の点R,と、同様にベジェ曲線で表される第2
の自由曲線R(tz)上の点R2との距Md1の2乗が
極小値をとる条件から求めていた。
すなわち距離d、の2乗でなる値d、Zを極小にするパ
ラメータtl及びt8の値をニュートン・ラフフン法に
より連立方程式を解くことによって求め、このパラメー
タ1+及びt3の値によって算出される距離d+を第1
のベジェ曲線R(toと第2のベジェ曲線R(tz)の
最短距離d al+%としていた。
ラメータtl及びt8の値をニュートン・ラフフン法に
より連立方程式を解くことによって求め、このパラメー
タ1+及びt3の値によって算出される距離d+を第1
のベジェ曲線R(toと第2のベジェ曲線R(tz)の
最短距離d al+%としていた。
すなわち、第1のベジェ曲線R(t+)上の点R1と、
第2のベジェ曲線R(tz)上の点R3との間の距離d
、の2乗は、次式 %式%)) )) )) (9) により表されるから、(9)式をパラメータ1゜及びL
2の関数f (t+、h) とおき、パラメータLl、
L!でそれぞれ偏微分すると、次式%式%) (10) ) (11) ≠0 が得られる。
第2のベジェ曲線R(tz)上の点R3との間の距離d
、の2乗は、次式 %式%)) )) )) (9) により表されるから、(9)式をパラメータ1゜及びL
2の関数f (t+、h) とおき、パラメータLl、
L!でそれぞれ偏微分すると、次式%式%) (10) ) (11) ≠0 が得られる。
ここで
(10)
式及び
(11)
式の右辺を0とおき、
それぞれ線形化すると、
次式
さらに整理すると、
次式
(12)
(13)
(14)
・・・・・・ (15)
が得られる。
この連立方程式を収束させるようなΔt1及びΔ11を
(14)式及び(15)式より求め、パラメータt、及
びt8の初期値とからパラメータt。
(14)式及び(15)式より求め、パラメータt、及
びt8の初期値とからパラメータt。
及びt8の値を決定することによって第1のベジェ曲線
R(tt)と第2のベジェ曲線R(h)との最短距離d
minを算出する。
R(tt)と第2のベジェ曲線R(h)との最短距離d
minを算出する。
ところがこの方法によると、距離d、に極小値がなけれ
ば最小値を求めることができず、また極小値があったと
しても最小値であるとは限らないため、2つのベジェ曲
線間の最短距離d0.7を求めることができないおそれ
があった。
ば最小値を求めることができず、また極小値があったと
しても最小値であるとは限らないため、2つのベジェ曲
線間の最短距離d0.7を求めることができないおそれ
があった。
また場合によっては、パラメータL1及びttの初期値
によっては収束ができず、Δt、及びΔ11を求め得な
いため2つのベジェ曲線間の最短距離を求めることがで
きなくなるおそれがあった。
によっては収束ができず、Δt、及びΔ11を求め得な
いため2つのベジェ曲線間の最短距離を求めることがで
きなくなるおそれがあった。
また、2つの自由曲線間の最短距離を求める場合につい
ても、従来は、第1及び第2のパッチ5(11+ V)
l及びS 、、、 V) 、上の点S、及び82間の
距離dtの2乗が極小値をとる条件から求めていたが、
2つのベジェ曲線R(tt)及びR(tz)間の最短距
離を求める場合と同様の問題があった。
ても、従来は、第1及び第2のパッチ5(11+ V)
l及びS 、、、 V) 、上の点S、及び82間の
距離dtの2乗が極小値をとる条件から求めていたが、
2つのベジェ曲線R(tt)及びR(tz)間の最短距
離を求める場合と同様の問題があった。
本発明は以上の点を考慮してなされたもので、2つの自
由曲線又は2つの自由曲面間の最短距離を筒易かつ確実
に求めることができる形状データ作成方法を提案しよう
とするものである。
由曲線又は2つの自由曲面間の最短距離を筒易かつ確実
に求めることができる形状データ作成方法を提案しよう
とするものである。
E問題点を解決するための手段
かかる問題点を解決するため第1の発明においては、第
1の自由曲線R(tt)上に複数個の第1サンプリング
点Klを設定し、第2の自由曲線R(tz)上に複数個
の第2サンプリング点に2を設定し、第1及び第2の自
由曲線R(t、)及びR(tz)上に順次設定される第
1及び第2サンプリング点に、及びに!全ての組合せに
ついて、第1及び第2サンプリング点サンプリング点に
、及びに、間の距離d、を検出することにより距離デー
タ群を得、距離データ群のうち最小値を検出することに
より第1及び第2の自由曲線R(to及びR(tz)間
の最短距離d、iを検出するようにする。
1の自由曲線R(tt)上に複数個の第1サンプリング
点Klを設定し、第2の自由曲線R(tz)上に複数個
の第2サンプリング点に2を設定し、第1及び第2の自
由曲線R(t、)及びR(tz)上に順次設定される第
1及び第2サンプリング点に、及びに!全ての組合せに
ついて、第1及び第2サンプリング点サンプリング点に
、及びに、間の距離d、を検出することにより距離デー
タ群を得、距離データ群のうち最小値を検出することに
より第1及び第2の自由曲線R(to及びR(tz)間
の最短距離d、iを検出するようにする。
さらに第2の発明においては、第1の自由曲面S〈。、
V、、上に複数個の第1サンプリング点に、を設定し、
第2の自由曲面S (II+ V> を上に第2サンプ
リング点Kimを設定し、第1及び第2の自由曲面S
iu+ v) l及びS (Il−v> z上に順次設
定される第1及び第2サンプリング点に、及びKl!全
ての組合せについて、第1及び第2サンプリング点K1
1及びKIz間の距離d8を検出することにより距離デ
ータ群を得、距離データ群のうち最小値を検出すること
より第1及び第2の自由曲面S (u、v) l及びS
to、 v> z間の最短距離d2を検出するように
する。
V、、上に複数個の第1サンプリング点に、を設定し、
第2の自由曲面S (II+ V> を上に第2サンプ
リング点Kimを設定し、第1及び第2の自由曲面S
iu+ v) l及びS (Il−v> z上に順次設
定される第1及び第2サンプリング点に、及びKl!全
ての組合せについて、第1及び第2サンプリング点K1
1及びKIz間の距離d8を検出することにより距離デ
ータ群を得、距離データ群のうち最小値を検出すること
より第1及び第2の自由曲面S (u、v) l及びS
to、 v> z間の最短距離d2を検出するように
する。
F作用
第1の発明において、第1及び第2サンプリング点に、
及びに2全での組合せについて2点間の距MdIを演算
して距離データ群を得、距離データ群における距離d1
の最小値を2つの自由曲線R(tt)及びR(tZ)の
最短距離d1..とすることにより、当該最短距離d
sinを常に確実に求めることができる。
及びに2全での組合せについて2点間の距MdIを演算
して距離データ群を得、距離データ群における距離d1
の最小値を2つの自由曲線R(tt)及びR(tZ)の
最短距離d1..とすることにより、当該最短距離d
sinを常に確実に求めることができる。
また第2の発明において、第1及び第2サンプリング点
に、及びに、を全ての組合せについて2点間の距離d2
を演算して距離データ群を得、距離データ群における距
離d2の最小値を2つの自由曲面S (un v) I
及びS (u、 V) 、の最短距離d、、7とするこ
とにより、当該最短距離d1.7を常に確実に求めるこ
とができる。
に、及びに、を全ての組合せについて2点間の距離d2
を演算して距離データ群を得、距離データ群における距
離d2の最小値を2つの自由曲面S (un v) I
及びS (u、 V) 、の最短距離d、、7とするこ
とにより、当該最短距離d1.7を常に確実に求めるこ
とができる。
G実施例
以下図面について、本発明の一実施例を詳述する。
(G1)第1実施例
第1図は2つの自由曲線間の最短距離を求める場合を示
し、CAD/CAMシステム1はそれぞれ中央処理装置
(CPU)を含んでなる自由曲面作成装置2、自由曲面
切削用工具経路作成装置3及びNCミーリングマシン(
いわゆるマシニングセンタ)4で構成されている。
し、CAD/CAMシステム1はそれぞれ中央処理装置
(CPU)を含んでなる自由曲面作成装置2、自由曲面
切削用工具経路作成装置3及びNCミーリングマシン(
いわゆるマシニングセンタ)4で構成されている。
自由曲面作成装置2はCADの手法を用いて製品の外形
形状を表す自由曲線を構成する各曲線セグメントKsc
及び自由曲面を構成する各パッチS (a+ vl を
生成する。
形状を表す自由曲線を構成する各曲線セグメントKsc
及び自由曲面を構成する各パッチS (a+ vl を
生成する。
また自由曲面切削用工具経路作成装置3は、自由曲面作
成装置2によって生成された曲線セグメントKsa及び
バッチS (u、v)でなる自由曲面データD T s
を受けて、当該自由曲面データDT、に基づいて、例え
ばボールエンドミルBMでなる工具についてのオフセッ
ト曲面S。FFを作成し、これによりセグメントハイド
法等の手法によって工具経路データDTCLを作成する
。
成装置2によって生成された曲線セグメントKsa及び
バッチS (u、v)でなる自由曲面データD T s
を受けて、当該自由曲面データDT、に基づいて、例え
ばボールエンドミルBMでなる工具についてのオフセッ
ト曲面S。FFを作成し、これによりセグメントハイド
法等の手法によって工具経路データDTCLを作成する
。
さらにNCミーリングマシン4は、フロッピィディスク
5を介して人力された工具経路データDTctに基づい
て、ボールエンドミルBMを移動制御することにより、
自由曲面の外形形状を有する製品の切削加工を実行し得
るようになされている。
5を介して人力された工具経路データDTctに基づい
て、ボールエンドミルBMを移動制御することにより、
自由曲面の外形形状を有する製品の切削加工を実行し得
るようになされている。
因に自由曲面作成装置2は、例えば陰極線管デイスプレ
ィでなる表示装置6及び例えばキーボードやマウス等で
なる入力装置7を有し、デザイナが表示装置6において
表示されたメニュー画面を目視しながら入力装置7を操
作することにより自由曲線作成モードを選択すると、C
PUは第2図によって示す最短距離演算処理手順に入り
、2つの自由曲線間の最短距離を求める。
ィでなる表示装置6及び例えばキーボードやマウス等で
なる入力装置7を有し、デザイナが表示装置6において
表示されたメニュー画面を目視しながら入力装置7を操
作することにより自由曲線作成モードを選択すると、C
PUは第2図によって示す最短距離演算処理手順に入り
、2つの自由曲線間の最短距離を求める。
すなわちCPUはステップSPIから当該最短距離演算
処理手順に入って、ステップSP2において、デザイナ
が画面上に表示されている自由曲線を目視確認しながら
入力装置7の操作によって最短距離を求めたい位置にあ
る第1の自由曲線R(tl)上にカーソルを移動させる
ことにより第1の自由曲線R(t+)を選択するのを待
ち受け、続いてステップSP3に移り、同様に第2の自
由曲線R(t2)が選択されるのを待ち受ける。その後
CPUは次のステップSP4に移って第1サンプリング
番号11をカウントする第1内部カウンタの値をi、=
0に初期設定する。
処理手順に入って、ステップSP2において、デザイナ
が画面上に表示されている自由曲線を目視確認しながら
入力装置7の操作によって最短距離を求めたい位置にあ
る第1の自由曲線R(tl)上にカーソルを移動させる
ことにより第1の自由曲線R(t+)を選択するのを待
ち受け、続いてステップSP3に移り、同様に第2の自
由曲線R(t2)が選択されるのを待ち受ける。その後
CPUは次のステップSP4に移って第1サンプリング
番号11をカウントする第1内部カウンタの値をi、=
0に初期設定する。
続いてCPUは、ステップSP5において第1内部カウ
ンタをインクリメント動作させることにより第1サンプ
リング点番号11の値を「+1」加算した後、ステップ
SP6において第1パラメータU、の値を、次式 によって設定する。
ンタをインクリメント動作させることにより第1サンプ
リング点番号11の値を「+1」加算した後、ステップ
SP6において第1パラメータU、の値を、次式 によって設定する。
ここで第1パラメータuilは第1内部カウンタの値が
11=1のとき、値u、、=oとなり(このことは第3
図に示すように、第1サンプリング点に、が第1自由曲
線R(t+)上の節点P10に一致することを意味する
)、第1内部カウンタの値が第1サンプリング点最大番
号1 @II!Iのとき、値uil−1となる(このこ
とは節点P、。から節点PIjの向きに数えてi 5a
xt番目の第1サンプリング点に、が第1自由曲線R(
t+)上の節点PI3に一致することを意味する)。
11=1のとき、値u、、=oとなり(このことは第3
図に示すように、第1サンプリング点に、が第1自由曲
線R(t+)上の節点P10に一致することを意味する
)、第1内部カウンタの値が第1サンプリング点最大番
号1 @II!Iのとき、値uil−1となる(このこ
とは節点P、。から節点PIjの向きに数えてi 5a
xt番目の第1サンプリング点に、が第1自由曲線R(
t+)上の節点PI3に一致することを意味する)。
また第1サンプリング点最大番号11141+1の値は
この実施例において10に指定されている。
この実施例において10に指定されている。
続いてCPUはステップSP7に移って第1の自由曲線
R(t+)上の第1サンプリング点に1を第1パラメー
タui+の値に基づいて求める。
R(t+)上の第1サンプリング点に1を第1パラメー
タui+の値に基づいて求める。
続いてCPUはステップSP8に移って第2サンプリン
グ点番号i、をカウントする第2内部カウンタの値を1
2−0に初期設定した後、ステップSP9において第2
内部カウンタをインクリメント動作させることにより第
2サンプリング点番号12の値を「+1」加算させる。
グ点番号i、をカウントする第2内部カウンタの値を1
2−0に初期設定した後、ステップSP9において第2
内部カウンタをインクリメント動作させることにより第
2サンプリング点番号12の値を「+1」加算させる。
続いてCPUはステップ5PIOに移って第2パラメー
タuiiの値を、次式 に基づいて設定する。
タuiiの値を、次式 に基づいて設定する。
ここで第2パラメータUtZは第2内部カウンタの値が
18=1のとき、値u、、=Oをとり(このことは、第
3図に示すように、第2サンプリング点に、が第2自由
曲線R(tz)上の節点P2゜に一致することを意味す
る)、第2内部カウンタの値が第2サンプリング点最大
番号1 +++axtのとき、 値u1.=1となる(
このことは節点Pt0から節点P2.の向きに数えてi
。xt番目の第2サンプリング点に、が第2自由曲線R
(tz)上の節点P23に一致することを意味する)。
18=1のとき、値u、、=Oをとり(このことは、第
3図に示すように、第2サンプリング点に、が第2自由
曲線R(tz)上の節点P2゜に一致することを意味す
る)、第2内部カウンタの値が第2サンプリング点最大
番号1 +++axtのとき、 値u1.=1となる(
このことは節点Pt0から節点P2.の向きに数えてi
。xt番目の第2サンプリング点に、が第2自由曲線R
(tz)上の節点P23に一致することを意味する)。
また第2サンプリング点最大番号i、□2の値はこの実
施例において10に指定されている。
施例において10に指定されている。
続いてCPUはステップ5PIIに移って第2の自由曲
線R(tz)上の第2サンプリング点に2を第2パラメ
ータuitO値に基づいて求める。
線R(tz)上の第2サンプリング点に2を第2パラメ
ータuitO値に基づいて求める。
その後CPUは、ステップ5P12において、第1及び
第2の自由曲線R(to及びR(tt)上の第1及び第
2サンプリング点に1及びに2間の距離データd、を算
出し、当該算出結果でなる距離データを距離テーブルに
格納してステップ5P13に移る。
第2の自由曲線R(to及びR(tt)上の第1及び第
2サンプリング点に1及びに2間の距離データd、を算
出し、当該算出結果でなる距離データを距離テーブルに
格納してステップ5P13に移る。
CPUはステップ5P13において第2内部カウンタの
カウント値である第2サンプリング点番号12が第2サ
ンプリング点最大番号i11.であるか否かを判定し、
ここで否定結果が得られると上述のステップSP9に戻
って第1の繰返し処理ループLOOPI (SF3−S
PIO−3PI 1−3P 12−3P 13−5P9
)に入る。
カウント値である第2サンプリング点番号12が第2サ
ンプリング点最大番号i11.であるか否かを判定し、
ここで否定結果が得られると上述のステップSP9に戻
って第1の繰返し処理ループLOOPI (SF3−S
PIO−3PI 1−3P 12−3P 13−5P9
)に入る。
かくしてこの繰返し処理ループLOOPIを実行するこ
とにより、CPUは第3図に示すように、第2自由曲線
R(tz)上において節点P2゜及び節点221間に設
定された所定数すなわち10個の第2サンプリング点に
2を順次算出し、第1の自由曲線R(tt)上に設定さ
れている第1サンプリング点に、相互間の距離データd
、を順次算出して当該算出結果でなる距離データを距離
テーブルに格納する。
とにより、CPUは第3図に示すように、第2自由曲線
R(tz)上において節点P2゜及び節点221間に設
定された所定数すなわち10個の第2サンプリング点に
2を順次算出し、第1の自由曲線R(tt)上に設定さ
れている第1サンプリング点に、相互間の距離データd
、を順次算出して当該算出結果でなる距離データを距離
テーブルに格納する。
やがてステップ5P13において肯定結果が得られると
、このことは第2内部カウンタのカウント値12が第2
サンプリング点最大番号i eamXtになったこと、
すなわち第2自由曲線R(tz)上に設定された(すな
わち10個の)第2サンプリング点に2について、距離
データd、の算出が終了したことを意味し、このときC
PUはステップ5P14に移って第1内部カウンタのカ
ウント値である第1サンプリング点番号11が第1サン
プリング点最大番号1.□1であるか否かを判定する。
、このことは第2内部カウンタのカウント値12が第2
サンプリング点最大番号i eamXtになったこと、
すなわち第2自由曲線R(tz)上に設定された(すな
わち10個の)第2サンプリング点に2について、距離
データd、の算出が終了したことを意味し、このときC
PUはステップ5P14に移って第1内部カウンタのカ
ウント値である第1サンプリング点番号11が第1サン
プリング点最大番号1.□1であるか否かを判定する。
ここで否定結果が得られると、CPUは上述のステップ
SP5に戻って第2の繰返し処理ループLOOP2 (
SF3−3P6−3P7−3P8−3P9−5PIO−
3PI 1−3P12−3PI3−3P 14−3P5
)に入る。
SP5に戻って第2の繰返し処理ループLOOP2 (
SF3−3P6−3P7−3P8−3P9−5PIO−
3PI 1−3P12−3PI3−3P 14−3P5
)に入る。
かくしてこの繰返し処理ループLOOP2を実行するこ
とにより、CPUはステップSP5〜SP7において第
1パラメータui1方向に位置する次の第1サンプリン
グ点に、を算出すると共に、ステップSP8〜5P13
において、算出された第1サンプリング点に、と、第2
自由曲線R(tz)上に順次設定される10個の第2サ
ンプリング点に2との間の距離データd、を算出し、そ
の算出結果を距離テーブルに格納する。
とにより、CPUはステップSP5〜SP7において第
1パラメータui1方向に位置する次の第1サンプリン
グ点に、を算出すると共に、ステップSP8〜5P13
において、算出された第1サンプリング点に、と、第2
自由曲線R(tz)上に順次設定される10個の第2サ
ンプリング点に2との間の距離データd、を算出し、そ
の算出結果を距離テーブルに格納する。
これに対して肯定結果が得られると、このことは第1自
由曲線R(to上に設定された全ての(すなわち10個
の)第1サンプリング点に1について、それぞれ第2自
由曲JR(tz)上に設定された全ての(すなわち10
個の)第2サンプリング点に、間の距離データd+の算
出が終了したことを意味し、このときCPUはステップ
5P15に移る。
由曲線R(to上に設定された全ての(すなわち10個
の)第1サンプリング点に1について、それぞれ第2自
由曲JR(tz)上に設定された全ての(すなわち10
個の)第2サンプリング点に、間の距離データd+の算
出が終了したことを意味し、このときCPUはステップ
5P15に移る。
CPUはステップ5P15において、距離テーブルに収
納されている全ての距離データを検索し、その最小値を
求め、ステップ5P16に移る。
納されている全ての距離データを検索し、その最小値を
求め、ステップ5P16に移る。
ステップ5P16において、CPUはステップ5P15
で得られた最小値を第1及び第2の自由曲線R(t、)
及びR(tz)間の最短距離d sinとして画面上に
表示すると共に、そのときの第1及び第2パラメータU
、及びu!!、第1及び第2サンプリング点に、及びに
、を画面上に表示した後、ステップ5P17に移って当
該処理を終了する。
で得られた最小値を第1及び第2の自由曲線R(t、)
及びR(tz)間の最短距離d sinとして画面上に
表示すると共に、そのときの第1及び第2パラメータU
、及びu!!、第1及び第2サンプリング点に、及びに
、を画面上に表示した後、ステップ5P17に移って当
該処理を終了する。
以上の構成によれば、第1及び第2の自由曲線間の最短
距離を、当該筒1及び第2の自由曲線上に設定した第1
及び第2サンプリング点間の距離を順次算出し、その結
果得られる距離データのうちから最小値のものを選択す
るようにしたことにより、2つの自由曲線間の最短距離
を簡易かつ確実に求めることができる。
距離を、当該筒1及び第2の自由曲線上に設定した第1
及び第2サンプリング点間の距離を順次算出し、その結
果得られる距離データのうちから最小値のものを選択す
るようにしたことにより、2つの自由曲線間の最短距離
を簡易かつ確実に求めることができる。
また最短距離を与える第1及び第2パラメータの値並び
にサンプリング点を同時に求めることができることによ
り、これらの点に基づいて自由曲線を変形する際に利用
することができ、かくして自由曲線の設計効率を一段と
向上させることができる。
にサンプリング点を同時に求めることができることによ
り、これらの点に基づいて自由曲線を変形する際に利用
することができ、かくして自由曲線の設計効率を一段と
向上させることができる。
(G2)第2実施例
第4図は2つの自由曲面間の最短距離を求める場合を示
し、この場合第1図のCAD/CAMシステム1におい
て、自由曲面作成装置2のCPUは、デザイナが入力装
置7を操作し、自由曲面作成モードを選択したとき第4
図のステップ5P2Oから最短距離演算処理手順に入る
。
し、この場合第1図のCAD/CAMシステム1におい
て、自由曲面作成装置2のCPUは、デザイナが入力装
置7を操作し、自由曲面作成モードを選択したとき第4
図のステップ5P2Oから最短距離演算処理手順に入る
。
このときCPUは、先ずステップSP21において、デ
ザイナが入力装置7の操作によってデイスプレィ上に表
示されている第1及び第2の自由曲面を目視確認しなが
らカーソルを移動させ、最短距離を求めたい位置にある
第1の自由曲面上の第1のパッチ5(al+ vl)を
カーソルをクリックすることにより選択するのを待ち受
け、第1のパッチS (Ill+Vl)が選択がされる
とステップ5P22に移って同様に第2の自由曲面上の
第2のパッチS <ut+ vtl が選択されるのを
待ち受ける。
ザイナが入力装置7の操作によってデイスプレィ上に表
示されている第1及び第2の自由曲面を目視確認しなが
らカーソルを移動させ、最短距離を求めたい位置にある
第1の自由曲面上の第1のパッチ5(al+ vl)を
カーソルをクリックすることにより選択するのを待ち受
け、第1のパッチS (Ill+Vl)が選択がされる
とステップ5P22に移って同様に第2の自由曲面上の
第2のパッチS <ut+ vtl が選択されるのを
待ち受ける。
この選択操作がなされるとCPUは、次のステップ5P
23に移って第1のパッチS (ul+ vl)におけ
る第1パラメータu1の値をOに初期設定した後、ステ
ップSP24に移って第1パラメータu、の値をデザイ
ナが指定入力したきざみ幅(この実施例においては0.
1)分だけ増加させる。
23に移って第1のパッチS (ul+ vl)におけ
る第1パラメータu1の値をOに初期設定した後、ステ
ップSP24に移って第1パラメータu、の値をデザイ
ナが指定入力したきざみ幅(この実施例においては0.
1)分だけ増加させる。
続いてCPUはステップ5P25に移って、第1のパッ
チS (ul+ vl)の第2パラメータV、の値を0
に初期設定した後、ステップ5P26において第2パラ
メータV、の値をデザイナが指定入力したきざみ幅(こ
の実施例においては0.1)分だけ増加させる。
チS (ul+ vl)の第2パラメータV、の値を0
に初期設定した後、ステップ5P26において第2パラ
メータV、の値をデザイナが指定入力したきざみ幅(こ
の実施例においては0.1)分だけ増加させる。
かくしてCPUは第1の自由曲面上に指定された第1の
パッチS (III+Vl)についての演算条件の設定
を終了し、続いてステップ5P27において、ステップ
5P24及び5P26で算出された第1のパッチ5(1
1+1111における第1及び第2のパラメータU、及
びV、の値に基づいて第1のパッチ5(tll+WIl
上の第1サンプリング点K11を算出する。
パッチS (III+Vl)についての演算条件の設定
を終了し、続いてステップ5P27において、ステップ
5P24及び5P26で算出された第1のパッチ5(1
1+1111における第1及び第2のパラメータU、及
びV、の値に基づいて第1のパッチ5(tll+WIl
上の第1サンプリング点K11を算出する。
続いてCPUは、ステップ5P2Bに移り、第2の自由
曲面について同様にして、第2のパッチS (Il+!
+ vffi)における第1パラメータu2の値をOに
初期設定した後、ステップ5P29に移り、第1パラメ
ータu2の値を指定入力されたきざみ幅(この実施例に
おいては0.1)分だけ増加させる。
曲面について同様にして、第2のパッチS (Il+!
+ vffi)における第1パラメータu2の値をOに
初期設定した後、ステップ5P29に移り、第1パラメ
ータu2の値を指定入力されたきざみ幅(この実施例に
おいては0.1)分だけ増加させる。
CPUは続くステップ5P30において、第2のパッチ
S (I11+ vり の第2パラメータv8の値をv
8−0に初期設定し、ステップSP31に移ると第2パ
ラメータV!の値を指定きざみ幅(この実施例において
は0.1 )分だけ増加させる。
S (I11+ vり の第2パラメータv8の値をv
8−0に初期設定し、ステップSP31に移ると第2パ
ラメータV!の値を指定きざみ幅(この実施例において
は0.1 )分だけ増加させる。
かくしてCPUは、第2の自由曲面上に指定された第2
のパッチS (uR+ vtl>についての演算条件の
設定を終了し、続いてステップ5P32に移り、ステッ
プ5P29及びSF31で算出された第2のパッチS
(*** 111)における第1及び第2パラメータu
8及びv2の値に基づいて第2のパッチS (IIll
+ vt)上の第2サンプリング点Kl!を算出する。
のパッチS (uR+ vtl>についての演算条件の
設定を終了し、続いてステップ5P32に移り、ステッ
プ5P29及びSF31で算出された第2のパッチS
(*** 111)における第1及び第2パラメータu
8及びv2の値に基づいて第2のパッチS (IIll
+ vt)上の第2サンプリング点Kl!を算出する。
かくしてCPUは、第1及び第2の自由曲面上に指定さ
れた第1及び第2のパッチS (ul+VI)及びS
lawn V□)についてのサンプリング点K11及び
Klgの算出を終了し、これに続いてステップ5P33
において、ステップ5P27及びステップ5P32で算
出された第1及び第2サンプリング点に、及び)(+z
間の距離データd2を算出して距離テーブルに第1回目
の距離データとして格納する。
れた第1及び第2のパッチS (ul+VI)及びS
lawn V□)についてのサンプリング点K11及び
Klgの算出を終了し、これに続いてステップ5P33
において、ステップ5P27及びステップ5P32で算
出された第1及び第2サンプリング点に、及び)(+z
間の距離データd2を算出して距離テーブルに第1回目
の距離データとして格納する。
その後CPUは、ステップ5P34に移って、第2のパ
ッチS (ulv□ の第2パラメータVtの値がv2
=1か否かの判定をする。
ッチS (ulv□ の第2パラメータVtの値がv2
=1か否かの判定をする。
ここで否定結果が得られると(このことは第2のパッチ
5(uT1+ vgl の第2パラメータv2の値がv
2=1でないことを意味する)、CPUは上述のステッ
プSP31に戻って、第1の繰返し処理ループLOOP
I 1 (SF31−3P32−3P33−3P34−
3P31)に入る。
5(uT1+ vgl の第2パラメータv2の値がv
2=1でないことを意味する)、CPUは上述のステッ
プSP31に戻って、第1の繰返し処理ループLOOP
I 1 (SF31−3P32−3P33−3P34−
3P31)に入る。
かくしてCPUは当該繰返し処理ループLOOpHの処
理を実行することにより、第5図において示すように、
第2のパッチS (uL vり上において、第2のパラ
メータv2の方向にパラメータVtのきざみ幅分づつ離
れた位置に順次配列された所定数個(この実施例におい
ては10個)の第2サンプリング点KI!を順次算出し
、このサンプリング点に1tと第1のパッチ5(WL+
III)上に設定されている第1サンプリング点に0
間の距離データd2を順次算出して第2回目、第3回目
、・・・・・・の距離データとして距離テーブルに格納
して行く。
理を実行することにより、第5図において示すように、
第2のパッチS (uL vり上において、第2のパラ
メータv2の方向にパラメータVtのきざみ幅分づつ離
れた位置に順次配列された所定数個(この実施例におい
ては10個)の第2サンプリング点KI!を順次算出し
、このサンプリング点に1tと第1のパッチ5(WL+
III)上に設定されている第1サンプリング点に0
間の距離データd2を順次算出して第2回目、第3回目
、・・・・・・の距離データとして距離テーブルに格納
して行く。
やがてステップ5P34において肯定結果が得られると
、このことは第2のパッチS (ah vt、における
第2パラメータv2の値がvt−1になったこと、すな
わち第2パラメータv、方向に並ぶ全ての(すなわち1
0個の)第2サンプリング点)<+zについての距離デ
ータd8の算出が終了したこと(すなわち第10回目の
距離データが距離テーブルに格納されたこと)を意味し
、このときCPUはステップ5P35に移り、第2のパ
ッチS <ut* vgl における第1パラメータu
tの値がu8=1か否かを判定する。
、このことは第2のパッチS (ah vt、における
第2パラメータv2の値がvt−1になったこと、すな
わち第2パラメータv、方向に並ぶ全ての(すなわち1
0個の)第2サンプリング点)<+zについての距離デ
ータd8の算出が終了したこと(すなわち第10回目の
距離データが距離テーブルに格納されたこと)を意味し
、このときCPUはステップ5P35に移り、第2のパ
ッチS <ut* vgl における第1パラメータu
tの値がu8=1か否かを判定する。
ここで否定結果が得られると(このことは第2のパッチ
S (uz、vりの第1パラメータU、の値が1でない
ことを意味する)9、CPUは上述のステップ5P29
に戻って、第2の繰返し処理ループLOOP12 (S
F29−3P30−SF31−3P32−3P33−3
P34−3P35−3P29)に入る。
S (uz、vりの第1パラメータU、の値が1でない
ことを意味する)9、CPUは上述のステップ5P29
に戻って、第2の繰返し処理ループLOOP12 (S
F29−3P30−SF31−3P32−3P33−3
P34−3P35−3P29)に入る。
ここでCPUはステップ5P29において第2のパッチ
S (uz、vg)における第1パラメータutの値を
きざみ幅分増加させるごとに、第1の繰返し処理ループ
LOOPIIで演算された10個の距離データに対応す
る距離データを距離テーブルに順次格納し、第1のパラ
メータutの値がu。
S (uz、vg)における第1パラメータutの値を
きざみ幅分増加させるごとに、第1の繰返し処理ループ
LOOPIIで演算された10個の距離データに対応す
る距離データを距離テーブルに順次格納し、第1のパラ
メータutの値がu。
−0,1からu2=1になるまで繰返し格納して行く。
やがてステップ5P34において肯定結果が得られると
、このことは第2のパッチS(0,I!りにおける第1
パラメータu2の値がu!=1になったこと、すなわち
第2のパッチS (a!+ vtl上に配列された全て
の第2サンプリング点KI!についての距離データd、
の算出が終了したことを意味しており、CPUは続くス
テップ5P36に移り、第1のパッチ5(al、vl+
の第2パラメータv1の値がy 、 x lか否か
を判定する。
、このことは第2のパッチS(0,I!りにおける第1
パラメータu2の値がu!=1になったこと、すなわち
第2のパッチS (a!+ vtl上に配列された全て
の第2サンプリング点KI!についての距離データd、
の算出が終了したことを意味しており、CPUは続くス
テップ5P36に移り、第1のパッチ5(al、vl+
の第2パラメータv1の値がy 、 x lか否か
を判定する。
ここで否定結果が得られると、このことは第1のパッチ
5(ul+Vl)の第2パラメータV、の値が1でない
ことを意味する。
5(ul+Vl)の第2パラメータV、の値が1でない
ことを意味する。
従ってCPUは上述のステップ5P26に戻って、第3
の繰返し処理ループLOOP13 (SF26−3P2
7−SP2B−3P29−3P30−3P31−3P3
2−3P33−3P34−3P35−3P36−3P2
6)に入る。
の繰返し処理ループLOOP13 (SF26−3P2
7−SP2B−3P29−3P30−3P31−3P3
2−3P33−3P34−3P35−3P36−3P2
6)に入る。
かくしてCPUは当該繰返し処理ループLOOP13の
処理を実行することにより、第1のパッチS (@I+
VIl上における第2パラメータv8の方向に第2パラ
メータv、のきざみ幅分づつ離れた位置に順次配列され
た所定数個(例えば10個)の第1サンプリング点K1
1を順次算出する。CPUはこのサンプリング点Kll
を算出するごとに第2の繰返し処理ループLOOP 1
2を10回繰り返し実行し、第2のパッチS <ut*
vffi)上の全ての第2サンプリング点)(+xと
の距離データd2を順次求め、距離データd2を表す距
離データを距離テーブルに格納する。
処理を実行することにより、第1のパッチS (@I+
VIl上における第2パラメータv8の方向に第2パラ
メータv、のきざみ幅分づつ離れた位置に順次配列され
た所定数個(例えば10個)の第1サンプリング点K1
1を順次算出する。CPUはこのサンプリング点Kll
を算出するごとに第2の繰返し処理ループLOOP 1
2を10回繰り返し実行し、第2のパッチS <ut*
vffi)上の全ての第2サンプリング点)(+xと
の距離データd2を順次求め、距離データd2を表す距
離データを距離テーブルに格納する。
やがてステップ5P36において肯定結果が得られると
、このことは第1のパッチS (wl+ vl)におけ
る第2パラメータv1の値がy 、 −1になったこと
、すなわち第2パラメータV、の方向に並ぶ全ての第1
サンプリング点Kllについて、第2のパッチS (u
t+ Vt> 上の第2サンプリング点KIgとの距離
データd2の算出が終了したことを意味する。 このと
きCPUは次のステップ5P37に移り、第1のパラメ
ータU、の値がu、=1か否かを判定する。
、このことは第1のパッチS (wl+ vl)におけ
る第2パラメータv1の値がy 、 −1になったこと
、すなわち第2パラメータV、の方向に並ぶ全ての第1
サンプリング点Kllについて、第2のパッチS (u
t+ Vt> 上の第2サンプリング点KIgとの距離
データd2の算出が終了したことを意味する。 このと
きCPUは次のステップ5P37に移り、第1のパラメ
ータU、の値がu、=1か否かを判定する。
ここで否定結果が得られると(このことは第1のパラメ
ータU、の値がul=tfないことを意味する)、CP
Uは上述のステップ5P24に戻って第4の繰返し処理
ループLOOP14 (SP24−3P25−3P26
−3P27−3P2B−3P29−3P30−3P31
−3P32−3P33−3P34−3P35−3P36
−3P37−3P24)に入る。
ータU、の値がul=tfないことを意味する)、CP
Uは上述のステップ5P24に戻って第4の繰返し処理
ループLOOP14 (SP24−3P25−3P26
−3P27−3P2B−3P29−3P30−3P31
−3P32−3P33−3P34−3P35−3P36
−3P37−3P24)に入る。
かくしてCPUは、当該繰返し処理ループLOOP14
の処理を実行することにより、第3の繰返し処理ループ
LOOP 13で順次算出された第1サンプリング点に
、に対して第1のパラメータu1の方向に指定きざみ幅
分づつ離れた位置に配列された第1サンプリング点K1
1を順次算出する。
の処理を実行することにより、第3の繰返し処理ループ
LOOP 13で順次算出された第1サンプリング点に
、に対して第1のパラメータu1の方向に指定きざみ幅
分づつ離れた位置に配列された第1サンプリング点K1
1を順次算出する。
このサンプリング点KIIを算出するごとにCPUは第
3の繰返し処理ループLOOP13を10回繰り返し、
算出された第1のサンプリング点K。
3の繰返し処理ループLOOP13を10回繰り返し、
算出された第1のサンプリング点K。
と第2のパッチS (u!+ vり上の全ての第2サン
プリング点K1ff1との距離データd2を順次算出し
、当該距離d、を表す距離データを距離テーブルに順次
格納して行く。
プリング点K1ff1との距離データd2を順次算出し
、当該距離d、を表す距離データを距離テーブルに順次
格納して行く。
やがてステップ5P37において肯定結果が得られると
、このことは第1のパッチ5(III+ vl) につ
いて算出された全ての第1サンプリング点K11と、第
2のパッチS (tl!+ vりについて算出された全
ての第2サンプリング点Kl!との間の距離データd、
を表す距離データが距離テーブル内に全て格納されたこ
とを意味する。
、このことは第1のパッチ5(III+ vl) につ
いて算出された全ての第1サンプリング点K11と、第
2のパッチS (tl!+ vりについて算出された全
ての第2サンプリング点Kl!との間の距離データd、
を表す距離データが距離テーブル内に全て格納されたこ
とを意味する。
その後CPUはステップ5P38に移って、距離テーブ
ルに格納されている距離データのうち、第1サンプリン
グ点K11及び第2サンプリング点KIz間の距離デー
タd!が最小値となる距離データを検索し、続くステッ
プ5P39において、ステップ5P38で求めた最小値
を第1及び第2のパッチS (ml+ vll及びS
(tl’l+ vt)間の最短距離d sinとしてデ
イスプレィ上に表示する。
ルに格納されている距離データのうち、第1サンプリン
グ点K11及び第2サンプリング点KIz間の距離デー
タd!が最小値となる距離データを検索し、続くステッ
プ5P39において、ステップ5P38で求めた最小値
を第1及び第2のパッチS (ml+ vll及びS
(tl’l+ vt)間の最短距離d sinとしてデ
イスプレィ上に表示する。
さらにCPUは、そのときの第1のパッチS (III
+Wl)の第1及び第2のパラメータU3、vlの値及
び第2のパッチS (a!+ wl)の第1及び第2の
パラメータu寞、V*の値を表示すると共に、第1及び
第2サンプリング点K11及びK11をデイスプレィ上
に表示する。かくしてCPUは全ての処理を実行し、ス
テップ5P40において当該最短距離演算処理手順を終
了する。
+Wl)の第1及び第2のパラメータU3、vlの値及
び第2のパッチS (a!+ wl)の第1及び第2の
パラメータu寞、V*の値を表示すると共に、第1及び
第2サンプリング点K11及びK11をデイスプレィ上
に表示する。かくしてCPUは全ての処理を実行し、ス
テップ5P40において当該最短距離演算処理手順を終
了する。
以上の構成によれば、デザイナにより選択された第1及
び第2パッチ間の最短距離を、第1及び第2のバッチ上
にそれぞれ設定した第1及び第2サンプリング点間の距
離を表す距離データに基づいてその最小値として求める
ようにしたことにより、2つの自由曲面間の最短距離を
簡易かつ確実に算出することができる。
び第2パッチ間の最短距離を、第1及び第2のバッチ上
にそれぞれ設定した第1及び第2サンプリング点間の距
離を表す距離データに基づいてその最小値として求める
ようにしたことにより、2つの自由曲面間の最短距離を
簡易かつ確実に算出することができる。
また2つの自由曲面上の最短距離を与える第1及び第2
のサンプリング点の位置を表す第1及び第2パラメータ
の値も最短距離を算出する際に同時に求めることができ
るため、当該第1及び第2パラメータの値によって決ま
るサンプリング点で自由曲面を4つのサブパッチに分割
し、自由曲面を変形する際に利用することができ、自由
曲面の設計効率を一段と向上させることができる。
のサンプリング点の位置を表す第1及び第2パラメータ
の値も最短距離を算出する際に同時に求めることができ
るため、当該第1及び第2パラメータの値によって決ま
るサンプリング点で自由曲面を4つのサブパッチに分割
し、自由曲面を変形する際に利用することができ、自由
曲面の設計効率を一段と向上させることができる。
(G3)他の実施例
(1)第1の実施例においては、サンプリング点最大番
号ilI□1及びi□、の値をそれぞれ10に選定した
場合について述べたが、サンプリング点最大番号i、1
、及びi、1、の値は他の値に設定し得、また第1サン
プリング点最大番号i。XIと第2サンプリング点最大
番号i□、の値を互いに異なる値に設定しても良い。
号ilI□1及びi□、の値をそれぞれ10に選定した
場合について述べたが、サンプリング点最大番号i、1
、及びi、1、の値は他の値に設定し得、また第1サン
プリング点最大番号i。XIと第2サンプリング点最大
番号i□、の値を互いに異なる値に設定しても良い。
(2)また第1の実施例においては、第1サンプリング
点番号il及び第2サンプリング点番号12の値をそれ
ぞれ0からi、□1及びOからi□□まで増加させる場
合について述べたが、本発明はこれに限らず、第1サン
プリング点番号11及び第2サンプリング点番号12の
増加範囲をそれぞれ種々の値に選定し得る。
点番号il及び第2サンプリング点番号12の値をそれ
ぞれ0からi、□1及びOからi□□まで増加させる場
合について述べたが、本発明はこれに限らず、第1サン
プリング点番号11及び第2サンプリング点番号12の
増加範囲をそれぞれ種々の値に選定し得る。
(3) さらに第1の実施例においては、第1及び第
2のパラメータuil及びuizを(16)式及び(1
7)式に基づいて設定する場合について述べたが、他の
演算式を用いて設定するようにしても良い。
2のパラメータuil及びuizを(16)式及び(1
7)式に基づいて設定する場合について述べたが、他の
演算式を用いて設定するようにしても良い。
(4)第2の実施例においては、第1及び第2パラメー
タu+ % uz及びVlsV!のきざみ幅の値として
それぞれ0.1の値を指定入力した場合について述べた
が、きざみ幅の値は他の値に適宜選定し得、また第1及
び第2のパッチ5(ul+ Vl)及びS (II!+
vZ)に応じて第1及び第2パラメータu1、u2及
びV I 、V Zのきざみ幅の値を互いに異なる値に
設定しても良(、さらに第1及び第2パラメータuIs
ut及びV I % V *に応じてきざみ輻の値を互
いζ異なる値に設定しても良い。
タu+ % uz及びVlsV!のきざみ幅の値として
それぞれ0.1の値を指定入力した場合について述べた
が、きざみ幅の値は他の値に適宜選定し得、また第1及
び第2のパッチ5(ul+ Vl)及びS (II!+
vZ)に応じて第1及び第2パラメータu1、u2及
びV I 、V Zのきざみ幅の値を互いに異なる値に
設定しても良(、さらに第1及び第2パラメータuIs
ut及びV I % V *に応じてきざみ輻の値を互
いζ異なる値に設定しても良い。
(5)第2の実施例においては、第1及び第2パラメー
タuIsuz及びV l % V tの値をそれぞれき
ざみ幅分づつ増加させる場合について述べたが、これに
限らず、第1及び第2パラメータu1、U、及びVl、
VZの値はそれぞれ演算式により設定するようにしても
良い。
タuIsuz及びV l % V tの値をそれぞれき
ざみ幅分づつ増加させる場合について述べたが、これに
限らず、第1及び第2パラメータu1、U、及びVl、
VZの値はそれぞれ演算式により設定するようにしても
良い。
(6)また第2の実施例においては、第1及び第2パラ
メータu l % u 2及びvl 、V tの値をそ
れぞれOに初期設定する場合について述べたが、本発明
はこれに限らず、他の値に設定しても良い。
メータu l % u 2及びvl 、V tの値をそ
れぞれOに初期設定する場合について述べたが、本発明
はこれに限らず、他の値に設定しても良い。
またパラメータul % ut及びvl % V zの
値がそれぞれ1になったときCPUが繰返し処理ループ
を抜は出す場合について述べたが、これに限らず、他の
値になったとき当該繰返し処理ループを抜は出すように
しても良い。
値がそれぞれ1になったときCPUが繰返し処理ループ
を抜は出す場合について述べたが、これに限らず、他の
値になったとき当該繰返し処理ループを抜は出すように
しても良い。
(7)第1の実施例においては、2つの自由曲線R(t
、)及びR(tz)fJに設定された2つのサンプリン
グ点に、及びに2間の距離データを演算する処理手順と
して算出された第1のサンプリング点K。
、)及びR(tz)fJに設定された2つのサンプリン
グ点に、及びに2間の距離データを演算する処理手順と
して算出された第1のサンプリング点K。
に対して、第2の自由曲線R(tz)上の第2のサンプ
リング点に2を繰返し処理ループLOOPIに基づいて
順次算出し、この求められた2点に、及びに2間の距離
データd、を順次演算する場合について述べたが、これ
に代え、第1のサンプリング点 K、と第2のサンプリ
ング点に2との処理手順を入れ代えても良い。
リング点に2を繰返し処理ループLOOPIに基づいて
順次算出し、この求められた2点に、及びに2間の距離
データd、を順次演算する場合について述べたが、これ
に代え、第1のサンプリング点 K、と第2のサンプリ
ング点に2との処理手順を入れ代えても良い。
また第2の実施例においては、2つのバッチS(a++
vl)及びS (u2.vりに設定された2つのサンプ
リング点に11及びに1□間の距離データを演算する処
理手順として、算出された第1のサンプリング点に1に
対して第2のパッチS (ut* wt>上の第2のサ
ンプリング点Kl!を繰返し処理ループL00PII及
びLOOP12に基づいて順次算出し、この2点に11
及びKtz間の距離データd、を順次演算する場合につ
いて述べたが、これに代え、第1のサンプリング点Kl
lと第2のサンプリング点に1□との処理手順を入れ代
えても良い。
vl)及びS (u2.vりに設定された2つのサンプ
リング点に11及びに1□間の距離データを演算する処
理手順として、算出された第1のサンプリング点に1に
対して第2のパッチS (ut* wt>上の第2のサ
ンプリング点Kl!を繰返し処理ループL00PII及
びLOOP12に基づいて順次算出し、この2点に11
及びKtz間の距離データd、を順次演算する場合につ
いて述べたが、これに代え、第1のサンプリング点Kl
lと第2のサンプリング点に1□との処理手順を入れ代
えても良い。
(8) さらに第2の実施例においては、第1及び第
2のサンプリング点K11及びKI!の演算処理手順と
して、それぞれ第1のパラメータU、及びu。
2のサンプリング点K11及びKI!の演算処理手順と
して、それぞれ第1のパラメータU、及びu。
を算出した後、第2のパラメータV、及びVZを算出す
る場合について述べたがこれに代え、それぞれ第2のパ
ラメータv1及びVtを演算した後筒1のパラメータu
、及びu2を演算しても良い。
る場合について述べたがこれに代え、それぞれ第2のパ
ラメータv1及びVtを演算した後筒1のパラメータu
、及びu2を演算しても良い。
(9)上述の実施例においては、自由曲線R(t+)、
R(tz)及びバッチ5(ul+ vl) 、S Tu
!、112) として3次のベジェ式で表されるベク
トル関数を適用した場合について述べたが、3次以上の
ベジェ式で表されるベクトル関数にも適用し得、さらに
B−スプライン関数等種々の場合に適用し得る。
R(tz)及びバッチ5(ul+ vl) 、S Tu
!、112) として3次のベジェ式で表されるベク
トル関数を適用した場合について述べたが、3次以上の
ベジェ式で表されるベクトル関数にも適用し得、さらに
B−スプライン関数等種々の場合に適用し得る。
GOD 上述の実施例においては、第1及び第2サン
プリング点間の距離演算方法として、第1又は第2サン
プリング点間が設定される毎に順次距離を算出する場合
について述べたが、これに限らず、自由曲線又は自由曲
面を複数のブロックに分割し、各ブロック毎に第1及び
第2サンプリング点間の距離の算出を並列的に処理する
等種々の方法をとり得る。
プリング点間の距離演算方法として、第1又は第2サン
プリング点間が設定される毎に順次距離を算出する場合
について述べたが、これに限らず、自由曲線又は自由曲
面を複数のブロックに分割し、各ブロック毎に第1及び
第2サンプリング点間の距離の算出を並列的に処理する
等種々の方法をとり得る。
H発明の効果
上述のように本発明によれば、第1及び第2自由曲線又
は自由曲面上にそれぞれ設定したサンプリング点間の距
離を表す距離データを演算し、この距離データの最小値
を第1及び第2の自由曲線間(又は自由曲面間)の最短
距離として求めるようにしたことにより、2つの自由曲
線間(又は自由曲面間)の最短距離を確実に求めること
ができ、これにより自由曲線及び自由曲面作成の効率を
−段と向上させることができる。
は自由曲面上にそれぞれ設定したサンプリング点間の距
離を表す距離データを演算し、この距離データの最小値
を第1及び第2の自由曲線間(又は自由曲面間)の最短
距離として求めるようにしたことにより、2つの自由曲
線間(又は自由曲面間)の最短距離を確実に求めること
ができ、これにより自由曲線及び自由曲面作成の効率を
−段と向上させることができる。
/ CAD/CANシステム
第1図は本発明によるCAD/CAMシステムの一実施
例を示すブロック図、第2図は第1の発明による2つの
自由曲線間の最短距離演算処理手順の一実施例を示すフ
ローチャート、第3図は第2図の処理手順の説明に供す
る路線図、第4図は第2の発明による2つの自由曲面間
の最短距離演算処理手順の一実施例を示すフローチャー
ト、第5図は第4図の処理手順の説明に供する路線図、
第6図は自由曲線の説明に供する路線図、第7図は自由
曲面の説明に供する路線図である。 R(t+)、R(tg)・・・・・・第1及び第2自由
曲線、S (IIl+III) 、S (、、vワ””
”第1及び第2バツチ、K、 、K、、・・・・・・第
1サンブリンング点、 K2、Kl!・・・・・・第2
サンプリング点。
例を示すブロック図、第2図は第1の発明による2つの
自由曲線間の最短距離演算処理手順の一実施例を示すフ
ローチャート、第3図は第2図の処理手順の説明に供す
る路線図、第4図は第2の発明による2つの自由曲面間
の最短距離演算処理手順の一実施例を示すフローチャー
ト、第5図は第4図の処理手順の説明に供する路線図、
第6図は自由曲線の説明に供する路線図、第7図は自由
曲面の説明に供する路線図である。 R(t+)、R(tg)・・・・・・第1及び第2自由
曲線、S (IIl+III) 、S (、、vワ””
”第1及び第2バツチ、K、 、K、、・・・・・・第
1サンブリンング点、 K2、Kl!・・・・・・第2
サンプリング点。
Claims (2)
- (1)第1の自由曲線上に複数個の第1サンプリング点
を設定し、 第2の自由曲線上に複数個の第2サンプリング点を設定
し、 上記第1及び第2の自由曲線上に順次設定される上記第
1及び第2サンプリング点全ての組合せについて、上記
第1及び第2サンプリング点間の距離を検出することに
より距離データ群を得、上記距離データ群のうち最小値
を検出することにより上記第1及び第2の自由曲線間の
最短距離を検出するようにした ことを特徴とする形状データ作成方法。 - (2)第1の自由曲面上に複数個の第1サンプリング点
を設定し、 第2の自由曲面上に複数個の第2サンプリング点を設定
し、 上記第1及び第2の自由曲面上に順次設定される上記第
1及び第2サンプリング点全ての組合せについて、上記
第1及び第2サンプリング点間の距離を検出することに
より距離データ群を得、上記距離データ群のうち最小値
を検出することより上記第1及び第2の自由曲面間の最
短距離を検出するようにした ことを特徴とする形状データ作成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1255479A JPH03118667A (ja) | 1989-09-30 | 1989-09-30 | 形状データ作成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1255479A JPH03118667A (ja) | 1989-09-30 | 1989-09-30 | 形状データ作成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03118667A true JPH03118667A (ja) | 1991-05-21 |
Family
ID=17279336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1255479A Pending JPH03118667A (ja) | 1989-09-30 | 1989-09-30 | 形状データ作成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03118667A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993001535A1 (en) * | 1991-07-05 | 1993-01-21 | Fanuc Ltd | Method for specifying position where fillet curved surface is located |
JP2002139315A (ja) * | 2000-09-07 | 2002-05-17 | Daimlerchrysler Ag | 構造部分の非破壊壁厚検査方法 |
-
1989
- 1989-09-30 JP JP1255479A patent/JPH03118667A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993001535A1 (en) * | 1991-07-05 | 1993-01-21 | Fanuc Ltd | Method for specifying position where fillet curved surface is located |
US5410489A (en) * | 1991-07-05 | 1995-04-25 | Fanuc Ltd. | Method of specifying position to create fillet curved surface |
JP2002139315A (ja) * | 2000-09-07 | 2002-05-17 | Daimlerchrysler Ag | 構造部分の非破壊壁厚検査方法 |
JP4695792B2 (ja) * | 2000-09-07 | 2011-06-08 | ダイムラー・アクチェンゲゼルシャフト | 構造部分の非破壊壁厚検査方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5289567A (en) | Computer apparatus and method for finite element identification in interactive modeling | |
US6266062B1 (en) | Longest-edge refinement and derefinement system and method for automatic mesh generation | |
Aomura et al. | Self-intersection of an offset surface | |
US20030016216A1 (en) | Numerical analysis mesh generating method and apparatus | |
JP2718935B2 (ja) | プログラム生成方法 | |
US7283136B2 (en) | Cell descriptor | |
JPH03118667A (ja) | 形状データ作成方法 | |
JPS61145684A (ja) | レイアウト設計支援装置 | |
JPS62263564A (ja) | 座標格子作成支援方法及びその装置 | |
JPH03174604A (ja) | 数値制御情報作成装置 | |
JPS60163162A (ja) | 3次元連接体の形状定義方法 | |
JPH03118668A (ja) | 形状データ作成方法 | |
JPH04241073A (ja) | 有限要素メッシュモデルの作成方法および作成装置 | |
JPH05324779A (ja) | 製造設備の設計支援装置 | |
JP2925397B2 (ja) | 形状データ作成方法 | |
JP3912854B2 (ja) | 有限要素モデル処理方法及び装置 | |
JPH0371219A (ja) | カーソル位置の指示方法 | |
JPH0724076B2 (ja) | Cad/camシステムにおける面交線抽出方式 | |
JPH0731742B2 (ja) | ベクトルセットの属性判定装置 | |
JP3234989B2 (ja) | 紙器設計システム | |
JPH0566607B2 (ja) | ||
JP3228433B2 (ja) | 自由曲線作成方法及び自由曲面作成方法 | |
JPH03135672A (ja) | 形状データ作成方法 | |
Pracchi | Boolean expressions of rectilinear polygons with VLSI applications | |
JPS6254377A (ja) | ベクトル選出方法 |