浦 東,曹蘇群, 左曉明,嚴峰杰
(1. 淮陰工學院機械與材料工程學院,江蘇淮安223003;2.江蘇陽光新格柵欄科技有限公司,江蘇淮安223400)
?
柵欄產品三維參數化設計軟件開發研究*
浦 東1,曹蘇群1, 左曉明1,嚴峰杰2
(1. 淮陰工學院機械與材料工程學院,江蘇淮安223003;2.江蘇陽光新格柵欄科技有限公司,江蘇淮安223400)
以某柵欄生產企業生產的產品為研究對象,提出了一種基于Pro/E的柵欄產品三維參數化設計方法,利用VC++作為基本開發工具,開發了包括草坪柵欄、樓梯柵欄等多種柵欄產品三維參數化設計系統。該軟件系統采用面向用戶的開發思想,具有界面簡潔、操作方便的特點。此軟件系統的應用將大幅縮短柵欄生產企業的產品設計周期,達到快速響應的目標。
柵欄 三維 參數化設計 軟件開發 VC++
柵欄是我們生活中經常看到的物品,小到陽臺、樓梯,大到公園、酒店、游樂場都有各式各樣的柵欄,有的是為了保護安全,比如陽臺的柵欄,動物園的鐵柵欄;有的是為了裝飾,比如酒店的鐵藝柵欄,公園的草坪柵欄。總之,柵欄的分類五花八門,數不勝數。因此,對于柵欄生產企業來說,如何將這么多種類的產品,直觀地展示給潛在客戶,是一個目前面臨的很現實的問題。
為了解決這個問題,我們研究一種能快速高效地建立模型的方式,即三維參數化設計。為此本文介紹了一種以VC++為開發基礎,以Pro Toolkit與Visual Studio 2005為開發平臺,構建基于Pro/E的柵欄產品三維參數化設計軟件系統。
參數化設計過程實際上是利用新數據替代原數據,驅動參數化模型庫中的原有模型或程序,進行模型重構的過程[1]。

圖1 草坪柵欄三維模型
以草坪柵欄為例,三維模型如圖1所示,其參數接口與尺寸關聯設置方法為:
1)參數輸入。在模型圖界面,點擊【工具】→【參數】,點擊【+】,將柵欄的相關參數依次輸入:大立柱邊長A、大立柱高H、大柱間距L、橫桿寬A_1、橫桿厚B_1、小柱寬A_2、小柱厚B_2、小柱數量N。在整體設計好后,其參數值可以根據實際情況進行修改,修改完成后通過【再生】即可得到實際情況下所需的模型[2]。
2)關系建立。點擊【工具】→【關系】,此時出現了關系對話框,單擊模型任意處,模型由灰色變成黃色,各處尺寸以D1、D2的形式被標注出來,選擇需要定義的尺寸后單擊,該尺寸會自動進入對話框內,輸入相關尺寸的關聯公式。
2.1 開發平臺的選取
本系統設計開發所運用的軟件主要是Pro/E和Visual Studio 2005兩款軟件。Pro/E軟件是美國參數技術公司(PTC)于1988年首創的參數化設計三維CAD/CAM軟件包,是一套由設計至生產的機械自動化軟件,是目前國際上最流行的“全參數化、全相關”的三維設計軟件之一[3]。Pro/E在提供強大的設計、分析、制造功能的同時,也為用戶提供了多種二次開發的工具,在本系統中選用的則是基于C語言的Pro Toolkit。Visual Studio 2005則是為了輔助Pro Toolkit完成本系統的開發,因為其具有自動提供二次開發基礎文件和自動報錯的功能,將會大大減少設計者的工作強度。
2.2 制作自定義菜單

圖2 柵欄參數化設計菜單界面

