進(jìn)行機(jī)械設(shè)計(jì)難免要查詢(xún)和繪制標(biāo)準(zhǔn)件,由于標(biāo)準(zhǔn)件繪制極為繁瑣,且需反復(fù)查手冊(cè)找數(shù)據(jù),非常耗時(shí)耗力,因此有必要利用AutoCAD二次開(kāi)發(fā)功能,開(kāi)發(fā)能快速、準(zhǔn)確查詢(xún)和繪制機(jī)械標(biāo)準(zhǔn)件的軟件,以提高繪圖速度和節(jié)省人力資源.本系統(tǒng)所設(shè)計(jì)的機(jī)械標(biāo)準(zhǔn)件庫(kù),解決了這一系列的問(wèn)題.
1 設(shè)計(jì)思想
標(biāo)準(zhǔn)件庫(kù)的設(shè)計(jì)基于這樣一個(gè)前提:查詢(xún)與繪制工作為后臺(tái)服務(wù),對(duì)客戶透明,其目的是讓用戶只進(jìn)行最簡(jiǎn)單操作即可得到由系統(tǒng)繪制的標(biāo)準(zhǔn)件的圖形,并可查詢(xún)到與該標(biāo)準(zhǔn)件相關(guān)的信息.
整個(gè)系統(tǒng)可分為如下幾大功能模塊(如圖1所示).

圖1 系統(tǒng)的功能模塊
Fig.1 The function modules of the system
系統(tǒng)首先通過(guò)人機(jī)交互模塊獲得查詢(xún)和繪制的條件,然后對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún),并將所獲取的數(shù)據(jù)返回給圖形繪制模塊進(jìn)行繪圖操作.
2.系統(tǒng)數(shù)據(jù)的管理
本系統(tǒng)通過(guò)建立一個(gè)專(zhuān)門(mén)的數(shù)據(jù)庫(kù)系統(tǒng)來(lái)管理所有標(biāo)準(zhǔn)件的參數(shù)、圖形以及相關(guān)的各種信息.
2.1 數(shù)據(jù)庫(kù)的創(chuàng)建
創(chuàng)建數(shù)據(jù)庫(kù)前首先要分析清楚需要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)必須有哪些內(nèi)容.對(duì)機(jī)械標(biāo)準(zhǔn)件來(lái)說(shuō),各標(biāo)準(zhǔn)件至少都應(yīng)創(chuàng)建一個(gè)記錄其類(lèi)型和型號(hào)、特定的參數(shù)等的主表.以軸承為例,必須建一個(gè)包括類(lèi)型、型號(hào)、參數(shù)、圖像文件的存儲(chǔ)地址等字段的表(如表1所示).
表1 軸承的主表
Table 1 The main list of bearing

