丁 剛
(濟源職業技術學院 機電工程系,河南 濟源 459000)
在農機的生產設計和制造過程中,為了提高產品的設計質量和效率,很多農機設計制造企業開始致力于參數化產品設計研究,從而提高企業的綜合實力和市場競爭力。三維建模軟件的出現和廣泛使用使得參數化設計技術得到了迅速的發展,SolidWorks是一款非常好的建模軟件,其建模過程簡單,支持自底向上和自頂向下兩種建模方式。其中,自頂向下的建模方式主要是根據零件的參數化關系,進行快速建模,還可以采用SolidWorks部件庫中的資源,直接生成零件。為了進一步提高零件的生成效率,還可以采用參數化模式對零件進行設計,通過前期的編程和可視化界面開發,在農機部件設計參數化界面上直接輸入零件的尺寸,便可以快速地生成零部件模型,對于農機部件的現代化設計具有重要的意義。
農機底盤零部件是農機的重要部件,其質量的好壞關系到農機的作業質量和效率。底盤各種形狀的復雜零部件較多,如果單單繪制平面草圖的話比較簡單,但要將草圖通過約束關系形成復雜零部件較為困難,如拉伸和掃描切除等一系列操作。如果采用參數化設計方法,可以有效地解決這個問題,在一次操作后生成操作流程軌跡,通過編程記錄動作軌跡,然后再修改路徑和尺寸便可以完成復雜零件的建模。其流程如圖1所示。

圖1 農機底盤參數化界面開發流程Fig.1 Development process of parameterized interface of agricultural machinery chassis
在進行參數化設計時最重要的是用戶界面的開發,界面開發完成后,用戶在設計時只需輸入零件的尺寸參數,便可以得到實體的農機底盤零件模型。在繪制建模前,需要點開宏程序的錄制功能,在建模完成后可以實現建模步驟程序的自動保存,程序也可以進行修改。基于SolidWorks完成零件的參數化設計的具體流程如圖2所示。
為了在Windows界面上實現SolidWorks的參數化設計,還需要開發一個可以輸入參數的軟件建模,然后根據零件特征和類型,輸入零件參數,便可以創建一個空零件,點擊確定后便可以生成所需零件,操作簡單方便。

圖2 基于SolidWorks的零件參數化設計詳細流程Fig.2 The detailed process of parametric design of parts based on SolidWorks
農機底盤零部件參數化設計的目的是為了使復雜零部件的設計過程變簡單,通過交互界面輸出參數數據,可以自動生成零部件,從而有效地提高零部件的設計效率,參數化設計系統的開發需要以下4種技術的支持。
1)OLE技術。OLE(Object Linking And Embedding)是對象鏈接與嵌入技術的簡稱,采用OLE技術可以將不同的Windows應用程序開發的資源結合起來,方便兩種軟件程序直接的數據交流。SolidWorks支持OLE標準,在進行參數化設計時,用戶可以在自己設計的軟件界面上實現SolidWorks的許多功能,如創建直線、曲面和實體等,并提供數據交流的兼容性API接口,可以讀寫三維數據,降低了開發難度,可使參數設計系統更加穩定可靠。
2)ActiveX控件技術。ActiveX控制是一個可執行代碼的*.exe文件,也可以是*.dll或*.ocx文件,采用該控件可以使被它提供的對象被別的程序軟件所調用,實現軟件之間的數據通訊,是農機底盤參數化設計系統必備的技術之一。
3)參數化設計技術。參數化設計技術并不陌生,在CAD技術中是常用的一種模型設計方法,在20世紀80年代被用于參數化軟件的開發,如Pro/E;在20世紀90年代逐漸變得成熟起來,使零部件的設計變得簡單易行。參數化設計的方法主要有4種:第1種是基于數學方法的幾何約束,第2種是人工智能的幾何原理方法,第3種是構造工程,第3種是運行用戶設計草圖和輪廓。
4)用戶界面技術。用戶界面設計是農機底盤零部件參數化設計系統的最后一步,也是最重要的一步,通過用戶界面設計者可以登入系統,并在界面上進行參數的設置,最后自動生成零部件。在設計用戶界面時,要以簡單性、可靠性、易學性和易使用等為主要原則,用戶在操作軟件時感到方便和舒服,界面的功能按鈕需要簡單易記,參數輸入框需要穩定可靠。
SolidWorks的二次開發采用基于COM的技術,利用API接口技術,可以采用VB軟件對SolidWorks進行二次開發,并將內部數據組織起來,形成一個層次結構。最頂端層為SolidWorks Application,是其他對象的父對象,可以用VB的函數Create Object獲得對象關聯。
圖3表示SolidWorks API的應用服務層次結構。其中,最底層是對象層,可以進行一系列的基礎操作,ModelDoc對象屬于模型層,可以對視圖、輪廓線和參數進行修改和控制,還可以實現文檔的打開和保存、創建與編輯等各種操作。

