======白皮書:IGES====== ======Rhinoceros® IGES檔的疑難排解====== >**註:**//本文件解說原本只針對Rhino V2的工具,雖然這些工具仍出現在Rhino V3,V4及V5,您可能已經發展出不同技術來//修復//麻煩的檔案。請在此分享您的經驗與技巧。 - John Brock// ===== 利用Rhino為IGES檔排解疑難===== Rhino檔案轉換並清理寫得不好的IGES檔案的功能非常強大。您可能已經收到,您的客戶或供應商從實體建模程式讀入的不正確的IGES檔。 通常這是由格式不正確的IGES檔、消失或是重複的曲面、縫隙或重耊、錯誤的曲面修剪資訊所造成。 在修復過程中沒有任何放寬公差可以自動修復這些問題。經過漫長等待後您得到了未完成的實體、消失的曲面,或者什麼也沒有看到。 您需要的結果取決於匯入並使用這些數據,這時候該怎麼辦? Rhino具有能夠克服這些問題的工具。只要一點練習與解決問題的能力,您可以將這些問題解決,竟將數據匯入您的實體建模程式。所需時間與努力取決於碰到的問題以及IGES檔的大小。 還好,只要稍加練習,大部分的IGES檔案都能夠被快速的修復。不過當然也有些問題需要花上數天的時間,但只要有Rhino,您就有工具修復最困難的IGES檔案問題,並且繼續進行您的工作計畫。 由於Rhino是支援實體的曲面建模程式,所以並不需要IGES資料組成的封閉實體。 Rhino會盡量讀取模型中的有效資訊,也就是讀取所有的點、曲線、曲面的數據並跳過損壞的物件。 Rhino通常在IGES匯入過程便自動讀取並修復問題,使用者只需要另存新的IGE檔並讀進應用程式中即可。如果並未自動修復,可以利用Rhino替換消失的曲面、修復失敗的修剪曲線,平撫斷續的曲面,並且匯出一個實體模型至您的應用程式。 一般來說,您可以挽救大部分IGES檔案中的資料。但有時候您沒有選擇,只能改變檔案裡的某些部份。就算在最極端的案例中,Rhino還是有工具可以獲取isoparms、選取斷面以及能夠替換無法使用的曲面並保留原始設計的邊緣曲線。 ===== 一般對策 ===== 修復IGES檔案的一般對策取決於每一個不同的檔案,假以時日您會發現特定產生IGES檔的程式,或不同使用者所造成的IGES檔案問題模式。 ===== 修復IGES檔案指南 ===== - **開啟IGES檔。** - **隱藏或刪除額外的數據資料** - 利用SelDup指令找到重複的實體並將多餘的一次移到另一個圖層,並將其關閉。稍後您可能還是需要用到它們。 - 利用**SelCrv**以及**SelPt**來選取以及**隱藏**曲線與點。 - 利用 **SelSrf**選取所有的曲面,再進行**反選**。這會將任何曲線或點凸顯出來,刪除不在曲面或接近曲面的曲線。請仔細檢查曲面上剩餘的曲線,這些可能是剩下的不完整修剪曲線。將它們移到另一個圖層供以後使用。這樣留在螢幕上留下的就只是曲面了。 - **使用Shade模式以及目視檢驗模型**- 是如您想像那樣嗎? 是否有明顯缺少曲面? 曲面有超出至它們應該到的位置嗎? 可以用來修復它們的修剪曲線有可能已經儲存在步驟3。 - **檢驗壞掉的曲面**- 用**Check**與**SelBadObjects**指令確認在模型中的某些曲面是否定義上有問題。 它們可能有控制點堆疊、壞掉的邊緣曲線或是其他問題。 將這些曲面移到一個//壞掉曲面//的圖層,稍後清除掉。 - **在檔案屬性中檢視單位以及建模絕對公差的設定** - 這些數據合理嗎? 大部分產生IGES的程式都需要使用者自行設定,否則沒有辦法與單位及公差設定符合匹配。 Rhino在匯出過程中會自動匹配設定。自由造型曲面建模需要建模智能容限妥協。[[zh-tw:rhino:nurbs|NURBs]] 曲線是一連串多項式表達段落,再由段落之間乘載連續數據的節點所組成。公差值越嚴格,曲線更複雜,那麼系統性能就會受到影響。但計算合宜公差值高密度曲線是沒有用的,如果您下游廠商不支援的話。 -**組合曲面** - 組合時,相鄰邊會被標記如果他們都在某特定建模公差範圍內。如果它們在公差範圍之外,就不會被組合。 組合這個動作並不會改變幾何的結構,只是標記夠接近符合的邊緣。看看指令列的結果,您有得到想要數量的多邊形曲面嗎? 有時匯入IGES檔案後會出現雙重曲面,通常其中一個是完整的,另一個會缺少內部修剪。所以當**組合(Join)**的時候您無法控制選擇哪兩個曲面。如果你覺得正面臨這樣的問題,嘗試組合兩個裸露邊緣。如果附近應該有裸露邊緣但並未出現,請將結合動作復原(undo),並且選擇複製曲面。將比較不完整的曲面刪除後,再試著組合。 - **查看是否有裸露邊緣** - 裸露邊緣就是未與其他組合的邊緣。 在組合的過程中,他們特定建模公差距離還要更遠。 有可能是一開始的建模造成如此粗糙的品質,或者是因為匯入IGES檔中有個錯誤的公差設定、或是雙重曲面等。 如果執行**ShowNakedEdges**指令時出現很裸露邊緣,試試看回復組合程序,並且放寬絕對公差。有可能原始建模的公差放得比較寬鬆,而匯出設定並不確實。 註:沒有實際重構模型是無法改善曲面間的適當公差的。 -**組合裸露邊緣或是重新建模** - 組合裸露邊緣可能是好壞參半的事,這是一個抉擇,並且有可能造成下游的問題。如果您組合邊緣的目的是稍後匯入一個實體或網格操作,如STL檔案,那麼**JoinEdge**指令通常不會造成任何問題。 但如果您將會切割範圍以及大部分的//曲線採取//,那麼切割範圍在碰到超出公差時組合的裸露邊緣,就會出現縫隙。 要跨距的縫隙在組合前就已經顯示。如果縫隙比您的兩倍公差設定還要少,那請放心進行後續操作吧。如果縫隙太大太寬,請編輯或是重新建立曲面來減少縫隙。**Join**和**JoinEdge**並不會改變曲面幾何結構,他們只對相符的邊緣做出明確標示,而且需要特定或是重新定義公差。 - **修復壞掉的曲面** - 一次修理一個壞掉的曲面就好了,然後將它們加入主要多邊形。以下為破壞性最小、最激進、以及造成失敗的問題列表: - 重建邊緣 - 分開修剪曲線並重新裁剪 - 重新建立曲面 - 替換曲面 - 從周圍曲面採取邊緣、從壞掉的曲面中切出工作範圍,用收集來的曲線來建立替代壞掉的曲面。 -**查看是否有壞掉的物件** -有時候檢查過的組合曲面,結果是在失敗的多邊形曲面裡。 通常這是邊緣中的細小片段,或是比建模公差還要短的修剪曲線。提取連續曲面,檢視它們,編輯邊界曲線並消除那些細小片段,再連結回去。當得到一個封閉多邊形曲面,並通過檢視並無其他裸露邊緣,就表示工作完成了! 在組合以及固定曲面的過程中,時常執行檢視會是一個很有用的方法。 - **匯出** - 現在您已經清理並修復IGES檔,已經可以輸出為IGES、Parasolid、STEP或ACIS等檔案以匯入您的應用程式。 這些不同格式各有差異,程式支援的程度也各有差異。 實驗這些支援的程式並找出最適合您需要的。 =====從一個乾淨的檔開始===== 有句老話這麼說 //預防重於治療// ,這句話也適合用在IGES檔上。如果可以的話花點時間在原始應用程式中樞出一個//乾淨//的檔案。這會省去後續大量的清理工作,很可惜的並不總是能這麼順利。有兩種常見的建立IGES數據資料的程式 - CATIA以及Pro/Engineer。以下程序與設定將IGES匯入其他程式的麻煩降到最低。 =====CATIA===== 以改進修剪曲線來準備模型並從CATIA輸出,以下為我們的客戶(Black & Decker/DeWalt)在CATIA內執行使用的步驟,以降低下游的清理工作。 1. 要準備轉移的模型,從Volume開始下手。 SOLID + EXTRACT + VOLUME 2. 清理模型並忽略所有無關的幾何。 KEEP + SELECT + GEOMETRY + ELEMENT 並選取"VOLUME"。 3. 重新計算邊界曲線:將NO-SHOW裡的舊邊界提取出來。 ERASE + NOSHOW YES:SWAP. 鍵入 **SPC - **SUR 及 YES:SWAP to reture. 4. ERASE並鍵入**SPC- **VOL 5. CURVE1 + BOUNDARY 並且鍵入 *FAC 6. 執行/CLN 來檢查錯誤。 7. 模型現在已經準備好做IGES的輸出了。 =====Pro/Engineer===== **將Pro/E 檔案最佳化輸出至files into Rhino** 在Pro/E**config.pro**檔利用以下設定,或者在輸出前另存為**rhino.pro** 檔。 {@ IGES_OUT_ALL_SRFS_AS 128 IGES_OUT_SPL_CRVS_AS_126 YES IGES_OUT_SPL_SRFS_AS_128 YES IGES_OUT_TRIM_XYZ YES IGES_OUT_MIL_D_28000 NO IGES_OUT_TRM_SRFS_AS_143 NO IGES_OUT_TRIM_CURVE_DEVIATION DEFAULT INTF_OUT_BLANKED_ENTITIES NO INTF3D_OUT_EXTEND_SURFACE YES INTF3D_OUT_FORCE_SURF_NORMALS YES IGES_IN_106_F2_AS_SPLINE NO IGES_IN_DWG_LINE_FONT YES IGES_IN_DWG_PNT_ENT YES IGES_IN_DWG_COLOR YES FIX_BOUNDARIES_ON_IMPORT YES **[[ProEFileExchange|Pro/E file exchange]]** ---- 成功將Rhino檔案與Pro/E交換的資訊。 **[[SoftimageFileExchange|Softimage 檔的轉換]]** ---- 成功將Rhino檔案與Softimage轉換的資訊。 **[[SolidWorksFileExchange|SOLIDWORKS IGES 檔案轉換]]** ---- 成功將Rhino檔案與SOLIDWORKS轉換