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