童小利金秋春
1.鄭州航空工業(yè)管理學(xué)院機(jī)電工程學(xué)院 河南鄭州 450015 2.鄭州航空工業(yè)管理學(xué)院計(jì)算機(jī)科學(xué)與應(yīng)用學(xué)院 河南鄭州 450015
?
現(xiàn)代教育技術(shù)與裝備
機(jī)械創(chuàng)新設(shè)計(jì)虛擬實(shí)驗(yàn)平臺(tái)的建立
童小利1金秋春2
1.鄭州航空工業(yè)管理學(xué)院機(jī)電工程學(xué)院 河南鄭州 450015 2.鄭州航空工業(yè)管理學(xué)院計(jì)算機(jī)科學(xué)與應(yīng)用學(xué)院 河南鄭州 450015
摘 要:利用VC++,Pro/E及其二次開發(fā)軟件Pro/toolkit設(shè)計(jì)出“零件庫”和“機(jī)構(gòu)庫”并存的機(jī)械創(chuàng)新設(shè)計(jì)虛擬實(shí)驗(yàn)平臺(tái)。提出了一種著眼于機(jī)構(gòu)(組件)的整體結(jié)構(gòu)規(guī)劃與更新的“機(jī)構(gòu)庫”構(gòu)建方法,可直接對(duì)機(jī)構(gòu)進(jìn)行參數(shù)的修改和更新、運(yùn)動(dòng)仿真分析,使得機(jī)構(gòu)參數(shù)調(diào)整和運(yùn)動(dòng)分析變得更加簡單。此外該方法為不同尺寸同類型的系列化產(chǎn)品開發(fā)提供了借鑒。
關(guān)鍵詞:機(jī)械創(chuàng)新設(shè)計(jì);虛擬實(shí)驗(yàn)平臺(tái);Pro/E;機(jī)構(gòu)(組件)參數(shù)化
機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)是一個(gè)綜合設(shè)計(jì)性實(shí)驗(yàn)。傳統(tǒng)的機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)受設(shè)備數(shù)量和實(shí)驗(yàn)時(shí)間的影響,不可能讓每個(gè)學(xué)生的創(chuàng)新設(shè)計(jì)的實(shí)驗(yàn)方案都能得以實(shí)現(xiàn)和完成。改善實(shí)驗(yàn)條件、改革實(shí)驗(yàn)教學(xué)方法、更新實(shí)驗(yàn)教學(xué)內(nèi)容、提高實(shí)驗(yàn)教學(xué)的質(zhì)量,把數(shù)字化、虛擬實(shí)驗(yàn)引入實(shí)驗(yàn)教學(xué)已成為一種必然的趨勢(shì)[1]。虛擬仿真技術(shù)在機(jī)械工程實(shí)驗(yàn)教學(xué)中的應(yīng)用,彌補(bǔ)了儀器設(shè)備不足的問題,使學(xué)生人人都可以參與,是對(duì)傳統(tǒng)實(shí)驗(yàn)教學(xué)儀器設(shè)備的補(bǔ)充和擴(kuò)展。
劉國亮等以UGNX軟件為開發(fā)平臺(tái),利用VC++6.0面向?qū)ο蟮木幊碳夹g(shù),在UG/OpenAPI開發(fā)平臺(tái)上,建立了三維機(jī)械創(chuàng)新設(shè)計(jì)的構(gòu)件庫,實(shí)現(xiàn)參數(shù)化尺寸驅(qū)動(dòng)[2]。朱漢松等運(yùn)用Pro/E的二次開發(fā)工具Pro/toolkit建立了包含連桿、滑塊、螺栓等零件的工具箱[3]。他們?yōu)闄C(jī)械創(chuàng)新設(shè)計(jì)創(chuàng)建了一個(gè)方便快捷的虛擬仿真實(shí)驗(yàn)平臺(tái),他們的實(shí)驗(yàn)平臺(tái)只是針對(duì)單個(gè)零件進(jìn)行了參數(shù)化的設(shè)計(jì),并建立了由參數(shù)化零件組成的零件庫,在對(duì)機(jī)構(gòu)進(jìn)行運(yùn)動(dòng)參數(shù)修改時(shí)需要回到零件的層面修改零件參數(shù)。本文主要研究了不僅針對(duì)零件而且針對(duì)機(jī)構(gòu)建立了零件庫和常用機(jī)構(gòu)庫并存的虛擬實(shí)驗(yàn)平臺(tái),該虛擬實(shí)驗(yàn)平臺(tái)既可以利用“零件庫”進(jìn)行機(jī)構(gòu)的搭接,也可直接調(diào)用“機(jī)構(gòu)庫”里的機(jī)構(gòu),直接對(duì)機(jī)構(gòu)進(jìn)行運(yùn)動(dòng)參數(shù)的修改、更新以及運(yùn)動(dòng)仿真分析,使得參數(shù)調(diào)整和運(yùn)動(dòng)分析得以簡化。方便學(xué)生以機(jī)構(gòu)為單位進(jìn)行機(jī)械創(chuàng)新實(shí)驗(yàn),大大降低了實(shí)驗(yàn)的難度,節(jié)省了實(shí)驗(yàn)的時(shí)間,可使學(xué)生把注意力更多地放在機(jī)構(gòu)本身的機(jī)構(gòu)組成原理及運(yùn)動(dòng)特性分析上。
參數(shù)化設(shè)計(jì)是一種使用重要幾何參數(shù)快速構(gòu)造和修改幾何模型的造型方法,采用參數(shù)化模型通過調(diào)整參數(shù)來修改和控制幾何形狀[4]。參數(shù)化設(shè)計(jì)可以大大提高模型的生成和修改的速度,在產(chǎn)品的系列設(shè)計(jì)、相似設(shè)計(jì)及專用CAD系統(tǒng)開發(fā)方面具有較大的應(yīng)用價(jià)值。
PRO/ENGINEER具有強(qiáng)大的設(shè)計(jì)、分析、制造功能,為用戶提供了多種二次開發(fā)工具。常用的二次開發(fā)工具有:族表(Family Table)、用戶定義特征(UDF)、Pro/Program、J-link、Pro/toolkit等[5]。故采用Pro/Engineer軟件進(jìn)行零件和機(jī)構(gòu)模型的參數(shù)化的設(shè)計(jì)。
1.1零件參數(shù)化設(shè)計(jì)
零件參數(shù)化的設(shè)計(jì)首先要根據(jù)設(shè)計(jì)要求,確定所設(shè)計(jì)的零件的模型幾何結(jié)構(gòu)約束關(guān)系、驅(qū)動(dòng)尺寸以及非驅(qū)動(dòng)尺寸與驅(qū)動(dòng)尺寸之間的關(guān)系。其中關(guān)系包括用數(shù)值約束關(guān)系和結(jié)構(gòu)約束關(guān)系兩種。數(shù)值約束關(guān)系是指各參數(shù)間一定的數(shù)值關(guān)系(如等式關(guān)系d0=d1+10、不等式關(guān)系d0+d1>d2+d3或條件關(guān)系IF(d0+1)>=d1)。確定完零件的驅(qū)動(dòng)尺寸和關(guān)系后,通過“參數(shù)”創(chuàng)建驅(qū)動(dòng)參數(shù),該參數(shù)值可以修改。然后通過“關(guān)系”創(chuàng)建非驅(qū)動(dòng)尺寸的數(shù)值約束關(guān)系,最后將各驅(qū)動(dòng)和非驅(qū)動(dòng)參數(shù)同模型尺寸關(guān)聯(lián)起來。為了后面實(shí)現(xiàn)機(jī)構(gòu)參數(shù)化,建立零件參數(shù)和機(jī)構(gòu)參數(shù)之間的聯(lián)系,還需要利用“程序”即Pro/Program中的Input段進(jìn)行設(shè)置以驅(qū)動(dòng)用參數(shù)命名的變量名。按照此方法建立了零件庫中的零件,包括連桿、螺母、螺栓、直齒輪、齒條、傳動(dòng)軸、鏈輪、凸輪、滑動(dòng)桿等零件參數(shù)化建模。
下面以連桿模型創(chuàng)建為例,詳細(xì)零件參數(shù)化設(shè)計(jì)的詳細(xì)過程。
1.1.1連桿數(shù)學(xué)模型的建立
連桿數(shù)學(xué)模型的建立,主要是確定驅(qū)動(dòng)尺寸以及數(shù)值約束關(guān)系。在分析連桿模型(如圖1所示)的特點(diǎn),確定連桿有兩個(gè)驅(qū)動(dòng)尺寸:一個(gè)是孔的直徑Φd2大小,一個(gè)是孔間距d1。數(shù)值約束關(guān)系有:d3=2×d2,d0=0.5×d2。

