999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于COM組件技術開發花鍵軸參數化設計

2018-10-26 06:11:34中航工業江西洪都航空工業股份有限公司南昌330001王忠建王廣運
金屬加工(冷加工) 2018年10期
關鍵詞:數據庫模型設計

■中航工業江西洪都航空工業股份有限公司 (南昌 330001) 石 鑫 王忠建 王廣運

掃碼了解更多

隨著COM技術的飛速發展,利用組件技術作為應用程序的開發模式成為主流。基于COM的應用程序能夠對用戶的需求作出快速響應,開發人員只需快速地從某個COM組件庫中取出所需組件,像搭積木一樣組裝到一起就可構成所需要的應用程序。

UG是一款高度集成CAD/CAE/CAM功能為一體的綜合性應用軟件平臺,它提供了強大的二次開發模塊,在該模塊中通過UG/Open語言即可滿足零件參數化設計模塊的開發需求。花鍵軸是機械產品中的主要零部件之一,對機械運動的傳遞起著非常重要的作用,若能實現其快速開發,將會極大地提高零件設計效率,避免重復工作。綜上,本文結合UG/Open、VC以及COM內容,將COM組件技術引入到UG花鍵軸參數化設計模塊的二次開發中,期望通過采用COM組件的參數化設計方法來提高零件的設計效率,增強企業競爭力。

1.系統總體結構

系統采用三層C/S體系結構,即由客戶層、中間層和數據層構成。其中,客戶層主要完成UG菜單、UIStyler對話框設置、用戶交互界面設置等,中間層主要實現花鍵軸數據庫條目信息的獲取以及花鍵軸的參數化設計,數據層主要用來存儲花鍵軸數據信息,為中間層提供數據支持。系統總體結構如圖1所示。

2.系統實現

(1)設置開發環境。新建文件夾為SplineShaft,在該文件夾下創建startup、application、database和prt四個子文件夾。其中,startup用來存放UG菜單以及DLL文件,application用來存放對話框dlg文件,database用來存放花鍵軸數據庫文件mdb,prt用來存放花鍵軸模板文件。另外,還需注冊環境變量,如圖2所示。

圖1 系統總體結構

圖2 注冊環境變量

(2)建立花鍵軸模型。在UG平臺上,通過草繪、拉伸等特征的創建,可以很快地建立初始花鍵軸三維零件模型,保存為COM_PART,如圖3所示,并將該零件模板放在prt子文件夾中,隨后創建程序所用的參數化表達式,如圖4所示,至此花鍵軸模型建立完畢。

(3)建立Access數據庫。通過Access建立花鍵軸信息數據庫文件spline_shaft.mdb。在該文件中,共設置10個字段,分別為編號、直徑1、直徑2、齒數、齒寬、有效長度、內孔直徑、內孔深度、軸直徑和軸長度。其中,指定“編號”為主鍵,最終創建的花鍵軸信息數據庫文件如圖5所示。

(4)UG菜單與對話框的創建。在startup文件夾內建立菜單文件(.men)時,需要使用UG/MenuScript工具創建出自己所需的主菜單和子菜單。本次所創建的文本菜單文件名為COM_MENU.men,具體代碼如下:

VERSION 120

EDIT UG_GATEWAY_MAIN_MENUBAR

BEFORE UG_HELP

圖3 初始花鍵軸三維零件模型

圖4 參數化表達式

圖5 花鍵軸信息數據庫文件

CASCADE_BUTTON COM

LABEL 基于COM組件的花鍵軸參數化設計

END_OF_BEFORE

MENU COM

BUTTON COM_PARA_DESIGN

LABEL 石鑫花鍵軸參數化設計

ACTIONS Client_DIA.dlg

END_OF_MENU

其中,ACTIONS后面為菜單要執行的動作,本次開發程序所設置的主菜單名為“基于COM組件的花鍵軸參數化設計”,啟動UG后會出現如圖6所示的菜單效果。

