This shows you the differences between two versions of the page.
zh-tw:rhino:badobjects [2016/03/05] |
zh-tw:rhino:badobjects [2020/08/14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======修復損壞的物件 | ||
+ | > | ||
+ | ======模型內有一個損壞的物件,為什麼會這樣?可以修復嗎?====== | ||
+ | |||
+ | =====損壞(無效)的物件物件是什麼?===== | ||
+ | |||
+ | Rhino“損壞”的物件(Bad objects)通常是指物件違反了某些[[rhino: | ||
+ | |||
+ | =====我如何查找損壞的物件?===== | ||
+ | |||
+ | 查找損壞物件最簡單的方式是使用 **SelBadObjects** 指令(分析 > [[rhino: | ||
+ | |||
+ | =====為何會產生損壞的物件及如何判定是無效的物件?===== | ||
+ | |||
+ | 這有許多技術上的解釋。對曲面物件來說,產生損壞物件多半是因為已修剪邊緣上有一個或多個極微小的分段造成邊緣結構不良所導致的。有時候也可能因為曲面上的某幾列控制點完全重合而產生損壞物件,又或者是在某個方向上產生長度為零的邊(收縮邊緣)。這種狀況在Rhino V3時比較容易發生─例如建立一個垂直的平面或直線,從上視圖將它投影至工作平面上。這個物件現在Z方向上就是長度為零並且被認定為損壞物件了。在Rhino V4裡,這類操作在某些場合是“不允許”的,所以也不會產生損壞物件,指令只會在動作失敗後彈出錯誤訊息而已。然而,在V4仍然還是有可能會產生損壞物件。 | ||
+ | |||
+ | 為什麼曲面修剪後會變成損壞物件您通常不會刻意這麼做。損壞物件通常可能會在使用組合指令 (或者其他用到組合功能的指令,例如布林運算)後出現。因為在組合物件的過程中,Rhino經常必須分割並調整修剪邊緣。在某些情況下這些修剪過的邊緣會因為調整而產生極微小分段,//< | ||
+ | |||
+ | =====匯入/ | ||
+ | |||
+ | 由其他程式匯入的幾何物件也可能有損壞的物件,若您有執行 **CheckNewObjects**檢查新物件指令,當您匯入檔案時若有無效物件,將會有一個訊息通知,您需要逐一點擊確定。若有很多無效物件,這可能很煩人,您可以先把檢查新物件指令關閉,然後在匯入工作結束後再次開啟。 | ||
+ | |||
+ | 每一套程式有他自己建立及檢查幾何物件的方式,並可能與Rhino不盡相同,是以匯入的物件有可能在原始建立的程式可能並不被視為" | ||
+ | |||
+ | =====幽靈曲面===== | ||
+ | // | ||
+ | |||
+ | Rhino偶爾會產生您看不到的損壞物件。就字面上,它們是隱形的(是因為沒有顯示網格可以產生顯示它們)。它們有時被稱作" | ||
+ | |||
+ | 通常可以選取損壞的物件**SelBadObjects**指令,然後直接刪除即可解決,這類幽靈曲面通常無法被修復。若無法刪除,請試用**Ctrl+X**剪下這些資料。若您無法選取這些幽靈曲面,您也可以試做下列方式:縮放至最大範圍,選取視圖內所有物件並隱藏。然後使用 Ctrl+A全選物件,通常這會將檔案所有物件選取起來,包括無法點選的物件。若您在指令提示列有看到一個物件被選取,使用詳細資料(What)來確認選取到的物件為此損壞物件(無效),並刪除這個物件,然後將所有隱藏物件復原顯示即可。 | ||
+ | |||
+ | |||
+ | ===== 損壞的網格===== | ||
+ | 若多邊形網格物件看起來有問題,可使用網格> | ||
+ | |||
+ | **ExtractDuplicateMeshFaces** | ||
+ | |||
+ | **ExtractNonManifoldMeshEdges** | ||
+ | |||
+ | **CullDegenerateMeshFaces** | ||
+ | |||
+ | **UnifyMeshNormals** | ||
+ | |||
+ | =====如何修復損壞的曲面及曲線?===== | ||
+ | |||
+ | 損壞的多重曲線通常透過炸開並重新組合即可修復。另外,曲線是否包含非常微小的邊緣,並清除它。若這樣仍然有問題,可能曲線違反 [[rhino: | ||
+ | |||
+ | 以下是處理因修剪造成損壞曲面修復處理的方式,在這之前,您需要先確認那些是損壞的曲面並暫時將其他物件隱藏(您可能需要執行前文說明的步驟並執行**ExtractBadSrf**指令)。 | ||
+ | |||
+ | **1.** 首先我們通常在所有的損壞物件上先執行重建邊緣 **RebuildEdges**指令,這個步驟可修復部分曲面,或多或少恢復到曲面邊緣修剪前的狀態,然而也意味著曲面無法再度與鄰近曲面組合,或是組合後再度損壞。但它在某些情況下是可行的,若有部分曲面被修復(使用選取損壞物件並反選**SelBadObjects/ | ||
+ | |||
+ | **2.** 在第一個損壞曲面上,使用取消修剪指令並將選項設為" | ||
+ | |||
+ | **3.** 若仍有損壞的曲面,在這些損壞曲面上再次執行分離修剪指令,將分離修剪結果使用 **炸開**指令並檢查是否有小邊緣,這是造成損壞物件最常見的情況。檢查看看有多少曲線組成此修剪過的曲線,通常會出現一個可疑的數字,例如看起來是一個矩形的曲線數是5而非4,有可能某處有一個微小邊緣導致問題,通常會靠近四角,試著檢查四周邊緣。或者,使用選取過短的曲線**SelShortCrv**指令並設定一個小的設定值。若您發現有小邊緣,請刪除它並重新組合為一條封閉的曲線,使用它重新修剪曲面,通常能夠修復大部分損壞的曲面。 | ||
+ | |||
+ | **4.** 最後,試著顯示所有隱藏的物件,然後試試看是否能夠再度組合物件並不產生損壞的物件。若一切都很好,那太讚了。若仍有問題,這一般是因為組合無法正確完成,若如此您需要分析曲面為何無法與鄰近那個曲面組合且為何會發生。這個部分有時相當傷腦筋。 | ||
+ | |||
+ | > **備註:** // | ||
+ | |||