亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于COM組件技術(shù)開(kāi)發(fā)花鍵軸參數(shù)化設(shè)計(jì)

        2018-10-26 06:11:34中航工業(yè)江西洪都航空工業(yè)股份有限公司南昌330001王忠建王廣運(yùn)
        金屬加工(冷加工) 2018年10期
        關(guān)鍵詞:花鍵軸文件夾對(duì)話框

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

        掃碼了解更多

        隨著COM技術(shù)的飛速發(fā)展,利用組件技術(shù)作為應(yīng)用程序的開(kāi)發(fā)模式成為主流?;贑OM的應(yīng)用程序能夠?qū)τ脩舻男枨笞鞒隹焖夙憫?yīng),開(kāi)發(fā)人員只需快速地從某個(gè)COM組件庫(kù)中取出所需組件,像搭積木一樣組裝到一起就可構(gòu)成所需要的應(yīng)用程序。

        UG是一款高度集成CAD/CAE/CAM功能為一體的綜合性應(yīng)用軟件平臺(tái),它提供了強(qiáng)大的二次開(kāi)發(fā)模塊,在該模塊中通過(guò)UG/Open語(yǔ)言即可滿足零件參數(shù)化設(shè)計(jì)模塊的開(kāi)發(fā)需求。花鍵軸是機(jī)械產(chǎn)品中的主要零部件之一,對(duì)機(jī)械運(yùn)動(dòng)的傳遞起著非常重要的作用,若能實(shí)現(xiàn)其快速開(kāi)發(fā),將會(huì)極大地提高零件設(shè)計(jì)效率,避免重復(fù)工作。綜上,本文結(jié)合UG/Open、VC以及COM內(nèi)容,將COM組件技術(shù)引入到UG花鍵軸參數(shù)化設(shè)計(jì)模塊的二次開(kāi)發(fā)中,期望通過(guò)采用COM組件的參數(shù)化設(shè)計(jì)方法來(lái)提高零件的設(shè)計(jì)效率,增強(qiáng)企業(yè)競(jìng)爭(zhēng)力。

        1.系統(tǒng)總體結(jié)構(gòu)

        系統(tǒng)采用三層C/S體系結(jié)構(gòu),即由客戶層、中間層和數(shù)據(jù)層構(gòu)成。其中,客戶層主要完成UG菜單、UIStyler對(duì)話框設(shè)置、用戶交互界面設(shè)置等,中間層主要實(shí)現(xiàn)花鍵軸數(shù)據(jù)庫(kù)條目信息的獲取以及花鍵軸的參數(shù)化設(shè)計(jì),數(shù)據(jù)層主要用來(lái)存儲(chǔ)花鍵軸數(shù)據(jù)信息,為中間層提供數(shù)據(jù)支持。系統(tǒng)總體結(jié)構(gòu)如圖1所示。

        2.系統(tǒng)實(shí)現(xiàn)

        (1)設(shè)置開(kāi)發(fā)環(huán)境。新建文件夾為SplineShaft,在該文件夾下創(chuàng)建startup、application、database和prt四個(gè)子文件夾。其中,startup用來(lái)存放UG菜單以及DLL文件,application用來(lái)存放對(duì)話框dlg文件,database用來(lái)存放花鍵軸數(shù)據(jù)庫(kù)文件mdb,prt用來(lái)存放花鍵軸模板文件。另外,還需注冊(cè)環(huán)境變量,如圖2所示。

        圖1 系統(tǒng)總體結(jié)構(gòu)

        圖2 注冊(cè)環(huán)境變量

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

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

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

        VERSION 120

        EDIT UG_GATEWAY_MAIN_MENUBAR

        BEFORE UG_HELP

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

        圖4 參數(shù)化表達(dá)式

        圖5 花鍵軸信息數(shù)據(jù)庫(kù)文件

        CASCADE_BUTTON COM

        LABEL 基于COM組件的花鍵軸參數(shù)化設(shè)計(jì)

        END_OF_BEFORE

        MENU COM

        BUTTON COM_PARA_DESIGN

        LABEL 石鑫花鍵軸參數(shù)化設(shè)計(jì)

        ACTIONS Client_DIA.dlg

        END_OF_MENU

        其中,ACTIONS后面為菜單要執(zhí)行的動(dòng)作,本次開(kāi)發(fā)程序所設(shè)置的主菜單名為“基于COM組件的花鍵軸參數(shù)化設(shè)計(jì)”,啟動(dòng)UG后會(huì)出現(xiàn)如圖6所示的菜單效果。

        創(chuàng)建花鍵軸參數(shù)變量UIStyler對(duì)話框時(shí),通過(guò)設(shè)置花鍵軸所需的關(guān)鍵參數(shù),最后利用回調(diào)函數(shù)實(shí)現(xiàn)參數(shù)化設(shè)計(jì),保存菜單后,會(huì)在application文件夾內(nèi)自動(dòng)生成Client_DIA.dlg.h、Client_DIA_template.c與Client_DIA.dlg三個(gè)文件,需將Client_DIA_template.c文件改為Client_DIA.cpp,以備程序設(shè)計(jì)時(shí)使用。最終獲得的花鍵軸參數(shù)對(duì)話框如圖7所示。

        圖6 UG菜單效果

        (5)COM組件的建立。創(chuàng)建COM組件時(shí),需要根據(jù)VC向?qū)е械腁TL COM AppWizard建立COM服務(wù)器框架工程,命名為ADOOper。通過(guò)工程中的“插入”選項(xiàng)選擇新建ATL對(duì)象啟動(dòng)ATL COM AppWizard加入對(duì)COM對(duì)象的支持,選擇“單個(gè)對(duì)象”,并在Short Name和Interface中分別鍵入DataOper和IDataOper,單擊確定即可創(chuàng)建一個(gè)COM對(duì)象,最后通過(guò)添加方法連接到接口IDataOper中。COM組件關(guān)鍵實(shí)現(xiàn)代碼如下:

        //連接到數(shù)據(jù)源;

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

        ......;return hr;}; //打開(kāi)數(shù)據(jù)庫(kù)記錄集

        CDataOper::OpenRecordset(VARIA NT query)

        ......;//關(guān)閉數(shù)據(jù)庫(kù)記錄集,與前者對(duì)應(yīng);

        CDataOper::CloseRecordset()

        {return m_recordset->Close();

        }……;//其他一些操作函數(shù)

        通過(guò)COM組件編譯連接,最終獲得的COM組件為ADOOper.dll,在連接時(shí),COM組件會(huì)自動(dòng)注冊(cè)安裝。

        圖7 花鍵軸參數(shù)對(duì)話框

        (6)客戶端程序的編寫(xiě)。啟動(dòng)VC++6.0,根據(jù)VC向?qū)陆üこ添?xiàng)目,命名為Client_PARA_DESIGN。在應(yīng)用程序的工作空間中刪除向?qū)ё詣?dòng)生成的Client_PARA_DESIGN.h與Client_PARA_DESIGN.cpp兩個(gè)文件,將application文件夾中的Client_DIA.h與Client_DIA.cpp文件復(fù)制到Client_PARA_DESIGN目錄下,通過(guò)工程文件添加到VC應(yīng)用程序框架中。另外,在project工程命令中選擇setting設(shè)置命令,在link選項(xiàng)卡中添加libufun.lib和libugOpenint.lib。與此同時(shí),還需在工具tools中選擇option命令,將API函數(shù)庫(kù)所在的路徑添加到directaries選項(xiàng)中。

        本應(yīng)用程序的主要功能是通過(guò)COM組件調(diào)用數(shù)據(jù)庫(kù)中的花鍵軸參數(shù),將每一記錄條的參數(shù)反饋到UIStyler對(duì)話框內(nèi),再更新生成花鍵軸模型。現(xiàn)添加各回調(diào)函數(shù)的應(yīng)用代碼,通過(guò)回調(diào)函數(shù)計(jì)算花鍵軸的各表達(dá)式值,將計(jì)算后的表達(dá)式值代替初始繪圖時(shí)表達(dá)式的值,最后調(diào)用UF_MODL_update()函數(shù)進(jìn)行更新模型,就可獲得重建后的花鍵軸模型?;卣{(diào)函數(shù)PARA_ok_cb()的程序代碼如下:

        int PARA_ok_cb ( int dialog_id,void* client_data,

        UF_STYLER_item_value_type_p_t callback_data)

        {……;//參變量設(shè)置;

        CoInitialize(NULL);

        IParaDesign* IPP = NULL;

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

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

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

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

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

        if(d1<=d2)

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

        return (UF_UI_CB_CONTINUE_DIALOG); }

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

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

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

        3.測(cè)試結(jié)果

        啟動(dòng)UG,鼠標(biāo)單擊創(chuàng)建的菜單,會(huì)出現(xiàn)系統(tǒng)主界面,獲取初始花鍵軸模型件的數(shù)據(jù)信息到對(duì)話框中,如圖8所示。單擊“花鍵軸數(shù)據(jù)信息”按鈕,系統(tǒng)會(huì)出現(xiàn)MFC編寫(xiě)的對(duì)話框,對(duì)話框內(nèi)顯示了通過(guò)COM組件獲取的花鍵軸數(shù)據(jù)庫(kù)中的信息,如圖9所示。選擇編號(hào)為2的數(shù)據(jù),單擊“確定”按鈕后,2號(hào)記錄數(shù)據(jù)條信息會(huì)依次反饋到對(duì)話框內(nèi),再單擊對(duì)話框“確定”按鈕,就可生成2號(hào)記錄數(shù)據(jù)條所對(duì)應(yīng)的花鍵軸,如圖10所示。

        4.結(jié)語(yǔ)

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

        圖9 通過(guò)COM組件獲取的花鍵軸數(shù)據(jù)庫(kù)信息

        圖10 反饋2號(hào)數(shù)據(jù)條所生成的花鍵軸

        通過(guò)本次基于COM組件技術(shù)開(kāi)發(fā)花鍵軸參數(shù)化設(shè)計(jì)模塊的研究可知,將COM組件技術(shù)引入U(xiǎn)G二次開(kāi)發(fā)中,很大程度上促進(jìn)了UG二次開(kāi)發(fā)進(jìn)程,提高了機(jī)械零件的設(shè)計(jì)效率。測(cè)試結(jié)果表明:所開(kāi)發(fā)的參數(shù)化設(shè)計(jì)模塊能夠快速生成不同參數(shù)值的花鍵軸模型,從而滿足用戶對(duì)花鍵軸的不同需求,縮短零件開(kāi)發(fā)周期,為企業(yè)贏得經(jīng)濟(jì)效益。

        猜你喜歡
        花鍵軸文件夾對(duì)話框
        磁力文件夾
        正?;謴?fù)虛擬機(jī)
        葉片式擺動(dòng)液壓馬達(dá)花鍵軸的45鋼屈服極限分析與強(qiáng)度校核
        C35鋼花鍵軸開(kāi)裂原因分析
        Bootlace Worms’Secret etc.
        花鍵軸扭轉(zhuǎn)變形及破壞分析
        調(diào)動(dòng)右鍵 解決文件夾管理三大難題
        TC一鍵直達(dá)常用文件夾
        電腦迷(2015年1期)2015-04-29 21:24:13
        快速抓取對(duì)話框中的完整信息
        電腦迷(2012年22期)2012-04-29 20:30:54
        MSC 400型拉斷機(jī)花鍵軸改造
        精品亚洲国产日韩av一二三四区| 亚洲影院丰满少妇中文字幕无码| 九九99久久精品午夜剧场免费| 亚洲福利网站在线一区不卡| 中文字幕在线亚洲三区| 免费人成视频xvideos入口| 精品欧美乱子伦一区二区三区| 亚洲国产一区二区三区视频在线| 中文字字幕在线中文乱码解| 日韩一区国产二区欧美三区| 久久99国产亚洲高清观看韩国| 久草视频华人在线观看| 午夜一区二区视频在线观看| 中文字幕日韩人妻不卡一区| 色综合久久丁香婷婷| 手机在线免费av网址| 亚洲综合精品中文字幕| 人妻丝袜无码国产一区| 精品中文字幕制服中文| a级三级三级三级在线视频| 77777_亚洲午夜久久多人| 国内精品无码一区二区三区| 狠狠色欧美亚洲综合色黑a | 国产成人无精品久久久| 日本一区二区三区清视频| 欧美大片aaaaa免费观看| 一本色综合亚洲精品蜜桃冫| 精品亚洲不卡一区二区| 激情文学婷婷六月开心久久| 狼人香蕉香蕉在线28 - 百度| 国产精品99久久久久久98AV| 日本精品av中文字幕| 亚洲人成网站色7799| 日本韩无专砖码高清| 一区二区三区四区在线观看视频| 校园春色人妻激情高清中文字幕| 国产真实老熟女无套内射| 北岛玲中文字幕人妻系列 | 在线人成视频播放午夜| 美丽的熟妇中文字幕| 欧美熟妇与小伙性欧美交|