2011-12-28

AutoCAD+Excel=VBA

在工程設計的設計作業中,我們常利用excel來做數值計算,但是工程圖面卻是利用AutoCAD來處理,若處理所得的數據少,我們還可以一筆一筆的資料輸入,若是資料量大,除非你用大型的專業軟體或者特殊的介面軟體來處理,若是大型設計公司或許還有能你購買使用這類的軟體,若是小型公司或個人,總不會為的某個特殊功能去花這樣的錢...


好在AutoCAD與Excel都提供的一個共同的介面,那就是VBA(Visual Basic Application)。他的作法我做得出來的有四個方式:
  1. 將程式寫在AutoCAD,然後驅動程式去Excel中抓取資料進行繪圖。
  2. 將程式寫在AutoCAD,Excel處理完數據,轉成文字格式檔(CSV)然後由AutoCAD去匯入該檔案資料。
  3. 將程式寫在Excel中,驅動AutoCAD自動繪圖。(可參這篇文章)
  4. 將程式寫在Excel中,匯出CAD共通的文字格式檔(DXF),然後由AutoCAD去開啟這個檔。
至於那一種方式比較好,那就需要看您的需求

像測量數據,我們會經過計算與平差,他的基本資料固定,一般無非是:PT,N,E,EL,我會用第二種或第一種方式比較方便,其中又以第二種方式比較推崇。該方式匯入點位以後,一般會另存新檔,進行連連看得動作,以描繪出地形外貌。

若是一個縱坡表,他包含縱坡圖形及數據,裡面包涵 原地面高程、設計高程、溝底高程、開挖深度、回填深度....等,我的作法是以第三種方式處理,因為大部分作業在Excel中,我們只是將資料轉成圖面而已。

第四種方式是我在處理某個橫斷面圖組所利用的方式,我把每個里程的每個橫斷面圖,匯入個別的檔案,比如STA0000、STA0020、STA0040....STA0380,這是為了出圖方便所考量,因為這樣 我只要利用批次出圖,就可以一張紙一個橫斷面進行出圖,若是你用其他方式將所有橫斷面都繪在一張圖紙上,不僅圖紙密密麻麻,到了要出圖的作業就有夠你受了....

AutoCAD具有VBA功能是在2000版開始,(當時微軟的軟體系統已改成.Net),在Autodesk的官網已公佈,他在2010、2011版 不主動安裝該軟體的VBA功能,不過還提供安裝,看樣子VBA似乎即將慢慢消失,不過綜觀MS的Office系統,似乎還提供VBA功能,看來後續如何值得觀察...


Basic程式語言雖然是高階語言,程式效能沒那麼大,不過對於需要辦公室自動化或是設計自動化的功能,實在已經足夠,我們不需要龐雜的數值運算,需要處理的事一些簡單又循環的作業,若是你要讓您的工作簡化或是跨成是傳遞數據,VBA 還是個可推崇的好工具,只是你要會寫程式罷了...

沒有留言:

張貼留言