機床夾具參數(shù)化零部件圖形庫及其系統(tǒng)介紹
時間:2011-07-22 08:33:18 來源:未知
對于計算機輔助夾具設計系統(tǒng)(CAFD)的研究開發(fā),機床夾具零部件圖形庫在系統(tǒng)中占有重要的位置。傳統(tǒng)上這些零部件的圖形庫都掛在CAD圖形軟件上,這只能在零部件數(shù)量較少的原型系統(tǒng)上應用。當前各種機床夾具系統(tǒng)都擁有規(guī)格數(shù)量很多的零部件,如專用夾具屬于GB的零部件的品種、規(guī)格數(shù)量就達到了數(shù)以萬計的規(guī)模,再加上槽系組合夾具、孔系組合夾具、氣動液壓等動力源以及通用夾具的零部件,其數(shù)量相當可觀;其次對CAFD系統(tǒng)來說,夾具零部件圖形庫應是一個獨立的部分,以便CAFD系統(tǒng)檢索、調(diào)用;再有參數(shù)化技術的成熟,建立基于參數(shù)化的夾具零部件圖形庫具有可簡化圖形儲存、修改結構設計以及減少儲存空間等優(yōu)點。為此,我們研究開發(fā)了基于客戶機/服務器模式的機床夾具參數(shù)化零部件圖形庫及其系統(tǒng),用以滿足上述需求。
1 設計方案的確定
- 客戶機/服務器體系結構
- 系統(tǒng)軟、硬件方案
- 參數(shù)化零部件圖形庫總體設計框架
- 隨著越來越多的部門安裝網(wǎng)絡以便共享網(wǎng)絡環(huán)境下的資源,面向?qū)ο蟮姆椒ê涂蛻魴C服務器體系結構倍受青睞。客戶機廠服務器結構包括連接在一個網(wǎng)絡中的多臺計算機。那些處理應用程序的計算機稱為客戶機,而在后臺集中處理數(shù)據(jù)庫服務的計算機稱為服務器。在數(shù)據(jù)庫環(huán)境下,客戶機和服務器通過若干稱作中間件的程序設計接口進行通信。客戶機的功能包括管理用戶接口、從用戶接受數(shù)據(jù)、處理應用程序、產(chǎn)生數(shù)據(jù)庫請求、向服務器發(fā)送數(shù)據(jù)庫請求以及從服務器接收結果等。服務器的功能包括從客戶機接受數(shù)據(jù)庫請求、處理數(shù)據(jù)庫請求、將結果格式化并傳送給客戶機、執(zhí)行完整性檢查、提供并行訪問控制以及優(yōu)化查詢和更新處理等。
- 本參數(shù)化零部件圖形庫設計系統(tǒng)采用客戶機/服務器體系結構,系統(tǒng)運行環(huán)境的設置如下:
- 硬件環(huán)境 1臺IBM PC Server高檔微機服務器,2至數(shù)臺客戶機(PⅡ450,64M內(nèi)存,10.4G硬盤)。
- 軟件環(huán)境 服務器操作系統(tǒng)為Windows NT4.0操作系統(tǒng),客戶機操作系統(tǒng)為Windows NT4.0操作系統(tǒng)、Windows 98操作系統(tǒng),服務器、客戶機網(wǎng)絡協(xié)議集TCP/IP,數(shù)據(jù)庫管理系統(tǒng)為Microsoft SQL Server 6.5,客戶機應用程序開發(fā)工具為Visual C++ 6.0,AutoCAD R14。

