張文彬, 沈精虎, 夏 凡
(青島大學(xué) 機電工程學(xué)院,青島 266071)
隨著現(xiàn)代工業(yè)技術(shù)的提高與發(fā)展,許多傳統(tǒng)的典型機構(gòu)(如凸輪機構(gòu)、連桿機構(gòu)、齒輪機構(gòu)等)被廣泛應(yīng)用于各種現(xiàn)代機械產(chǎn)品的設(shè)計中,同時也涌現(xiàn)出大量能夠在某些特殊領(lǐng)域應(yīng)用的新型機構(gòu)(如柔性機構(gòu)、仿生機構(gòu)、微型機構(gòu)等). 機構(gòu)的選型應(yīng)用與機構(gòu)創(chuàng)新設(shè)計成為機械設(shè)計領(lǐng)域研究的熱點,選擇何種機構(gòu)用以滿足產(chǎn)品的特定運動要求是機械產(chǎn)品設(shè)計過程中十分重要的一個環(huán)節(jié). 然而,就機構(gòu)設(shè)計本身而言,大部分的機構(gòu)設(shè)計(大約占設(shè)計實例中的70%)并不是憑空創(chuàng)造的,而是以現(xiàn)有的機構(gòu)為模板進行適當(dāng)?shù)男薷腫1].
目前,在教育、企業(yè)及科研領(lǐng)域,機構(gòu)手冊仍舊是進行機構(gòu)選型和設(shè)計的重要參考工具[2]. 雖然機構(gòu)手冊被廣泛的應(yīng)用,但仍存在眾多不足,例如:(1) 機構(gòu)手冊比較厚重,不易攜帶. (2) 機構(gòu)示例圖多為二維視圖,不夠直觀. (3) 缺乏機構(gòu)的動態(tài)仿真及運動學(xué)分析. (4) 新型機構(gòu)添加不便,更新成本高.
在此背景下,對三維CAD設(shè)計軟件進行二次開發(fā)在國內(nèi)外得到了廣泛研究. 例如,美國德克薩斯州大學(xué)開發(fā)設(shè)計的Shastar系統(tǒng),是一個集幾何造型、仿真、查詢及建模為一體的設(shè)計系統(tǒng); 華中科技大學(xué)國家CAD支撐軟件工程技術(shù)研究中心,以三維參數(shù)化CAD平臺為基礎(chǔ),二次開發(fā)出了一種嵌入式典型零部件設(shè)計系統(tǒng)[3]. 以上成果所開發(fā)的對象主要是零件,所實現(xiàn)的功能主要是零件的三維造型,從產(chǎn)品的整體機構(gòu)設(shè)計和仿真等綜合應(yīng)用方面涉及很少.
機構(gòu)庫是要面向用戶的,能否滿足用戶的使用需求是評定系統(tǒng)優(yōu)良的主要標(biāo)準. 所以,系統(tǒng)的設(shè)計首先要考慮用戶的需求. 通常,從以下幾個方面來考慮系統(tǒng)的功能. (1) 無論多么復(fù)雜的機械都是由若干簡單的機構(gòu)單元按特定的方式組合而成,設(shè)計人員希望能夠快速查找到能夠?qū)崿F(xiàn)特定功能的所有機構(gòu),以供選擇. (2)機構(gòu)數(shù)量繁多,根據(jù)分類方式的不同,同一機構(gòu)可能屬于不同的類別,如果沒有合理的分類管理方式,將會導(dǎo)致篩選機構(gòu)的工作量加大,存儲空間的浪費等. (3) 機構(gòu)往往是需要裝配到組件當(dāng)中的,設(shè)計人員希望從外部調(diào)取進來的機構(gòu)能夠與自己建的組件完美結(jié)合,因此,設(shè)計人員希望能夠?qū)δ骋粰C構(gòu)進行變型設(shè)計,同時修改機構(gòu)中某一零件尺寸時,仍能保持正確的裝配關(guān)系. (4) 機構(gòu)在不斷的完善,設(shè)計人員希望能夠把常用的機構(gòu)合理存儲起來,并且方便維護管理.
明確了本系統(tǒng)設(shè)計需求之后,通過綜合分析比較,選用功能強大的三維參數(shù)化設(shè)計軟件Creo作為常用機構(gòu)庫的開發(fā)平臺,以Creo本身自帶的Creo/TOOLKIT作為二次開發(fā)工具[4],借助Visual Studio 2010集成開發(fā)環(huán)境,利用MFC可視化對話框技術(shù),結(jié)合SQL Server數(shù)據(jù)庫,設(shè)計出機構(gòu)檢索模塊、仿真模塊、運動曲線分析模塊、有限元分析模塊、機構(gòu)快速設(shè)計模塊和機構(gòu)庫動態(tài)管理等模塊,最終完成的系統(tǒng)構(gòu)架和用戶主交互界面分別如圖1和圖2所示.
自頂向下(Top-Down)設(shè)計是一種從抽象到具體的漸進過程,符合產(chǎn)品的實際設(shè)計過程[5]. 它是在產(chǎn)品設(shè)計初期就根據(jù)產(chǎn)品的功能要求事先定義產(chǎn)品的架構(gòu),同時考慮到組件與組件、組件與零件、零件與零件之間的約束和定位關(guān)系,產(chǎn)品的方案設(shè)計和結(jié)構(gòu)設(shè)計完成后,再進行單個零件的詳細設(shè)計,這種設(shè)計方法符合設(shè)計人員的思維習(xí)慣[6]. 在Creo軟件平臺是通過運動骨架來實現(xiàn)自頂向下的設(shè)計,常用機構(gòu)庫里的機構(gòu)采用這種設(shè)計方法能夠為后期設(shè)計人員調(diào)用所需機構(gòu)進行快速修改提供便利.
圖1 常用機構(gòu)庫構(gòu)架圖
圖2 常用機構(gòu)庫的主交互界面
機構(gòu)數(shù)量豐富,形式多樣,如何選擇合理科學(xué)的方法對機構(gòu)進行分類,直接決定了機構(gòu)檢索的效率. 在本系統(tǒng)的設(shè)計過程中,選擇樹形拓撲結(jié)構(gòu)將機構(gòu)按類分解,逐層細化,在做到層次分明的基礎(chǔ)上,再對各機構(gòu)進行編碼. 機構(gòu)與編碼一一對應(yīng),每組編碼數(shù)字都包含著機構(gòu)的類型、功能等信息. 例如,按機構(gòu)運動形態(tài)分類(編碼為01),其下層圓周運動(編碼為0101),直線運動(編碼為0102),具體編碼規(guī)則按圖3所示,通過編碼,用數(shù)字化的方法進行機構(gòu)信息處理,大大提高了機構(gòu)信息整理和存儲的效率. 本系統(tǒng)是通過借助SQL Server數(shù)據(jù)庫平臺,創(chuàng)建機構(gòu)的信息列表,用以完成機構(gòu)分類信息和特征信息的存儲和管理.
圖3 機構(gòu)分類編碼方式
機構(gòu)特征提取的基本方法思路是:首先,利用庫函數(shù)ProSolidFeatVisit( )實現(xiàn)機構(gòu)的特征提取,再利用庫函數(shù)ProElemtreeElementVisit( )實現(xiàn)機構(gòu)特征元素樹的訪問,并通過過濾函數(shù)實現(xiàn)待修改屬性信息的提取;其次,建立用戶自定義數(shù)據(jù)結(jié)構(gòu),將提取的屬性信息存入數(shù)據(jù)結(jié)構(gòu); 最后,從用戶自定義數(shù)據(jù)結(jié)構(gòu)中讀取數(shù)據(jù),用于模型重構(gòu). 圖4為特征提取方法示意圖. 具體的代碼編寫可以根據(jù)這種方法思路寫出.
常用機構(gòu)庫里的機構(gòu)信息大部分儲存在數(shù)據(jù)庫中,若要實現(xiàn)這些信息的調(diào)用,離不開系統(tǒng)應(yīng)用程序?qū)?shù)據(jù)庫的訪問,而數(shù)據(jù)庫訪問接口則是連通系統(tǒng)應(yīng)用程序訪問數(shù)據(jù)庫的關(guān)鍵技術(shù). 本系統(tǒng)采用目前主流的數(shù)據(jù)庫訪問接口ADO(ActiveX Data Object)技術(shù). ADO是Microsoft提出的應(yīng)用程序接口(API)用以實現(xiàn)訪問關(guān)系或非關(guān)系數(shù)據(jù)庫中的數(shù)據(jù). ADO中最重要的對象有3 個,分別為 Connection、Command 和 Recordset[7]. 這里僅介紹打開SQL Server數(shù)據(jù)庫集并讀取數(shù)據(jù)的方法,調(diào)用Recordset對象的Open方法,需要定義RecordsetPtr型變量,然后才能打開一個數(shù)據(jù)集. 如:m_pRecordset=m_pConnection→Execute(“select * from T_Class where Parent is null”,0,adCmdText); 它的第一個參數(shù)可以是一個表的名字、一個SQL語句或者一個命令對象等,第二個參數(shù)就是之前建立的連接對象的指針.
以封閉行星輪系圓柱齒輪凸輪機構(gòu)的設(shè)計為例,在常用機構(gòu)庫的主交互界面中可以通過3種檢索方式檢索到此機構(gòu),分別為目錄查詢、分類索引和模糊查詢,找到機構(gòu)后,可以觀察機構(gòu)的三維模型,同時可以結(jié)合運動簡圖和特性介紹初步了解機構(gòu),然后通過“運動仿真”觀看機構(gòu)運動情況,通過“運動曲線”查看機構(gòu)各零部件的運動學(xué)特性,如果機構(gòu)能達到工況要求,需要進一步設(shè)計該機構(gòu),按“加載機構(gòu)”按鈕,將所選用的機構(gòu)加載到Creo環(huán)境中,此時“設(shè)計機構(gòu)”按鈕可用,點擊此按鈕,彈出機構(gòu)設(shè)計交互界面,由于機構(gòu)庫中的所有機構(gòu)是通過自頂向下設(shè)計完成,零件之間存在數(shù)據(jù)關(guān)聯(lián)和裝配關(guān)系,因此在機構(gòu)設(shè)計初期已經(jīng)對關(guān)鍵尺寸做好標(biāo)識,形式為“key_名稱”,機構(gòu)快速設(shè)計時對這些關(guān)鍵尺寸進行修改即可. 圖5為封閉行星輪系圓柱齒輪凸輪機構(gòu)的齒條設(shè)計.
常用機構(gòu)庫的設(shè)計開發(fā)是根據(jù)機構(gòu)設(shè)計相關(guān)理論和用戶需求角度展開的,同時依托用戶數(shù)量龐大的三維設(shè)計平臺,保證了本系統(tǒng)應(yīng)用的廣泛性和實用性. 由于機構(gòu)庫里的機構(gòu)全部采用自頂向下的設(shè)計方法設(shè)計完成,設(shè)計人員在進行機構(gòu)修改設(shè)計時,會大大提高機構(gòu)的設(shè)計效率,縮短新產(chǎn)品的開發(fā)周期,為企業(yè)新產(chǎn)品搶占市場贏得時間; 其次,常用機構(gòu)庫的開發(fā)彌補了機構(gòu)手冊的不足,實現(xiàn)了機構(gòu)的快速檢索,動態(tài)仿真,動態(tài)管理等功能,方便設(shè)計人員快速找到符合工況需求的機構(gòu). 需要注意的是,用戶如果自行向機構(gòu)庫中添加新機構(gòu),一定要按本系統(tǒng)的入庫規(guī)則進行,如機構(gòu)的命名,機構(gòu)的分類編碼,機構(gòu)的關(guān)鍵尺寸確定等,新用戶使用本系統(tǒng)可參照常用機構(gòu)庫的“幫助”模塊,由于篇幅所限,常用機構(gòu)庫的其它模塊不再詳細介紹與具體展示.
圖4 特征提取方法示意圖
圖5 齒條尺寸信息修改與模型變更前后對比
1 徐新勝,李丹,嚴天宏,等. 面向柔性客戶需求的產(chǎn)品變型設(shè)計方法. 計算機輔助設(shè)計與圖形學(xué)學(xué)報,2012,24(3):394-399.
2 許愛芬,賈巨民,溫秉權(quán),等. 多行星排齒輪變速機構(gòu)構(gòu)型及效率研究. 機械傳動,2014,38(12):158-160.
3 胡曉穎. 基于Pro/Engineer的三維零件庫管理系統(tǒng)設(shè)計與實現(xiàn)[碩士學(xué)位論文]. 濟南:山東大學(xué),2014.
4 趙靜. 面向產(chǎn)品造型的人機交互系統(tǒng)開發(fā). 食品與機械,2016,32(9):80-83.
5 梁飛,沈精虎,孫凱. 基于Pro/E自頂向下的貼膠機設(shè)計. 機械科學(xué)與技術(shù),2015,34(8):1263-1266.
6 呂國林,褚學(xué)寧,儲德新,等. 自頂向下設(shè)計的多骨架建模方法. 計算機輔助設(shè)計與圖形學(xué)學(xué)報,2015,27(3):548-558.
7 Anonymous. How do multivalue venders tackle the ‘big data’challenge? Database Trends & Applications,2011,25(1):24-27.