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