創建花鍵軸參數變量UIStyler對話框時,通過設置花鍵軸所需的關鍵參數,最后利用回調函數實現參數化設計,保存菜單后,會在application文件夾內自動生成Client_DIA.dlg.h、Client_DIA_template.c與Client_DIA.dlg三個文件,需將Client_DIA_template.c文件改為Client_DIA.cpp,以備程序設計時使用。最終獲得的花鍵軸參數對話框如圖7所示。

圖6 UG菜單效果

(5)COM組件的建立。創建COM組件時,需要根據VC向導中的ATL COM AppWizard建立COM服務器框架工程,命名為ADOOper。通過工程中的“插入”選項選擇新建ATL對象啟動ATL COM AppWizard加入對COM對象的支持,選擇“單個對象”,并在Short Name和Interface中分別鍵入DataOper和IDataOper,單擊確定即可創建一個COM對象,最后通過添加方法連接到接口IDataOper中。COM組件關鍵實現代碼如下:

//連接到數據源;

CDataOper::Open(BSTR source,BSTR USER, BSTR pwd)

......;return hr;}; //打開數據庫記錄集

CDataOper::OpenRecordset(VARIA NT query)

......;//關閉數據庫記錄集,與前者對應;

CDataOper::CloseRecordset()

{return m_recordset->Close();

}……;//其他一些操作函數

通過COM組件編譯連接,最終獲得的COM組件為ADOOper.dll,在連接時,COM組件會自動注冊安裝。

圖7 花鍵軸參數對話框

(6)客戶端程序的編寫。啟動VC++6.0,根據VC向導新建工程項目,命名為Client_PARA_DESIGN。在應用程序的工作空間中刪除向導自動生成的Client_PARA_DESIGN.h與Client_PARA_DESIGN.cpp兩個文件,將application文件夾中的Client_DIA.h與Client_DIA.cpp文件復制到Client_PARA_DESIGN目錄下,通過工程文件添加到VC應用程序框架中。另外,在project工程命令中選擇setting設置命令,在link選項卡中添加libufun.lib和libugOpenint.lib。與此同時,還需在工具tools中選擇option命令,將API函數庫所在的路徑添加到directaries選項中。

本應用程序的主要功能是通過COM組件調用數據庫中的花鍵軸參數,將每一記錄條的參數反饋到UIStyler對話框內,再更新生成花鍵軸模型。現添加各回調函數的應用代碼,通過回調函數計算花鍵軸的各表達式值,將計算后的表達式值代替初始繪圖時表達式的值,最后調用UF_MODL_update()函數進行更新模型,就可獲得重建后的花鍵軸模型。回調函數PARA_ok_cb()的程序代碼如下:

int PARA_ok_cb ( int dialog_id,void* client_data,

UF_STYLER_item_value_type_p_t callback_data)