圖1 連桿模型
1.1.2建立連桿零件驅(qū)動(dòng)參數(shù)
打開Pro/Engineer實(shí)體建模環(huán)境,新建一個(gè)名為liangan.prt的零件。在Pro/E菜單欄下,選擇【工具】-【參數(shù)】命令,在彈出的對(duì)話框中定義所創(chuàng)建特征的參數(shù)D和L(如圖2所示),其中D為孔的直徑,L為孔間距。

圖2 連桿參數(shù)的建立
1.1.3建立三維模型
按照常規(guī)建模方法—?jiǎng)?chuàng)建草圖、創(chuàng)建特征來創(chuàng)建連桿模型,所創(chuàng)建的連桿模型如圖1所示。
1.1.4建立連桿零件各尺寸、參數(shù)之間的關(guān)系
在菜單欄里選擇【工具】-【關(guān)系】命令,在彈出對(duì)話框中設(shè)置參數(shù)之間關(guān)系(如圖3所示),圖中d0,d1,d2,d3為創(chuàng)建連桿零件時(shí)系統(tǒng)自動(dòng)分配的尺寸名稱,D,L為上步定義的驅(qū)動(dòng)參數(shù)名,圖3中等式d2=D,d1=L 將圖1中的模型的驅(qū)動(dòng)尺寸d1,d2同圖2中所建立的驅(qū)動(dòng)參數(shù)D,L相聯(lián)系起來。

