2012-01-10

利用Excel將連續點位匯入AutoCAD

在工程應用上,將測量、Excel與AutoCAD數據轉換的介面軟體不少,在下寫過得版本也有不少,終歸是將數據轉到圖面以便後續處理。

若是你對點位的相對位置很熟,而且只需要位置關係,你可以利用文字編輯器(如筆記簿)將點位數據以CSV格式(以逗點區隔的文字格式),將X,Y,Z的資料一行一筆逐一打入,




或在Excel處理完數據後,另存成CSV檔。


利用文字編輯器開啟該擋後,全選全部資料然後複製,於AutoCAD中,輸入L(劃線指令)再後於系統要求指定第一點時,按Ctrl-V(貼上),你會發現圖面上所有的折點將是當時複製的數據。


這次的改寫,是考量數據的後續利用性,利用Excel為基本平台中心,去呼叫AutoCAD來自動繪圖。
之所以利用Excel為主平台,是考量到
  1. 測量儀器匯出的數據,可以由Excel輕易導入導出。
  2. 部份道路工程線型之座標數據計算程式,是使用Excel平台(或許還有人在使用Dos的BASIC版本!!)。
  3. Excel數據運算及格式設定比較簡易。
在AutoCAD的繪圖型式,是以圖塊(Block)的作法處理(點號圖形+屬性標籤(Attribute)),點位除了標記,提供 點號,高程值及CD Key(測量用)三個標示,並以圖層分類以方便顯示開關。之所以利用Block來做,是考量到
  1. 後續手工補點(過去寫過的一個的Lisp程式)以增加圖面精度,讓實際地形符合現況。
  2. 方便圖面處理後的屬性萃取方式匯出點位資訊。
以下看看我的作法及效果:
簡單的Excel輸入頁,只要填入該有的資料就可以嚕


 
另外一頁是設定頁,可以自訂各個物件的圖層名及顏色,及標記大小及字高,以符合後續出圖效果




 
只要按下出圖,就會將資料畫到AutoCAD中嚕,你可以看到密密麻麻的點資訊

 
放大看一下點位效果:後續只是連連看的事情嚕…


 
程式是會跑了,不過還有一些小瑕疵需要改進。


網友留言希望可以試用,請點選下列網址下載:


運作環境:Excel  / ACAD2005 or 2008  (注意:前文提及小瑕疵就是Office 與 ACAD的版本問題,當時快速開發沒做廣泛考量,所以若你的程式版本(尤其ACAD)不是上述版本,程式是不會動的)。我手邊沒有哪麼多ACAD版本,故無法一一符合各位ACAD的版本需求,在此說聲拍謝,在此僅提供for ACAD 2005 與 ACAD2008兩個版本的,至於Excel部份,我利用Excel 2003 與 2010兩個版本測試都可以正常執行,我猜測2007版應該也沒問題才是。

for ACAD2005

for ACAD2008

7 則留言:

  1. 不知道能不能分享您這隻程式呢?

    回覆刪除
  2. 我的是2010版cad 可以麻

    回覆刪除
    回覆
    1. 不行,EXCEL裡面需要設定Reference,但每個ACAD版本都不同(須獨立設定),故在2010版執行會錯誤...

      刪除
  3. 可以分享程式碼嘛? 感恩! tseng2118@gmail.com

    回覆刪除