袁清珂,黎賢釗,陳 晨
(廣東工業大學 機電工程學院,廣東 廣州 510006)
對于木工機床行業來說,隨著社會的發展,生活水平的提高,要求其產品具有個性化、多樣性和創新性,如果按照傳統的研發方式,必將不符合木工機械的發展要求。因此利用二次開發技術開發基于該軟件的參數化設計系統,可以縮短木工機械產品的設計周期,提高設計質量和效率,降低設計成本。為木工機械設計提供便捷,同時滿足產品批量少、種類多、個性化的要求,更符合產品設計創新的趨勢,能夠使產品快速設計與開發,使企業在激烈的市場競爭中具有更強的競爭力[1]。本文以東莞南興木工家具制造裝備有限公司MFB-60系列自動封邊機壓料輪設計為應用例子,將參數化CAD技術與三維軟件的二次開發技術相結合,分析并應用于木工機械通用零件的參數化設計實踐中。
CAD軟件二次開發的基本思路是:以交互式圖形系統為主要支撐,以圖形系統的用戶語言為進程的控制者,以高級語言為系統連接及數據庫轉換的樞紐,開發一個集參數化設計零件、交互式編輯圖形、數據的系統管理為一體的CAD軟件系統[2]。二次開發的一般流程如圖1所示。

Pro/E是一種采用特征建模技術,基于統一數據庫的參數化的通用CAD系統。從工程角度出發,以參數化設計和基于特征的實體造型而著稱,它所提供的二次開發工具是在Pro/E軟件基礎上來進行二次開發的,能夠實現面向對象的程序自動建模功能。還可以把材料特征、精度特征等一些非幾何特征加入到三維模型中,把建模所有的相關信息統一存入到數據庫中,是一款能將整個設計與生產過程集成在一起的三維軟件。Pro/E提供的常用開發工具有:族表、用戶定義特征、Pro/program、J-link、Pro/Toolkit等。
作為全三維支持參數化設計的造型系統,UG不僅具有強大的實體造型、曲面造型、虛擬裝配和工程圖設計等功能,還具有UG/Open二次開發模塊,它是UG軟件的二次開發工具集,便于用戶進行二次開發工作,利用該模塊可對UG系統進行用戶化開發,滿足用戶的開發需求。UG/Open包括UG/Open GRIP和UG/Open API程序設計模塊、UG/Open MenuScrip和UG/Open UIStyler兩個輔助開發模塊,提供了良好的高級語言接口,使UG的造型功能和計算功能夠有機的結合起來,便于開發符合自己要求的CAD系統。
SolidWorks是一套基于Windows平臺的CAD/CAE/ CAM/PDM桌面集成系統,也是一種全參數化特征造型軟件,具有易學易用、友好界面以及靈活的操作方式和面向對象的操作等特點。該軟件可以最大限度的滿足設計者的設計意圖、可以完成復雜的產品設計、高性能的大型裝配、高級曲面造型和設計修改。
SolidWorks提供了基于OLE自動化技術的API函數,為方便用戶進行二次開發提供了大量COM/OLE對象,以及對象的方法和屬性,并以API對象的形式提供,這些對象涵蓋了全部的SolidWorks數據模型。
CATIA是一種先進的自動設計、制造及工程分析軟件,主要應用于機械制造、工程設計及電子行業。CATIA擁有很多功能強大的人性化模塊,并且對開發人員提供了大部分接口,為用戶提供了很好的二次開發平臺,通過第三方開發工具對CATIA進行二次開發,就可以開發出針對某行業、某用戶的特定模塊,方便該行業用戶的使用,也是對CATIA某些功能的拓展和挖掘。
面對眾多的CAD軟件如何做選擇是關鍵。作為二次開發平臺的CAD軟件,必須滿足設計功能方面的需要,必須具有二次開發界面,可使用VB、VC++等工具進行軟件開發,二次開發接口允許對函數庫進行隨意調用系統原理如圖2所示。針對木工機床的特點,如通用零部件較多,CAD軟件的價格也是其中的一個考慮因素,軟件價格不能在設計的成本中占有較大比重。基于上述幾點考慮,我們選擇了Solidworks來進行二次開發[3]。同時,由于VB語言具有的可視化編程,內部標準控件也足夠完成簡單的程序開發,界面簡潔,方便操作的特點,很適合于非計算機專業工程人員及初涉者使用。

