28基于UG二次開(kāi)發(fā)技術(shù)的麻花鉆、擴(kuò)孔鉆、鉸刀設(shè)計(jì)系統(tǒng)研究
28基于UG二次開(kāi)發(fā)技術(shù)的麻花鉆、擴(kuò)孔鉆、鉸刀設(shè)計(jì)系統(tǒng)研究,28,基于,ug,二次開(kāi)發(fā),技術(shù),麻花,擴(kuò)孔,鉸刀,設(shè)計(jì),系統(tǒng),研究,鉆研
,,,,,,基于UG二次開(kāi)發(fā)技術(shù)的麻花鉆、擴(kuò)孔鉆、鉸刀參數(shù)化設(shè)計(jì)系統(tǒng)研究,指導(dǎo)老師:張高峰
2010年6月,畢業(yè)論文答辯,,,,,,,,,,,,,致謝,各位老師早上好,非常感謝各位老師在百忙之中幫我答辯,最為大學(xué)生活最后的一次,,第一、由于長(zhǎng)期以來(lái), 麻花鉆、擴(kuò)孔鉆、鉸刀大多是靠工程師的經(jīng)驗(yàn)來(lái)進(jìn)行設(shè)計(jì),在設(shè)計(jì)過(guò)程中,難免會(huì)出現(xiàn)重復(fù)性的工作,從而降低了設(shè)計(jì)效率。同時(shí)通常的設(shè)計(jì)都是在二維圖紙上進(jìn)行設(shè)計(jì),不能得到可視化的麻花鉆、擴(kuò)孔鉆、鉸刀三維造型,這就阻礙了麻花鉆、擴(kuò)孔鉆、鉸刀的數(shù)控刃磨加工及利用一些分析軟件對(duì)他們的鉆削過(guò)程進(jìn)行分析 。,,,,,,,,,,,,,,,,,課題的提出,第二、在UG中利用參數(shù)表達(dá)式繪制實(shí)體模型,實(shí)現(xiàn)他們?cè)赨G的參數(shù)化設(shè)計(jì)。從而實(shí)現(xiàn)產(chǎn)品的快速設(shè)計(jì)。因此,現(xiàn)代麻花鉆、擴(kuò)孔鉆、鉸刀的設(shè)計(jì)建模技術(shù)有著廣泛的工程應(yīng)用背景和研究意義,本課題就是基于以上幾點(diǎn)而得出的!,,,,,,,,,,,,,,,,,,,課題構(gòu)思,課題是要解決“麻花鉆、擴(kuò)孔鉆、鉸刀的參數(shù)化設(shè)計(jì)”問(wèn)題,故而必須抓住以下幾點(diǎn):,(1)參數(shù)化:就是建立一個(gè)標(biāo)準(zhǔn)麻花鉆、擴(kuò)孔鉆、鉸刀模板文件,此文件在設(shè)計(jì)中作為參照根據(jù)尺寸生成所需的麻花鉆。,(4)設(shè)計(jì):建立在“參數(shù)化”和菜單的基礎(chǔ)之上,輸入設(shè)計(jì)參數(shù)(即“自變量”)生成所需要的產(chǎn)品。,(3) 在構(gòu)建麻花鉆、擴(kuò)孔鉆、鉸刀模塊框架的基礎(chǔ)上,深入研究菜單的制作技術(shù)以確定
本課題應(yīng)采用的最佳菜單制作技術(shù)。,(2)深入掌握UG二次開(kāi)發(fā)的各種方法,并熟練運(yùn)用UG/OPEN 開(kāi)發(fā)工具,在建立麻花鉆、擴(kuò)孔鉆、鉸刀的
數(shù)學(xué)模型的基礎(chǔ)上,對(duì)各他們實(shí)現(xiàn)三維參數(shù)化造型;,,,,,,,,,,,,,,,,,,,UG在此課題中的應(yīng)用,我們用UG來(lái)解決上述的兩大問(wèn)題:,(Ⅰ)、 UG的建模功能非常強(qiáng)大,可以先建立表達(dá)式,然后 建立麻花鉆、擴(kuò)孔鉆、鉸刀的三維模型,在建模中每個(gè)尺寸都與表達(dá)式中的一個(gè)或是多個(gè)參數(shù)相關(guān)聯(lián),這樣建立起來(lái)的模型是可以“參數(shù)化”驅(qū)動(dòng)的。,(Ⅱ)、UG/Open是一個(gè)二次開(kāi)發(fā)工具集,它幾乎能實(shí)現(xiàn)UG系統(tǒng)的所有功能。有強(qiáng)大的用戶界面功能(如MenuScript、UIStyle),可以供用戶編制同UG本身同風(fēng)格的對(duì)話框,借助此功能可以在對(duì)話框里輸入設(shè)計(jì)參數(shù),生成麻花鉆、擴(kuò)孔鉆、鉸刀產(chǎn)品。實(shí)現(xiàn) “參數(shù)化設(shè)計(jì)”。,,,,,,,,,,,,,,,,,設(shè)計(jì)框架,參數(shù)化建模,三維建模,可響應(yīng)的用戶界面,用戶界面,程序(設(shè)置),+,+,基于UG的麻花鉆、擴(kuò)孔鉆、鉸刀
參數(shù)化設(shè)計(jì),,,,,,分析麻花鉆,并確定麻花鉆、擴(kuò)孔鉆、鉸刀的自變量及各尺寸的函數(shù)關(guān)系,,,,,,,,,,,,,,,,,,,UG二次開(kāi)發(fā)方法的選擇,1、UG/Open GRIP
GRIP編程語(yǔ)言是面向工程師的語(yǔ)言,具有簡(jiǎn)單、易學(xué)、易用的特點(diǎn),但是所編寫(xiě)的程序長(zhǎng)、復(fù)雜。要考慮程序的各個(gè)細(xì)節(jié)問(wèn)題。因此,GRIP語(yǔ)言常用于開(kāi)發(fā)一些規(guī)模比較小的程序,2、UG/Open API
API語(yǔ)言借助C++來(lái)編寫(xiě)程序,借助C++強(qiáng)大的編程功能,編寫(xiě)API程序比GRIP更加靈活、更加的簡(jiǎn)單使用,還能滿足更多的編程要求。,3、基于三維模型的參數(shù)化程序設(shè)計(jì)
建好模型后,編寫(xiě)菜單和對(duì)話框,然后在C++上用API語(yǔ)言進(jìn)行編程,程序應(yīng)把對(duì)話框和模型聯(lián)系起來(lái),將對(duì)話框中輸入的值傳遞到模型的表達(dá)式中,并更新程序。,4、比較上述三個(gè)方案
由于之前沒(méi)有接觸過(guò)有關(guān)二次開(kāi)發(fā)的知識(shí),在短時(shí)間內(nèi)無(wú)法深入學(xué)習(xí)GRIP和API的知識(shí),前兩種方案很難實(shí)現(xiàn)。第三種方案最為簡(jiǎn)單,也最有可能在規(guī)定時(shí)間內(nèi)完成設(shè)計(jì)任務(wù),達(dá)到設(shè)計(jì)目的。綜合比較這三種方案,最終選擇第三種方案作為本次設(shè)計(jì)方案。,,,,,,,,,,,,,,,,,用戶界面,※菜單(MenuScript):
創(chuàng)建.men的菜單文件。在UG界面中自動(dòng)加載后得到如下效果:,定制工具欄:創(chuàng)建.tbr文件。在UG中加載后生成上圖所示的工具欄。,※對(duì)話框(UIStyle):在UG中進(jìn)入用戶界面編輯器即可添加控件、編輯屬性、設(shè)置回調(diào)函數(shù)等操作。通過(guò)相應(yīng)操作可生成與UG風(fēng)格相同的對(duì)話框。,,,,,,,,,,,,,,,,,,,右圖為麻花鉆的對(duì)話框:,保存話框的時(shí)同時(shí)生成三個(gè)文件:
design_drill.dlg
design_drill.h
design_drill_template.c
第一個(gè)為對(duì)話框文件,后兩個(gè)是與對(duì)話框相關(guān)聯(lián)的文件。后兩個(gè)文件在后面的編程中將會(huì)用到。,,,,,,,,,,,,,,,,,C++編程主要用到的程序,構(gòu)造函數(shù)主要程序:
data.item_attr=UF_STYLER_VALUE; //指定獲取控件的值
data.item_id= SHIXIN_PIDAILUN _REAL_0 //控件標(biāo)識(shí)
UF_MODL_eval_exp("z",&data.value.real) //根據(jù)表達(dá)式名稱計(jì)算表達(dá)式的數(shù)值
UF_STYLER_set_value(dialog_id,&data); //給對(duì)話框中的相應(yīng)控件賦值
應(yīng)用和確定主要程序:
data.item_attr=UF_STYLER_VALUE; //指定獲取控件的值
data.item_id= SHIXIN_PIDAILUN _REAL_Z; //控件標(biāo)識(shí),可從對(duì)話框頭文件中獲得
UF_STYLER_ask_value(dialog_id,&data); //查詢對(duì)話框控件中的值
sprintf(temp,"%.5f",dim_value); //獲取控件中數(shù)值
UF_MODL_edit_exp(exp); //修改表達(dá)式
UF_MODL_update(); //更新模型:,,,,,,,,,,,,,,,,,“應(yīng)用”按鈕的程序,(1)、“應(yīng)用”按鈕的響應(yīng)行為:在對(duì)話框中輸入設(shè)計(jì)參數(shù),點(diǎn)擊應(yīng)用按鈕時(shí),麻花鉆模型會(huì)更新成設(shè)計(jì)所需的產(chǎn)品。,例如:輸入麻花鉆手柄的長(zhǎng)度h,則點(diǎn)擊應(yīng)用后部件就會(huì)更新成手柄長(zhǎng)度為h的麻花鉆。,,(2)、程序: double h;
data[0].item_attr=UF_STYLER_VALUE;
data[0].item_id=DESIGN_DRILL_REAL_1;
UF_STYLER_ask_value(dialog_id,&data[0]);
h=data[0].value.real;
sprintf(exps_string[10],“h=%f",h);
UF_MODL_edit_exp(exps_string[10]);
UF_MODL_update();
uc1601("模型已更新,請(qǐng)將文件另存",1);,,,,,,,,,,,,,,,,,,UG運(yùn)行的環(huán)境設(shè)置,到現(xiàn)在為止基本任務(wù)已經(jīng)完成,但要想U(xiǎn)G能正確實(shí)現(xiàn)所要求達(dá)到的功能還必須進(jìn)行一些設(shè)置。以使得用戶自定義的功能能被加載。,設(shè)置的方法不止一種,這里選取一種較為簡(jiǎn)單的方式:
打開(kāi)UG安裝目錄UGⅡ_BASE_DIR\ UGⅡ\menus下的custom_dirs.dat,在文件最后添加開(kāi)發(fā)的文件夾的絕對(duì)路徑如:F:\ugopen。在F:\ugopen文件夾下建立startup和application兩個(gè)子目錄。分別用來(lái)放置開(kāi)發(fā)的各種文本文件(.men文件)、動(dòng)態(tài)庫(kù)文件和對(duì)話框文件。,,,,,,,,,,,,,,,,,總 結(jié),麻花鉆的參數(shù)化造型只是CAD/CAE/CAM一體化工程的開(kāi)始,后續(xù)工作還有很多,諸如:麻花鉆的角度測(cè)量、加工仿真等,從而真正實(shí)現(xiàn)麻花鉆CAD/CAE/CAM一體化。,本次設(shè)計(jì)實(shí)現(xiàn)了麻花鉆的參數(shù)化設(shè)計(jì),達(dá)到了設(shè)計(jì)目標(biāo)。但是還有諸多不完善的地方需要改進(jìn)。,經(jīng)過(guò)三個(gè)多月的忙碌和學(xué)習(xí),本次畢業(yè)設(shè)計(jì)已經(jīng)到了尾聲。本次課題是基于UG的二次開(kāi)發(fā),對(duì)UG 的各項(xiàng)操作要求比較高。作為只有一點(diǎn)點(diǎn)UG基礎(chǔ)知識(shí)的我來(lái)說(shuō),如果沒(méi)有指導(dǎo)教師的的督促指導(dǎo),想要完成這個(gè)設(shè)計(jì)是難以想象的。在這里首先要感謝我的指導(dǎo)老師張高峰老師。老師平日里工作繁忙,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從開(kāi)始選題到查閱資料,與及在設(shè)計(jì)計(jì)劃中的各個(gè)環(huán)節(jié)都給予了我悉心的指導(dǎo)。 還要感謝張高峰老師精心給我選擇的這個(gè)題目,它不僅是非常重要的畢業(yè)設(shè)計(jì),也為即將參加工作的我提供了很多幫助,我想不久的工作一定會(huì)用到這些技術(shù)。這次畢業(yè)設(shè)計(jì)為我的工作打下一些堅(jiān)固的基礎(chǔ),再次謝謝各位評(píng)委老師在百忙之中幫我答辯,謝謝,☆☆Thank you! ☆☆,
收藏