圖3 連桿關(guān)系的建立
1.1.5連桿Pro/Program程序的建立
在菜單欄里選擇【工具】-【程序】命令,選擇菜單管理器的“編輯設(shè)計(jì)”,打開程序,在記事本文件中的INPUT參數(shù)聲明區(qū)中定義孔中心距L為可輸入?yún)?shù),其程序如圖4所示。

圖4 連桿程序設(shè)計(jì)
1.2機(jī)構(gòu)參數(shù)化設(shè)計(jì)
Program模塊具有將Pro/Engineer軟件的模型樹(modeltree)中每個(gè)特征的詳細(xì)信息記錄下來的特點(diǎn),使用時(shí)不必也不需要重新撰寫設(shè)計(jì)步驟,只需幾個(gè)相關(guān)語法指令就可以讓整個(gè)零件或組件變得彈性化與多樣化,它使用簡單、靈活,可以方便地進(jìn)行零件的參數(shù)化設(shè)計(jì)和造型[6]。機(jī)構(gòu)的參數(shù)化設(shè)計(jì)是建立在零件參數(shù)化設(shè)計(jì)的基礎(chǔ)上的。利用上述建立好的參數(shù)化零件搭建所要設(shè)計(jì)的機(jī)構(gòu)的裝配模型,然后利用Pro/ Program編程建實(shí)現(xiàn)通過機(jī)構(gòu)裝配模型向其零件模型進(jìn)行參數(shù)傳遞,對(duì)零件的形狀和尺寸進(jìn)行控制,從而實(shí)現(xiàn)了通過機(jī)構(gòu)的參數(shù)來控制整個(gè)機(jī)構(gòu)的運(yùn)動(dòng)尺寸。
下面以一個(gè)擺動(dòng)導(dǎo)桿—雙搖桿機(jī)構(gòu)的參數(shù)化設(shè)計(jì)為例詳細(xì)介紹機(jī)構(gòu)(組件)的參數(shù)化設(shè)計(jì)過程。
1.2.1擺動(dòng)導(dǎo)桿—雙搖桿機(jī)構(gòu)分析

圖5 擺動(dòng)導(dǎo)桿-雙搖桿機(jī)構(gòu)運(yùn)動(dòng)簡圖
擺動(dòng)導(dǎo)桿—雙搖桿機(jī)構(gòu)(如圖5所示)由曲柄導(dǎo)桿機(jī)構(gòu)和雙搖桿機(jī)構(gòu)構(gòu)成,桿1、滑塊2和導(dǎo)桿3和機(jī)架6構(gòu)成曲柄導(dǎo)桿機(jī)構(gòu),導(dǎo)桿3、滑塊2以及搖桿5組成雙搖桿機(jī)構(gòu),該機(jī)構(gòu)是由曲柄導(dǎo)桿機(jī)構(gòu)和雙搖桿機(jī)構(gòu)串聯(lián)組合而成的。曲柄1為主動(dòng)件,以角速度ω1=30轉(zhuǎn)/分勻速轉(zhuǎn)動(dòng),構(gòu)件1,AC,CF、構(gòu)件4,5尺寸均可在允許范圍內(nèi)調(diào)整。測(cè)試參數(shù):擺桿5的角位移、角速度和角加速度。曲柄1可由零件庫里的齒輪構(gòu)成,滑塊2的鉸鏈拼裝在齒輪上不在回轉(zhuǎn)軸線的孔中。
1.2.2創(chuàng)建擺動(dòng)導(dǎo)桿—雙搖桿機(jī)構(gòu)
打開Pro/Engineer實(shí)體建模環(huán)境,新建一個(gè)名為baidongdaoganshuangyaogan.asm的組件。然后將第一步創(chuàng)建的參數(shù)化零件齒輪(桿1)、滑動(dòng)桿(桿3)、連桿(桿4、桿5)和銷釘?shù)妊b配到組件中,創(chuàng)建的機(jī)構(gòu)如圖6所示。

