NURBS

NURBS是縮寫,
原文是Non-Uniform Rational B-spline...
所以,不要再拼成NUBRS了....= ="

non-uniform 非一致性的
是指對於節點賦予有限度的彈性...

rational 有理的
是指可用數學函式定義...

b-spline 基本涵式曲線
b-spline的b不是Bezier,而是basic function...

b-spline將曲線階數由控制點個數決定下獨立出來,
所以可以在不改變曲線階數的情形下,增加曲線控制點....
而且在曲線定義裡面加上了節點向量,
使得控制點可以只對曲線產生局部的變化....


NURBS 曲面是一種多嵌片的曲面,每一個嵌片定義一個控制點。

所謂嵌片(PATCH)你可以想像那是補過的曲面,就像一條補過的牛仔褲,
補過的地方顏色比較深,所 以一個NURBS 曲面就像是一條補過很多地方的牛仔褲,
不是一條很完整的褲子,看到這裡您一定會想像說這樣子曲面一定很不好,
因為它不是一整個面,所以不能用,

事實上,我 們必須逆向思考,我們要的其實不是一個定義成完整而沒有修補過的面
(BEZIER曲面就是完整的面),因為完整的面無法順利的做編修,
意思是,一但你做設 計變更,用到修剪曲面、組合曲面,完整面上的某個控制點跑掉,
那你整個面的控制點就全都會跑掉了,如此會導致NC加工出來的品質受到質疑,
所以我們需要像 一條補過的牛仔褲一樣的面,就像NURBS曲面一般,
NURBS 曲面提供兩個主要優點:
NURBS 曲面總是平順的
,以及和一個控制點只控制變化的區域,
對於被改變的曲面的其他地方曲面的位置、重量、屬性...等將不變

所有高階曲面的功能都會建立成NURBS曲面。

BEZIER網格曲面也是一種多嵌片的曲面,每一個嵌片定義16個的控制點。
一個 BEZIER網格曲面可以操縱這些控制點並改變形狀。
但是當一個控制點移動時將影響整個曲面形狀。
BEZIER 網格曲面有一個缺點就是曲面不一定平順


在Cimatron當中,以下的功能做出來就直接是NURBS的曲面了:
1.導向曲面(DRIVE) 所有的選項(除了平行斷面之外)
2.熔接曲面(BLEND)
3.網格曲面(MESH)
4.導圓面(FILLET)
5.點曲面(PNTSRF)
6.規則曲面RULED) (只有特殊的例子)
7.組合曲面(COMSRF)
8.變更(MODIFY) >> 平緩化(FAIR)
9.補正OFFSET) >> 曲面(SURFACE) >> 不等肉厚補正(VARIABLE)
10.比例(SCALE)
11.變更(MODIFY)>> 毗連曲面(ADJOIN SURFACES)
12.變更(MODIFY) >> 改成未修剪曲面(TRMSRFTO SURFACE)
13.外部程式(USER) >> GEOMETRY >> READCMM.dll

※變更(MODIFY ) >> 變更斜率(MODIFY SLOPES)
可以轉換所有曲面的類型到NURBS曲面中。


曲面若要轉換成 Bezier可以使用外部程式的功能
USER(外部程式) / GEOMETRY / APPBEZ.dll