王小娟,趙洪生,吳亞先
(1.晉城職業(yè)技術學院 機械與電子工程系,山西 晉城048026;2.太原理工大學 機械工程學院,太原030024)
二維視圖一直是工科傳統(tǒng)的工程圖表達方法,也是當前最為成熟,且不可替代的表達方法。然而近年來,隨著計算機技術的發(fā)展,三維技術逐步走向成熟,得到了越來越廣泛的應用。相比二維工程圖而言,三維模型更加直觀,也更便于人們使用計算機技術對其進行設計與分析。由二維工程圖實現(xiàn)三維模型的重建,一直是近年來圖形學工作人員努力的研究目標。雖然有些三維軟件提供了“二維轉三維”的模塊(如Solidworks)[1],但并不能實現(xiàn)其模型由二維到三維的自動重建。同時,也有一些二次開發(fā)的“二維轉三維”模塊投入應用[2-3],但實際效果也并不理想。
對于一類由柱體通過“交集”運算,或者部分由“交集”和“差集”運算得到的集合體(組合體)[4],在大多數(shù)情況下,使用一種簡單、快速、有效的方法,利用二維工程圖中的兩個視圖,使用布爾“交集”運算,可以實現(xiàn)其三維模型的快速重建。這種方法并不要求我們從三維的角度去思考,而是從二維的角度去判斷與編輯,然后實施三維建模。筆者將基于AutoCAD軟件對這一問題進行深入探討。
如圖1中所示,對于一個初學者來說,迅速地構建其三維實體并不是一件容易的事。但其實,我們只要利用三維軟件,分別拾取主視圖與俯視圖的最外輪廓線作為草圖,分別從寬度方向和高度方向拉伸成柱體,然后對兩個柱體求“交集”,即可得到其三維模型。
圖1 例1二維二視圖
這是一個可以使用布爾“交集”命令,利用二維二視圖快速重建其三維模型的典型例子。其實,這樣的組合體并不在少數(shù),在我們經(jīng)常見到的組合體中占有相當大的比重。對于這一類的組合體,我們可以在對其三維模型沒有任何概念的情況下,遵循一定的方法與步驟,利用其二維二視圖實現(xiàn)其三維模型的重建。這樣,對于這類組合體的三維模型重建變得簡單而快速,這就為這類組合體的三維模型自動重建提供了一種理論上的可能。同時,我們可以利用其三維模型得到其其余視圖,這也就為初學者提供了一種有效的學習方法,可以用來訓練自己的空間思維、完成制圖練習等等。
下面,我們將利用AutoCAD軟件,系統(tǒng)地闡述這一問題。首先,我們將從二維視圖的角度出發(fā),闡述如何判斷組合體是否適用于這種方法,給出其二維二視圖需要滿足的條件。接下來,我們將介紹這種方法的過程與步驟。
實體,我們可以理解為由表面圍成的封閉空間區(qū)域。當一個組合體的所有表面(無論是平面、柱面、曲面)已經(jīng)確定時,這個組合體就是確定的。其實,一個組合體的所有表面的空間位置確定時,每個表面的形狀(邊界)也就確定了,從而組合體也就確定了。這里將分3步從二維圖的角度來判斷、限定這類組合體。
1)判斷組合體的任一表面是否都可垂直于某一投影面。一個面垂直于投影面,其投影會是一條積聚線,這時這個面是可以由這條線拉伸得到的。也唯有這種情況才有可能由這個投影面上的投影積聚線拉伸得出這個面。進而,一個組合體,唯有任一表面(包括內孔面)都可垂直于某一投影面,才有可能通過拉伸得到其所有表面。判斷方法是使用線面分析法,利用三面投影關系“長對正、高平齊、寬相等”[5],找到各個視圖中相對應的一組投影封閉線框[6]和投影積聚線。若至少有一個視圖上的投影是一條積聚線,那么這個表面就是垂直于這個投影面的,即這個面可以由這條積聚線拉伸得到。例如圖1主視圖中的投影封閉線框1,對應于俯視圖中的投影積聚線1,由此判斷該表面垂直于水平投影面;再如俯視圖中的投影積聚線3,對應于主視圖中投影積聚線2,由此判斷該表面垂直于兩投影面。如此逐一判斷每個表面是否可垂直于某一投影面。再來看圖2中的例子,主視圖中的投影封閉線框1,對應于左視圖中的投影封閉線框2,該表面無投影積聚線,故該平面不垂直于正投影面與側投影面。而圖3中,投線影封閉線框1對應于投影積聚線1,故該平面垂直于正投影面。
圖2 例2二維二視圖
2)判斷組合體是否有內孔。通常內孔在與其垂直的投影面上的投影,為一位于相應視圖內部且相對獨立的封閉線框,且大都為圓框(內孔大都為圓孔)。在其余視圖上為兩條虛線(直線或是折線)與其余線組成的封閉線框。這樣就可以判斷組合體是否存在內孔(區(qū)分組合體是否有內孔,是因為兩者在使用此方法時略有區(qū)別)。例如圖4中的組合體,其俯視圖內部有一個圓框,相對獨立于其他線條。其在主視圖中相對應的投影為兩條平行的虛線。由此我們判斷此組合體存在一個內孔。
圖3 例3二維二視圖
圖4 例4二維二視圖
3)判斷組合體是否適用于此方法??v然一個組合體的所有表面都可由一條積聚投影線拉伸得到,但未必每個表面的積聚投影線都可直接投影在某一視圖的最外輪廓線上。這樣,該表面就不可由某一視圖的最外輪廓線拉伸得到。判斷方法是利用步驟1找到的相對應的一組投影元素,判斷是否存在至少一條投影積聚線位于該視圖的最外輪廓線上。如此逐一檢查每個表面的一組投影,保證每個表面都可在某一視圖的最外輪廓線上找到該表面的一條投影積聚線。
例如,圖1中的投影封閉線框1與投影積聚線1,投影積聚線1位于俯視圖的最外輪廓線上。再如投影積聚線2與投影積聚線3,兩條投影積聚線都位于該視圖的最外輪廓線上。再來看圖3中的例子,投影封閉線框1所對應的投影積聚線1不在該視圖的最外輪廓線上,故該組合體不適用于該方法。
若組合體存在內孔,則內孔必須是直孔時此方法才適用(與內孔數(shù)量無關)。直孔在兩個視圖上的投影是一封閉線框與兩條平行的虛線。例如,圖4中的組合體,我們可以判斷出該圓孔為直孔。
下面我們將以圖1和圖4中的組合體為例解釋說明建模過程[7]。
1)拾取最外輪廓線,繪制面域。執(zhí)行“面域(region)”,分別拾取各個視圖的最外輪廓線,繪制成各個視圖相對應的面域。
若組合體存在內孔,在繪制與內孔面相垂直的投影面上的面域時,執(zhí)行“面域(region)”,分別拾取最外輪廓線與各內孔的輪廓線,繪制成各個相互獨立的面域。然后執(zhí)行“差集(subtract)”,從最外輪廓線面域中減去各個孔的面域。所得面域即為該視圖的面域。例如圖4中的組合體執(zhí)行“面域”操作后如圖5所示,執(zhí)行“差集”操作后如圖6所示。
圖5 面域操作1
圖6 面域操作2
2)創(chuàng)建新圖紙,粘貼面域。創(chuàng)建新圖形文件,執(zhí)行“視圖/視口/四個視口”,將視口改為如圖7所示。單擊左上角的視口,執(zhí)行“視圖/三維視圖/主視”,將該視口改為主視。如此,將右上角視口改為左視,左下角視口改為俯視,右下角視口改為西南等軸測。這樣設置更方便于我們觀察與操作。然后,復制各視圖最外輪廓線面域,粘貼到相應的視圖視口。根據(jù)三面投影關系“長對正、高平齊、寬相等”,移動各視圖最外輪廓線面域到合適的位置。對圖1和圖4中例子分別執(zhí)行該操作后如圖7和圖8所示。
圖7 例1面域設置完成
圖8 例4面域設置完成
3)拉伸面域成柱體,執(zhí)行“交集”運算,完成建模。執(zhí)行“拉伸(extrude)”,分別拾取各最外輪廓線面域沿垂直方向拉伸成柱體(柱體的高度沒有限制,以超過其余最外輪廓線面域邊界為準)。對圖1和圖4中例子分別執(zhí)行該步驟后如圖9和圖11所示。
執(zhí)行“交集(intersect)”,拾取所有柱體,右擊完成交集運算,完成建模。對圖1和圖4中例子分別執(zhí)行該步驟后如圖10和圖12所示。
圖9 例1柱體拉伸完成
圖10 例1三維模型
圖11 例4柱體拉伸完成
圖12 例4三維模型
建模完成后,會自動在主視圖視口、左視圖視口、俯視圖視口生成三視圖。我們可以利用“著色”、“三維動態(tài)觀察器”等工具條觀察、檢查三維模型與三視圖。我們也可以在布局空間中輸出其三視圖與任意方向的軸測視圖[4],從而可以通過對比現(xiàn)在視圖與原有視圖的區(qū)別,檢查建模是否正確。我們也可以通過此方法補全第三投影面視圖。圖1中例子建模完成后,輸出其三視圖與西南等軸測視圖如圖13所示。
圖13 由三維模型重生成的二維三視圖
接下來再看下面的例子。請看圖14中的例子,初看并不好想象其三維形狀,直接建立其三維模型也比較復雜。但我們用前文中的二維判斷準則判斷一下,此組合體是可以用此方法實現(xiàn)其三維模型的快速重建的。對圖14的二維二視圖執(zhí)行步驟1)、
2)之后,得如圖15所示;完成面域拉伸后得如圖16 所示,建模完成后得如圖17所示。
圖16 例5柱體拉伸完成
圖15 例5面域設置完成
圖14 例5二維二視圖
圖17 例5三維模型
經(jīng)過大量的實例驗證,在重建此類主要由柱體通過“交集”運算得到的集合體的三維模型時,此方法具有一定的通用性。在重建許多比較復雜的組合體時,此方法可以有效簡化三維模型重建的步驟,提高重建的速度。這也正是我們所期望的一種結果。同時,此方法也對組合體的三維模型自動重建提供了一種新的思路。這里需要指出的是,雖說此方法只適用于這類組合體,但對于許多其他組合體,我們只需對其進行簡單的分解與改造,就可以變成一個或幾個這樣的組合體,從而實現(xiàn)該方法的靈活應用。在這里,我們期待此方法的修改與完善,也期待著此方法的進一步發(fā)展與應用。
[1] 喬春蓉,趙偉民.Solidworks中二維圖形與三維模型的互化問題研究[J].佳木斯大學學報(自然科學版),2007,25(6):777-778.
[2] 張曉.基于 AutoCAD的三視圖快速轉換三維立體圖的方法[J].軟件導刊,2010,9(5):192-193.
[3] 李晉芳,施法中.商品化CAD軟件中基于二維視圖的三維重建模塊的設計與實現(xiàn)[J].計算機輔助設計與圖形學學報,2005,17(4):795-799.
[4] 楊勝強.現(xiàn)代工程制圖[M].北京:國防工業(yè)出版社,2001:130-134.
[5] 李勇峰,陳書劍.線面分析法在組合體讀圖中的應用[J].科技信息,2009(32):121-124.
[6] 韓麗艷,張孟玫,孫軼紅.利用三維CAD成型法進行組合體讀圖的研究[J].北京石油化工學院學報,2009,17(4):48-50.
[7] 王國順,袁曉洲,李偉.AutoCAD基礎教程[M].北京:高等教育出版社,2008:108-111.