(青島大學(xué) 機(jī)電工程學(xué)院,青島 266071)
在市場經(jīng)濟(jì)快速發(fā)展的大環(huán)境下,企業(yè)要想搶占一席之地,必須對市場做出快速的響應(yīng),想要快速高效的設(shè)計(jì)三維產(chǎn)品更離不開CAD/CAM的支持[1],特別是三維設(shè)計(jì)軟件Creo的普及應(yīng)用,但是越來越多的企業(yè)不再滿足于簡單的使用CAD軟件,從而提出二次開發(fā)的需求,使軟件更具實(shí)效性,達(dá)到提高企業(yè)產(chǎn)品設(shè)計(jì)效率,縮短設(shè)計(jì)周期的目的[2]。Creo/TOOLKIT是Creo軟件自帶的二次開發(fā)工具,能夠很好的完成對Creo軟件功能的進(jìn)一步拓展,滿足廣大用戶對軟件高層次的需求。
組件是零件按照一定的規(guī)則裝配組合而成,設(shè)計(jì)方法有自頂向下設(shè)計(jì)和自底向上設(shè)計(jì)兩種[3]。本文以凸輪連桿機(jī)構(gòu)組件為例,分別采用自頂向下和自底向上的設(shè)計(jì)方法建模,然后用本文開發(fā)的系統(tǒng)對用這兩種設(shè)計(jì)方法設(shè)計(jì)的實(shí)例組件模型進(jìn)行快速變型設(shè)計(jì),驗(yàn)證本系統(tǒng)對組件產(chǎn)品的通用性和變型設(shè)計(jì)的快速性。
自頂向下(Top-Down)設(shè)計(jì)方法提供了一種從概念設(shè)計(jì)到具體零部件設(shè)計(jì)的設(shè)計(jì)理念,它以組件的總體布局作為設(shè)計(jì)的出發(fā)點(diǎn),然后逐步細(xì)化,從整體結(jié)構(gòu)設(shè)計(jì)再到底層零件的設(shè)計(jì),實(shí)現(xiàn)了一種由上而下的設(shè)計(jì)過程[4]。在Creo軟件中是以骨架模型的方式來實(shí)現(xiàn)該設(shè)計(jì)方法,該設(shè)計(jì)方法有以下優(yōu)勢[5]:1)符合產(chǎn)品的設(shè)計(jì)思路和設(shè)計(jì)步驟;2)零部件具有整體性和關(guān)聯(lián)性,便于修改和調(diào)整設(shè)計(jì)意圖;3)設(shè)計(jì)信息的管理可以集中化,便于實(shí)現(xiàn)并行設(shè)計(jì)。
自底向上(Bottom-Up)設(shè)計(jì)方法提供了一種從零件到組件的裝配思想,它通過零件的分別建模,再到零件的組合裝配,來實(shí)現(xiàn)整體組件的裝配過程[6]。用自底向上設(shè)計(jì)的組件,零部件之間沒有數(shù)據(jù)聯(lián)系,只存在裝配關(guān)系,修改某一零件的參數(shù),不會(huì)引起其余零部件結(jié)構(gòu)的變化,所以一般適用于無關(guān)聯(lián)組件的裝配。由于該設(shè)計(jì)方法簡單易學(xué),對不復(fù)雜的組件實(shí)用性強(qiáng),同樣受到廣大用戶的青睞。
本文選用的開發(fā)平臺(tái)是三維設(shè)計(jì)軟件Creo,以Creo自身帶有的Creo/TOOLKIT為二次開發(fā)工具,在Visual Studio 2010集成開發(fā)環(huán)境下,利用MFC技術(shù),完成對Creo軟件功能的二次開發(fā),實(shí)現(xiàn)用戶對軟件本身更高層次需求的目的。系統(tǒng)架構(gòu)如圖1所示。
Visual Studio 2010集成開發(fā)環(huán)境支持C、C++以及C++/CLI等編程語言,集編輯、編譯、連接、調(diào)試等功能于一體,并為用戶提供了多種實(shí)用工具,方便的實(shí)現(xiàn)了對應(yīng)用程序的編寫、跟蹤和管理,從而降低了開發(fā)難度和開發(fā)工作量[7]。
圖1 組件快速變型設(shè)計(jì)系統(tǒng)構(gòu)架圖
Creo/TOOLKIT應(yīng)用程序的開發(fā)大致包含確定運(yùn)行模式、配置開發(fā)環(huán)境和項(xiàng)目屬性、編寫源文件、編譯鏈接生成DLL文件、編寫注冊信息、注冊運(yùn)行等環(huán)節(jié)。其中一些環(huán)節(jié)可以靈活調(diào)整,根據(jù)自己的需要自行安排順序,例如編寫菜單資源、編寫注冊信息可以放在開發(fā)過程中的任意環(huán)節(jié)。
在Creo軟件平臺(tái)下,想要實(shí)現(xiàn)組件模型快速變型設(shè)計(jì)系統(tǒng)的開發(fā),菜單的設(shè)計(jì)是尤其重要的一步,菜單是實(shí)現(xiàn)Creo平臺(tái)與所開發(fā)系統(tǒng)交互的重要途徑。因此,必須在Creo主菜單中添加菜單項(xiàng)和菜單按鈕動(dòng)作函數(shù)。在本系統(tǒng)中,采用記事本編寫菜單資源文件Message.txt;使用Creo/TOOLKIT的函數(shù)編寫源程序,給菜單按鈕設(shè)計(jì)功能函數(shù)。信息文件中的部分內(nèi)容和菜單最終達(dá)到的效果如圖2所示。
對組件模型的所有尺寸、關(guān)鍵參數(shù)和關(guān)系式進(jìn)行檢索、提取以及對它們的設(shè)置(修改、添加和刪除)等相關(guān)操作是整個(gè)開發(fā)系統(tǒng)中的核心部分。比如要實(shí)現(xiàn)組件模型尺寸變更的前提首先要完成對組件模型特征信息的提取,Creo/TOOLKIT利用關(guān)鍵函數(shù)ProSolidFeatVisit( )來實(shí)現(xiàn)上述功能,該函數(shù)的原型如下:
完成組件模型特征的提取,就可以確定尺寸信息,通過修改相關(guān)參數(shù)來實(shí)現(xiàn)組件模型的快速變型設(shè)計(jì)。本系統(tǒng)針對組件模型開發(fā)了三種變型設(shè)計(jì)方法,包括尺寸操作,參數(shù)操作和關(guān)系式操作。具體操作設(shè)計(jì)原理如圖3所示。
圖2 菜單信息文件及菜單效果
圖3 組件模型的尺寸操作、參數(shù)操作和關(guān)系式操作過程
由于自底向上的設(shè)計(jì)方法適用于比較簡單的組件,一般不涉及尺寸的參數(shù)化設(shè)計(jì),因此只用本系統(tǒng)主交互界面中的尺寸操作就可快速完成此類組件的變型設(shè)計(jì)。首先采用自底向上的設(shè)計(jì)方法對實(shí)例凸輪連桿機(jī)構(gòu)組件進(jìn)行設(shè)計(jì)。圖4是對自底向上設(shè)計(jì)的凸輪連桿機(jī)構(gòu)組件進(jìn)行快速變型設(shè)計(jì)的部分展示。其中在尺寸操作欄“編輯”按鈕的作用是方便用戶對組件模型中的關(guān)鍵尺寸進(jìn)行標(biāo)記,修改完成后按“修改”按鈕就可將修改后的信息傳到組件模型中,以后重新打開組件模型時(shí),標(biāo)記過的關(guān)鍵尺寸信息不會(huì)消失,下次可以直接對這些關(guān)鍵尺寸的數(shù)值進(jìn)行修改;顯示尺寸時(shí)可選擇數(shù)值顯示和名稱顯示兩種,使修改組件時(shí)更加方便直觀。當(dāng)對組件模型的尺寸操作完成后,按“再生模型”按鈕就可完成模型的重新生成。
在Creo平臺(tái)下采用自頂向下設(shè)計(jì)的組件是通過骨架模型實(shí)現(xiàn)的,并且通常涉及到組件的參數(shù)化設(shè)計(jì),因此,快速變型設(shè)計(jì)系統(tǒng)中的尺寸操作已經(jīng)不能滿足用戶的需求,此時(shí)需要用戶打開本系統(tǒng)主交互界面中的“參數(shù)操作”按鈕,彈出參數(shù)操作對話框,此對話框功能是對組件模型中的參數(shù)進(jìn)行提取,然后對提取的參數(shù)進(jìn)行相關(guān)操作。本實(shí)例的凸輪連桿機(jī)構(gòu)組件另一種建模方法就是采用自頂向下的設(shè)計(jì)方法,運(yùn)動(dòng)骨架模型如圖5所示,運(yùn)動(dòng)骨架運(yùn)行無誤后,將凸輪連桿機(jī)構(gòu)的構(gòu)件附加到骨架模型上,完成組件的建模。圖6是參數(shù)操作對話框?qū):蟮耐馆嗊B桿機(jī)構(gòu)組件操作的部分功能展示。
圖5 凸輪連桿機(jī)構(gòu)運(yùn)動(dòng)骨架
圖6 連桿參數(shù)信息修改與模型變更前后對比
對于參數(shù)操作對話框中的其他功能,比如新參數(shù)的添加和已有參數(shù)的刪除等功能不再一一介紹,同理,系統(tǒng)主交互界面中的“關(guān)系式操作”功能,顧名思義,就是把組件模型中的關(guān)系式提取出來,然后對提取出來的關(guān)系式進(jìn)行相關(guān)操作,比如關(guān)系式的修改,新關(guān)系式的添加等,這里也不再介紹。總之,所有的操作按鈕目的只有一個(gè),就是方便用戶對組件模型進(jìn)行快速的變型設(shè)計(jì),縮短開發(fā)人員對新產(chǎn)品的開發(fā)周期,快速實(shí)現(xiàn)產(chǎn)品的系列化。
文章利用Creo軟件自帶的Creo/TOOLKIT二次開發(fā)工具,結(jié)合Visual Studio 2010集成開發(fā)環(huán)境,完成了組
【】【】件快速變型設(shè)計(jì)系統(tǒng)的開發(fā)。該系統(tǒng)能夠?qū)崿F(xiàn)組件產(chǎn)品的快速變型設(shè)計(jì)實(shí)現(xiàn)產(chǎn)品的系列化。通過工程應(yīng)用實(shí)例,驗(yàn)證了該系統(tǒng)對組件產(chǎn)品的通用性,滿足了企業(yè)用戶對軟件更高層次的需求,進(jìn)一步拓展了Creo軟件功能,提高了對組件產(chǎn)品的變型設(shè)計(jì)效率。本文對研究基于Creo平臺(tái)有關(guān)組件產(chǎn)品方面的二次開發(fā)有一定的借鑒意義。
[1]徐新勝,李丹,嚴(yán)天宏,等.面向柔性客戶需求的產(chǎn)品變型設(shè)計(jì)方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2012,24(3):394-399.
[2]鄒炳輝.應(yīng)用PTC Creo自頂向下方法進(jìn)行變壓器的設(shè)計(jì)[J].機(jī)電工程技術(shù),2015,(8):149-152.
[3]李健.產(chǎn)品設(shè)計(jì)的BOTTOM-UP和TOP-DOWN設(shè)計(jì)方法研究[J].機(jī)械工程師,2013,(12):47-48.
[4]劉釗,付亮,何玉玲.Pro/E自頂向下方法在復(fù)雜機(jī)械設(shè)計(jì)中的應(yīng)用[J].機(jī)械設(shè)計(jì)與研究,2011,05:18-20,24.
[5]李祥松.基于Pro/E的掘進(jìn)機(jī)整機(jī)Top-down設(shè)計(jì)[J].煤礦機(jī)械,2015,36(4):261-262.
[6]李超,沈精虎,佟河亭.基于組件模型的常用機(jī)構(gòu)庫研究與開發(fā)[J].機(jī)械科學(xué)與技術(shù),2011,07:1124-1127.
[7]吳衛(wèi)東,廖文和.基于裝配級關(guān)聯(lián)的產(chǎn)品裝配模型整體參數(shù)化設(shè)計(jì)方法研究及應(yīng)用[J].現(xiàn)代制造工程,2013,08:72-75,138.