AutoCAD的
二次開發(fā)主要涉及以下內(nèi)容:(1)編寫各種用戶自定義函數(shù)并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。(2)建立符合自己要求的菜單文件,一般可在AutoCAD原菜單文件內(nèi)添加自己的內(nèi)容,對于AutoCAD2000版本還可增加部分菜單文件,然后經(jīng)交互方式加入到
系統(tǒng)中去。(3)在系統(tǒng)的ACAD.LSP或類似文件中加入某些內(nèi)容以便進(jìn)行各種初始化操作,如在啟動時立即裝入一些文件等。(4)通過系統(tǒng)對話框設(shè)置某些路徑。這些操作在
程序開發(fā)成功后向其它AutoCAD系統(tǒng)上
安裝應(yīng)用,特別是需要大批安裝時,需要進(jìn)行很多文件檢索、內(nèi)容增刪、子目錄創(chuàng)建、文件拷貝、系統(tǒng)設(shè)置等繁瑣工作,如能令上述工作全部自動進(jìn)行,使整個二次開發(fā)程序在無人干預(yù)的情況下嵌入系統(tǒng),將大大提高工作效率。為此筆者用VC++開發(fā)了一套自動安裝程序,使原本需要五、六分鐘的人工操作在十幾秒內(nèi)即可自動完成。
F&^&"(H} I>w|80%% 一、 基本思路
WX`wz>KK^ ~(NFjCUY? 整個安裝程序遵循以下思路:
ME$J?3r #6mw CA| 1) 首先獲得所在機(jī)器AutoCAD2000系統(tǒng)的安裝路徑;
=Lb(N61 bE=[P}E
2) 尋找菜單文件AutoCAD2000\\support\\acad.mnu,打開文件并將要添加的內(nèi)容加至末尾;
s&CK X+ybgB4( 3) 尋找LISP文件AutoCAD2000\\support\\acad2000doc.lsp,打開文件并將要添加的內(nèi)容加至末尾;
%F$]v Sj*W|n\gj 4) 創(chuàng)建一個預(yù)先命名的子目錄,將所有二次開發(fā)形成的各類文件拷入;
"4T36b N6T 5) 給出信息框,告知安裝成功,如有問題則告知安裝失敗。
4x=sJ%E xF YHv@g 需要指出的是,在添入acad2000doc.lsp的內(nèi)容中須有如下語句:
q$s)(D iCGHcN^3 (command“_menu”(strcat (getvar "menuname") ".mnu")),目的是為了強(qiáng)制執(zhí)行菜單文件裝入命令,將改動后的acad.mnu文件編譯后裝入。
kQ_Vj7 EG_P^<z 另外,在添入acad2000doc.lsp的內(nèi)容中還有一賦值語句,將準(zhǔn)備創(chuàng)建的包含所有二次開發(fā)生成文件的子目錄全路徑名賦予一全局變量,以供二次開發(fā)程序在需要時調(diào)用,從而避免了在AutoCAD環(huán)境下交互設(shè)定路徑的麻煩。
$]W*;MTI} "jq6FT)O 境下交互設(shè)定路徑的麻煩。
>* F#ZZv}p Qw_>
l}k/ 二、 實(shí)現(xiàn)方式及關(guān)鍵函數(shù)
MCIuP`sC| Y{@foIZ 為獲得AutoCAD2000的安裝路徑,需要利用WINDOWS系統(tǒng)注冊表的有關(guān)功能。
aW;)-0+ T
:^OW5
金坛市|
嘉黎县|
襄城县|
电白县|
新巴尔虎左旗|
涟水县|
桐城市|
郧西县|
广安市|
同江市|
广元市|
万安县|
景谷|
个旧市|
塔城市|
江城|
将乐县|
余干县|
泸水县|
商水县|
那曲县|
广水市|
密山市|
加查县|
肥乡县|
扎赉特旗|
松溪县|
泸定县|
西峡县|
疏附县|
安陆市|
湖州市|
莱西市|
宽城|
华池县|
剑河县|
济阳县|
南充市|
兴安盟|
武定县|
新泰市|