AutoCAD的三維變截面造型系統(tǒng)
0 前 言
目前,許多CAD系統(tǒng)的曲面模型(Surface Modeling)都是基于NURBS數(shù)學(xué)方法的,在這類系統(tǒng)中,若以創(chuàng)建曲面的方法來分類,一般可將曲面為分四大類:一是系統(tǒng)直接創(chuàng)建的基本曲面,如錐面、柱面、球面和圓環(huán)面;二是動(dòng)跡(Motion-Based)曲面,如旋轉(zhuǎn)(Revolved)曲面、拉伸(Extruded)曲面和掃掠(Swept)曲面;三是蒙(Skin)面,如直紋曲面、UV放樣(Lofted)曲面;四是導(dǎo)出曲面(Derived),如調(diào)和(Blended)曲面、倒圓(Fillet)曲面。許多工業(yè)產(chǎn)品的外形都具有以下特點(diǎn):(1) 橫截面呈封閉形狀,具有一根或兩根對(duì)稱軸;(2)截面形狀和大小沿物體軸線是變化的。具有上述特點(diǎn)的工業(yè)產(chǎn)品比比皆是,如講究美觀漂亮的化妝品包裝瓶、講求生動(dòng)活潑的兒童玩具、要求氣動(dòng)特性和受力特性良好且裝載空間大的飛機(jī)機(jī)身、要求美觀和諧且風(fēng)阻系數(shù)小的現(xiàn)代汽車外形等等。對(duì)于構(gòu)造外形具有上述特點(diǎn)的工業(yè)產(chǎn)品,用基本曲面和動(dòng)跡曲面已無法完成。用UV向放樣的方法可以完成,但是,用UV放樣法,首先要大量的數(shù)據(jù)來生成U、V放樣曲線,最后才能產(chǎn)生放樣曲面。在新產(chǎn)品造型時(shí),要設(shè)計(jì)人員給出大量U、V放樣曲線的數(shù)據(jù)相當(dāng)困難,致使造型效率很低。可見,用UV放樣法對(duì)具有上述特點(diǎn)的工業(yè)產(chǎn)品進(jìn)行造型,是方法可行而效率不行。針對(duì)目前CAD系統(tǒng)存在的不足,我們以AutoCAD為支撐環(huán)境,開發(fā)了下面介紹的“三維變截面造型系統(tǒng)”。
1 變截面造型基本思想及算法設(shè)計(jì)
1.1 變截面造型基本思想
對(duì)于如圖1所示的三維物體,從微分的角度來看,可把它切分為一個(gè)個(gè)大小和形狀不同的薄片,當(dāng)這些薄片趨于無窮薄時(shí)就變成了本文所稱的截面;從積分的角度來看,又可把三維物體視為由一個(gè)個(gè)大小和形狀不同的薄片沿一軸線疊放而成,這就是三維變截面造型的基本思想。 ![](http://www.e-works.net.cn/images/128072555268437500.jpg) 1.2 算法設(shè)計(jì)
1.2.1 橫截面算法
按照變截面造型的基本思想,橫截面是三維物體的構(gòu)成元素,其大小由寬度、高度參數(shù)確定,形狀由形狀因子確定。這些參數(shù)都是沿三維物體軸線變化的(參見圖1)。
在“三維變截面造型系統(tǒng)”中,我們采用 “中國(guó)航空科技文獻(xiàn)(HJB880658)《超橢圓及亞橢圓曲線的遞推算法》”為橫截面的算法,在具體實(shí)現(xiàn)中作了取舍和變換。超橢圓、亞橢圓及內(nèi)擺線曲線族的數(shù)學(xué)表達(dá)式如下:
f(x,y)=b2n[(x-xe)cosα+(y-ye)sinα]2n+a2n[(y-ye)cosα-(x-xe)sinα]2n-(ab)2n=0 (1)
(1)式的參數(shù)表示如下:
(x-xe)cosα+(y-ye)sinα=αcosn1t (2)
(y-ye)cosα+(x-xe)sinα=bsinn1t
由(1)式,令
Xi=[(xi-xe)]cosα+(yi-ye)sinα]n
Yi=(a/b)n[(yi-ye)cosα-(xi-xe)sinα]n
可得到以下遞推公式(推導(dǎo)過程詳見參考資料[1])。 ![](http://www.e-works.net.cn/images/128072555040625000.jpg)
將(1)式中的指數(shù)進(jìn)行變換,得
f(x,y)=[(x-xe)cosα+(y-ye)sinα]2n+[an/bm]2[(y-ye)cosα-(x-xe)sinα]2m-(a)2n=0 (4)
在上面的各表達(dá)式中,a、b為“橢圓”的半軸,xe、ye為橢圓的圓心,α為橢圓主軸與x軸的夾角,m和n為指數(shù)。
在三維變截面造型系統(tǒng)中,a、b為橫截面的寬度參數(shù)和高度參數(shù),將指數(shù)m、n變換處理后作為變截面造型系統(tǒng)中的M、N形狀因子。形狀因子是變截面造型系統(tǒng)的關(guān)鍵技術(shù)和特色技術(shù),形狀因子控制著橫截面的形狀, 其取值與形狀的對(duì)應(yīng)關(guān)系如下:
·當(dāng)M=N時(shí)
0<M=N<1時(shí):形狀在矩形到橢圓之間變化。M=N=1時(shí):形狀為標(biāo)準(zhǔn)橢圓。 1<M=N<2時(shí):形狀在橢圓到菱形之間變化。M=N=2時(shí):形狀為菱形。
2<M=N<40時(shí):形狀在菱形到“+”字線之間變化。
·當(dāng)M≠N時(shí)
可得到形狀特異的橫截面。M因子對(duì)臨近X軸的形狀影響大; N因子對(duì)臨近Y軸的形狀影響大。
1.2.2 縱向控制線算法
縱向控制線用于描述寬度參數(shù)、高度參數(shù)及形狀因子沿物體軸線變化的規(guī)律。在“三維變截面造型系統(tǒng)”中,形狀因子的縱向算法采用線性插值,寬度參數(shù)、高度參數(shù)的縱向算法采用三次樣條函數(shù)插值。介紹三次樣條函數(shù)的資料很多,在此不再贅述。
2 系統(tǒng)實(shí)現(xiàn)
根據(jù)變截面造型的基本思想和縱橫向算法,以AutoCAD R13為支撐系統(tǒng),AutoLISP編程語言和DCL對(duì)話控制語言為開發(fā)工具,開發(fā)了“三維變截面造型系統(tǒng)”。整個(gè)造型系統(tǒng)分為橫截面設(shè)計(jì)、縱向控制線設(shè)計(jì)、造型輸出控制、縱向控制線樣條擬合、讀取造型數(shù)據(jù)等五個(gè)主要功能模塊。圖2是造型系統(tǒng)運(yùn)行時(shí)的界面。
2.1 橫截面設(shè)計(jì)
進(jìn)行橫截面設(shè)計(jì)的主要目的是尋找滿足設(shè)計(jì)要求的橫截面及這種橫截面的形狀因子值。 2.2 縱向控制線設(shè)計(jì)
所謂縱向控制線就是用AutoCAD的Pline命令產(chǎn)生的二維多義線。運(yùn)行縱向控制線設(shè)計(jì)模塊可建立一個(gè)縱向控制線設(shè)計(jì)區(qū)域及創(chuàng)建一些基本的控制線?v向控制線設(shè)計(jì)區(qū)域是一個(gè)單位區(qū)域,即對(duì)角點(diǎn)坐標(biāo)為(0,0)和(1,1)的矩形區(qū)域。寬度和高度控制線完全處于1×1的區(qū)域內(nèi),形狀因子控制線則處于1×40的區(qū)域內(nèi)。
縱向控制線設(shè)計(jì)模塊為設(shè)計(jì)者提供了兩種創(chuàng)建控制線的方法,一種是交互方式,另一種是讀數(shù)據(jù)文件方式。數(shù)據(jù)文件的格式為每行兩個(gè)數(shù)據(jù),數(shù)據(jù)間用逗號(hào)分隔,表示一個(gè)二維坐標(biāo)點(diǎn)。數(shù)據(jù)可以是與實(shí)物一樣大小的數(shù)據(jù),程序會(huì)自動(dòng)將其變換后繪制出“單位曲線”,即曲線左端的X坐標(biāo)為0,右端的X坐標(biāo)為1。
2.3 造型輸出控制
造型輸出控制模塊控制的主要內(nèi)容為:①控制輸出的是曲面還是曲線;②控制曲面網(wǎng)格劃分疏密或截面線間隔大小;③控制造型體的實(shí)際大小和顏色;④控制造型是封閉、完整的還是開口、部分的;⑤控制造型物體的軸線是直的還是曲的;⑥控制計(jì)算方法是線性插值還是三次樣條函數(shù)插值。圖3是造型輸出控制模塊運(yùn)行時(shí)的界面。 ![](http://www.jd37.com/Files/BeyondPic/2006-3/20/063201246317594.jpg)
圖2 圖3
造型時(shí),首先,在造型輸出控制對(duì)話框(見圖3)中輸入各種造型參數(shù)和選定各種選項(xiàng)。其次,根據(jù)造型參數(shù)和選項(xiàng),提示設(shè)計(jì)者在控制線設(shè)計(jì)區(qū)域內(nèi)選取造型控制線(二維多義線),程序從AutoCAD的內(nèi)部數(shù)據(jù)庫中讀取這些被選取的二維多義線的頂點(diǎn)數(shù)據(jù),作為各種插值計(jì)算的插值結(jié)點(diǎn)。最后,進(jìn)行造型計(jì)算,產(chǎn)生造型結(jié)果。
2.4 控制線樣條擬合
作為造型控制線的二維多義線實(shí)際上是直線段連成的折線。用折線頂點(diǎn)擬合出來的三次樣條曲線與折線存在著差異,有時(shí)差異會(huì)很大。為保證用折線頂點(diǎn)擬合出來的三次樣條曲線符合預(yù)期要求,在造型之前,可進(jìn)行樣條擬合試算。
2.5 讀取造型數(shù)據(jù)
用數(shù)據(jù)讀取模塊,可讀取曲面網(wǎng)格頂點(diǎn)或橫截面曲線的數(shù)據(jù),生成數(shù)據(jù)文件,便于在AutoCAD系統(tǒng)以外應(yīng)用。
3 應(yīng)用實(shí)例及造型例子
3.1 應(yīng)用實(shí)例
用本系統(tǒng)來設(shè)計(jì)飛機(jī)機(jī)身外形,當(dāng)M、N形狀因子在0.5~0.8之間取值時(shí),可得到比圓或標(biāo)準(zhǔn)橢圓截面更美觀、有效空間更大、抗彎抗扭能力更強(qiáng)的機(jī)身外形。而且機(jī)身截面曲線計(jì)算簡(jiǎn)便,縱向容易控制和修改,與傳統(tǒng)的設(shè)計(jì)方式比較,具有簡(jiǎn)潔高效的優(yōu)越性。
3.2 造型例子
圖4右邊的兩個(gè)花瓶是用同一根寬度、高度控制線配以不同的形狀因子控制線造型產(chǎn)生的,上面的花瓶用的是形狀因子線1,下面的花瓶用的是形狀因子線2。 ![](http://www.e-works.net.cn/images/128072558219375000.jpg)
4 結(jié)束語
大家都知道,旋轉(zhuǎn)曲面的軸向大小可變,但橫截面形狀卻只能是圓形。拉伸曲面的橫截面可以是圓以外的任何形狀,但其形狀在拉伸方向是不可變的。本文介紹的變截面造型系統(tǒng),突破了這兩種曲面的局限,拓展了AutoCAD系統(tǒng)的造型能力,特別適合構(gòu)造外形具有本文前言所述特征的工業(yè)產(chǎn)品,而且造型效率很高。
本系統(tǒng)的造型準(zhǔn)備工作,在單位區(qū)域內(nèi)進(jìn)行,容易操作。造型輸入數(shù)據(jù)是一些直觀的、可視化的控制線,所以,形狀容易控制和修改。控制線的點(diǎn)數(shù)(含端點(diǎn))大于或等于2即可,因此,需輸入的數(shù)據(jù)很少。
|