Check
| 工具列 | 功能表 |
|---|---|
|
|
分析 檢測 > 檢查 |
Check 指令可檢查選取的物件的資料結構是否有錯誤。
步驟
- 選取物件。
這個指令會回報物件資料的正確性。
這個指令是檢測潛在幾何資料錯誤的主要工具。 - 刪除並重建有錯誤的物件。
| 工具列 | 功能表 |
|---|---|
|
|
|
CheckNewObjects 指令可在物件建立、修改、匯入時自動檢查物件的資料結構是否有錯誤。
說明
Rhino 會在下列幾種情形檢查物件是否有錯誤。
讀取 .3dm 檔案時
當讀取 .3dm 檔案時發現損壞的物件,模型讀取完成後會在指令視窗提示"建立了 N 個損壞的物件 (讀取 ***.3dm 時)"。
讀取其它模型檔案時
當檔案匯入程式在匯入檔案時發現損壞的物件,模型讀取完成後會在指令視窗提示"建立了 N 個損壞的物件 (讀取 ***.3dm 時)",不會彈出警告對話框。
開啟 3DM 以外的檔案類型時偵測到損壞物件:
- 如果您在讀取 3DM 以外的檔案類型 (例如:IGES、STEP...) 時 Rhino 建立了損壞的物件,請將該檔案寄到 tech@mcneel.com。
執行 Rhino 指令時
如果指令在執行中建立了損壞的物件,指令完成後指令行會提示"<指令名稱> 建立了 N 個損壞的物件",並彈出警告對話框。
建模時建立了損壞的物件:
如果 Rhino 在一般建模過程中彈出檢查新物件對話框,您可能遇到了 Rhino 的程式錯誤。
請告訴我們下列資訊:
- 警告對話框彈出時您所執行的指令。
- 復原。
- 選取與該指令作業相關的所有物件,將它們匯出至另一個檔案。
- 將檔案寄到 tech@mcneel.com。
- 請說明這個錯誤發生時您執行的指令與使用的選項。
NURBS 分析
有時候模型可能會損壞,損壞的部分可能會造成錯誤。
Rhino 的某些工具可能建立損壞的曲面,例如以自交的封閉曲線建立平面時,Rhino 並不會阻止您這麼做,但是建立的平面在後續的作業會發生問題。
當一個修剪的微小邊緣與另一個曲面的大邊緣組合時,微小邊緣可能會變成一個點造成錯誤。
有一些技巧可以提高模型的有效性。
以一段非常短的曲線連接一條修剪曲線的兩個端點將它封閉 (不是將一個端點移動到另一個端點) 可能會產生錯誤。
有時候微小的邊緣可能由其它指令作業產生,例如:布林運算,當兩個物件只有非常小的交集時可能產生微小的邊緣。
修剪邊緣非常短或自交是造成錯誤的最大原因。
Rhino 有一些工具可以檢查模型是否有這些錯誤。
檢查模型時第一個會用到的是 Check 指令,如果模型無法通過指令的檢查,它會列出一些錯誤,您可以依照列出的錯誤修復模型,但可以通過檢查的模型並不一定百分之百沒問題。模型損壞的部分 (例如:自交的曲面) 可能會造成指令作業的效率降低,也難以自動偵測。Check 令並不會檢查這類的錯誤,但可以檢查物件的整體資料結構是否正確。
修復損壞物件的流程通常是炸開、取消修剪、重新修剪、再次組合。如果物件有很多小邊緣,您可能需要使用 SplitEdge 指令分割部分的邊緣,使要組合的邊緣有相同的結構,再使用 JoinEdge 將相對的邊緣組合。
當很大的物件與很小的物件相鄰時,Join 指令可能無法正確判斷是否要組合這兩個物件,這種情形可以使用 JoinEdge 指令來處理。
這些工具都在分析功能表裡的邊緣工具裡,當模型嚴重損壞時,您可能需要使用到這裡的許多工具。
避免模型發生錯誤
- 通常需要避免建立微小的邊緣。
- 不要使用有非常短的曲線連接兩條曲線。
- 組合兩個曲面時,兩個曲面明確的以邊緣對邊緣相接。
分析工具有:
網格分析
- 含有許多細長面的模型會讓某些 STL/SLA 印表機發生問題,這些會使得列印速度變慢、產生奇怪的結果或造成印表機發生記憶體不足。
- MeshRepair 指令可用來改善網格模型避免 STL/SLA 列印時發生問題。
面積為 0 的面
可使用 CullDegenerateMeshFaces 指令刪除。
長度為 0 的邊緣
長度為 0 的網格邊緣通常是面積為 0 的網格面造成的,也可以使用 CullDegenerateMeshFaces 指令刪除。
非流形的邊緣
可使用 CullDegenerateMeshFaces 指令,再以 ExtractNonManifoldMeshEdges 指令修復。
外露的邊緣
網格可以有外露邊緣存在,但是會在快速原型輸出時發生問題。ShowEdges 指令可找出物件的外露邊緣。FillMeshHole、FillMeshHoles 與 MatchMeshEdge 指令可用來消除外露的邊緣。
重複的面
可使用 ExtractDuplicateMeshFaces 指令抽離。
網格面的法線方向不一致
可使用 UnifyMeshNormals 指令統一網格面的法線方向。
未相接的網格
可使用 SplitDisjointMesh 指令分割成為個別的網格。
孤立的網格頂點
孤立的網格頂點通常不會造成問題,並且沒有指令可以將它刪除。
文字視窗
按右鍵可設定選項。
復原
剪下
複製
貼上
全選
複製全部
將文字視窗裡的所有文字複製到剪貼簿。
另存新檔
將文字視窗裡的內容儲存成文字檔。
封閉
關閉視窗。