圖3 SolidWorks API應用服務結構層次Fig.3 SolidWorks API application service structure level
為了實現SolidWorks的二次開發,可以采用可視化編程軟件對農機底盤零部件參數化窗口進行編輯。VB是目前Windows平臺下最優秀的開發工具之一,采用VB可以實現參數化界面模板的定制和開發,其開發周期短、代碼效率高,容易實現參數化界面的各種功能。
可視化界面是農機底盤零部件參數化設計的基礎,可以方便用戶進行登錄,然后在界面上實現SolidWorks的一些基礎功能。本次開發的可視化界面如圖4所示。

圖4 農機底盤參數化設計界面Fig.4 The parameterized design interface of agricultural machinery chassis
農機底盤參數化設計的可視化界面,在功能上可以實現系統的登錄和退出,點擊開始后可以進入主體界面,從界面上可以實現參數的輸入,通過輸入參數來實現參數化建模和一系列的設計優化。
隨著現代化農機作業速度和效率的提升,其底盤的設計變得非常關鍵,底牌的穩定和可靠性直接關系到農機的作業質量和作業效率,如圖5所示。

圖5 農機及底盤實物圖Fig.5 Agricultural machinery and chassis physical drawings
農機底盤一般為履帶式,其由多個核心零部件組成,本次將以其中的核心零部件為例,采用參數化建模方法對底盤零部件進行建模,以驗證參數化建模的效率和在農機盤建模上使用的可行性。
在底盤零部件的建模過程中,繪制實體是比較簡單的,但是在三維建模的過程中,掃描和切除等特征的選擇和比較還是比較復雜的,如果操作不好很容易造成特征對象選擇的錯誤。
在進行參數化建模時,首先要對待建模的零部件進行分析,分析特征結構,區分特征的層次,然后對主要特征先進行繪制,可以使用之前錄制的宏代碼進行操作,宏文件沒有記錄的可以調用相關的API繪圖函數。零件文件創建后就可以直接調用特征命令和草圖命令,以農機底盤的曲面底盤端蓋為例,首先繪制一個圓柱體,其步驟為繪制一個圓草圖,然后對其進行拉伸,參數化建模過程如下:
swApp.ActivateDoc2 "農機部件", False, longstatus //新建農機零部件
Set Part = swApp.ActiveDoc
//新建繪圖窗口
Dim myModelView As Object
Part.InsertSketch2 ture
//開始繪制草圖
Part.CreateCircle 0, 0, 0, d1, 0, 0 //繪制圓形草圖
Set swFeatMgr = Part.FeatureManager //調用特征管理器
......
False, False, 0, 0, False, False, False, False, 1, 1, 1, 0, 0, False //拉伸特征
采用上述命令后,可以建立一個圓柱形的零件草圖毛坯,如圖6所示。
圓柱實體繪制完成后,還需要進行一系列的拉伸和旋轉切除等操作,以旋轉切除為例,首先需要建立一個基準面,建立一條中心線用來進行旋轉切除操作,參數化程序如下:
boolstatus = Part.Extension.SelectByID2("上視基準面", "PLANE", 0, 0, 0, True, 0, Nothing, 0)
//建立基準面
Dim myRefPlane As Object
Set myRefPlane = Part.FeatureManager.InsertRefPlane(8, 0.02 * PR, 0, 0, 0, 0)
建立好基準面后可以通過一系列的參數程序,對相關部位進行旋轉和切除,最終建立農機底盤零部件的模型,如圖7所示。

圖6 農機底盤零部件草圖毛坯Fig.6 The sketch blank of agricultural machinery chassis parts

圖7 農機底盤零部件模型Fig.7 The model of agricultural machinery chassis parts
在建立農機底盤零部件模型時,建立好參數化程序后,無需一次次的拉伸、掃描或切除等操作,只需要輸入拉伸、掃描或者切除等操作的尺寸,便可以自動完成,建模方便快捷。
為了驗證農機底盤零部件的參數化建模效率,將傳統設計方法和參數化設計方法進行了對比,如表1所示。由對比結果發現:采用參數化建模方法可以有效縮短設計周期,提高設計效率。

表1 傳統方法和參數化設計效率對比Table 1 The efficiency comparison between traditional methods and parameterized design
為了提高農機底盤產品的設計質量和效率,基于SolidWorks提供的二次開發接口API函數VB軟件,開發了SolidWorks底盤設計參數化界面,在設計底盤零件時,開發者只需要輸入零部件的參數,便可以實現零部件的自動化生成。為了驗證界面系統的可行性,以底盤一個復雜曲面缸蓋的零件的建模為例,對設計可行性和設計效率進行了驗證。驗證結果表明:采用參數化界面輸入尺寸后,可以成功生成農機零部件,且其設計效率要比傳統方法高,對于提高農機設計制造企業的生產效率具有重要的意義。