CAD里的重生成(regen/re)是什么意思?重生成對畫圖速度有什么影響?
(重畫(redraw)和重生成(regen)速度,是決定CAD繪圖速度的關鍵:好象重畫和重生成的操作平時用得并不多,為什么我們在對比性能時非要對比這兩個操作的速度?這兩個操作的速度對CAD軟件的整體性能會有什么影響呢?
首先看看幫助里對redraw和regen的說明:
Redraw:當 BLIPMODE 打開時,將從當前視口中刪除編輯命令留下的點標記。
Regen:REGEN 在當前視口中重生成整個圖形并重新計算所有對象的屏幕坐標。 還重新創建圖形數據庫索引,從而優化顯示和對象選擇的性能。
簡單的說redraw和regen就是顯示數據和顯示效果的更新,重畫和重生成的速度可以說成軟件的顯示速度,而顯示速度對CAD軟件的性能起著很重要的作用,下面我們通過一些例子在體會一下。
首先來看redraw。在繪圖和編輯過程中,屏幕上常常留下一些拾取或捕捉的標記,如捕捉圓心時生成的圓心臨時標記,使用對象追蹤時的追蹤點標記等,這些標記并不是圖形中的實體對象,有時會使顯示圖面顯得混亂,此時可以用redraw功能清除這些臨時標記??旖菝钍莚。
我們可以用一個簡單的例子來觀察一下:打開圓心捕捉,畫一個圓,回車,重復畫圓命令,光標移動到圓周上,圓心處會出現一個標記。此時按ESC,圓心標記會遺留在圖面上。輸入r,可以看到圓心標記會消失。
在繪圖過程中經常會自動執行redraw的操作,畫一個圓,畫一條LINE線,當光標移動到圓上時出現圓心標記,當單擊確定了線的端點位置后,圓心標記就會消失;如果出現圓心標記時按ESC退出命令,圓心標記會顯示圖面上,此時執行縮放、平移等任何調整視圖的操作或選擇對象時圓心標記都會消失。
重畫可以簡單地理解為圖面顯示的刷新,在繪圖過程隨時都在進行。雖然每次重畫的時間很短,幾乎感覺不到,但由于重畫幾乎每時每刻都在發生,例如縮放或平移一次可能就會進行多次重畫,因此重畫的速度對CAD軟件的操作速度和顯示流暢性有非常明顯的影響。
再來看一下什么時候會要用到regen。當圖中有很小的圓一下縮放到很大時,可以明顯看出圓是一個多邊形,輸入命令re后圓變得光滑。當利用滾輪不斷放大或縮小一張圖時,到一定時侯就會提示已經縮放到極限,此時執行一下re命令,就可以繼續縮放了。
上面是較常見的需要手動輸入命令進行重生成的兩種情況,實際上重生成在繪圖過程中也隨時在進行,例如在打開圖形文件、編輯圖形或改變一些變量時都會重新生成顯示數據并刷新顯示。先來看打開文件,用ICAD打開一個稍大的圖形,如1MB以上的文件,在底部狀態欄的左側先出現一個進度條,進度條走到頭后,在狀態欄中間又會出現一個進度條,走完后圖形才完全顯示出來,實際后一個進度條就是一個regen的過程,也就是將讀取的圖形數據生成顯示數據并顯示的過程,打開文件時有一半時間是重生成的時間。如果你用AUTOCAD打開文件從命令行提示可以清楚地看到“正在打開…,正在重生成模型”。再來看一下編輯操作中圖形的重生成,就用剛打開的圖,選擇所有對象,然后用復制(copy)命令,選定基點后移動光標,確定一個位移點,此時底部會出現一個進度條,等待進度條走到頭后,命令行會提示“位移點”來定位另一個拷貝,這個進度條也是regen的進度條,也就是說在復制的過程中更多的時間也是花費在regen上。
從上面的例子大家可以體會到重畫和重生成對CAD總體操作性能和顯示流暢性的重要影響,也應該理解為什么每次都要專門來比較這兩個看似用得很少的命令,也應該能更清楚如何給用戶來介紹評測資料中的性能對比數據。
打開保存圖的時間是用戶能明顯感覺到的,但實際設計過程中打開和保存圖所花費的時間并不多,更多的是在繪圖,而重畫和重生成時時刻刻都在進行,是決定繪圖效率的決定因素。
CAD的DWG圖紙保存的是一些數據,例如圓的數據由圓心坐標和半徑構成,而顯示器并不認識這些數據,因此需要講DWG的圖形數據轉換為顯示器識別的顯示數據,這個過程就叫做重生成。
打開圖紙時實際包括兩個過程:讀取圖形數據和重生成過程,對于復雜圖紙,主要時間都花在重生成上了。國產CAD軟件,打開圖紙時直接將這兩個過程分開了,提供了兩個進度條,打開大圖時可以看出來,實際上AutoCAD打開圖紙時的處理也是一樣的。
另外,CAD為了優化性能,在生成顯示數據并不會全部生成而且會對一些數據進行優化以提高操作速度。重生成時重點生成當前視圖及周邊擴展到一定范圍的顯示數據,因此縮放時經常會遇到無法繼續縮小或繼續放大的提示,這時就需要輸入RE進行重生成。此外,CAD會根據圓在圖中的大小顯示成適當邊數的多邊形,當圓在視圖中很小時,生成的顯示數據就是一個邊數很少的多邊形,將一個剛重生成視圖中很小的圓突然放大,就會看得很明顯,有不少人也提出這種問題,這時只需要重生成顯示數據就可以了,CAD就會重新計算,用合適的邊數來顯示圓。
還有一個重畫(redraw),很多人,包括我一開始也不清楚重畫和重生成的區別,后來才明白,重畫主要是為了清理圖面上的一些臨時點或標記,在通常情況不必采用,只有在blipmode打開時重畫才有真正意義。
了解內部原理顯然對大家理解CAD操作中遇到的一些現象會有幫助。
?
?
?
評論
查看更多