這是XP系統(tǒng)任務管理器的截圖,其他系統(tǒng)可能不太一樣,重點觀察虛擬內(nèi)存占用的情況。如果你的任務管理器沒有顯示虛擬內(nèi)存,可以自己添加列。
就算是內(nèi)存占用巨大,情況也不完全一樣,我遇到的就有好幾種,下面簡單列舉一下。
1、 復雜的地形圖和市政規(guī)劃圖紙。
因為有大量復雜的多段線或樣條曲線,少則四五十兆,大則一、二百兆,這些圖紙,這種圖紙在打開的時候,有的需要占用幾個G的內(nèi)存,如果用的是32位的CAD或機器內(nèi)存比較少,經(jīng)常會吃不消。
如果需要經(jīng)常處理這類圖紙的用戶,建議安裝64位系統(tǒng)和64位的CAD版本,配置更多的內(nèi)存。AUTOCAD和浩辰cad等都提供了64位版本。
2、 圖紙不大,但使用了大量的密集填充。
填充樣式的描述比較簡單,圖案名稱、比例、邊界線等等,但填充要顯示到屏幕上,必須將數(shù)據(jù)轉(zhuǎn)換為一條條的直線,如果填充非常密集,就會導致顯示數(shù)據(jù)巨大,內(nèi)存占用急劇上升。
首先要確認這些密集填充是否圖紙必須的。有些初學者不太清楚線性填充和實體(SOLID)填充的區(qū)別,默認選用線性填充后,將比例改得很小后當SOLID填充用。如果能查到這類問題,直接將填充樣式改成SOLID就可以解決了。
如果打開就退出的話就只能另想辦法了。CAD為了避免過于密集填充造成操作性能下降甚至圖紙無法打開的情況,專門設置了一個變量:hpmaxlines,也就是單個填充中線的數(shù)量極限值,當單個填充線數(shù)超過此數(shù)值時,會用SOLID(實體)填充顯示。如果感覺圖紙打不開跟填充有關(guān)系的話,可以適當調(diào)低HPMAXLINES的數(shù)字。AUTOCAD默認的數(shù)字是1000000,我們可以改成300000或更小,然后打開圖紙試試。
如果圖紙中必須使用大面積的填充,例如小區(qū)規(guī)劃圖等,首先我們要設置適當?shù)奶畛浔壤T诶L圖的時候可以通過調(diào)低HPMAXLINES數(shù)值來提高操作速度,當要打印輸出的時候,再將參數(shù)調(diào)整回來。
3、 圖中圖形并不多,但圖紙卻特別大,打開和操作都很慢,甚至打開直接退出。
這種圖紙遇到過幾張,是別人傳過來的,圖紙有40多MB,在32位的機器上用AutoCAD打開直接退出。最后在64位機器上終于將圖打開,所有圖形才不到2萬個,也沒有復雜的圖塊,將所有圖形都刪除并清理(PU)掉后再保存,圖紙還是40多MB,圖中有一個巨大的看不到的數(shù)據(jù),CAD在打開的時候使用了1個多G的內(nèi)存。我也不清楚這個巨大的非圖形數(shù)據(jù)是什么東西,據(jù)說圖紙是從MICROSTATION轉(zhuǎn)過來的,可能是DGN文件的相關(guān)數(shù)據(jù)。
這種圖打開慢、操作慢,剛開始真是沒有辦法。發(fā)現(xiàn)問題后,從原圖中復制所有圖形,開一張新圖,粘貼到原坐標,保存后圖紙也就1MB左右,打開和操作都變得輕松無比。
有不少設計單位和個人會使用一種或多種設計軟件,有些cad圖紙是從其他軟件轉(zhuǎn)換過來的,這種轉(zhuǎn)換的圖紙就有可能產(chǎn)生類似錯誤或冗余的數(shù)據(jù)。如果圖形不多而圖紙?zhí)貏e大,可以檢查一下看是否有這樣的數(shù)據(jù),如果這些數(shù)據(jù)對繪圖沒有影響,可以將圖形復制到新圖后再繼續(xù)操作。
二、圖紙中有錯誤數(shù)據(jù),導致CAD在處理這些錯誤數(shù)據(jù)時出現(xiàn)異常并導致退出。
有些圖紙打開時占用內(nèi)存不大,但有時CAD一打開這樣圖紙就會退出,或者能打開,執(zhí)行某些特定操作就會退出,例如打開圖層管理器就會退出。這種圖紙多半是有錯誤數(shù)據(jù),CAD是否會退出取決于CAD自身的容錯性,有些圖紙在AUTOCAD打開會退出,但在浩辰CAD里可以正常打開,有一些AUTCAD可以正常打開,而在浩辰CAD里則有可能會退出。
錯誤數(shù)據(jù)比較常見,很多圖紙里都有,但導致軟件打不開或異常退出的錯誤圖紙倒不太多。一些無法打開的圖紙或操作過程異常的圖紙,可以用修復(RECOVER)打開,會看到CAD檢測到并修復了一系列錯誤數(shù)據(jù)。當然也有些圖紙,修復也無法打開。
為什么很多圖紙中都會有錯誤數(shù)據(jù)呢?這些錯誤數(shù)據(jù)是怎么來的呢?
說實話,我也說不清楚,估計來源可能有下面兩種:一是從其他軟件轉(zhuǎn)換過來的數(shù)據(jù),二是CAD的插件或二次開發(fā)軟件生成的數(shù)據(jù)。不同軟件對DWG/DXF文件兼容的程度不一樣,將其他數(shù)據(jù)寫成DWG/DXF數(shù)據(jù)有可能發(fā)生錯誤;而一些CAD插件或二次開發(fā)軟件在創(chuàng)建或修改對象時,如果接口使用不正確或代碼寫得有問題,也有可能生成錯誤數(shù)據(jù)。就算用AutoCAD保存成不同版本的DWG/DXF,我估計也不能保證所有數(shù)據(jù)都能正確保存,因為不同版本支持的圖形對象不同,對象的參數(shù)也有可能不同。
遇到打開CAD異常退出或操作過程中CAD異常退出的圖紙,可嘗試用修復(recover)命令打開圖紙,看通過修復錯誤后是否能恢復正常。
三、遇到了CAD的BUG。
不管那款軟件都會有BUG,從WINDOWS到OFFICE,再到CAD。就算是AUTOCAD,估計他們每個版本的問題庫也會有幾千個甚至上萬個問題,只是普通操作觸及不到這些BUG。國產(chǎn)CAD推出時間相對較短,開發(fā)和測試力量都相對弱一點,遇到軟件BUG的幾率會稍微高一些。不過,國產(chǎn)CAD經(jīng)過十多年的發(fā)展,現(xiàn)在的版本也相當穩(wěn)定了,大家要對國產(chǎn)CAD給予信心和支持。
如果確認自己的圖紙沒有問題,但操作過程仍然出現(xiàn)了異常退出,估計是遇到CAD的BUG了。此時也沒有什么好辦法,可以嘗試用其他操作方式替代,看是否能繞過這個BUG。另外,CAD軟件在異常退出時會彈出一個發(fā)送錯誤報告的對話框,如下圖所示。
我想大多數(shù)人看到這個對話框時都會直接關(guān)掉。如果用的是AUTOCAD,不發(fā)的話我覺得可以。如果用的是國產(chǎn)CAD,建議大家還是將現(xiàn)象描述一下,哪怕在后面加上一句發(fā)牢騷的話,最好把錯誤報告發(fā)出去。
這種情況雖然網(wǎng)上有不少人問這樣的問題,但我沒遇到過,對于原因我也只能是猜測,從CAD程序和系統(tǒng)上找原因。比如確認安裝注冊是否正常,CAD軟件的文件是否有損壞,操作系統(tǒng)或硬盤是否有問題。