AutoCAD 輸入方式有那幾種?
鍵盤、滑鼠、數位版 (What is this?,想起以前 MicroStation 時代,這可是必備良藥)
在這裡不是談這個,畢竟這裡不是 CAD 繪圖訓練教室,來談談 Visual Lisp (VL) 程式如何得到使用者輸入資訊,想一想應該有以下幾種方式
- 鍵盤
- 滑鼠
- 對話盒
- 資料檔
- 應用程式 (EXCEL)
鍵盤
AutoCAD 高手喜歡用鍵盤下指令,標準動作是右手拿滑鼠,左手按鍵盤,用滑鼠按按鈕跟選單太慢,如果再改改 pgp 檔就更炫了,VL 中有一個 (getXXX) 家族,例如 (getreal) 就是get + real ,自然就要求使用者輸入一個實數。
當然鍵盤上它的鍵也能偵測到,可以賦予其他功能。
滑鼠
滑鼠有兩個功能,一個是 WINDOWS 跟 AutoCAD 系統的操作,像是選單、對話盒點選。
另一個是繪圖區的輸入,包括點座標的取得,VL 以 (getpoint) 函數要求使用者在螢幕上選取點位,滑鼠還有另一個輸入功能為選取圖元,所有編輯指令都要有這著動作。
對話盒
VL 提供 DCL 檔案 (同樣在 AutoCAD 的 VLIDE 中編輯),在 VL 中呼叫,在我的程式集中有很多對話盒的例子,就使用者的觀點,對話盒溝通性較多也較廣,鍵盤輸入資料僅限於小規模或簡單溝通的程式,資料一多鍵盤使用就變的困難。
資料檔
VL 可以開啟文字檔,讀取文字資料,基本上也是 (open) 檔案和 (read-line) 函數運作,當然寫入資料檔也沒問題。
應用程式
這裡講的就是 EXCEL,搞工程的跟 EXCEL 應該都是一輩子的糾纏,AutoCAD 能跟 EXCEL 連結應該都是工程師(或是老板)的夢想。VL 中除了傳統的函數,vla 函數 (vlax-xxx) 開啟了這條溝通之路,老實說 vl 函數我並不在行,但有熱心的人願意花時間寫些小工具開放給大家使用,也算是功德無量。
寫到這裡,想不到 Visual Lisp 輸入的題目這麼大,以後我會用 VL輸入 及 DCL 兩個標籤來提供些經驗。
沒有留言:
張貼留言