張文彬, 沈精虎, 夏 凡
(青島大學 機電工程學院,青島 266071)
隨著現代工業技術的提高與發展,許多傳統的典型機構(如凸輪機構、連桿機構、齒輪機構等)被廣泛應用于各種現代機械產品的設計中,同時也涌現出大量能夠在某些特殊領域應用的新型機構(如柔性機構、仿生機構、微型機構等). 機構的選型應用與機構創新設計成為機械設計領域研究的熱點,選擇何種機構用以滿足產品的特定運動要求是機械產品設計過程中十分重要的一個環節. 然而,就機構設計本身而言,大部分的機構設計(大約占設計實例中的70%)并不是憑空創造的,而是以現有的機構為模板進行適當的修改[1].
目前,在教育、企業及科研領域,機構手冊仍舊是進行機構選型和設計的重要參考工具[2]. 雖然機構手冊被廣泛的應用,但仍存在眾多不足,例如:(1) 機構手冊比較厚重,不易攜帶. (2) 機構示例圖多為二維視圖,不夠直觀. (3) 缺乏機構的動態仿真及運動學分析. (4) 新型機構添加不便,更新成本高.
在此背景下,對三維CAD設計軟件進行二次開發在國內外得到了廣泛研究. 例如,美國德克薩斯州大學開發設計的Shastar系統,是一個集幾何造型、仿真、查詢及建模為一體的設計系統; 華中科技大學國家CAD支撐軟件工程技術研究中心,以三維參數化CAD平臺為基礎,二次開發出了一種嵌入式典型零部件設計系統[3]. 以上成果所開發的對象主要是零件,所實現的功能主要是零件的三維造型,從產品的整體機構設計和仿真等綜合應用方面涉及很少.
機構庫是要面向用戶的,能否滿足用戶的使用需求是評定系統優良的主要標準. 所以,系統的設計首先要考慮用戶的需求. 通常,從以下幾個方面來考慮系統的功能. (1) 無論多么復雜的機械都是由若干簡單的機構單元按特定的方式組合而成,設計人員希望能夠快速查找到能夠實現特定功能的所有機構,以供選擇. (2)機構數量繁多,根據分類方式的不同,同一機構可能屬于不同的類別,如果沒有合理的分類管理方式,將會導致篩選機構的工作量加大,存儲空間的浪費等. (3) 機構往往是需要裝配到組件當中的,設計人員希望從外部調取進來的機構能夠與自己建的組件完美結合,因此,設計人員希望能夠對某一機構進行變型設計,同時修改機構中某一零件尺寸時,仍能保持正確的裝配關系. (4) 機構在不斷的完善,設計人員希望能夠把常用的機構合理存儲起來,并且方便維護管理.
明確了本系統設計需求之后,通過綜合分析比較,選用功能強大的三維參數化設計軟件Creo作為常用機構庫的開發平臺,以Creo本身自帶的Creo/TOOLKIT作為二次開發工具[4],借助Visual Studio 2010集成開發環境,利用MFC可視化對話框技術,結合SQL Server數據庫,設計出機構檢索模塊、仿真模塊、運動曲線分析模塊、有限元分析模塊、機構快速設計模塊和機構庫動態管理等模塊,最終完成的系統構架和用戶主交互界面分別如圖1和圖2所示.
自頂向下(Top-Down)設計是一種從抽象到具體的漸進過程,符合產品的實際設計過程[5]. 它是在產品設計初期就根據產品的功能要求事先定義產品的架構,同時考慮到組件與組件、組件與零件、零件與零件之間的約束和定位關系,產品的方案設計和結構設計完成后,再進行單個零件的詳細設計,這種設計方法符合設計人員的思維習慣[6]. 在Creo軟件平臺是通過運動骨架來實現自頂向下的設計,常用機構庫里的機構采用這種設計方法能夠為后期設計人員調用所需機構進行快速修改提供便利.

圖1 常用機構庫構架圖

圖2 常用機構庫的主交互界面
機構數量豐富,形式多樣,如何選擇合理科學的方法對機構進行分類,直接決定了機構檢索的效率. 在本系統的設計過程中,選擇樹形拓撲結構將機構按類分解,逐層細化,在做到層次分明的基礎上,再對各機構進行編碼. 機構與編碼一一對應,每組編碼數字都包含著機構的類型、功能等信息. 例如,按機構運動形態分類(編碼為01),其下層圓周運動(編碼為0101),直線運動(編碼為0102),具體編碼規則按圖3所示,通過編碼,用數字化的方法進行機構信息處理,大大提高了機構信息整理和存儲的效率. 本系統是通過借助SQL Server數據庫平臺,創建機構的信息列表,用以完成機構分類信息和特征信息的存儲和管理.

