張麗輝
前言
Rhinoceros是以NURBS 為理論基礎的 3D 建模軟件,是一款超強的三維建模工具,可以建立、編輯、分析及轉譯 NURBS,以直線、圓弧、圓圈、正方型等基本數學 2D 圖形來做仿真,非常適合運用于教育學習、游戲設計及工業設計領域。
但是在實際建模中常常出現運算差集失敗的現象,本文試圖探討其形成原因及對策。
一、犀牛(Rhinoceros )軟件特介紹
Rhino提供所有NURBS功能,豐富的輔助工具,如實時渲染、層的控制、對象的顯示狀態等。Rhino可以定制自己的命令集;還提供命令行的輸入方法,用戶可以輸入命令的名稱和參數。 Rhino可以輸出許多種格式的文件。可以直接輸出NURBS模型到3DMax、Softimage3D等軟件中,另外也可以把NURBS轉換為多邊形組成的物體,供其他軟件調用。
二、犀牛(Rhinoceros )優點
1、“體積”小,大小才幾十兆,硬件要求也很低。占用內存較小, Rhino全部安裝完畢才區區20幾 兆。功能卻很多,能夠實現很多領域的建模需要。
2、操作簡單。犀牛工具菜單欄設置,視窗設計十分直觀,運用起來十分快捷自如,切換視圖方便。
3、強大的曲線建模方式,能夠讓人在很短時間能完成模型創造。
犀牛的NURBS建模方式可以輕松建立比較漂亮的曲面。
4、可以快速完成設計師的概念設計,無關尺寸的快速原型也可快速建模。Rhino在設計初期用來記錄想法概念,能夠快速的表達設計師的想法創意,使用起來比較自由。
三、犀牛(Rhinoceros )缺點
1、利用Rhino不能生成帶有注釋和標識的二維圖形。
2、雖然它帶有一些有用的渲染功能,但是犀牛不能達到真實的渲染效果。不過,我們可以在建完模型后,導出文件到Keyshot里進行渲染,形成逼真效果。
四、布爾運算介紹
布爾運算包括:并集,交集,差集,分割是用來編輯實體(封閉曲面)的工具;和數學中集合的并集∪,交集∩,差集,差不多。
1、實體布爾運算:以兩個物件做布爾運算,可以預覽各種可能的布爾運算結果。
2、曲線布爾運算:修剪、分割、組合有重疊區域的曲線。
3、網格布爾運算: 以一個物件減去另一個物件、以兩個物件交集的部分建立另一個物件或將兩個物件合并為單一體積的網格物件。
五、布爾運算差集失敗解析
在設計建模過程中,常常出現布爾運算差集失敗現象。
布爾差集是以一組多重曲面/曲面減去另一組多重曲面/曲面與它交集的部分。步驟如下:選取要被減去的曲面或多重曲面,按 Enter。選取要減去其它物件的曲面或多重曲面,按 Enter。
以下是幾個可能造成布爾運算失敗的原因:
1、曲面的法線方向不正確
布爾運算以物件的法線方向決定物件要刪除或保留的部分,當您想做布爾運算差集卻得到布爾運算聯集的結果是因為曲面的法線方向不正確的關系,這種情形通常發生在以開放的物件進行布爾運算時。請使用 Dir 指令檢查物件的法線方向,必要時可以使用反轉選項變更曲面的法線方向。封閉的物件的法線方向一定朝外,所以不會有這樣的問題。
2、兩個物件交集處的有控制點重疊在一起 (匯集點)
曲面一個邊緣上的所有控制點重疊在同一個位置稱為匯集點。在 Rhino 里,圓錐體的頂點、球體的兩極、三個邊的未修剪曲面都有匯集點,手動將控制點移動到同一個位置也可以形成匯集點。
當兩個物件的交集處有匯集點時可能會造成布爾運算失敗。
如:圓錐體的頂點和立方體的角位于同一個位置,這樣的情形會造成布爾運算失敗。
3、物件可能有某部分的曲面重疊或正切
當兩個曲面有部分重疊時,例如:兩個立方體只有兩個面互相接觸,這種情形只能做聯集,無法做差集與交集。
4、非流形的邊緣
除了重疊的曲面可能造成布爾運算失敗以外,非流形的邊緣也是原因之一。組合三個網格面或曲面的邊緣稱為非流形邊緣。
六、布爾運算差集失敗解決方法:
1、匯集點導致的運算失敗可以將物件炸開為個別的曲面,使用 Intersect 指令計算不同曲面之間的交線,再以建立的交線修剪或分割曲面,最后再將曲面重新組合在一起。也可以將面偏移或者移動少許距離.(偏移或移動的距離要大于軟件公差,保證加工精度。如果過大可以在操作成功后再減回相應的數據。)
2、用線框顯示所操作的對象,然后再做布爾運算(或裁減,分割),如果失敗,軟件自動將問題區域顯示為紅色,可將問題區域分割開來(即分成兩部分),再作布爾運算,然后抽取問題區域面單獨處理,縫合,再補丁上去,此法可解決大部分布爾運算失敗的問題。
3、相對形狀比較復雜(爛面)布爾運算失敗時,可將部件全部抽取成相同類型曲面,然后再縫合成實體。這種方法,可應付幾乎所有加減失敗的問題,但也最麻煩,實在沒辦法的情況下才建議采用。
4、修復幾何體。文件-導出-修復幾何體。內定公差為0.5,有時可適當調大些。指定導出的PRT名。然后打開導出的PRT檔案再進行布爾操作即可。這個操作簡單,實用性強。可解決半數布爾出錯問題。推薦為首選操作。
結語
犀牛軟件只有我們熟練掌握它的各項命令及其特點,才能熟練建出理想的模型。布爾運算在建模中的實際應用。
參考文獻:
[1]吳春燕,劉冰.西安石油大學學報(自然科學版).2005,(05)
德宏師范高等專科學校 678400