浦 東,曹蘇群, 左曉明,嚴(yán)峰杰
(1. 淮陰工學(xué)院機(jī)械與材料工程學(xué)院,江蘇淮安223003;2.江蘇陽光新格柵欄科技有限公司,江蘇淮安223400)
?
柵欄產(chǎn)品三維參數(shù)化設(shè)計(jì)軟件開發(fā)研究*
浦 東1,曹蘇群1, 左曉明1,嚴(yán)峰杰2
(1. 淮陰工學(xué)院機(jī)械與材料工程學(xué)院,江蘇淮安223003;2.江蘇陽光新格柵欄科技有限公司,江蘇淮安223400)
以某柵欄生產(chǎn)企業(yè)生產(chǎn)的產(chǎn)品為研究對(duì)象,提出了一種基于Pro/E的柵欄產(chǎn)品三維參數(shù)化設(shè)計(jì)方法,利用VC++作為基本開發(fā)工具,開發(fā)了包括草坪柵欄、樓梯柵欄等多種柵欄產(chǎn)品三維參數(shù)化設(shè)計(jì)系統(tǒng)。該軟件系統(tǒng)采用面向用戶的開發(fā)思想,具有界面簡(jiǎn)潔、操作方便的特點(diǎn)。此軟件系統(tǒng)的應(yīng)用將大幅縮短?hào)艡谏a(chǎn)企業(yè)的產(chǎn)品設(shè)計(jì)周期,達(dá)到快速響應(yīng)的目標(biāo)。
柵欄 三維 參數(shù)化設(shè)計(jì) 軟件開發(fā) VC++
柵欄是我們生活中經(jīng)常看到的物品,小到陽臺(tái)、樓梯,大到公園、酒店、游樂場(chǎng)都有各式各樣的柵欄,有的是為了保護(hù)安全,比如陽臺(tái)的柵欄,動(dòng)物園的鐵柵欄;有的是為了裝飾,比如酒店的鐵藝柵欄,公園的草坪柵欄??傊?,柵欄的分類五花八門,數(shù)不勝數(shù)。因此,對(duì)于柵欄生產(chǎn)企業(yè)來說,如何將這么多種類的產(chǎn)品,直觀地展示給潛在客戶,是一個(gè)目前面臨的很現(xiàn)實(shí)的問題。
為了解決這個(gè)問題,我們研究一種能快速高效地建立模型的方式,即三維參數(shù)化設(shè)計(jì)。為此本文介紹了一種以VC++為開發(fā)基礎(chǔ),以Pro Toolkit與Visual Studio 2005為開發(fā)平臺(tái),構(gòu)建基于Pro/E的柵欄產(chǎn)品三維參數(shù)化設(shè)計(jì)軟件系統(tǒng)。
參數(shù)化設(shè)計(jì)過程實(shí)際上是利用新數(shù)據(jù)替代原數(shù)據(jù),驅(qū)動(dòng)參數(shù)化模型庫中的原有模型或程序,進(jìn)行模型重構(gòu)的過程[1]。
圖1 草坪柵欄三維模型
以草坪柵欄為例,三維模型如圖1所示,其參數(shù)接口與尺寸關(guān)聯(lián)設(shè)置方法為:
1)參數(shù)輸入。在模型圖界面,點(diǎn)擊【工具】→【參數(shù)】,點(diǎn)擊【+】,將柵欄的相關(guān)參數(shù)依次輸入:大立柱邊長(zhǎng)A、大立柱高H、大柱間距L、橫桿寬A_1、橫桿厚B_1、小柱寬A_2、小柱厚B_2、小柱數(shù)量N。在整體設(shè)計(jì)好后,其參數(shù)值可以根據(jù)實(shí)際情況進(jìn)行修改,修改完成后通過【再生】即可得到實(shí)際情況下所需的模型[2]。
2)關(guān)系建立。點(diǎn)擊【工具】→【關(guān)系】,此時(shí)出現(xiàn)了關(guān)系對(duì)話框,單擊模型任意處,模型由灰色變成黃色,各處尺寸以D1、D2的形式被標(biāo)注出來,選擇需要定義的尺寸后單擊,該尺寸會(huì)自動(dòng)進(jìn)入對(duì)話框內(nèi),輸入相關(guān)尺寸的關(guān)聯(lián)公式。
2.1 開發(fā)平臺(tái)的選取
本系統(tǒng)設(shè)計(jì)開發(fā)所運(yùn)用的軟件主要是Pro/E和Visual Studio 2005兩款軟件。Pro/E軟件是美國(guó)參數(shù)技術(shù)公司(PTC)于1988年首創(chuàng)的參數(shù)化設(shè)計(jì)三維CAD/CAM軟件包,是一套由設(shè)計(jì)至生產(chǎn)的機(jī)械自動(dòng)化軟件,是目前國(guó)際上最流行的“全參數(shù)化、全相關(guān)”的三維設(shè)計(jì)軟件之一[3]。Pro/E在提供強(qiáng)大的設(shè)計(jì)、分析、制造功能的同時(shí),也為用戶提供了多種二次開發(fā)的工具,在本系統(tǒng)中選用的則是基于C語言的Pro Toolkit。Visual Studio 2005則是為了輔助Pro Toolkit完成本系統(tǒng)的開發(fā),因?yàn)槠渚哂凶詣?dòng)提供二次開發(fā)基礎(chǔ)文件和自動(dòng)報(bào)錯(cuò)的功能,將會(huì)大大減少設(shè)計(jì)者的工作強(qiáng)度。
2.2 制作自定義菜單
圖2 柵欄參數(shù)化設(shè)計(jì)菜單界面
通過Visual Studio 2005新建工程,可以得到一個(gè)二次開發(fā)所需要的基本框架。在生成的工程文件中,新建一個(gè)文本文件,編輯菜單代碼,在將設(shè)計(jì)完成的系統(tǒng)加載到Pro/E中后,新建的用戶菜單與其他菜單條一樣,以windows風(fēng)格的菜單形式插入到Pro/E中去[4],如圖2所示。
2.3 制作UI對(duì)話框
在進(jìn)行UI對(duì)話框的設(shè)計(jì)時(shí),首先要將驅(qū)動(dòng)程序模板文件復(fù)制到工作目錄[5]。打開resource,新建記事本,命名為“zhalan.res”。根據(jù)我們?cè)O(shè)計(jì)的系統(tǒng)需要進(jìn)行對(duì)話框的設(shè)計(jì),確定各組件的位置和數(shù)量。如果對(duì)話框內(nèi)包含有圖片,必須將圖片復(fù)制到resource文件夾內(nèi),UI對(duì)話框設(shè)計(jì)如圖3和圖4所示。
驅(qū)動(dòng)程序的編寫,本質(zhì)上就是獲取UI對(duì)話框中輸入的參數(shù)值,將其傳遞到參數(shù)化模型并驅(qū)動(dòng)模型再生,從而生成相應(yīng)的三維模型。
以草坪柵欄模型驅(qū)動(dòng)程序?yàn)槔?/p>
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);
}
從上述代碼中可以看到,主要按照“載入模型(括號(hào)內(nèi)為模型保存的地址)→將對(duì)話框內(nèi)的參數(shù)賦值給模型→模型按照被賦值的參數(shù)進(jìn)行變化→草坪柵欄零件再生→零件重繪→對(duì)話框關(guān)閉”完成模型驅(qū)動(dòng)。
本文以參數(shù)化思想為基礎(chǔ),以Pro/E為開發(fā)平臺(tái),VC++為開發(fā)工具,實(shí)現(xiàn)了柵欄產(chǎn)品的快速設(shè)計(jì)。本設(shè)計(jì)所完成的柵欄參數(shù)化設(shè)計(jì)系統(tǒng),具有使用簡(jiǎn)單、數(shù)據(jù)清晰、架構(gòu)明了的特點(diǎn),并實(shí)際應(yīng)用到某公司的柵欄設(shè)計(jì)工作中,提高了公司產(chǎn)品設(shè)計(jì)效率,滿足了公司投標(biāo)中產(chǎn)品展示需求,具有強(qiáng)大的實(shí)用性和針對(duì)性。
[1] 白傳武.門式起重機(jī)參數(shù)化設(shè)計(jì)系統(tǒng)的研究與實(shí)現(xiàn)[J].機(jī)電技術(shù),2014 (4):53-57.
[2] 徐年富.基于Pro/E的行星減速器太陽輪的三維參數(shù)化設(shè)計(jì)[J].煤礦機(jī)械,2012, 33(1):244-246.
[3] 陳建軍.基于VC++的摩擦同步離合器三維參數(shù)化設(shè)計(jì)及仿真集成系統(tǒng)[J].機(jī)械設(shè)計(jì)與研究,2016, 32(2):93-96.
[4] 王素艷.基于Solidworks的機(jī)床夾具標(biāo)準(zhǔn)件三維參數(shù)化設(shè)計(jì)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2014, 27(3):171-173.
[5] 李戩,王宗彥,秦慧斌.橋式起重機(jī)小車架三維參數(shù)化設(shè)計(jì)與研究[J].煤礦機(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
國(guó)家自然科學(xué)基金青年基金(51505170),江蘇省高校自然科學(xué)重大基礎(chǔ)研究項(xiàng)目資助(11KJA460001),淮安市科技成果轉(zhuǎn)化專項(xiàng)資金計(jì)劃項(xiàng)目(項(xiàng)目名稱:微型電感器件自動(dòng)化生產(chǎn)裝備研發(fā)及產(chǎn)業(yè)化),校企合作橫向項(xiàng)目(項(xiàng)目名稱:組裝式耐腐蝕柵欄系列產(chǎn)品研究與開發(fā))。
浦東(1993-),男, 就讀淮陰工學(xué)院機(jī)械設(shè)計(jì)制造及其自動(dòng)化專業(yè),研究方向:計(jì)算機(jī)輔助設(shè)計(jì)。
曹蘇群(1976-),男,博士,教授,研究方向:模式識(shí)別與軟件工程。
2016-06-24