表1中字段名的含義如表2所示.
表2 字段名的意義
Table 2 The meanings of column names
除了主表外,還要根據(jù)不同的需要向數(shù)據(jù)庫(kù)增加一個(gè)記錄各種輔助信息的輔助表.輔助表與主表一一對(duì)應(yīng),主要記錄標(biāo)準(zhǔn)件的附加信息,如:價(jià)格、產(chǎn)地等.
由于主表記錄的都是統(tǒng)一、不變的數(shù)據(jù),為維護(hù)其安全性,對(duì)主表進(jìn)行修改必須具備較高的權(quán)限.而輔助表記錄的信息要經(jīng)常改變,為方便用戶修改,不作權(quán)限的設(shè)定.
另外,針對(duì)每個(gè)設(shè)計(jì)系統(tǒng)都自動(dòng)生成一個(gè)動(dòng)態(tài)表,用來(lái)記錄用戶設(shè)計(jì)中用到的標(biāo)準(zhǔn)件的信息.當(dāng)用戶插入一個(gè)標(biāo)準(zhǔn)件時(shí),動(dòng)態(tài)表便將該標(biāo)準(zhǔn)件記錄下來(lái),用戶刪除某個(gè)標(biāo)準(zhǔn)件時(shí),動(dòng)態(tài)表也相應(yīng)刪除該標(biāo)準(zhǔn)件的記錄.有了動(dòng)態(tài)表,用戶可以很輕松的得到設(shè)計(jì)中所涉及的標(biāo)準(zhǔn)件的各種信息,包括各種標(biāo)準(zhǔn)件的數(shù)目、價(jià)格、庫(kù)存等.
2.2 應(yīng)用程序的編制
機(jī)械標(biāo)準(zhǔn)件庫(kù)作為一個(gè)獨(dú)立的系統(tǒng)存在,用戶既可通過(guò)AutoCAD對(duì)其進(jìn)行訪問(wèn),亦可單獨(dú)運(yùn)行其應(yīng)用程序,進(jìn)行插入、刪除、查詢(xún)等操作,因此必須為其編寫(xiě)應(yīng)用程序.
由于很多企業(yè)的設(shè)計(jì)都是在多機(jī)系統(tǒng)上進(jìn)行,所以,選擇具有強(qiáng)大的客戶機(jī)/服務(wù)器開(kāi)發(fā)功能的PowerBuilder6.0作為應(yīng)用程序開(kāi)發(fā)工具,能為以后完善系統(tǒng)、開(kāi)發(fā)客戶機(jī)/服務(wù)器體系提供更大的靈活性.
PowerBuilder6.0的應(yīng)用程序要使用的所有窗口都可以由它的Window描繪器實(shí)現(xiàn),窗口及其上的各種控件必須用 PowerBuilder6.0的PowerScript語(yǔ)言來(lái)驅(qū)動(dòng).通過(guò)Window描繪器的Image控件,可將標(biāo)準(zhǔn)件的相應(yīng)圖形顯示在主窗口上,用戶使用時(shí)更加清楚明了.#p#分頁(yè)標(biāo)題#e#
軸承的數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行時(shí)如圖2所示.

圖2 軸承數(shù)據(jù)庫(kù)系統(tǒng)的主窗口
Fig.2 The main window of the bearing DB system
3 查詢(xún)和繪圖的處理
系統(tǒng)查詢(xún)和繪圖的功能主要在AutoCAD中實(shí)現(xiàn)
3.1 開(kāi)發(fā)工具的選擇
AutoCAD提供多種開(kāi)發(fā)工具,包括AutoLISP、ADS、ARX等.用C++編寫(xiě)的ARX文件能自如地生成各種界面和調(diào)用AutoCAD內(nèi)部命令,但較ADS復(fù)雜,因此系統(tǒng)采用VisualC++5.0語(yǔ)言在ARX程序框架結(jié)構(gòu)的基礎(chǔ)上調(diào)用ADS函數(shù),以加速程序的開(kāi)發(fā).
3.2 數(shù)據(jù)庫(kù)的訪問(wèn)
系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),要通過(guò)ASE(AutoCAD SQL擴(kuò)充)或ASI(AutoCAD SQL程序接口)利用SQL(結(jié)構(gòu)查詢(xún)語(yǔ)言)進(jìn)行.為了讓用戶使用得更方便、簡(jiǎn)單,這些操作通過(guò)ARX編程由系統(tǒng)實(shí)現(xiàn).ASE通過(guò)執(zhí)行SQL命令可以對(duì)外部數(shù)據(jù)庫(kù)進(jìn)行管理,但它無(wú)法將訪問(wèn)數(shù)據(jù)庫(kù)的返回值賦給AutoCAD變量.因此,用ADS編寫(xiě)AutoCAD應(yīng)用程序調(diào)用SQL功能訪問(wèn)標(biāo)準(zhǔn)件庫(kù)并返回結(jié)果時(shí),必須通過(guò)ASI進(jìn)行.
ASI是ADS的一個(gè)命令集,這些命令能夠查詢(xún)數(shù)據(jù)庫(kù)并將查詢(xún)結(jié)果賦給內(nèi)存變量.ADS利用這些命令訪問(wèn)機(jī)械標(biāo)準(zhǔn)件庫(kù),獲得標(biāo)準(zhǔn)件庫(kù)的相關(guān)數(shù)據(jù)后賦給相應(yīng)的函數(shù),其中圖像文件一項(xiàng)返回的是標(biāo)識(shí)它們的存儲(chǔ)地址的字符串.
在AutoCAD中對(duì)主表和輔助表只能進(jìn)行查詢(xún)操作,不能進(jìn)行刪除和插入操作,以保證數(shù)據(jù)的安全.查詢(xún)時(shí)需要進(jìn)行有效性檢驗(yàn),以避免用戶誤操作,保證查詢(xún)結(jié)果的準(zhǔn)確有效.
對(duì)主表和輔助表的刪除、插入操作,可以利用標(biāo)準(zhǔn)件數(shù)據(jù)庫(kù)的應(yīng)用程序進(jìn)行,其中,對(duì)主表的操作要受權(quán)限的限制.
3.3 繪圖
在ADS中調(diào)用AutoCAD命令可以很容易地實(shí)現(xiàn)圖形的繪制.
首先,要由用戶給出標(biāo)準(zhǔn)件的插入點(diǎn),有了插入點(diǎn)后,系統(tǒng)通過(guò)ads-command()函數(shù)調(diào)用AutoCAD的作圖命令作圖.ads-command()函數(shù)所需的參數(shù)由系統(tǒng)根據(jù)用戶的不同要求訪問(wèn)標(biāo)準(zhǔn)件庫(kù)后返回.
4 用戶界面的處理
系統(tǒng)的用戶界面采取對(duì)話框的形式,以簡(jiǎn)化人機(jī)交互操作.為求簡(jiǎn)單明了,對(duì)話框上插入相應(yīng)標(biāo)準(zhǔn)件的實(shí)物立體圖和不同方向的視圖.用戶只需選擇所需標(biāo)準(zhǔn)件的型號(hào)和視圖并提供插入點(diǎn)即可得到相應(yīng)的圖形.這些預(yù)覽功能確保了輸入的準(zhǔn)確性.
系統(tǒng)的用戶界面由兩級(jí)對(duì)話框組成,程序運(yùn)行時(shí)先彈出第一級(jí)對(duì)話框供用戶選擇標(biāo)準(zhǔn)件種類(lèi)(如:軸承、螺母等)之用,當(dāng)標(biāo)準(zhǔn)件種類(lèi)選定后彈出第二級(jí)對(duì)話框供用戶選定所選標(biāo)準(zhǔn)件的參數(shù).
系統(tǒng)通過(guò)調(diào)用相對(duì)應(yīng)的對(duì)話框構(gòu)件的初始化函數(shù)ads-action-tile()來(lái)響應(yīng)用戶在對(duì)話框上進(jìn)行的操作.
以墊圈為例,程序運(yùn)行時(shí)其第二級(jí)對(duì)話框形狀如圖3所示.