圖1 總體設計方案
- 在本系統(tǒng)中,機床夾具零部件的各參數(shù)數(shù)據(jù)存放在服務器端。用C++語言編制繪制機床夾具零部件參數(shù)化圖形的程序,通過接口程序讀取服務器數(shù)據(jù)庫中的字段值,用戶可以交互修改字段值,將得到的字段值作為尺寸參數(shù)傳遞給程序中的繪圖函數(shù),在AutoCAD環(huán)境中進行繪圖,實現(xiàn)機床夾具零部件參數(shù)化設計。總體設計方案見圖1所示。
2 數(shù)據(jù)庫設計
- 數(shù)據(jù)庫結構設計
- 數(shù)據(jù)庫操作界面設計
- 在利用MicrosoftS QLS erver設計數(shù)據(jù)庫結構時,機床夾具每個零部件對應一個表。
- 由于零件尺寸參數(shù)之間存在尺寸鏈關系,用戶輸入?yún)?shù)值時產(chǎn)生的錯誤會造成繪圖錯誤,我們通過設置有效性規(guī)則來解決此問題。當用戶輸人的參數(shù)值不符合尺寸鏈關系時,即彈出對話框提示錯誤。這使得數(shù)據(jù)庫操作界面具有一定的糾錯功能。
- Microsoft Visual C++ 6.0具有強大的可視化編程功能,因此可利用其編制數(shù)據(jù)庫操作界面,方便地完成數(shù)據(jù)記錄的查詢、添加、刪除以及修改等功能。
3 參數(shù)化繪圖中數(shù)據(jù)庫的C++語言接口程序設計
AutoCAD從12版本開始提供了與外部數(shù)據(jù)庫的接口ASI(AutoCAD SQL Interface),將SQL(Structured Query Language)語言集成到AutoCAD,在AutoCAD內(nèi)部可實現(xiàn)與外部數(shù)據(jù)庫的數(shù)據(jù)交換。ADS ASI由一組龐大的C語言庫函數(shù)組成,執(zhí)行時需要驅(qū)動程序支持,而且隨著版本的升級ASI函數(shù)做了很大的修改,這些都大大加重了開發(fā)者的負擔,光是對不同環(huán)境的適應工作就花費了大量時間,延長了軟件開發(fā)周期。 #p#分頁標題#e#
ObjectARX是基于AutoCAD R14的一種新的編程環(huán)境,它提供了以C++為基礎的面向?qū)ο蟮拈_發(fā)環(huán)境及接口,能真正直接地訪問AutoCAD R14圖形數(shù)據(jù)庫。ObjectARX編程環(huán)境除自身提供了幾個使用方便的類庫外,還可利用MFC類庫來編制豐富的Windows風格界面。ARX 以動態(tài)鏈接庫(DLL)的形式與AutoCAD共享地址空間,直接調(diào)用AutoCAD核心函數(shù),并可直接訪問AutoCAD數(shù)據(jù)庫。與ADS及AutoLISP相比,ARX應用程序運行更快速且穩(wěn)定。
筆者在采用Visual C++ 6.0編寫的ObjectARX應用程序中實現(xiàn)數(shù)據(jù)庫連接。下面以機床夾具常用零件A型平壓板為例介紹參數(shù)化繪圖中用Visual C++ 6.0操作數(shù)據(jù)庫的方法。
- 通過ODBC連接數(shù)據(jù)庫。ODBC(Open DatabaseConnectivity)是Microsoft's Windows的開放式服務體系結構數(shù)據(jù)庫部分,是一個用于訪問多種數(shù)據(jù)庫的統(tǒng)一的界面標準。ODBC實際是一個數(shù)據(jù)庫訪問庫,但是只提供一個統(tǒng)一的應用程序接口(API)。這樣利用ODBC可以避免應用程序隨數(shù)據(jù)庫的改變而改變。ODBC通過使用數(shù)據(jù)庫驅(qū)動程序獲得數(shù)據(jù)庫的獨立性,驅(qū)動程序所提供的標準接口允許應用程序開發(fā)者和驅(qū)動程序提供者在應用程序和數(shù)據(jù)源之間傳遞數(shù)據(jù)。
- 通過Windows 98控制面板中的ODBC可以連接本參數(shù)化設計系統(tǒng)所使用的建立在服務器中的機床夾具零部件數(shù)據(jù)庫。
- 對應數(shù)據(jù)庫中的每一表,從Crecordset派生一個應用程序指定的記錄集類。打開數(shù)據(jù)庫并創(chuàng)建一記錄集對象,調(diào)用記錄集的Open成員函數(shù)打開記錄集,然后再用Requery成員函數(shù)重建一個記錄集。將該記錄集中的所有記錄寫人一結構體數(shù)組中。

圖2 零部件參數(shù)控制對話框
- 對應數(shù)據(jù)庫中的每一表,從資源中增加一對話框資源并從CDialog派生一個應用程序指定的對話框類。在對話框中,根據(jù)表中的字段數(shù)決定編輯框(EditBox)的數(shù)量,靜態(tài)文本框(StaticText)的標題與數(shù)據(jù)庫中的字段名相同。零件參數(shù)控制對話框見圖2所示。
- 將記錄集中的第一條記錄作為默認值顯示到對話框各編輯框中。用戶可通過對話框右邊的兩個按鈕(上一條記錄和下一條記錄)選擇合適的記錄,也可直接在編輯框中輸人記錄號,得到所需記錄,顯示在各編輯框中。
- 用戶可對各編輯框中的參數(shù)值進行編輯修改,按OK按鈕后,首先檢查各參數(shù)值是否符合尺寸鏈關系式,如果符合,則將各編輯框中的值作為尺寸參數(shù)值傳遞到繪圖函數(shù)中;否則,彈出對話框提示錯誤。
4 結語
基于客戶機/服務器模式的機床夾具參數(shù)化零部件圖形庫,不僅容量大,使用安全可靠,運行穩(wěn)定,而且在客戶機上可以安裝各種類型的CAFD系統(tǒng),便于在網(wǎng)絡環(huán)境下,多人同時設計夾具,滿足了CAFD系統(tǒng)對零部件圖庫的要求。同時這類結構的圖形數(shù)據(jù)庫的架構,也可以用于各類機械,包括機床在內(nèi)的各種計算機輔助機械設計的圖形數(shù)據(jù)庫,故有一定的普遍意義。