劉高君,符純華
(四川理工學院 機械工程學院,四川 自貢 643000)
隨著AutoCAD 軟件在建筑、機械加工等行業的廣泛應用,企業針對自身需求對AutoCAD 的二次開發應用越來越多。雖然AutoCAD 軟件提供了強大的繪圖功能,但不同企業針對不同產品帶來的大量產品重新設計與制圖更改,使得其本身的繪圖功能遠遠不能滿足產品快速變化發展的需要,這就需要企業根據自身需求來開發適合自身的繪圖模塊。
本系統的設計使用基于AutoCAD 2008 繪圖軟件之上,并利用其自帶的LISP 語言開發工具Visual-LISP 集成環境作為程序開發工具,部分文件處理功能使用了DosLib8.6 功能庫。
現代化企業中尤其是機械加工企業,電腦制圖基本替代了圖板手工制圖。AutoCAD 軟件給用戶帶來了巨大變化,同時提供的LISP 開發平臺給用戶提供了一個進行二次開發的利器。LISP 語言簡單易學,開發人員很快就能開發出基本的繪圖功能塊,這使得LISP 在程序自動制圖方面具有很大的優勢。隨著LISP 二次開發模塊的逐漸增多,一套完整的LISP 開發系統可能對運行環境與各模塊之間的連接提出了一定要求,每次應用都需要單獨加載。這給使用二次開發軟件及相關的應用推廣帶來了困難。于是通過LISP 本身開發一個方便的安裝插件就能方便的解決這個問題。
一套LISP 二次開發軟件使用的基本環境是AutoCAD 及在其中調用的LISP 程序、VBA、ARX 及其他Application 軟件包,復雜系統往往還會調入自身開發的很多函數庫,這些函數庫在AutoCAD 軟件環境中使用之前都需要相關的環境配置與裝載,而最終用戶卻往往并不能很好的掌握這整套技術。所以LISP 安裝軟件的設計就是為了和普通軟件一樣只需一次安裝,用戶就可直接使用所開發的功能。
針對以上設計要求與思路,本文設計了比較通用的LISP 程序安裝系統,其僅需要做較小的發動就可實現大多數LISP 二次開發軟件的安裝。
為模擬通用Windows 安裝程序過程,本系統利用對話框來實現整個安裝界面結構,通過while 循環完成整個安裝過程的前進與后退。其具體實現程序如下:


本安裝系統界面制作主要使用DCL 對話框文件由LISP 程序進行控制。除了進度條界面,其他三個界面都是一個名為dialog 的DCL 元素構成,這是AutoLISP 程序提供的基本人機交互界面功能,其具體語法可查閱相關書籍,本文因篇幅關系不再敘述。
安裝過程圖如圖1 所示。

圖1 安裝程序運行過程
系統環境配置主要是安裝程序本身運行所需要的運行環境,LISP 開發軟件包運行環境的處理主要是要求安裝程序加載和文件搜索路徑的配置。實現代碼如下:


以上程序中,DOSLib 為加載的外部應用程序,本系統選用了外部程序DOSLib 庫來操作文件的復制功能,配合外部程序可方便對Windows 系統進行操作來完善程序功能實現效果,如第三頁中的程序安裝進度就利用了DOSLib 庫中的dos_getprogress 函數來實現。
本系統實現了用Visual LISP 語言開發的CAD應用軟件安裝包制作功能,其設計思路與系統結構簡潔通用,接近傳統WINDOWS 應用軟件安裝過程。Visual LISP 軟件開發人員只需進行簡單更改就可輕松實現自己的安裝軟件制作,方便最終用戶的使用。
[1]符純華.計算機輔助設計[M].四川:西南交通大學出版社,2006.
[2]周樂來,馬 婧. AutoCAD2008 Visual LISP 二次開發入門到精通[M].北京:機械工業出版社.2008.
[3]吳鴻宇,符純華,張良棟.變壓器鐵心參數化繪圖設計[J].機械,2007,(11):30-32.