圖3 插入墊圈的對(duì)話框
Fig.3 The dialog-box for inserting a gasket
系統(tǒng)要對(duì)顯示在對(duì)話框上的大量的圖像文件進(jìn)行管理,處理方法是將圖像文件的地址和名字作為一個(gè)字段存儲(chǔ)在標(biāo)準(zhǔn)件庫(kù)中,需要時(shí)通過(guò)標(biāo)準(zhǔn)件庫(kù)返回的地址進(jìn)行調(diào)用.
5 結(jié) 論
通過(guò)機(jī)械標(biāo)準(zhǔn)件數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā),為解決機(jī)械設(shè)計(jì)中所涉及的大量的標(biāo)準(zhǔn)件的快速查詢(xún)與繪制提供了有效途徑,同時(shí),也解決了數(shù)據(jù)的安全性和查詢(xún)的準(zhǔn)確性問(wèn)題.并且,由于系統(tǒng)大量調(diào)用各種相關(guān)的圖像,使用戶界面更加友好,使用更加直接.
相關(guān)文章
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 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下
- 2021-08-28機(jī)械制圖與AutoCAD 繪圖 [宋巧蓮,徐連孝 主編] 2012年P(guān)
- 2021-08-28機(jī)械制圖與AutoCAD 習(xí)題集 [陶素連,何秀群 主編] 2013
- 2021-08-28計(jì)算機(jī)輔助設(shè)計(jì)與制造 21世紀(jì)全國(guó)應(yīng)用型本科大機(jī)械系
- 2021-08-27機(jī)械制圖與AutoCAD 繪圖 [宋巧蓮,徐連孝 主編] 2012年P(guān)
- 2021-08-27機(jī)械制圖與AutoCAD 習(xí)題集 [陶素連,何秀群 主編] 2013
- 2021-08-27計(jì)算機(jī)輔助設(shè)計(jì)與制造 21世紀(jì)全國(guó)應(yīng)用型本科大機(jī)械系