通過Visual Studio 2005新建工程,可以得到一個二次開發所需要的基本框架。在生成的工程文件中,新建一個文本文件,編輯菜單代碼,在將設計完成的系統加載到Pro/E中后,新建的用戶菜單與其他菜單條一樣,以windows風格的菜單形式插入到Pro/E中去[4],如圖2所示。
2.3 制作UI對話框
在進行UI對話框的設計時,首先要將驅動程序模板文件復制到工作目錄[5]。打開resource,新建記事本,命名為“zhalan.res”。根據我們設計的系統需要進行對話框的設計,確定各組件的位置和數量。如果對話框內包含有圖片,必須將圖片復制到resource文件夾內,UI對話框設計如圖3和圖4所示。
驅動程序的編寫,本質上就是獲取UI對話框中輸入的參數值,將其傳遞到參數化模型并驅動模型再生,從而生成相應的三維模型。
以草坪柵欄模型驅動程序為例。
void caoping_1_Action(char*dialog,char*component,ProAppData data)
{
ProMdl model;
ProModelitem modelitem;
ProMdlCurrentGet(&model);
ProMdlRetrieve(L"D:/zhalan/res/caoping.
prt",
(ProMdlType)PRO_PART,(ProMdl*)&model);
ProMdlDisplay(model);
ProMdlToModelitem(model,&modelitem);
ParamUpdate(dialog,"A_Value","A",&modelitem);
ParamUpdate(dialog,"H_Value","H",&modelitem);
ParamUpdate(dialog,"N_Value","N",&modelitem);
ParamUpdate(dialog,"A_1_Value","A_1",&modelitem);
ParamUpdate(dialog,"B_1_Value","B_1",&modelitem);
ParamUpdate(dialog,"A_2_Value","A_2",&modelitem);
ParamUpdate(dialog,"B_2_Value","B_2",&modelitem);
ParamUpdate(dialog,"L_Value","L",&modelitem);
ProSolidRegenerate((ProSolid)model,PRO_B_TRUE);
ProWindowRepaint(PRO_VALUE_UNUSED);
ProUIDialogExit(dialog,1);
}
從上述代碼中可以看到,主要按照“載入模型(括號內為模型保存的地址)→將對話框內的參數賦值給模型→模型按照被賦值的參數進行變化→草坪柵欄零件再生→零件重繪→對話框關閉”完成模型驅動。
本文以參數化思想為基礎,以Pro/E為開發平臺,VC++為開發工具,實現了柵欄產品的快速設計。本設計所完成的柵欄參數化設計系統,具有使用簡單、數據清晰、架構明了的特點,并實際應用到某公司的柵欄設計工作中,提高了公司產品設計效率,滿足了公司投標中產品展示需求,具有強大的實用性和針對性。
[1] 白傳武.門式起重機參數化設計系統的研究與實現[J].機電技術,2014 (4):53-57.
[2] 徐年富.基于Pro/E的行星減速器太陽輪的三維參數化設計[J].煤礦機械,2012, 33(1):244-246.
[3] 陳建軍.基于VC++的摩擦同步離合器三維參數化設計及仿真集成系統[J].機械設計與研究,2016, 32(2):93-96.
[4] 王素艷.基于Solidworks的機床夾具標準件三維參數化設計[J].機電產品開發與創新,2014, 27(3):171-173.
[5] 李戩,王宗彥,秦慧斌.橋式起重機小車架三維參數化設計與研究[J].煤礦機械,2012, 32(7):16-18.
Development of 3D parametric design software for fence product
PU Dong,CAO Suqun,ZUO Xiaoming,YAN Fengjie
Focused on the products of a fence manufacturer, a 3D parametric design method for the fence product based on Pro/E is proposed. 3D parametric design systems are developed including lawn fence, stair fence and so on, taking the VC++ as the development tool. The software system has the characteristics of user-oriented concept, simple interface and easy operation. The application of this software system will shorten the product design cycle of enterprises greatly and achieve the goal of fast response.
fence,three-dimensional,parametric design,software development,VC++
TH126;TH138.51
A
1002-6886(2016)06-0101-03
國家自然科學基金青年基金(51505170),江蘇省高校自然科學重大基礎研究項目資助(11KJA460001),淮安市科技成果轉化專項資金計劃項目(項目名稱:微型電感器件自動化生產裝備研發及產業化),校企合作橫向項目(項目名稱:組裝式耐腐蝕柵欄系列產品研究與開發)。
浦東(1993-),男, 就讀淮陰工學院機械設計制造及其自動化專業,研究方向:計算機輔助設計。
曹蘇群(1976-),男,博士,教授,研究方向:模式識別與軟件工程。
2016-06-24