圖2 SolidWorks二次開發系統原理圖Fig.2 The theory chart of solidworks second development
以自動封邊機送料機構壓料輪的參數化設計為例在SolidWorks創建對象中,每個對象都有自己的屬性和方法,通過調用API函數來實現[3~4]。
在對 SolidWorks進行二次開發時,首先要建立SolidWorks的連接,創建SolidWorks應用對象:
Dim swap As Object
Set swApp=CreateObject(“SldWorks.Application”)
通過這兩個語句,就可以打開SolidWorks應用程序、調用它的API函數。
本次開發以木工機械中常用的壓料輪為例,探討其基于SolidWorks參數化設計的一般過程。圖3為基于VB 6.0開發的人機交互界面。
程序運行后,按照提示用戶輸入參數,點擊確認,程序可獲得用戶輸入的具體設計參數,確認無誤、點擊繪圖可完成壓料輪的繪制。
程序還有校核功能,如果校核強度應力不能滿足要求的話,只需再運行程序、修改相應尺寸、便可重新進行結構設計。
尺寸參數輸入后賦值給有關變量,例如壓輪外徑賦值給D=66,壓輪內徑賦值給d=60,壓輪寬度賦值給W=30,溝槽深度賦值給w=3,溝槽數量賦值給n=18。
根據用戶輸入參數,經過拉伸、掃描、陣列等步驟,程序自動生成所設計的三維實體模型。

圖3 壓料輪參數化設計界面Fig.3 The interface of parameters design on pressure feed wheels
根據用戶輸入的參數,進行壓料輪的輪廓拉伸,其實現語句如下:
(1)生成圓筒之圓環基面的語句如下:
SetAnnotation=Part.AddDimension2(D,d,0)
(2)拉伸出圓筒的語句如下:Part.FeatureManager.FeatureExtrusion2(True,W)。其中,True表示單向拉伸;如果雙向拉伸則用False。操作后得到的圓筒拉伸輪廓如圖4所示。
由于壓料輪的斜溝槽是螺旋線為母線的,不能直接調用SolidWorks拉伸切除命令切出生成,為此本文通過截面掃描螺旋線的方式切出斜溝槽。
d槽線體u g通過圓周陣列方式,生成所有溝槽,最后生成的三維實體,如圖5所示。

基于SolidWorks API函數的二次開發對象參數化設計方法,可以涵蓋所有SolidWorks數據三維參數化驅動模型。以木工機床中常用的壓料輪的三維實體建模參數化驅動設計實例,說明所提出的基于VisualBasic 6.0等軟件,采用SolidWorks API函數建立的非標通用件參數化驅動二次開發設計平臺和設計方法,建立可嵌入SolidWorks軟件系統的非標通用零部件參數化驅動設計集成函數庫,可極大的提高非標通用件的設計效率,對木工機床非標通用零部件參數化驅動二次開發設計研究具有較大的借鑒和參考價值。
[1]黃榮文.木工機械[M].北京:中國林業出版社,2007.
[2]唐鵬.CAD二次開發技術的與變壓器參數化設計技術的研究及應用[D].廣州:廣東工業大學,2011,6.
[3]江洪,李仲興,邢啟恩.SolidWorks2003二次開發基礎與實例教程[M].北京:電子工業出版社,2003.
[4]胡峰,何慶中.基于Solidworks二次開發的壓力容器非標件參數化設計研究[N].自貢:四川理工學院學報,2009,1.