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


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

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


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