{……;//參變量設置;

CoInitialize(NULL);

IParaDesign* IPP = NULL;

HRESULThr=CoCreateInstance(CLSID_ParaDesign, NULL,CLSCTX_ALL,IID_IParaDesign,(void**)&I PP);......;

//用于判斷修改后的數值能否滿足正確生成花鍵軸的限制條件

for(int i=0;i<9;i++)

{UF_STYLER_free_value(&data[i]); }......;

{uc1601("對話框中的數值不能為零!",1);return (UF_UI_CB_CONTINUE_DIALOG); }

if(d1<=d2)

{uc1601("“外徑1”必須大于>“外徑2”!",1);

return (UF_UI_CB_CONTINUE_DIALOG); }

//修改替代后的實際參數值,用于更新模型件

......;sprintf(exps_string[8],"d_shaft_length=%f",d_shaft_length);……;UF_terminate ();

最后將生成的客戶端dll文件復制到startup文件中即可。

3.測試結果

啟動UG,鼠標單擊創建的菜單,會出現系統主界面,獲取初始花鍵軸模型件的數據信息到對話框中,如圖8所示。單擊“花鍵軸數據信息”按鈕,系統會出現MFC編寫的對話框,對話框內顯示了通過COM組件獲取的花鍵軸數據庫中的信息,如圖9所示。選擇編號為2的數據,單擊“確定”按鈕后,2號記錄數據條信息會依次反饋到對話框內,再單擊對話框“確定”按鈕,就可生成2號記錄數據條所對應的花鍵軸,如圖10所示。

4.結語

圖8 初始花鍵軸模型件信息顯示

圖9 通過COM組件獲取的花鍵軸數據庫信息

圖10 反饋2號數據條所生成的花鍵軸

通過本次基于COM組件技術開發花鍵軸參數化設計模塊的研究可知,將COM組件技術引入UG二次開發中,很大程度上促進了UG二次開發進程,提高了機械零件的設計效率。測試結果表明:所開發的參數化設計模塊能夠快速生成不同參數值的花鍵軸模型,從而滿足用戶對花鍵軸的不同需求,縮短零件開發周期,為企業贏得經濟效益。

猜你喜歡
數據庫模型設計
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數據庫
財經(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 国产天天色| 在线免费观看a视频| 亚洲av无码牛牛影视在线二区| 欧美日韩精品一区二区在线线| 国产日韩精品欧美一区灰| 毛片最新网址| 中字无码精油按摩中出视频| 波多野结衣视频一区二区| 91精品视频网站| 日韩欧美高清视频| 无码精油按摩潮喷在线播放| 中文无码毛片又爽又刺激| 欧美成人怡春院在线激情| 国产亚洲欧美在线中文bt天堂| 性色生活片在线观看| 久青草免费在线视频| 国产日韩AV高潮在线| 免费在线视频a| 婷婷99视频精品全部在线观看| 久久伊人久久亚洲综合| 国产三级毛片| 国产jizz| 亚洲区欧美区| 91亚洲免费| 欧美午夜理伦三级在线观看| 色综合五月婷婷| 成年人福利视频| 无码免费的亚洲视频| 人妻无码中文字幕一区二区三区| 色成人综合| 欧美精品色视频| 国产区福利小视频在线观看尤物| 免费亚洲成人| 风韵丰满熟妇啪啪区老熟熟女| 国产网友愉拍精品视频| 激情综合婷婷丁香五月尤物| 欧美成人手机在线观看网址| 欧美色图久久| 麻豆国产原创视频在线播放| 2024av在线无码中文最新| 国产打屁股免费区网站| 色噜噜综合网| 在线欧美一区| 亚洲国产日韩在线观看| 亚洲丝袜中文字幕| 97在线免费| 毛片大全免费观看| 免费中文字幕一级毛片| 欧美在线国产| 国产成人高清精品免费| a级毛片在线免费观看| 亚洲一区网站| 91av成人日本不卡三区| 美女潮喷出白浆在线观看视频| 亚洲五月激情网| 久久这里只有精品2| 国产人成乱码视频免费观看| 国产一区二区三区在线精品专区| 久久久久人妻一区精品色奶水 | 免费在线成人网| 日本五区在线不卡精品| 99精品高清在线播放| 国产福利一区视频| 91色在线观看| 在线精品视频成人网| 国产日韩欧美精品区性色| 欧美一级色视频| 九色国产在线| 在线观看国产小视频| 亚洲v日韩v欧美在线观看| 亚洲无码视频一区二区三区| 亚洲成aⅴ人片在线影院八| 无码'专区第一页| 亚洲人精品亚洲人成在线| 91久久偷偷做嫩草影院| 97免费在线观看视频| 日韩国产一区二区三区无码| 亚洲中文字幕在线精品一区| a级毛片在线免费观看| 色丁丁毛片在线观看| 白丝美女办公室高潮喷水视频 | 国产在线八区|