圖6 擺動(dòng)導(dǎo)桿—雙搖桿機(jī)構(gòu)模型
注意為方便參數(shù)的傳遞桿4和桿5由連桿零件liangan.prt另存為兩不同的文件名liangan4.prt,liangan5.prt。
1.2.3 導(dǎo)桿—雙搖桿機(jī)構(gòu)程序設(shè)計(jì)
機(jī)構(gòu)(即組件)參數(shù)化設(shè)計(jì)是通過Program模塊中的Execute……End Execute來實(shí)現(xiàn)的。這個(gè)語句只用于組件中,它的作用是從組件向零件傳遞參數(shù),以通過組件中的某些參數(shù)去控制構(gòu)成組件的零件的形狀或尺寸。該語句段,第一行是Execute,最后一行是End Execute,中間的每一行是一個(gè)賦值語句。
這樣,再生時(shí)給變量輸入新值,零件(part)的形狀或尺寸就可以自動(dòng)按要求變化。
因?yàn)閷?dǎo)桿—雙搖桿機(jī)構(gòu)程序設(shè)計(jì)機(jī)構(gòu)中包含的零件很多,不能將組件參數(shù)向零件參數(shù)一一列舉出來,特選組件參數(shù)向連桿4傳遞的程序的編寫,如下所示。
在導(dǎo)桿—雙搖桿機(jī)構(gòu)菜單欄里選擇【工具】-【程序】命令,選擇菜單管理器的“編輯設(shè)計(jì)”,打開程序,在INPUT……END INPUT語句中添加如下程序
INPUT
L4 NUMBER
"添加桿件4在導(dǎo)桿—雙搖桿機(jī)構(gòu)中的變量名"
END INPUT
并在Add Part liangan4 ……End Add前添加以下語句:
Execute
L=L4
End Execute
1.2.4機(jī)構(gòu)運(yùn)動(dòng)仿真
利用VC++創(chuàng)建用戶界面,通過Pro/E二次開發(fā)工具Pro/toolkit創(chuàng)建嵌套于Pro/E的“機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)”用戶菜單及其下拉菜單,并將零件或機(jī)構(gòu)參數(shù)輸入用戶界面?zhèn)鬟f到Pro/E模型中,利用Pro/toolkit進(jìn)行零件或機(jī)構(gòu)模型參數(shù)檢索和參數(shù)更新編程流程如圖7所示。先編寫了機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)的資源文件以及對(duì)話框的資源文件,后編寫了在Pro/E下注冊(cè)及運(yùn)行文件(dlgtest_PROTK.DAT)。

圖7 零件或機(jī)構(gòu)模型參數(shù)檢索和參數(shù)更新流程圖
3.1機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)平臺(tái)的注冊(cè)
點(diǎn)擊Pro/E菜單【工具】—【輔助應(yīng)用程序】,在彈出的對(duì)話框中點(diǎn)擊注冊(cè)并選擇選擇dlgtest_PROTK. DAT文件進(jìn)行注冊(cè)并運(yùn)行,則會(huì)在Pro/E菜單欄中添加一個(gè)【機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)平臺(tái)】菜單(如圖8所示)。

圖8 機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)菜單
3.2零件庫的使用
點(diǎn)擊【機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)平臺(tái)】—【零件庫】—【連桿】,則會(huì)彈出如圖9的對(duì)話框,在對(duì)話框中輸入?yún)?shù),點(diǎn)擊“更新模型”按鈕則會(huì)自動(dòng)生成連桿模型。在對(duì)話框中輸入不同參數(shù)則生成不同尺寸的連桿模型。

