JPH07302355A - 自由曲線作成方法 - Google Patents

自由曲線作成方法

Info

Publication number
JPH07302355A
JPH07302355A JP6114546A JP11454694A JPH07302355A JP H07302355 A JPH07302355 A JP H07302355A JP 6114546 A JP6114546 A JP 6114546A JP 11454694 A JP11454694 A JP 11454694A JP H07302355 A JPH07302355 A JP H07302355A
Authority
JP
Japan
Prior art keywords
vector
intersection
curve
point
free curve
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
Application number
JP6114546A
Other languages
English (en)
Inventor
Yoshikazu Ooka
美和 大岡
Tetsuzo Kuragano
哲造 倉賀野
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP6114546A priority Critical patent/JPH07302355A/ja
Publication of JPH07302355A publication Critical patent/JPH07302355A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】本発明は、自由曲線作成方法について、2次元
平面上の自由曲線を直線及び当該直線を接線として接続
される円弧で近似変換する。 【構成】接線(ベクトルV3 、ベクトルV4 )の交点
(ベクトルP10)と自由曲線の両端点(ベクトルP8
ベクトルP9 )との距離をそれぞれ調べ、自由曲線の両
端点(ベクトルP8 、ベクトルP9 )のうち、接線の距
離の長い一方の端点(ベクトルP9 )から距離の差分の
長さでなる直線を生成し、当該直線の端点(ベクトルP
11)での垂線と自由曲線の他方の端点(ベクトルP8
での接線に対する垂線との交点(ベクトルP12)を中心
として、自由曲線の他方の端点(ベクトルP8 )と直線
の端点(ベクトルP11)との間に円弧を生成する。

Description

【発明の詳細な説明】
【0001】
【目次】以下の順序で本発明を説明する。 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段(図9及び図11) 作用(図9及び図11) 実施例 (1)CAD/CAMシステムの全体構成(図1) (2)自由曲線の原理(図2) (3)実施例による自由曲線作成方法(図3〜図12) (4)他の実施例 発明の効果
【0002】
【産業上の利用分野】本発明は自由曲線作成方法に関
し、例えばCAD(computer aided design )、又はC
AM(computer aided manufacturing)などにおいて、
自由曲面をもつた形状を生成する場合に適用し得る。
【0003】
【従来の技術】例えばCADの手法を用いて自由曲面を
もつた物体の形状をデザインする場合(geometric mode
ling)、一般にデザイナは、曲面が通るべき3次元空間
における複数の点(これを節点と呼ぶ)を指定し、当該
指定された複数の節点を結ぶ境界曲線網を所定のベクト
ル関数を用いてコンピユータによつて演算させることよ
り、いわゆるワイヤーフレームで表現された曲面を作成
する。かくして境界曲線によつて囲まれた多数の枠組み
空間を形成することができる(このような処理を以下枠
組み処理と呼ぶ)。
【0004】かかる枠組み処理によつて形成された境界
曲線網は、それ自体デザイナがデザインしようとする大
まかな形状を表しており、各枠組み空間を囲む境界曲線
を用いて所定のベクトル関数によつて表現できる曲面を
補間演算することができれば、全体としてデザイナがデ
ザインした自由曲面(2次関数で規定できないものをい
う)を生成することができる。ここで各枠組み空間に張
られた曲面は全体の曲面を構成する基本要素を形成し、
これをパツチと呼ぶ。
【0005】従来この種のCADシステムにおいては、
境界曲線網を表現するベクトル関数として、計算が容易
な例えばベジエ(Bezier)式、B−スプライン(B-Spli
ne)式でなる3次のテンソル積が用いられており、例え
ば形状的に特殊な特徴がないような自由曲面を数式表現
するには最適であると考えられている。すわなち形状的
に特殊な特徴がないような自由曲面は、空間に与えられ
た点をxy平面上に投影したとき、当該投影された点が
規則的にマトリクス状に並んでいることが多く、この投
影点の数がm×nで表されるとき、当該枠組み空間を3
次ベジエ式で表される四辺形パツチを用いて容易に張る
ことができることがが知られている。しかしこの従来の
数式表現は、形状的に特徴がある曲面(例えば大きく歪
んだ形状をもつ曲面)に適用する場合には、パツチ相互
間の接続方法に困難があり、高度な数学的演算処理を実
行する必要があるため、コンピユータによる演算処理が
複雑かつ膨大になると共に、演算時間が長大になる問題
があつた。
【0006】この問題を解決する方法として、隣合う枠
組み空間の共有境界について、接平面連続の条件を満足
するような内部の制御点を求め、当該内部の制御点によ
つて決まる自由曲面を表すベクトル関数によつて、自由
曲面でなるパツチを張る方法が提案されている(特願昭
60-277448 号)。
【0007】
【発明が解決しようとする課題】ところで自由曲面を切
削する場合には、デザイナは表示画面上で、自由曲面を
例えば等高線状に切断し、これにより得られる断面毎の
2次元平面上の自由曲線に沿つてNCマシンが曲面を切
削するようになされている。すなわちこれらの断面毎の
自由曲線のデータをNCマシンに送り、NCマシンはこ
れらのデータに基づいて曲面を切削するようになされて
いる。
【0008】ところが自由曲線を切削する場合、NCマ
シンでは近似多角形切削となるため、NCマシンに送る
データ量は非常に多くなり、NCマシンが自由曲線を切
削するのに多大な時間を要するという問題があつた。す
なわち2次元平面上の自由曲線を円弧や直線で近似する
ことができれば、NCマシンに送るデータ量を大幅に減
らすことができると共に、NCマシンでは、円弧の切削
命令においてはフアームウエアでパルス分配がサポート
されているので、切削速度を格段的に向上させことがで
きる。従つて特に荒加工のときには非常に有効であり、
荒加工後の処理が一段と容易になると考えられる。
【0009】本発明は以上の点を考慮してなされたもの
であり、自由曲線を直線及び当該直線を接線として接続
される円弧や接線連続な円弧で近似変換し得る自由曲線
作成方法を提案しようとするものである。
【0010】
【課題を解決するための手段】かかる課題を解決するた
め本発明においては、2次元平面上の自由曲線を2次関
数以下の2つの曲線で近似変換する自由曲線作成方法に
おいて、自由曲線の両端点(ベクトルP8 、ベクトルP
9 )における当該自由曲線内方向の接線(ベクトル
3 、ベクトルV4 )が交差する際、接線(ベクトルV
3 、ベクトルV4 )の交点(ベクトルP10)と自由曲線
の両端点(ベクトルP8 、ベクトルP9 )との距離をそ
れぞれ調べ、自由曲線の両端点(ベクトルP8 、ベクト
ルP9 )のうち、接線の距離の長い一方の端点(ベクト
ルP9 )から距離の差分の長さでなる直線を生成し、当
該直線の端点(ベクトルP11)での垂線と自由曲線の他
方の端点(ベクトルP8 )での接線に対する垂線との交
点(ベクトルP12)を中心として、自由曲線の他方の端
点(ベクトルP8 )と直線の端点(ベクトルP11)との
間に円弧を生成し、自由曲線を直線及び当該直線を接線
として接続される円弧で近似変換するようにした。
【0011】また本発明においては、2次元平面上の自
由曲線を2次関数以下の曲線で近似変換する自由曲線作
成方法において、自由曲線の第1の端点(ベクトル
1 )及び第2の端点(ベクトルP2 )での接線(ベク
トルV1 、ベクトルV2 )を与え、第1の端点(ベクト
ルP1 )及び第1の交点(ベクトルP4 )間の距離と第
2の端点(ベクトルP2 )及び第2の交点(ベクトルP
5 )間の距離との合計が第1(ベクトルP4 )及び第2
の交点(ベクトルP5 )間の距離と等しくなるような第
1の交点(ベクトルP4 )を第1の端点(ベクトル
1 )での接線(ベクトルV1 )上に設定すると共に第
2の交点(ベクトルP5 )を第2の端点(ベクトル
2 )での接線(ベクトルV2 )上に設定し、第1の交
点(ベクトルP4 )及び第2の交点(ベクトルP5 )を
結んで得られる直線を第1の端点(ベクトルP1 )及び
第1の交点(ベクトルP4 )間の距離と第2の端点(ベ
クトルP2 )及び第2の交点(ベクトルP5 )間の距離
との比に応じて分割して得られる接続点の軌跡曲線を求
めて、当該軌跡曲線と自由曲線との交点を接続点(ベク
トルP3)に決め、第1の端点(ベクトルP1 )での接
線(ベクトルV1 )に対する垂線と接続点(ベクトルP
3 )での接線に対する垂線との交点(ベクトルP6 )を
中心として第1の端点(ベクトルP1 )と接続点(ベク
トルP3 )との間に円弧を生成すると共に、第2の端点
(ベクトルP2 )での接線(ベクトルV2 )に対する垂
線と接続点(ベクトルP3 )での接線に対する垂線との
交点(ベクトルP7)を中心として第2の端点(ベクト
ルP2 )と接続点(ベクトルP3 )との間に円弧を生成
し、自由曲線を接線連続な円弧で近似変換するようにし
た。
【0012】
【作用】自由曲線の両端点(ベクトルP8 、ベクトルP
9 )における当該自由曲線内方向の接線(ベクトル
3 、ベクトルV4 )が交差する際、接線(ベクトルV
3 、ベクトルV4 )の交点(ベクトルP10)と自由曲線
の両端点(ベクトルP8 、ベクトルP9 )との距離をそ
れぞれ調べ、自由曲線の両端点(ベクトルP8 、ベクト
ルP9 )のうち、接線の距離の長い一方の端点(ベクト
ルP9 )から距離の差分の長さでなる直線を生成し、当
該直線の端点(ベクトルP11)での垂線と自由曲線の他
方の端点(ベクトルP8 )での接線に対する垂線との交
点(ベクトルP12)を中心として、自由曲線の他方の端
点(ベクトルP8 )と直線の端点(ベクトルP11)との
間に円弧を生成する。これにより、2次元平面上の自由
曲線を直線及び当該直線を接線として接続される円弧で
近似変換することができるので、NCマシン等に転送す
るデータ量を格段的に少なくすることができると共に、
NCマシンの切削速度を一段と高速にすることができ
る。
【0013】また自由曲線の第1の端点(ベクトル
1 )及び第2の端点(ベクトルP2 )での接線(ベク
トルV1 、ベクトルV2 )を与え、第1の端点(ベクト
ルP1 )及び第1の交点(ベクトルP4 )間の距離と第
2の端点(ベクトルP2 )及び第2の交点(ベクトルP
5 )間の距離との合計が第1(ベクトルP4 )及び第2
の交点(ベクトルP5 )間の距離と等しくなるような第
1の交点(ベクトルP4 )を第1の端点(ベクトル
1 )での接線(ベクトルV1 )上に設定すると共に第
2の交点(ベクトルP5 )を第2の端点(ベクトル
2 )での接線(ベクトルV2 )上に設定し、第1の交
点(ベクトルP4 )及び第2の交点(ベクトルP5 )を
結んで得られる直線を第1の端点(ベクトルP1 )及び
第1の交点(ベクトルP4 )間の距離と第2の端点(ベ
クトルP2 )及び第2の交点(ベクトルP5 )間の距離
との比に応じて分割して得られる接続点の軌跡曲線を求
めて、当該軌跡曲線と自由曲線との交点を接続点(ベク
トルP3 )に決め、第1の端点(ベクトルP1 )での接
線(ベクトルV1 )に対する垂線と接続点(ベクトルP
3 )での接線に対する垂線との交点(ベクトルP6 )を
中心として第1の端点(ベクトルP1 )と接続点(ベク
トルP3 )との間に円弧を生成すると共に、第2の端点
(ベクトルP2 )での接線(ベクトルV2 )に対する垂
線と接続点(ベクトルP3)での接線に対する垂線との
交点(ベクトルP7 )を中心として第2の端点(ベクト
ルP2 )と接続点(ベクトルP3 )との間に円弧を生成
する。これにより、2次元平面上の自由曲線を円弧で近
似変換することができるので、NCマシン等に転送する
データ量を格段的に少なくすることができると共に、N
Cマシンの切削速度を一段と高速にすることができる。
【0014】
【実施例】以下図面について、本発明の一実施例を詳述
する。
【0015】(1)CAD/CAMシステムの全体構成 図1において、1は全体としてCAD/CAMシステム
を示し、自由曲面作成装置2で自由曲面を表す形状デー
タDTS を作成した後、工具経路作成装置3で切削加工
用の加工データDTCLを作成する。
【0016】すなわち自由曲面作成装置2は、中央処理
装置(CPU)を有し、表示装置3の表示に応答して入
力装置4を操作することにより、デザイナが指定入力し
たワイヤフレームモデルに3次のベジエ式を用いてパツ
チを張つた後、当該パツチを接続し直すことにより、自
由曲面を有する物体の形状データDTS を作成する。
【0017】これに対して工具経路作成装置5は、形状
データDTS に基づいて、金型を荒加工及び仕上げする
加工データDTCLを作成した後、当該荒加工用及び仕上
げ加工用の加工データDTCLを、例えばフロツピデイス
ク6を介して、NCミーリングマシン7に出力する。N
Cミーリングマシン7は、当該加工データDTCLに基づ
いて例えばNCフライス盤を駆動し、これにより形状デ
ータDTS で表される製品の金型を作成する。
【0018】(2)自由曲線の原理 ここで図2に示すように、ベジエ曲線は、3次のベジエ
式を用いて次式(1)
【数1】 で表されるパラメトリツクな空間曲線ベクトルR(t)
表現される。ここでtは、一方の節点ベクトルP0 から
曲線セグメントKSGに沿う方向に他方の節点ベクトルP
3 に至るまでの間に、次式(2)
【数2】 で表されるように値0から値1まで変換するパラメータ
である。
【0019】このようにして3次のベジエ式で表される
曲線セグメントKSGは、シフト演算子Eによつて節点ベ
クトルP0 及びベクトルP3 間に2つの制御点ベクトル
1及びベクトルP2 を指定することによつて曲線セグ
メントKSG上の各点が次式(3)
【数3】 の展開によつてxyz空間の原点Oからの位置ベクトル
(t) として表される。ここでシフト演算子Eは、曲線
セグメントKSGの制御点ベクトルPi に対して次式
(4)及び(5)
【数4】
【数5】 の関係式をもつ。
【0020】従つて(1)式を展開して(4)式の関係
を代入すれば、次式(6)
【数6】 のように演算することができ、その結果(3)式が得ら
れる。かくしてベジエ曲線で表される各曲線セグメント
ベクトルKSG1 、KSG2 、KSG3 は、(3)式に基づい
てそれぞれ2つの節点及び制御点ベクトルP(0)1、P
(0)2、P(0)3、ベクトルP(1)1、P(1)2、P(1)3、ベク
トルP(2)1、P(2)2、P(2)3及びベクトルP(3)1、P
(3)2、P(3)3によつて表すことができる。
【0021】従つて、節点ベクトルP(0)1、P(0)2、P
(0)3及びP(3)1間に制御点ベクトルP(1)1、P(1)2、P
(1)3及びベクトルP(2)1、P(2)2、P(2)3を設定するこ
とにより、節点ベクトルP(0)1、P(0)2、P(0)3及びP
(3)1を通つて制御点ベクトルP(0)1、P(0)2、P(0)3
ベクトルP(1)1、P(1)2、P(1)3、ベクトルP(2)1、P
(2)2、P(2)3及びP(3)1、P(3)2、P(3)3で決まる形状
に設定することができる。
【0022】(3)実施例による自由曲線作成方法 この実施例では、2次元平面上に存在する複数の自由曲
線を予め定めた許容誤差範囲内で円弧及び直線又は円弧
群で近似変換する。このとき、(A)曲線の始点と終点
における接線方向を保持し、(B)接線連続の接続状態
を保持し、(C)変換される円弧又は直線の数を最少に
するという条件を満たすようにしている。
【0023】図3に示すように、2次元平面上に3つの
3次のベジエ曲線が存在しているとする。このうち1つ
のベジエ曲線に着目し、図4に示すように、この曲線の
始点をベクトルP1 (X1 、Y1 )、終点をベクトルP
2 (X2 、Y2 )とする。また始点ベクトルP1 での接
線ベクトルをベクトルV2 (u1 、v1 )、終点ベクト
ルP2 での接線ベクトルをベクトルV1 (u2 、v2
とする。
【0024】まずこの与えられた曲線を2つの円弧に変
換したときの2つの円弧の接続点の軌跡曲線を求める。
この接続点の軌跡曲線を求めるために、図5に示すよう
に、この曲線を2つの円弧に変換したときの2つの円弧
の接続点を仮に接続点ベクトルP3 とする。また接続点
ベクトルP3 を通る円弧の接続点ベクトルP3 での接線
と接線ベクトルV1 との交点を交点ベクトルP4 、接続
点ベクトルP3 を通る他方の円弧の接続点ベクトルP3
での接線と接線ベクトルV2 との交点を交点ベクトルP
5 とし、始点ベクトルP1 と交点ベクトルP4 との距離
をa(0<a<始点ベクトルP1 終点ベクトルP2 )、
終点ベクトルP2 と交点ベクトルP5 との距離をb(0
<b<始点ベクトルP1 終点ベクトルP2 )とすると、
交点ベクトルP4 及びP5 はそれぞれ次式(7)及び
(8)で表すことができる。
【数7】
【数8】
【0025】従つて(7)式及び(8)式より交点ベク
トルP4 と交点ベクトルP5 との距離は次式(9)
【数9】 で表すことができる。また円弧の性質より始点ベクトル
1 及び交点ベクトルP4 間の距離と接続点ベクトルP
3 及び交点ベクトルP4 間の距離とは同じであり、同様
に終点ベクトルP2 及び交点ベクトルP5 間の距離と接
続点ベクトルP3及び交点ベクトルP5 間の距離は同じ
であり、それぞれ次式(10)及び(11)
【数10】
【数11】 で表すことができる。従つて交点ベクトルP4 及びP5
間の距離は次式(12)
【数12】 で表すことができる。
【0026】また(9)式及び(12)式より次式(13)
【数13】 のようなaとbとの関係式を得ることができる。さらに
この(13)式について、bをaの関数として表すと次式
(14)
【数14】 を得ることができる。ここで始点ベクトルP1 が(0、
0)、終点ベクトルP2が(10、0)、接線ベクトルV
1 が(1、1)、接線ベクトルV2 が(−1、−0.5 )
とすると、aとbとの関数は図6に示すようになる。
【0027】以上のことより、接続点ベクトルP3 は交
点ベクトルP4 と交点ベクトルP5との間をa:bに内
分する点であるので、次式(15)及び次式(16)
【数15】
【数16】 を得ることができる。ここでX3 は接続点ベクトルP3
のx座標値であり、Y3は接続点ベクトルP3 のy座標
値である。従つて0<a<始点ベクトルP1 終点ベクト
ルP2 、0<b<始点ベクトルP1 終点ベクトルP2
満たすa、bを(15)式及び(16)式に代入することに
より接続点ベクトルP3 の軌跡曲線を得ることができ、
与えられた曲線をこの接続点ベクトルP3 で分割するこ
とにより接線が連続につながる2つの円弧を生成するこ
とができる。ここで始点ベクトルP1 が(0、0)、終
点ベクトルP2 が(10、0)、接線ベクトルV1
(1、1)、接線ベクトルV2 が(−1、−0.5 )のと
きの接続点ベクトルP3 の軌跡曲線を図7に示す。
【0028】以上のことより、始点ベクトルP1 及び交
点ベクトルP4 間の距離と終点ベクトルP2 及び交点ベ
クトルP5 間の距離との合計が交点ベクトルP4 及び交
点ベクトルP5 間の距離と等しくなるように、接線ベク
トルV1 上に交点ベクトルP4 を設定すると共に接線ベ
クトルV2 上に交点ベクトルP5 を設定し、始点ベクト
ルP1 から交点ベクトルP4 までの距離と、終点ベクト
ルP2 から交点ベクトルP5 までの距離の比に応じて、
交点ベクトルP4 及び交点ベクトルP5 間を内分すれ
ば、この内分する点が接続点ベクトルP3 となる。
【0029】このようにして求められる接続点ベクトル
3 の軌跡曲線のどの点を接続点P3 として採用するか
は、この接続点ベクトルP3 の軌跡曲線と与えられた曲
線とから接続点を決定する。すなわち図8に示すよう
に、接続点ベクトルP3 の軌跡曲線と与えられた曲線と
の交点を得、この交点を接続点ベクトルP3 と決定し
て、この接続点ベクトルP3 で与えられた曲線を分割す
る。次にこの接続点ベクトルP3 より以下のような方法
で2つの円弧を生成する。
【0030】まず図9に示すように、始点ベクトルP1
での接線ベクトルV1 に対する垂線と接続点ベクトルP
3 での接線に対する垂線との交点ベクトルP6 を中心と
して始点ベクトルP1 と接続点ベクトルP3 との間に円
弧(一点鎖線で示す)を生成し、終点ベクトルP2 での
接線ベクトルV2 に対する垂線と接続点ベクトルP3
の接線に対する垂線との交点ベクトルP7 を中心として
終点ベクトルP2 と接続点ベクトルP3 との間に円弧
(一点鎖線で示す)を生成する。
【0031】次にこのようにして得られた2つの円弧と
与えられた曲線との間の最大誤差が予め設定した許容誤
差の範囲内にあるか否かを判定する。ここで生成された
円弧と与えられた曲線との誤差は、生成された円弧から
与えられた曲線に垂線を下ろし、この垂線の距離より求
める。生成された2つの円弧と与えられた曲線との座標
値の最大誤差が許容誤差範囲内であれば、処理は終了
し、交点ベクトルP6 及び交点ベクトルP7 を中心に生
成した2つの円弧を採用する。
【0032】また図10(A)に示すように、与えられ
た曲線を接続点ベクトルP3 で分割した結果得られた円
弧において、図10(B)に示すように始点ベクトルP
1 及び接続点ベクトルP3 間に生成された円弧(一点鎖
線で示す)と与えられた曲線との間に生じた最大誤差M
が許容範囲を越える場合には、始点ベクトルP1 及び接
続点ベクトルP3 間について処理を行う。
【0033】ここで曲率が連続して変化する曲線、すな
わち1つ山のベジエ曲線を近似変換する場合には、まず
円弧と直線で近似変換することを優先する。これは、直
線で近似変換した方がデータ量が少なくてすみ、NCマ
シンの切削速度が一段と速くなるからである。図11に
示すように、まず始点ベクトルP8 での接線ベクトルV
3 と終点ベクトルP9 での接線ベクトルV4 との交点ベ
クトルP10を得、始点ベクトルP8 及び交点ベクトルP
10間の距離と終点ベクトルP9 及び交点ベクトルP10
の距離とを比較する。この場合例えば始点ベクトルP8
及び交点ベクトルP10間の距離の方が短いとすると、終
点ベクトルP9 から、始点ベクトルP8及び交点ベクト
ルP10間の距離と終点ベクトルP9 及び交点ベクトルP
10間の距離との差分の長さでなる直線を接線ベクトルV
4 上に生成する。すなわち当該直線の端点である接続点
11及び終点ベクトルトルP9 間に直線を生成する。
【0034】円弧の生成は、始点ベクトルP8 での接線
ベクトルV3 に対する垂線と接続点ベクトルP11での接
線に対する垂線との交点ベクトルP12を中心として始点
ベクトルP8 と接続点ベクトルP11との間に円弧(一点
鎖線)を生成する。このとき与えられた曲線と生成され
た円弧及び直線の間の最大誤差が許容範囲内にある場合
には、この生成された円弧と直線を採用し、最大誤差が
許容範囲を越える場合には、始点ベクトルP8 及び終点
ベクトルP9 間を上述の方法で2つの円弧に近似変換す
る。
【0035】すなわち1つ山のベジエ曲線を2つの円弧
で近似変換するときは、上述の曲率の変化が不連続であ
るS字のベジエ曲線を2つの円弧で近似変換した場合と
同様の方法により行う。すなわち、接続点ベクトル
3 ′(図示せず)の軌跡曲線を求め、接続点ベクトル
3 ′の軌跡曲線と曲線P8 9 との交点を接続点と
し、この接続点で当該曲線P8 9 を分割して2つの円
弧に生成する。ところが接続点ベクトルP3 ′の軌跡曲
線と曲線P8 9 とに交点が求まらない場合がある。
【0036】この場合、接続点ベクトルP3 ′の軌跡曲
線から曲線P8 9 に垂線を下ろし、この垂線の最小距
離が予め設定された許容範囲内にある場合には、最小距
離となる垂線と曲線P8 9 との交点を接続点ベクトル
3 ′に決定し、始点ベクトルP8 での接線に対する垂
線と接続点ベクトルP3 ′での接線に対する垂線との交
点(図示せず)を中心に始点ベクトルP8 と接続点ベク
トルP3 ′との間に円弧を生成すると共に、終点ベクト
ルP9 での接線に対する垂線と接続点ベクトルP3 ′で
の接線に対する垂線との交点(図示せず)を中心に終点
ベクトルP9 と接続点ベクトルP3 ′との間に円弧を生
成する。また上述の垂線の最小距離が許容範囲を越える
場合には、パラメータとして与えられた曲線P8 9
当該パラメータの半分のところで2つに分割する。
【0037】ここで垂線の最小距離が許容範囲内か否か
を判定する際の許容範囲は、上述の円弧と直線との間の
最大誤差が許容範囲内か否かを判定する際の許容範囲と
同じ範囲に設定されている。これにより、軌跡曲線と与
えられた曲線とに交点が求まらない場合に、垂線の最小
距離がこの許容範囲内にあれば、生成される円弧と与え
られた曲線との間に生ずる最大誤差は、許容範囲を越え
ることはない。
【0038】このように1つ山のベジエ曲線を近似変換
する場合には、まず優先的に円弧及び直線に近似変換
し、この結果得られる円弧及び直線の最大誤差が許容範
囲を越えたときは、元の曲線を2つの円弧に近似変換す
る。
【0039】従つて図10(C)に示すように、始点ベ
クトルP1 及び接続点ベクトルP3間に生成された円弧
と与えられた曲線との最大誤差Mが許容範囲を越える場
合には、始点ベクトルP1 及び接続点ベクトルP3 間に
生成された円弧について、接続点P3 ″を求めて円弧及
び直線に変換し、その結果得られた円弧及び直線の最大
誤差が許容範囲内であればこの生成された円弧及び直線
を採用する。最大誤差が許容範囲を越えている場合に
は、始点ベクトルP1 及び接続点ベクトルP3 間に生成
された円弧を上述の方法により2つの円弧で近似変換す
る。
【0040】このようにして図3の残りの2つのベジエ
曲線についても、円弧及び直線又は円弧群で近似変換す
る。この結果得られた円弧及び直線又は円弧群を図11
(B)に示し、これを図11(A)に示す与えられた曲
線に重ね合わせたものを図11(C)に示す。
【0041】以上の方法によれば、2次元平面上の自由
曲線を、直線及び当該直線を接線として接続される円弧
や2つの円弧で近似変換することができるので、NCマ
シン等に転送するデータ量を格段的に少なくすることが
できと共に、NCマシンの切削速度を一段と高速にする
ことができる。従つて荒加工する場合には特に有効であ
り、その後の処理が一段と容易になる。
【0042】(4)他の実施例 なお上述の実施例においては、生成された円弧から与え
られた曲線に垂線を下ろして最大誤差を求める場合につ
いて述べたが、本発明はこれに限らず、与えられた曲線
から生成された円弧及び直線に垂線を下ろして最大誤差
を判定するようにしてもよい。
【0043】また上述の実施例においては、接続点の軌
跡曲線と与えられた曲線に交点が求まらない場合には、
軌跡曲線から与えられた曲線に垂線を下ろして最小距離
を求めた場合について述べたが、本発明はこれに限ら
ず、与えられた曲線から軌跡曲線に垂線を下ろして、最
小距離が許容範囲内にあるか否かを判定するようにして
もよい。
【0044】また上述の実施例においては、与えられた
曲線から円弧を生成する場合について述べたが、本発明
はこれに限らず、点群の座標値をデータとして与えて、
これらの点群を通過する円弧を近似生成することもでき
る。
【0045】
【発明の効果】上述のように本発明によれば、自由曲線
の両端点における当該自由曲線内方向の接線が交差する
際、接線の交点と自由曲線の両端点との距離をそれぞれ
調べ、自由曲線の両端点のうち、接線の距離の長い一方
の端点から距離の差分の長さでなる直線を生成し、当該
直線の端点での垂線と自由曲線の他方の端点での接線に
対する垂線との交点を中心として、自由曲線の他方の端
点と直線の端点との間に円弧を生成するようにしたこと
により、2次元平面上の自由曲線を直線及び当該直線を
接線として接続される円弧で近似変換することができる
ので、NCマシン等に転送するデータ量を格段的に少な
くすることができると共に、NCマシンの切削速度を一
段と高速にすることができる。
【図面の簡単な説明】
【図1】本発明による自由曲線作成方法を適用したCA
D/CAMシステムの一実施例の全体構成を示すブロツ
ク図である。
【図2】ベクトル関数で表される自由曲線の説明に供す
る略線図である。
【図3】2次元平面上のベジエ曲線群を示す略線図であ
る。
【図4】始点ベクトルP1 、終点ベクトルP2 、始点ベ
クトルP1 での接線ベクトルV1 及び終点ベクトルP2
での接線ベクトルV2 が設定されたベジエ曲線を示す略
線図である。
【図5】接続点ベクトルP3 の軌跡曲線を求める際の説
明に供する略線図である。
【図6】始点ベクトルP1 及び交点ベクトルP4 間の距
離aと終点ベクトルP2 及び交点ベクトルP4 間の距離
bとの関数を示すグラフである。
【図7】接続点ベクトルP3 の軌跡曲線を表すグラフで
ある。
【図8】始点ベクトルP1 及び交点ベクトルP4 間の距
離a及び終点ベクトルP2 及び交点ベクトルP5 間の距
離bと交点ベクトルP4 及びP5 間における接続点ベク
トルP3 との関係を示す略線図である。
【図9】円弧の生成の説明に供する略線図である。
【図10】生成された円弧に許容誤差の範囲を越えた誤
差が生じた場合の誤差の修正の説明に供する略線図であ
る。
【図11】与えられた曲線を接線連続な円弧及び直線に
近似変換する際の説明に供する略線図である。
【図12】本発明による自由曲線作成方法により生成さ
れた円弧群(B)を、与えられた自由曲線群(A)に重
ねたときの状態(C)を示す略線図である。
【符号の説明】
1……CAD/CAMシステム、2……自由曲面作成装
置、3……表示装置、4……入力装置、5……工具経路
作成装置、6……フロツピイデイスク、7……NCミー
リングマシン、P(0)1、P(0)2、P(0)3、P(1)1、P
(1)2、P(1)3、P(2)1、P(2)2、P(2)3、P(3)1、P
(3)2、P(3)3……節点、制御点。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】2次元平面上の自由曲線を2次関数以下の
    2つの曲線で近似変換する自由曲線作成方法において、 上記自由曲線の両端点における当該自由曲線内方向の接
    線が交差する際、上記接線の交点と上記自由曲線の両端
    点との距離をそれぞれ調べ、 上記自由曲線の両端点のうち、上記接線の距離の長い一
    方の端点から上記距離の差分の長さでなる直線を生成
    し、 当該直線の端点での垂線と上記自由曲線の他方の端点で
    の接線に対する垂線との交点を中心として、上記自由曲
    線の他方の端点と上記直線の端点との間に円弧を生成
    し、 上記自由曲線を直線及び当該直線を接線として接続され
    る円弧で近似変換するようにしたことを特徴とする自由
    曲線作成方法。
  2. 【請求項2】上記円弧及び直線から上記自由曲線又は上
    記自由曲線から上記円弧及び直線に垂線を下ろし、当該
    垂線の最大距離が予め定めた許容範囲を越える場合又は
    上記自由曲線の両端点における当該自由曲線内方向の接
    線が交差しない場合には、 上記自由曲線の第1の端点及び第2の端点での接線を与
    え、 上記第1の端点及び第1の交点間の距離と上記第2の端
    点及び第2の交点間の距離との合計が上記第1及び第2
    の交点間の距離と等しくなるような上記第1の交点を上
    記第1の端点での接線上に設定すると共に上記第2の交
    点を上記第2の端点での接線上に設定し、 上記第1の交点及び第2の交点を結んで得られる直線を
    上記第1の端点及び上記第1の交点間の距離と上記第2
    の端点及び上記第2の交点間の距離との比に応じて分割
    して得られる接続点の軌跡曲線を求めて、当該軌跡曲線
    と上記自由曲線との交点を接続点に決め、 上記第1の端点での上記接線に対する垂線と上記接続点
    での接線に対する垂線との交点を中心として上記第1の
    端点と上記接続点との間に円弧を生成すると共に、上記
    第2の端点での上記接線に対する垂線と上記接続点での
    接線に対する垂線との交点を中心として上記第2の端点
    と上記接続点との間に円弧を生成し、 上記自由曲線を接線連続な円弧で近似変換するようにし
    たことを特徴とする請求項1に記載の自由曲線作成方
    法。
  3. 【請求項3】上記軌跡曲線と上記自由曲線とに交点が存
    在しない場合には、上記自由曲線から上記軌跡曲線又は
    上記軌跡曲線から上記自由曲線に垂線を下ろし、当該垂
    線の最小距離が上記許容範囲内にあるとき、上記垂線と
    上記自由曲線との交点を接続点に決めるようにしたこと
    を特徴とする請求項2に記載の自由曲線作成方法。
  4. 【請求項4】2次元平面上の自由曲線を2次関数以下の
    曲線で近似変換する自由曲線作成方法において、 上記自由曲線の第1の端点及び第2の端点での接線を与
    え、 上記第1の端点及び第1の交点間の距離と上記第2の端
    点及び第2の交点間の距離との合計が上記第1及び第2
    の交点間の距離と等しくなるような上記第1の交点を上
    記第1の端点での接線上に設定すると共に上記第2の交
    点を上記第2の端点での接線上に設定し、 上記第1の交点及び第2の交点を結んで得られる直線を
    上記第1の端点及び上記第1の交点間の距離と上記第2
    の端点及び上記第2の交点間の距離との比に応じて分割
    して得られる接続点の軌跡曲線を求めて、当該軌跡曲線
    と上記自由曲線との交点を接続点に決め、 上記第1の端点での上記接線に対する垂線と上記接続点
    での接線に対する垂線との交点を中心として上記第1の
    端点と上記接続点との間に円弧を生成すると共に、上記
    第2の端点での上記接線に対する垂線と上記接続点での
    接線に対する垂線との交点を中心として上記第2の端点
    と上記接続点との間に円弧を生成し、 上記自由曲線を接線連続な円弧で近似変換するようにし
    たことを特徴とする自由曲線作成方法。
  5. 【請求項5】上記軌跡曲線と上記自由曲線とに交点が存
    在しない場合には、上記自由曲線から上記軌跡曲線又は
    上記軌跡曲線から上記自由曲線に垂線を下ろし、当該垂
    線の最小距離が上記許容範囲内にあるとき、上記垂線と
    上記自由曲線との交点を接続点に決めるようにしたこと
    を特徴とする請求項4に記載の自由曲線作成方法。
JP6114546A 1994-04-28 1994-04-28 自由曲線作成方法 Pending JPH07302355A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6114546A JPH07302355A (ja) 1994-04-28 1994-04-28 自由曲線作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6114546A JPH07302355A (ja) 1994-04-28 1994-04-28 自由曲線作成方法

Publications (1)

Publication Number Publication Date
JPH07302355A true JPH07302355A (ja) 1995-11-14

Family

ID=14640496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6114546A Pending JPH07302355A (ja) 1994-04-28 1994-04-28 自由曲線作成方法

Country Status (1)

Country Link
JP (1) JPH07302355A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258952A (ja) * 2008-04-16 2009-11-05 Kanto Auto Works Ltd ワイヤハーネスの配索形状表示方法及び装置
WO2022254862A1 (ja) * 2021-05-31 2022-12-08 日本電産株式会社 角度検出方法および角度検出装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258952A (ja) * 2008-04-16 2009-11-05 Kanto Auto Works Ltd ワイヤハーネスの配索形状表示方法及び装置
WO2022254862A1 (ja) * 2021-05-31 2022-12-08 日本電産株式会社 角度検出方法および角度検出装置

Similar Documents

Publication Publication Date Title
JP3593850B2 (ja) 工具点列発生方法
US5619625A (en) Method for interpolating smooth free-form surfaces into curve mesh including composite curves
JPH0373883B2 (ja)
JPH0373882B2 (ja)
JP6548830B2 (ja) 指令値生成装置
JP2002245098A (ja) 六面体メッシュ生成方法および装置
JPH07311858A (ja) 自由曲面作成方法及び自由曲面作成装置
JPH07302355A (ja) 自由曲線作成方法
JP3512091B2 (ja) 自由曲面作成方法及び自由曲面作成装置
JPH0664486B2 (ja) 3次元曲線作成方法
JP2638851B2 (ja) 数値制御加工方法
JPH11195139A (ja) 自由曲面生成装置および方法、並びに提供媒体
JPH09270026A (ja) 自由曲面生成装置および自由曲面生成方法
JP2799531B2 (ja) Ncデータ作成方法
JP2845661B2 (ja) 形状データ作成方法
JP3209432B2 (ja) 物体形状切削方法
JP2767865B2 (ja) ぼかし面データ自動作成装置
JP2638852B2 (ja) フイレツト曲面の生成方法
JP3187813B2 (ja) オフセツト曲面データ作成方法
JP3148792B2 (ja) 自由曲面生成方法及びその装置
JPH07295621A (ja) 曲面加工用camシステムの工具経路設定方法
JP3187812B2 (ja) オフセツト曲面データ作成方法
JP2696914B2 (ja) 金型作成方法
JP4040821B2 (ja) 3次元形状処理方法およびその形状処理方法を実施するためのプログラムを記憶した記憶媒体
JP2822190B2 (ja) 物体の表面形状データ作成方法