任 潔,郝明銳
(1.太原工業學院 機械工程系,山西 太原 030008;2.中國煤炭科工集團 太原研究院,山西 太原 030006)
在機械設計和機械制造中,對機件進行優化分析、仿真、實驗等都需要依托于機件的三維模型。而在機械設計中,三維模型的實際大小或者尺寸并不是一成不變的,要根據優化結果進行不斷的調整。這就要求三維建模時設置一些參數,使之改變參數后可以快速地生成新的模型[1],所以參數化三維建模在現代機械優化設計中得到越來越廣泛的應用。本文就是針對這一問題,對所研究的液壓支架立柱進行了參數化的三維建模。
針對本課題中參數化要求的特點,選用的建模軟件為Pro/E,因為它最大的特點便是參數化[2],而且在后續的分析中所用的軟件ANSYS,可以在安裝時實現與Pro/E軟件的無縫連接[3],如圖1所示。

圖1 Pro/E軟件和ANSYS的無縫連接
Pro/E軟件最大的特點就是強大的二次開發功能,Pro/E軟件中自帶有Pro/Toolkit,可以很方便地實現各種庫函數及頭文件的調用[4]。本課題中使用了C++語言來完成課題所需的針對Pro/E軟件的二次開發[5]。參數化設計的流程圖見圖2。
本課題的參數化建模,首先需要在Pro/E的菜單欄中添加自定義的菜單和下拉子菜單。制作Pro/E的菜單欄是二次開發中最基本的通用技術,需要使用編程語言編繪源文件程序和文本文件,并且注冊運行程序成功[6]。本文中采取的方法是手動注冊,需要強調的是注冊文件的后綴一定要寫成.dat格式,以保證其正確運行。

圖2 參數化設計流程圖
本文中所用的注冊文件如下:

因篇幅問題,編譯程序在此文中不做詳細展示。制作完成的菜單欄如圖3所示。

圖3 菜單欄
做出菜單欄后,還要有對話框進行人機對話才能實現零件的三維參數化建模。目前對話框主要有UI對話框和 MFC對話框兩種形式[8],兩者的比較見表1。本文采用MFC對話框進行制作,制作的一般過程見圖4。

表1 UI對話框和MFC對話框的比較

圖4 創建MFC對話框的一般過程
對零件進行參數化建模首先需要在零件中提取出相應的參數[9],然后按照需要對這些參數進行更改,最后根據參數的變化重新生成變化后的模型[10]。建模過程如圖5所示。

圖5 零件的參數化建模實現過程
本文以液壓支架立柱的外缸為例介紹參數化建模的過程。首先在Pro/E軟件中建立外缸的三維模型并且指定設計的參數和其之間的相互關系,如圖6所示;接著利用C++建立人機交互界面用以寫入設計模型中提取出的相應參數,并且利用自帶的Pro/Toolkit調用軟件中的底層函數將其傳輸到Pro/E建立好的模型中;然后進行菜單欄和對話框的制作并開發生成可執行文件,實現模型和用戶界面之間的無縫連接[11]。

圖6 外缸提取的參數
在執行文件加載了二次開發的菜單欄之后,選擇自定義菜單欄【支架參數化設計】中的下拉菜單【外缸參數化設計】,會出現如圖7所示的提示對話框,選擇確定出現如圖8所示的外缸參數化建模對話框,在對話框中輸入相關參數,即可生成新的外缸模型。原外缸模型和更新后的外缸模型對比如圖9和10所示。

圖7 提示選擇對話框

圖8 外缸參數提取并建模對話框

圖9 原外缸三維模型
液壓支架立柱的其他零件模型見圖11和圖12,裝配完成的液壓支架立柱三維模型見圖13。

圖10 更新參數后的外缸三維模型

圖11 中缸三維模型圖

圖12 活柱三維模型

圖13 液壓支架立柱的三維模型
基于Pro/E的二次開發,本文對液壓支架立柱進行了參數化建模,包括菜單條的制作和對話框的制作,并以液壓支架立柱的外缸為例,列出了詳細的參數化建模的步驟,為之后的仿真分析等打下了基礎。
[1]任潔.液壓支架立柱的參數化建模及流固耦合分析[D].太原:太原理工大學,2011:15-30.
[2]劉愛華.用Pro/Toolkit應用程序實現產品模型更新的方法研究[J].計算機工程與應用,2004(21):194-196.
[3]吳立軍,陳波.Pro/Engineer二次開發技術基礎[M].北京:電子工業出版社,2006.
[4]房麗娜,郭培全.Pro/E的二次開發與應用[J].濟南大學學報(自然科學版),2007(4):157-160.
[5]繆燕平,何柏林.Pro/TOOLKIT對Pro/E二次開發參數化設計系統研究[J].機械設計與制造,2008(9):10-12.
[6]譚鳳娟,殷鏡波.Pro/E二次開發在菜單設計中的應用[J].現代制造技術與裝備,2009(2):100-101.
[7]熊歆斌.VisualC++程序設計培訓教程[M].北京:清華大學出版社,2002.
[8]張舉,靳玉春.基于Pro/E的二次開發方法概述[J].鑄造設備研究,2007(2):32-34.
[9]劉超,陳海峰,范曉斌.基于Pro/E二次開發的機械零件參數化研究與實踐[J].包裝工程,2009(8):67-69.
[10]林雪一,張耀宗,王海平.基于Pro/EWildfire和 VC++6.0的行星錐齒輪參數化設計[J].鍛壓技術,2007,32(1):109-112.
[11]康文利,陳曉明,周學輝.Pro/E二次開發技術在液壓支架參數化設計中的應用[J].煤礦機械,2010(3):228-229.