圖9 連桿參數(shù)輸入對(duì)話框
3.3機(jī)構(gòu)庫的使用
點(diǎn)擊菜單欄的【機(jī)械創(chuàng)新設(shè)計(jì)實(shí)驗(yàn)】—【機(jī)構(gòu)】—【擺動(dòng)導(dǎo)桿—雙搖桿機(jī)構(gòu)】,就會(huì)彈出如圖10所示的導(dǎo)桿—雙搖桿機(jī)構(gòu)參數(shù)輸入對(duì)話框,通過對(duì)話框輸入機(jī)構(gòu)參數(shù),點(diǎn)擊“更新”按鈕可生成不同尺寸的導(dǎo)桿—雙搖桿機(jī)構(gòu),同時(shí)該機(jī)構(gòu)還保留了前面對(duì)機(jī)構(gòu)進(jìn)行運(yùn)動(dòng)分析的各項(xiàng)設(shè)置,可直接在運(yùn)動(dòng)仿真模塊下對(duì)機(jī)構(gòu)執(zhí)行運(yùn)動(dòng)分析并查看測(cè)量結(jié)果。

圖10 擺動(dòng)導(dǎo)桿—雙搖桿機(jī)構(gòu)參數(shù)輸入對(duì)話框
利用Pro/E以及二次開發(fā)工具Pro/toolkit開發(fā)出了集零件庫、機(jī)構(gòu)庫以及機(jī)構(gòu)動(dòng)畫于一體的機(jī)械創(chuàng)新設(shè)計(jì)虛擬實(shí)驗(yàn)平臺(tái),為學(xué)生在自己的計(jì)算機(jī)上隨時(shí)隨地進(jìn)行創(chuàng)新設(shè)計(jì)提供了一個(gè)虛擬的實(shí)驗(yàn)平臺(tái)。特別是機(jī)構(gòu)庫著眼于整體產(chǎn)品結(jié)構(gòu)的規(guī)劃與更新,可以直接對(duì)機(jī)構(gòu)尺寸進(jìn)行修改,避免了裝配關(guān)系遭到破壞、零件再生而產(chǎn)生特征失敗等問題,而且還保留機(jī)構(gòu)的運(yùn)動(dòng)仿真的各項(xiàng)設(shè)置,可直對(duì)機(jī)構(gòu)接進(jìn)行運(yùn)動(dòng)分析并查看測(cè)量結(jié)果,省去了重新裝配和運(yùn)動(dòng)分析定義工作。此外,機(jī)構(gòu)庫的建立方法可為不同尺寸的系列化產(chǎn)品的開發(fā)提供了一個(gè)簡單方便、可視化的設(shè)計(jì)方法。
參考文獻(xiàn)
[1] 謝曉文,鄭蓓蓉.基于慧魚模型的機(jī)械產(chǎn)品數(shù)字化設(shè)計(jì)實(shí)驗(yàn)虛擬實(shí)驗(yàn)室的建設(shè)[J].實(shí)驗(yàn)室研究與探索,2012,31(3):156-181.
[2] 劉國亮,張?zhí)m,賴家美.基于UGNX的機(jī)械創(chuàng)新設(shè)計(jì)軟件平臺(tái)的建立[J].南昌工程學(xué)院學(xué)報(bào),2008,27(3):60-63.
[3] 朱漢松,何竟飛.基于PRO/E的機(jī)構(gòu)運(yùn)動(dòng)創(chuàng)新設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2006,251(3):284-286.
[4] 韓敏,孫蘇榕.基于Pro/Toolkit的紡絲頭組件的參數(shù)化設(shè)[J],機(jī)電工程技術(shù),2006,35(11):75-77.
[5] 曹云鵬.基于Pro/E二次開發(fā)技術(shù)的凸輪零件設(shè)計(jì)[D].保定:華北電力大學(xué),2006.
[6] 李世國.Pro/TOOLKIT程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2003.
收稿日期:2016-01-20
作者簡介:童小利,碩士,講師。
基金項(xiàng)目:鄭州航空工業(yè)管理學(xué)院教育科學(xué)研究基金項(xiàng)目(編號(hào):zhjy13-05)。
Building of Virtual Experiment Platform for Mechanical Innovative Design
Tong Xiaoli1, Jin Qiuchun2
1.School of Mechatronics Engineering, Zhengzhou University of Aeronautics, Zhengzhou, 450015,China 2.School of Computer Science and Application, Zhengzhou University of Aeronautics, Zhengzhou, 450015, China
Abstract:A virtual experiment platform for mechanical innovative design was built with component databases and mechanism databases by software VC++ and Pro/toolkit. A build method was proposed keeping the focus on the overall structure plan and updating of mechanism databases. The method could modify and update the parameters and could simulate directly for mechanism, so it was become simply that parameters were modifed and mechanism was simulated. Moreover, the method provided a reference for series products with Different size but with the same type.
Key words:mechanical innovative design; virtual experiment platform; Pro/E; mechanism or component parameter