?

三層C/S模式在UG/Open開發中的應用研究

2010-11-28 04:59張博林宋傳斌
制造技術與機床 2010年5期
關鍵詞:漸開線文件夾對話框

張博林 黃 勇 宋傳斌

(①航宇救生裝備有限公司,湖北襄樊 441002;②華東交通大學機電學院,江西南昌 330013)

在現代CAD平臺上進行應用開發過程中,隨著對數據信息需求量的增大以及日益繁多的數據種類,使得數據信息必須從應用程序中獨立出來,把運行過程中產生的數據組成獨立的數據庫。這樣既有利于應用程序和數據相對獨立,方便數據的維護,又有助于不同應用程序之間的數據共享。

目前,UG平臺上的UG/Open開發工具沒有提供直接訪問數據庫的接口,極大限制了應用系統的開發,因此,有必要對數據庫的開發方法及開發模式(C/S模式)在UG/Open開發中的應用進行研究。

1 UG/Open開發工具

UG/Open是在UG平臺上進行二次開發的主要工具,使用該工具可以實現用戶的要求,完成個性化開發,主要包括以下四個部分:(1)UG/Open API,它提供了直接訪問UG的函數接口;(2)UG/Open Grip,它是早期的UG二次開發語言,適合于在UG中進行自動化建模,具有簡單、易懂的特點;(3)UG/Open Menu-Script,利用它可以實現對UG平臺上菜單、工具條進行定制;(4)UG/Open UIStyler,利用它可以實現UG界面的可視化編輯,能方便的開發出與UG平臺一致的交互界面。

2 C/S模式

(1)兩層C/S模式 是最簡單的C/S模式,如圖1所示。它是由客戶層和數據層組成,當客戶層向數據層發送請求時,數據層根據請求做出相應的反應,并把結果返回給客戶機。由于客戶層中包含請求服務的功能,因而,容易形成胖客戶層,導致功能更新繁煩,維護成本高,運行效率低。

該模式的缺點主要是請求服務的功能安裝在客戶層,不同客戶端應用程序安裝在不同的計算機上,對于功能需要經常更新的系統,升級、維護成本較高。

(2)三層C/S模式 為了克服兩層C/S模式的不足,可以將請求服務功能從客戶層中分離出來,形成業務邏輯層??蛻魧又饕撠熍c用戶的交互,業務邏輯層主要完成請求服務的功能,數據層主要用來存儲程序運行所需要的數據及運行過程中產生的數據,形成三層C/S模式。為了在程序上實現三層C/S模式,需要有各種技術的支持,COM組件就是實現該模式的方式之一?;贑OM組件的三層C/S模式如圖2所示。

3 C/S模式在UG/Open開發中的應用方法

目前,VC中的MFC是實現C/S模式的工具之一,但是,UG/Open一直沒有提供直接訪問MFC的方法,在UG/Open應用開發中不能直接調用MFC類庫。為了開發出用戶需求的應用系統,實現C/S模式在UG/Open開發中的應用,必須解決UG/Open與MFC的混合開發問題,因此,必須對應用程序的結構做出如下改變:

(1)利用應用程序向導中的MFC AppWizard(dll)創建應用程序,并在Project name和Location中寫入項目名稱和路徑;

(2)確定程序類型為:Regular DLL using shared MFC DLL;

(3)將 UG/Open API函數庫所在路徑加入到Tools/Options菜單Directaries選項卡Include files和Library files欄中;

(4)在Project/Settings菜單Link選項卡Object/library modules欄中加入庫文件libugopenint.lib和libufun.lib;

(5)在全局對象類theApp下面添加自定義函數,編寫程序。

(6)編譯、連接。

(7)將產生的dll文件拷貝到startup文件夾中。

(8)如果其它應用程序要引用自定義函數,需將產生的lib文件拷貝到該應用程序文件夾中,按動態連接庫方式加以引用。

4 開發實例

以下就以漸開線直齒輪庫的建立為例,闡述三層C/S模式在UG/Open參數化設計中的應用方法。

4.1 總體結構

該系統采用C/S模式,主要由3個層次組成:客戶層、業務邏輯層和數據層??蛻魧又饕瓿色@取用戶輸入的數據、齒輪的參數化設計和后臺數據庫管理的界面。業務邏輯層主要完成對后臺數據庫的管理,通過COM組件實現。數據層主要用來存放直齒輪的相關信息。系統的總體結構如圖3所示。

4.2 建立數據庫

直齒輪數據庫中包含7個屬性,即:齒輪號、模數、齒數、壓力角、齒頂高系數、徑向間隙系數、齒寬,如圖4所示。

4.3 設置開發環境

(1)在自定義目錄下創建startup、application、grip和database四個文件夾。其中,自定義的菜單及dll文件在startup文件夾中,對話框文件在application文件夾中,齒輪參數化設計程序在grip文件夾中,齒輪庫在database文件夾中。

(2)注冊環境變量,其中,變量名為UGII_USER_DIR,變量值為自定義目錄,如圖5所示。

4.4 用戶界面的開發

(1)菜單的建立

(2)對話框的建立

該實例采用UG對話框與MFC對話框相結合的方式,利用UG/Open UIStyle工具與MFC對話框編輯器進行,如圖6和圖7所示。

4.5 參數化程序的開發

(1)漸開線參數化程序的UG/Open Grip實現

(2)利用UG/Open API調用參數化設計程序

4.6 三層C/S模式的開發

(1)COM組件接口

(2)通過COM組件對數據庫進行訪問

5 運行結果

(1)運行UG,出現直齒輪庫菜單,如圖8所示。

(2)選擇漸開線直齒輪菜單,彈出主界面,如圖9所示。

(3)選擇漸開線直齒輪按鈕,進入直齒輪庫,如圖10所示。其中,入庫和刪除功能通過調用COM組件實現,三維模型功能通過UG/Open實現。

(4)選擇齒輪號1和三維模型按鈕,完成從庫中調用齒輪號1的齒輪三維模型,如圖11所示。

6 結語

本文在UG平臺上引入了C/S模式的開發思想,總結出了C/S模式在UG/Open開發中的應用方法,并把數據庫通過三層C/S模式應用到了UG/Open開發中,實現了基于COM組件的三層C/S模式漸開線直齒輪庫的開發,為UG平臺上CAD系統的開發提供了數據支持,同時,可為其它方面的UG/Open開發提供參考和借鑒。

[1]董正衛,等編著.UG/OPEN API編程基礎[M].北京:清華大學出版社,2002.

[2]王慶林編著.UG/Open GRIP實用編程基礎[M].北京:清華大學出版社,2002.

[3]任哲,等編著.MFC Windows應用程序設計[M].北京:清華大學出版社,2004.

[4]黃勇,張博林.MFC在UG二次開發中的應用[J].重型機械,2005(6).

猜你喜歡
漸開線文件夾對話框
Fast Folders,讓你的文件夾四通八達
基于NURBS理論的漸開線齒輪齒面修復
基于Pro/E的漸開線內花鍵安裝盤參數化設計
正?;謴吞摂M機
用修正漸開線投影法螺旋銑球面宏程序的編制
Bootlace Worms’Secret etc.
What Is Beauty?
漸開線齒廓鏈輪梳齒刀的設計
摸清超標源頭 大文件夾這樣處理
調動右鍵 解決文件夾管理三大難題
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合