朱倩
【摘要】 數(shù)據(jù)庫技術(shù)對數(shù)據(jù)進(jìn)行有效管理,使數(shù)據(jù)與程序產(chǎn)生分離,數(shù)據(jù)庫技術(shù)在ARX程序中的開發(fā)沒有得到廣泛的應(yīng)用。ARX軟件可以通過數(shù)據(jù)庫技術(shù)對工程檔案管理系統(tǒng)中的圖紙?zhí)峤唤o中心數(shù)據(jù)庫,使CAD與PDM產(chǎn)生緊密的聯(lián)系。在工程實(shí)踐中,數(shù)據(jù)庫技術(shù)在ARX程序中的應(yīng)用對CAD實(shí)行二次開發(fā),并對ARX軟件開發(fā)提供思路。
【關(guān)鍵詞】 數(shù)據(jù)庫 ARX 軟件開發(fā) 應(yīng)用
工程實(shí)踐中為提高繪圖與設(shè)計(jì)的效率,采用ARX技術(shù)對CAD進(jìn)行二次開發(fā),這一方法在工程中廣泛應(yīng)用,為設(shè)計(jì)流程提供了規(guī)范的模式。在CAD的三種開發(fā)接口技術(shù)中,ARX程序是最適合對CAD進(jìn)行二次開發(fā)的工具,可以對ARX提供的資源進(jìn)行有效利用,以及在VC開發(fā)環(huán)境下,利用豐富的資源從而將產(chǎn)品對外發(fā)布。對CAD進(jìn)行二次開發(fā)時(shí),可以發(fā)現(xiàn),其軟件的設(shè)計(jì)僅僅只能滿足對圖形的繪制,對數(shù)據(jù)及軟件結(jié)構(gòu)不能進(jìn)行有效的管理。因此數(shù)據(jù)庫技術(shù)在ARX程序軟件開發(fā)中的應(yīng)用,能對二次軟件開發(fā)的框架體系進(jìn)行改善,對軟件開發(fā)后期的管理工作提供便利,從而實(shí)現(xiàn)CAD系統(tǒng)與ERP、PDM數(shù)據(jù)進(jìn)行集中管理,以及其他子系統(tǒng)集成工作。
一、ARX程序含義簡介
ARX是現(xiàn)代最新的軟件二次開發(fā)技術(shù),支持C語言的編寫及應(yīng)用程序,允許開發(fā)者對CAD圖形軟件的充分利用,并可以直接訪問,ARX程序可以與CAD軟件的編程接口一起配合使用,在ARX程序中開發(fā)的應(yīng)用程序?qū)嵸|(zhì)上是動(dòng)態(tài)鏈接庫,即DLL,從而使得CAD與其地址空間共享,進(jìn)行通信[1]。ARX程序的運(yùn)行速度得到提高,程序的功能也得到增強(qiáng),通過ARX程序建立新的派生物,對其他程序進(jìn)行共享,從而對編程能夠充分利用。ARX程序與其LISP、VBA程序這三個(gè)屬于第三發(fā)軟件開發(fā)工具,ARX程序是一歌開放式的體系結(jié)構(gòu),對CAD軟件可以進(jìn)行直接的訪問與操作,ARX程序可以通過對數(shù)據(jù)庫的庫外函數(shù)進(jìn)行調(diào)用,從而對圖形數(shù)據(jù)庫進(jìn)行初始化操作,并對數(shù)據(jù)庫的對象進(jìn)行創(chuàng)建,并對數(shù)據(jù)庫的對象進(jìn)行編輯與保存,從而使圖形數(shù)據(jù)庫CAD生成可見及不可見的實(shí)體幾何對象,構(gòu)建符號表與字典,其本質(zhì)是對CAD增加塊表記錄,形成動(dòng)態(tài)鏈接,使CAD軟件與其他應(yīng)用系統(tǒng)能夠進(jìn)行共享,提高程序的功能,對CAD軟件進(jìn)行直接訪問和瀏覽。
二、ARX程序中數(shù)據(jù)庫技術(shù)選擇
ARX程序?qū)ν獠繑?shù)據(jù)庫的訪問,可以根據(jù)CAD提供的編程接口ASI,在VC開發(fā)平臺上對提供的數(shù)據(jù)庫進(jìn)行訪問并開發(fā)。用ASI庫函數(shù)對數(shù)據(jù)庫外部進(jìn)行訪問需要開發(fā)人員學(xué)習(xí)ASI的相關(guān)專業(yè)知識,由于ASI編程的資料嚴(yán)重匱乏,不利于外部數(shù)據(jù)庫對CAD進(jìn)行二次開發(fā)[2]。對MFC進(jìn)行編程需要在ARX程序在一定的初始化進(jìn)程后進(jìn)行,對ARX程序的開發(fā)需要根據(jù)MFC提供的類庫函數(shù),訪問外部數(shù)據(jù)庫,可以有效縮小開發(fā)周期,降低開發(fā)的難度,還可以使程序功能得到增強(qiáng),從而為實(shí)現(xiàn)ARX程序的C/S模式提供便利[3]。
三、數(shù)據(jù)庫技術(shù)在ARX程序中的應(yīng)用
3.1基于ADO的ARX程序開發(fā)應(yīng)用
對CAD進(jìn)行二次開發(fā),首先需要建立標(biāo)準(zhǔn)件與基本零件庫,標(biāo)準(zhǔn)件及與基本零部件的形狀結(jié)構(gòu)一般為定型,可形成系列,零部件之間的尺寸關(guān)系用參數(shù)表明,工程數(shù)據(jù)庫的重要組成部分及相關(guān)基礎(chǔ)數(shù)據(jù)首先需要對零部件的幾何關(guān)系數(shù)據(jù)特有的靜態(tài)性與共享性進(jìn)行確定[4]。一般在化工設(shè)備中,零部件應(yīng)按照國家標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)與制定研發(fā)。且化工設(shè)備當(dāng)中零部件的數(shù)量大,形式多,其數(shù)據(jù)的規(guī)律性較強(qiáng),因此在化工設(shè)備也常常使用,并通過數(shù)據(jù)庫對零部件的數(shù)據(jù)進(jìn)行管理。
本文根據(jù)JB/T4713-92這一支座零部件的開發(fā)為例,支座的開發(fā)主要有四種系列,分別是A、AN、B、BN這四種形式,這四種系列當(dāng)中大多數(shù)都是具有標(biāo)準(zhǔn)化的數(shù)據(jù),通過標(biāo)準(zhǔn)化公式進(jìn)行表示,通過函數(shù)的重載實(shí)現(xiàn),將這四種系列的支架進(jìn)行獨(dú)立分別,主要是由于其他的模塊有可能會(huì)單獨(dú)調(diào)用某一支架,為了能更加清晰的描述。而ARX程序的數(shù)據(jù)公式是在用戶輸入及選定數(shù)據(jù)之后,對相應(yīng)的結(jié)構(gòu)函數(shù)進(jìn)行數(shù)據(jù)調(diào)用,并將數(shù)據(jù)進(jìn)行傳遞,再根據(jù)所得數(shù)據(jù)從數(shù)據(jù)庫中提出相應(yīng)的數(shù)據(jù),即相的應(yīng)類,對數(shù)據(jù)的正確性進(jìn)行詳細(xì)的檢查,最后根據(jù)ARX程序提供的類庫函數(shù)對圖形進(jìn)行繪制,完成MFC DAO的數(shù)據(jù)庫看訪問[5]。
3.2基于ODBC的ARX程序開發(fā)在工程圖紙管理中的應(yīng)用
PDM是對工程圖紙進(jìn)行計(jì)算機(jī)化管理的技術(shù),根據(jù)PDM技術(shù)建立工程圖紙管理系統(tǒng),從而實(shí)現(xiàn)工程電子文檔與資料管理,工作流程與產(chǎn)品配置管理,及項(xiàng)目的分類檢索管理等多種管理功能。工程圖紙的設(shè)計(jì)一般是由設(shè)計(jì)者在設(shè)計(jì)后向服務(wù)器提交設(shè)計(jì)方案,并通過審核與校驗(yàn)等詳細(xì)流程。在審核過程中圖紙的設(shè)計(jì)將會(huì)被瀏覽及做出修改,且圖紙的設(shè)計(jì)一般是在CAD軟件上進(jìn)行長時(shí)間的設(shè)計(jì),與工程圖紙管理系統(tǒng)沒有進(jìn)行融合。 目前可通過多種技術(shù)對CAD軟件與工程圖紙管理系統(tǒng)進(jìn)行連接,但在特定場合下,例如對工程圖紙的設(shè)計(jì)與修改,CAD與工程圖紙管理系統(tǒng)仍沒有徹底的融合,設(shè)計(jì)者在不同軟件下存在操作上的多種問題,例如使用OLE技術(shù)將CAD與工程圖紙管理系統(tǒng)建立通信,其內(nèi)嵌的方式仍不滿足用戶的需求,且系統(tǒng)的反應(yīng)遲緩,對用戶的使用造成不便。對ARX程序進(jìn)行開發(fā),需要與MFC在開發(fā)數(shù)據(jù)庫的優(yōu)勢進(jìn)行結(jié)合,才能使CAD軟件與工程圖紙管理系統(tǒng)進(jìn)行有效的融合,保證設(shè)計(jì)人員在CAD軟件熟悉的環(huán)境下進(jìn)行辦公和設(shè)計(jì)。但如果對圖紙進(jìn)行只讀瀏覽,采用OLE技術(shù)與快速瀏覽工具結(jié)合較為實(shí)用。
工程圖紙的提交,需要采用ARX程序?qū)嵱肕FC ODBC對數(shù)據(jù)庫進(jìn)行訪問,而提交繪制的CAD文件可以采用多種方法,例如在數(shù)據(jù)庫中運(yùn)用varbinary字段以及Winsock[6]。ARX程序是根據(jù)CAD客戶端建立只讀文件夾,為服務(wù)器管理者提供使用,并在只讀文件夾中將ARX提供的類庫函數(shù)保存為dwg格式文件,調(diào)用數(shù)據(jù)庫執(zhí)行的系統(tǒng)命令,將拷貝下來的文件復(fù)制到服務(wù)器的相關(guān)文件夾中,保證服務(wù)器的安全,避免服務(wù)器目錄的安全性受損。具體流程如圖1所示。
結(jié)語:
數(shù)據(jù)庫技術(shù)在ARX程序中對軟件進(jìn)行二次開發(fā)主要是對外部數(shù)據(jù)庫進(jìn)行調(diào)用,并將數(shù)據(jù)庫的開發(fā)技術(shù)與CAD技術(shù)進(jìn)行綜合利用,根據(jù)CAD軟件在圖形上的優(yōu)勢,提高軟件開發(fā)的質(zhì)量,為ARX軟件開發(fā)提供規(guī)范的數(shù)據(jù)管理,有效解決CAD系統(tǒng)與其他子系統(tǒng)之間的集成問題,為CAD軟件的二次開發(fā)提供新的解決思路與方法。
參 考 文 獻(xiàn)
[1]龔治國,侯建國,吳春秋. 基于Object ARX的圖形數(shù)據(jù)庫開發(fā)在建筑結(jié)構(gòu)CAD中的應(yīng)用[J]. 武漢大學(xué)學(xué)報(bào)(工學(xué)版),2003,06:65-69.
[2]尹衛(wèi)澤,張賀忻. 面向?qū)ο蟮腁utoCAD開發(fā)工具ARX在工程CAD軟件中的應(yīng)用[J]. 工程設(shè)計(jì)CAD及自動(dòng)化,1998,03:33-35.
[3]魯聰,黃麗娟,殷國富. 基于VC的數(shù)據(jù)庫開發(fā)技術(shù)在機(jī)械CAD軟件中的應(yīng)用[J]. 機(jī)械設(shè)計(jì),2001,10:28-30+0.
[4]邱愛紅,聶松輝. 用Object ARX開發(fā)AutoCAD中的標(biāo)準(zhǔn)件與常用零部件[J]. 電腦與信息技術(shù),2002,04:19-22.
[5]趙霞,陳炳華. AutoCAD運(yùn)行擴(kuò)展及其在室內(nèi)設(shè)計(jì)CAD系統(tǒng)開發(fā)中的應(yīng)用[J]. 北京輕工業(yè)學(xué)院學(xué)報(bào),1997,03:7-13.
[6]朱學(xué)軍. 基于AutoCAD圖形數(shù)據(jù)庫的ARX應(yīng)用程序開發(fā)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2004,12:15-16+93.