圖3 機構分類編碼方式
機構特征提取的基本方法思路是:首先,利用庫函數ProSolidFeatVisit( )實現機構的特征提取,再利用庫函數ProElemtreeElementVisit( )實現機構特征元素樹的訪問,并通過過濾函數實現待修改屬性信息的提取;其次,建立用戶自定義數據結構,將提取的屬性信息存入數據結構; 最后,從用戶自定義數據結構中讀取數據,用于模型重構. 圖4為特征提取方法示意圖. 具體的代碼編寫可以根據這種方法思路寫出.
常用機構庫里的機構信息大部分儲存在數據庫中,若要實現這些信息的調用,離不開系統應用程序對數據庫的訪問,而數據庫訪問接口則是連通系統應用程序訪問數據庫的關鍵技術. 本系統采用目前主流的數據庫訪問接口ADO(ActiveX Data Object)技術. ADO是Microsoft提出的應用程序接口(API)用以實現訪問關系或非關系數據庫中的數據. ADO中最重要的對象有3 個,分別為 Connection、Command 和 Recordset[7]. 這里僅介紹打開SQL Server數據庫集并讀取數據的方法,調用Recordset對象的Open方法,需要定義RecordsetPtr型變量,然后才能打開一個數據集. 如:m_pRecordset=m_pConnection→Execute(“select * from T_Class where Parent is null”,0,adCmdText); 它的第一個參數可以是一個表的名字、一個SQL語句或者一個命令對象等,第二個參數就是之前建立的連接對象的指針.
以封閉行星輪系圓柱齒輪凸輪機構的設計為例,在常用機構庫的主交互界面中可以通過3種檢索方式檢索到此機構,分別為目錄查詢、分類索引和模糊查詢,找到機構后,可以觀察機構的三維模型,同時可以結合運動簡圖和特性介紹初步了解機構,然后通過“運動仿真”觀看機構運動情況,通過“運動曲線”查看機構各零部件的運動學特性,如果機構能達到工況要求,需要進一步設計該機構,按“加載機構”按鈕,將所選用的機構加載到Creo環境中,此時“設計機構”按鈕可用,點擊此按鈕,彈出機構設計交互界面,由于機構庫中的所有機構是通過自頂向下設計完成,零件之間存在數據關聯和裝配關系,因此在機構設計初期已經對關鍵尺寸做好標識,形式為“key_名稱”,機構快速設計時對這些關鍵尺寸進行修改即可. 圖5為封閉行星輪系圓柱齒輪凸輪機構的齒條設計.
常用機構庫的設計開發是根據機構設計相關理論和用戶需求角度展開的,同時依托用戶數量龐大的三維設計平臺,保證了本系統應用的廣泛性和實用性. 由于機構庫里的機構全部采用自頂向下的設計方法設計完成,設計人員在進行機構修改設計時,會大大提高機構的設計效率,縮短新產品的開發周期,為企業新產品搶占市場贏得時間; 其次,常用機構庫的開發彌補了機構手冊的不足,實現了機構的快速檢索,動態仿真,動態管理等功能,方便設計人員快速找到符合工況需求的機構. 需要注意的是,用戶如果自行向機構庫中添加新機構,一定要按本系統的入庫規則進行,如機構的命名,機構的分類編碼,機構的關鍵尺寸確定等,新用戶使用本系統可參照常用機構庫的“幫助”模塊,由于篇幅所限,常用機構庫的其它模塊不再詳細介紹與具體展示.

圖4 特征提取方法示意圖

圖5 齒條尺寸信息修改與模型變更前后對比
1 徐新勝,李丹,嚴天宏,等. 面向柔性客戶需求的產品變型設計方法. 計算機輔助設計與圖形學學報,2012,24(3):394-399.
2 許愛芬,賈巨民,溫秉權,等. 多行星排齒輪變速機構構型及效率研究. 機械傳動,2014,38(12):158-160.
3 胡曉穎. 基于Pro/Engineer的三維零件庫管理系統設計與實現[碩士學位論文]. 濟南:山東大學,2014.
4 趙靜. 面向產品造型的人機交互系統開發. 食品與機械,2016,32(9):80-83.
5 梁飛,沈精虎,孫凱. 基于Pro/E自頂向下的貼膠機設計. 機械科學與技術,2015,34(8):1263-1266.
6 呂國林,褚學寧,儲德新,等. 自頂向下設計的多骨架建模方法. 計算機輔助設計與圖形學學報,2015,27(3):548-558.
7 Anonymous. How do multivalue venders tackle the ‘big data’challenge? Database Trends & Applications,2011,25(1):24-27.