一、前言
AutoCAD軟件具有相當(dāng)優(yōu)秀的開(kāi)放型結(jié)構(gòu)(Open architecture)和一個(gè)強(qiáng)大的內(nèi)部編程語(yǔ)言(Autolisp語(yǔ)言,可以完成一些計(jì)算機(jī)工作和作圖功能),可以方便地讓用戶(hù)隨意地開(kāi)發(fā)自己的命令、標(biāo)準(zhǔn)庫(kù)文件和各種應(yīng)用程序等。
圖形管理是CAD應(yīng)用的一個(gè)重要內(nèi)容,是CAD應(yīng)用中較為繁瑣、較為困難的部分之一。用戶(hù)在實(shí)際應(yīng)用中總是為圖形太多無(wú)法管理大傷腦筋。本文提供了一個(gè)圖形庫(kù)創(chuàng)建和管理的方法,其最終效果是展示一個(gè)方便快捷、圖文并茂的直觀的圖形庫(kù)。
二、 方案設(shè)計(jì)
1、實(shí)現(xiàn)方案
許多AutoCAD用戶(hù)在圖形庫(kù)的創(chuàng)建和管理方面都使用一種較為簡(jiǎn)便的方法:將圖形文件命名為能體現(xiàn)其圖形內(nèi)容的名稱(chēng),然后將其分類(lèi)存入特定的文件夾。這種方法的優(yōu)點(diǎn)在于簡(jiǎn)便快捷,但其不方便、不直觀的缺點(diǎn)卻更為突出。
針對(duì)上述的簡(jiǎn)便方法,本文提出的方案方便、直觀且內(nèi)置于AutoCAD中。該方案如下:
●生成所有圖形的幻燈片文件;
●在AutoCAD初始化界面的下拉菜單區(qū)加入“圖形庫(kù)”菜單條,此菜單條包含“機(jī)械圖庫(kù)”和“電子圖庫(kù)”兩個(gè)菜單項(xiàng);
●點(diǎn)擊“機(jī)械圖庫(kù)”和“電子圖庫(kù)”兩個(gè)菜單區(qū)彈出相應(yīng)的圖標(biāo)菜單,在圖標(biāo)菜單中可以看到圖形文件標(biāo)識(shí)名和相應(yīng)的圖形(幻燈片);
●在圖標(biāo)菜單中拾取圖形彈出一幅對(duì)話框,該對(duì)話框給出圖形的一些文字信息(如:作者, 圖形內(nèi)容, 繪圖日期,圖號(hào)等)和圖形的預(yù)覽;
●點(diǎn)擊對(duì)話框的確定按鈕即可打開(kāi)拾取的圖形文件。
2、方案論證
該方案的關(guān)鍵在于圖標(biāo)菜單和對(duì)話框。
●圖標(biāo)菜單:
圖標(biāo)菜單是AutoCAD菜單的一種。圖標(biāo)菜單以20個(gè)為一組顯示幻燈片,并同時(shí)顯示一個(gè)包含有幻燈片名或其他文字的滾動(dòng)列表框。圖標(biāo)菜單的長(zhǎng)度不受限制,如果一個(gè)圖標(biāo)菜單包含的幻燈片多于20個(gè)AutoCAD會(huì)提供換頁(yè)按鈕,以便讓用戶(hù)換頁(yè)顯示更多的幻燈片。因此,可以利用AutoCAD的開(kāi)放型體系結(jié)構(gòu)上的二次開(kāi)發(fā)定制圖標(biāo)菜單來(lái)對(duì)圖形庫(kù)進(jìn)行管理。
圖標(biāo)菜單也有不足之處。圖標(biāo)菜單的一個(gè)頁(yè)面需顯示20幅幻燈片,所以只能從中獲得比較概略的圖形信息(尤其是復(fù)雜圖形)。所以,需要采取一定的輔助措施來(lái)對(duì)使用圖標(biāo)菜單的缺陷進(jìn)行彌補(bǔ)。
●對(duì)話框:
從用戶(hù)觀點(diǎn)來(lái)看,窗口操作環(huán)境是目前最先進(jìn)最流行的一種人機(jī)交互界面。它能控制光柵掃描型顯示器和以鼠標(biāo)器為代表的輸入設(shè)備,向用戶(hù)提供了圖文并茂的可視化環(huán)境,是操作更為直觀、自然、簡(jiǎn)便和快速。
AutoCAD R12以上版本提供了一種對(duì)話框語(yǔ)言(Dialog-box Control Language,縮寫(xiě)為DCL),允許用戶(hù)設(shè)計(jì)并實(shí)現(xiàn)自己的對(duì)話框。因此, 可以使用對(duì)話框語(yǔ)言編程來(lái)對(duì)圖標(biāo)菜單中圖形進(jìn)行放大并提供圖標(biāo)菜單中不能提供的文字信息。
三、 開(kāi)發(fā)環(huán)境
●486以上微機(jī)
●win95或win98操作系統(tǒng)
●AutoCAD R12以上版本(本文提供方案在R12、R13、R14中都能實(shí)現(xiàn),但本文提供的開(kāi)發(fā)步驟主要是在R14中實(shí)現(xiàn))
四、 開(kāi)發(fā)步驟
1、建立圖形庫(kù)文件夾
在AutoCAD目錄下創(chuàng)建文件夾Storeroom,將需要進(jìn)入圖形庫(kù)進(jìn)行管理的圖形文件存入該文件夾。
2、制作幻燈片庫(kù)(*.SLB)
◆制作幻燈片文件(*.SLD)
在當(dāng)前視窗中打開(kāi)圖形文件,并將圖形移到屏幕中央。然后在命令行鍵入MSLIDE命令并在“Creat slide file”框中鍵入幻燈片名(按下〈return〉鍵則將當(dāng)前圖形名作缺省幻燈片名接受)。為了創(chuàng)建幻燈片庫(kù),將所有幻燈片文件保存到AutoCAD目錄下的support子目錄中。
◆創(chuàng)建幻燈片列表文件(*.txt)
假設(shè)有mach001.dwg~mach030.dwg共30個(gè)圖形文件和對(duì)應(yīng)的mach001.sld~mach030.sld共30個(gè)幻燈片文件,編輯如下文件(文件名為mach.txt):
mach001.sld
mach002.sld
mach003.sld
mach030.sld
◆幻燈片庫(kù)的建立
使用AutoCAD的support目錄中的實(shí)用程序slidelib,將幻燈片文件按照文件列表構(gòu)造成幻燈片庫(kù)mach.slb: slidelib mach<>
3、編寫(xiě)對(duì)話框文件(*.dcl)
對(duì)話框主要是展示一個(gè)圖文并茂的圖形庫(kù)中的圖形,在對(duì)話框中不僅要有圖形預(yù)覽,還要有該圖形的一些文字說(shuō)明。假設(shè)圖形庫(kù)中的mach001.dwg是一個(gè)繪制軸承的圖形文件:圖號(hào)為mach-001,則可編制如下對(duì)話框文件(文件名為mach001.dcl):
dcl_settings:default_dcl_settings{audit_level=0;}
accept_button:ok_button{
label="確定";
key="accept";
}
can_button:cancel_button{
label="取消";
key="cancel";
}
mach001:dialog{
label="機(jī)械圖庫(kù)—mach001";
:row{
:column{
:text{
label="圖 號(hào):mach-001";
key="num";
width=20;
fixed_width=true;
}
……
:image{
key="img";
width=40;
height=20;
}
}
spacer_1;
:row{
:text{
label=" ";
}
accept_button;
can_button; :text{
label="";
} }
}
4、編制對(duì)話框控制程序(*.lsp)
下面給出對(duì)話框文件mach001.dcl的控制程序mach001.lsp:
(defun mach001()
(setq dcl_id (load_dialog "mach001.dcl"))
(if (not (new_dialog "mach001" dcl_id))#p#分頁(yè)標(biāo)題#e#
(exit))
(action_tile "accept" "(draw001)")
(action_tile "cancel" "(done_dialog)")
(setq x (dimx_tile "img")
y (dimy_tile "img"))
(start_image "img")
(fill_image 0 0 x y 0)
(slide_image 0 0 x y "mach(mach001)")
(end_image)
(start_dialog)
(unload_dialog dcl_id)
)
(defun draw001()command "open""mach001")
5、編制圖標(biāo)菜單
本文通過(guò)修改AutoCAD主菜單acad.mnu來(lái)實(shí)現(xiàn),其操作步驟如下:
●在AutoCAD主菜單acad.mnu中加入自己的圖標(biāo)菜單區(qū)
AutoCAD主菜單acad.mnu中的“***IMAGE”表示圖標(biāo)菜單區(qū),對(duì)應(yīng)幻燈片庫(kù)中的幻燈片、對(duì)話框和對(duì)話框的控制程序,在圖標(biāo)菜單區(qū)加入以下內(nèi)容(本文給出的是機(jī)械圖庫(kù)的圖標(biāo)菜單,電子圖庫(kù)的圖標(biāo)菜單與此類(lèi)似):
***IMAGE
**mach
[電子圖庫(kù)]
[mach(mach001,mach001)]^C^C(load "mach001");(mach001);
[mach(mach002,mach002)]^C^C(load "mach002");(mach002);
[mach(mach030,mach030)]^C^C(load "mach030");(mach030);
●將圖標(biāo)菜單的加載放到AutoCAD下拉菜單區(qū)
在菜單文件acad.mnu中的***POP10(下拉菜單第十區(qū))前加入如下內(nèi)容(同時(shí)將***POP10改為***POP11): ***POP10 [圖形庫(kù)]
ID-ELE[電子圖庫(kù)]$I=ACAD.ELE +
$I=ACAD.*
ID-MACH[機(jī)械圖庫(kù)]$I=ACAD.MACH +
$I=ACAD.*
●將修改后的菜單文件用AutoCAD中的menu命令編譯成acad.mns即可。
五、 應(yīng)用效果
進(jìn)入AutoCAD操作界面后,會(huì)發(fā)現(xiàn)在下拉菜單區(qū)出現(xiàn)了“圖形庫(kù)”菜單項(xiàng)。點(diǎn)擊下拉菜單“圖形庫(kù)”菜單項(xiàng),彈出相應(yīng)的下拉菜單項(xiàng),包括“機(jī)械圖庫(kù)”和“電子圖庫(kù)”。選擇“機(jī)械圖庫(kù)”或“電子圖庫(kù)”菜單項(xiàng)(本文使用的是“機(jī)械圖庫(kù)”菜單項(xiàng)),彈出圖1所示圖標(biāo)菜單。通過(guò)鼠標(biāo)雙擊圖標(biāo)菜單左邊的列表框中的列表項(xiàng)或右邊的圖標(biāo)則可彈出圖2所示的對(duì)話框,該對(duì)話框給出了一些與圖形有關(guān)的信息。也可以先用鼠標(biāo)拾取一個(gè)列表項(xiàng)或圖標(biāo),再點(diǎn)擊“ok”按鈕彈出對(duì)話框。對(duì)話框給出了放大的幻燈片和該幻燈片的信息。點(diǎn)擊“確定”按鈕則打開(kāi)圖形文件。點(diǎn)擊“取消”按鈕則不打開(kāi)圖形文件并關(guān)閉對(duì)話框。
六、 結(jié)束語(yǔ)
圖形管理是CAD應(yīng)用的一個(gè)重要內(nèi)容,是CAD應(yīng)用中較為繁瑣、較為困難的部分之一。不同的用戶(hù)可以有不同的圖形管理方案,本文提出的方案完全基于AutoCAD的開(kāi)放體系結(jié)構(gòu)提供的Autolisp語(yǔ)言和DCL語(yǔ)言,旨在利用AutoCAD提供的上述兩種解釋性語(yǔ)言,以使AutoCAD用戶(hù)能方便地應(yīng)用。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書(shū)Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專(zhuān)業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書(shū) AutoCAD2004
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF
- 2021-08-29機(jī)械制圖與AutoCAD [李志明 主編] 2014年P(guān)DF下載
- 2021-08-29機(jī)械制圖與AutoCAD [陶素連,周欽河 主編] 2013年P(guān)DF下