張郭勇
(中國(guó)西南電子技術(shù)研究所,四川 成都 610036)
?
基于SolidWorks的產(chǎn)品零部件個(gè)性化設(shè)計(jì)
張郭勇
(中國(guó)西南電子技術(shù)研究所,四川 成都 610036)
摘要:針對(duì)工業(yè)產(chǎn)品的零部件個(gè)性化設(shè)計(jì)展開(kāi)了研究,提出了一種零部件個(gè)性化設(shè)計(jì)技術(shù)方案和實(shí)現(xiàn)方法?;趨?shù)化設(shè)計(jì)思想,利用數(shù)據(jù)庫(kù)技術(shù)將個(gè)性化零部件參數(shù)與產(chǎn)品數(shù)據(jù)關(guān)聯(lián),自動(dòng)生成所需零部件規(guī)格參數(shù),并自動(dòng)更新模型。研究中以SolidWorks和Access為支撐平臺(tái),以VC++6.0為二次開(kāi)發(fā)工具,針對(duì)床頭柜外形和把手外觀進(jìn)行了設(shè)計(jì),開(kāi)發(fā)了個(gè)性化設(shè)計(jì)平臺(tái),實(shí)現(xiàn)了預(yù)期功能。
關(guān)鍵詞:個(gè)性化設(shè)計(jì);參數(shù)化設(shè)計(jì);SolidWorks;二次開(kāi)發(fā);數(shù)字化設(shè)計(jì)
工業(yè)革命之后,依靠以標(biāo)準(zhǔn)化為基礎(chǔ)的大批量機(jī)器生產(chǎn)模式迅速占領(lǐng)市場(chǎng),滿足了消費(fèi)者對(duì)產(chǎn)品的大量需求。然而,隨著科技的迅猛發(fā)展,產(chǎn)品的生命周期越來(lái)越短,消費(fèi)需求也正在迅速地變化和分化[1]。隨著信息化時(shí)代的到來(lái),人們對(duì)于產(chǎn)品設(shè)計(jì)提出了更高的要求,標(biāo)準(zhǔn)化的設(shè)計(jì)已不能滿足消費(fèi)者個(gè)性化的需求。企業(yè)要想贏得市場(chǎng),就應(yīng)加強(qiáng)對(duì)消費(fèi)者需求的理解,對(duì)多元化需求做出有力的對(duì)應(yīng),開(kāi)發(fā)出高效、可行的產(chǎn)品個(gè)性化設(shè)計(jì)平臺(tái),以個(gè)性化的產(chǎn)品回饋社會(huì),才能更好地營(yíng)造并保持市場(chǎng)優(yōu)勢(shì)[2]。目前,產(chǎn)品個(gè)性化設(shè)計(jì)的主要思路是在定型產(chǎn)品的基礎(chǔ)上針對(duì)某些個(gè)性化零部件結(jié)合消費(fèi)者意愿進(jìn)行外形、外觀的修改,以滿足消費(fèi)者的個(gè)人喜好。對(duì)于應(yīng)用上述思路并且結(jié)合三維設(shè)計(jì)軟件開(kāi)發(fā)的產(chǎn)品零部件個(gè)性化設(shè)計(jì)平臺(tái)還比較少見(jiàn)。
基于此,提出以SolidWorks和Access為支撐平臺(tái),利用VC++6.0對(duì)SolidWorks進(jìn)行二次開(kāi)發(fā),開(kāi)發(fā)一種使得產(chǎn)品外形尺寸參數(shù)化設(shè)計(jì),個(gè)性化零部件自動(dòng)更換及其外觀參數(shù)任意選擇的個(gè)性化設(shè)計(jì)平臺(tái)。
1SolidWorks二次開(kāi)發(fā)關(guān)鍵技術(shù)和方法
1.1SolidWorks二次開(kāi)發(fā)的關(guān)鍵技術(shù)
SolidWorks(以下簡(jiǎn)稱(chēng)SW)二次開(kāi)發(fā)的技術(shù)主要有2種:1)基于OLE技術(shù),可以開(kāi)發(fā)exe形式的程序;2)基于COM技術(shù),可以生成*.dll格式的文件,作為SW的插件在SW中被加載運(yùn)用[3]。本文研究采用第2種開(kāi)發(fā)技術(shù)。
1.2使用ATL對(duì)象向?qū)нM(jìn)行二次開(kāi)發(fā)
ATL即活動(dòng)模板庫(kù),支持利用C++語(yǔ)言編寫(xiě)ASP代碼以及其他ActiveX程序。通過(guò)活動(dòng)模板庫(kù),可以建立COM組件,然后通過(guò)ASP頁(yè)面中的腳本對(duì)COM對(duì)象進(jìn)行調(diào)用[4]。
利用ATL開(kāi)發(fā)SW之前,應(yīng)將SW API SDK解壓縮并根據(jù)向?qū)О惭b,然后在VC++ 6.0中選擇ATL COM Wizard創(chuàng)建動(dòng)態(tài)鏈接庫(kù),加入相關(guān)代碼,編譯生成動(dòng)態(tài)鏈接庫(kù)(*.dll)文件。此方式可在SW插件管理器中生成插件,并以菜單形式自動(dòng)添加新建或打開(kāi)的視圖中,以完成特定功能。
1.3數(shù)據(jù)庫(kù)的建立和鏈接
本文需要使用個(gè)性化零部件的幾何、屬性等數(shù)據(jù),在研究中運(yùn)用數(shù)據(jù)庫(kù)可以使對(duì)數(shù)據(jù)的訪問(wèn)和操作更加安全方便。在本文中數(shù)據(jù)庫(kù)采用Access,使用ODBC接口訪問(wèn)數(shù)據(jù)庫(kù)。
ODBC接口通過(guò)操作平臺(tái)的驅(qū)動(dòng)程序與應(yīng)用程序的交互來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,避免了在應(yīng)用程序中直接調(diào)用與數(shù)據(jù)庫(kù)相關(guān)的操作,從而使數(shù)據(jù)庫(kù)保持了獨(dú)立性[5]。
2個(gè)性化設(shè)計(jì)平臺(tái)總體結(jié)構(gòu)
本文開(kāi)發(fā)的個(gè)性化設(shè)計(jì)平臺(tái)主要功能為實(shí)現(xiàn)產(chǎn)品外形尺寸參數(shù)化設(shè)計(jì),個(gè)性化零部件自動(dòng)更換及其外觀參數(shù)任意選擇,因此,個(gè)性化設(shè)計(jì)平臺(tái)由操作界面、參數(shù)化建模和數(shù)據(jù)庫(kù)等三大部分組成,各部分的運(yùn)行及其相互間的聯(lián)動(dòng)由后臺(tái)程序完成,后臺(tái)程序由各專(zhuān)用功能類(lèi)組成。平臺(tái)操作界面主要為人機(jī)交互界面,集成了個(gè)性化設(shè)計(jì)的全部功能。參數(shù)化建模主要實(shí)現(xiàn)零部件參數(shù)的更改及模型的建立。數(shù)據(jù)庫(kù)主要存儲(chǔ)個(gè)性化零件規(guī)格及其幾何、屬性等數(shù)據(jù),以方便平臺(tái)調(diào)用。平臺(tái)總體結(jié)構(gòu)如圖1所示。
圖1 平臺(tái)總體結(jié)構(gòu)圖
3零部件參數(shù)化建模
3.1SW三維系統(tǒng)參數(shù)層級(jí)劃分
零部件三維參數(shù)化設(shè)計(jì)所涉及的參數(shù)很多,如果不對(duì)參數(shù)進(jìn)行分級(jí)處理,就會(huì)出現(xiàn)一些用戶(hù)不需要的參數(shù)也由用戶(hù)來(lái)修改,使用起來(lái)很不方便。為此本文采用參數(shù)分級(jí)手段來(lái)簡(jiǎn)化參數(shù),把用戶(hù)不關(guān)心的尺寸參數(shù)封裝起來(lái),并將參數(shù)劃分為主動(dòng)參數(shù)、從動(dòng)參數(shù)和通用參數(shù)等3種類(lèi)型[6]。
主動(dòng)參數(shù)是指系統(tǒng)提供給用戶(hù)并允許用戶(hù)修改的參數(shù);從動(dòng)參數(shù)是指在設(shè)計(jì)過(guò)程中由SW方程式計(jì)算得到的參數(shù);通用參數(shù)是指通過(guò)查閱相關(guān)資料得到的標(biāo)準(zhǔn)參數(shù),也就是一般不需要變化的參數(shù)。3種參數(shù)之間可以形成某種函數(shù)關(guān)系。
3.2基于SW的零部件參數(shù)化建模方法
3.2.1程序驅(qū)動(dòng)直接建模
程序驅(qū)動(dòng)直接建模是指開(kāi)發(fā)程序軟件與SW建立聯(lián)系,程序調(diào)用SW API函數(shù),設(shè)置模型的主動(dòng)參數(shù),直接建立零件并且自動(dòng)裝配,其流程如圖2所示。
圖2 程序直接驅(qū)動(dòng)建模流程圖
3.2.2關(guān)聯(lián)驅(qū)動(dòng)建模
關(guān)聯(lián)驅(qū)動(dòng)建模是指首先在SW中建好模型,建立主動(dòng)參數(shù)和從動(dòng)參數(shù)之間的方程式關(guān)系,然后編寫(xiě)程序驅(qū)動(dòng)主動(dòng)參數(shù),使從動(dòng)參數(shù)關(guān)聯(lián)改變,最后生成用戶(hù)所需的模型,其流程如圖3所示。本文基于第2種參數(shù)化建模方法,提出了一種產(chǎn)品零部件個(gè)性化設(shè)計(jì)方案。
圖3 關(guān)聯(lián)驅(qū)動(dòng)建模流程圖
4零部件個(gè)性化設(shè)計(jì)思路
零部件個(gè)性化設(shè)計(jì)主要包括零部件外形尺寸變化、個(gè)性化零件自動(dòng)更換及其外觀參數(shù)自由選擇。本文通過(guò)VC++6.0開(kāi)發(fā)一個(gè)集成上述3種功能的個(gè)性化設(shè)計(jì)平臺(tái),功能由編寫(xiě)的專(zhuān)用類(lèi)來(lái)實(shí)現(xiàn),并且將此平臺(tái)通過(guò)插件的形式與SW結(jié)合起來(lái),方便用戶(hù)的使用。主要設(shè)計(jì)流程為啟動(dòng)平臺(tái),選擇產(chǎn)品,設(shè)置參數(shù),經(jīng)過(guò)程序后臺(tái)優(yōu)化設(shè)計(jì),得到最終想要的結(jié)果,其設(shè)計(jì)流程如圖4所示。
圖4 個(gè)性化設(shè)計(jì)流程圖
外形尺寸變化主要是通過(guò)在零件建模和裝配過(guò)程中設(shè)置主動(dòng)尺寸、從動(dòng)尺寸以及二者之間的方程式關(guān)系。通過(guò)平臺(tái)調(diào)用SW API函數(shù)IModelDoc2::IParameter()和Dimension::SetSystemValue2(),驅(qū)動(dòng)主動(dòng)尺寸,實(shí)現(xiàn)外形尺寸關(guān)聯(lián)變化。
個(gè)性化零件大多屬于非標(biāo)準(zhǔn)件,所以在其更換前應(yīng)完成零件的設(shè)計(jì),將其存儲(chǔ)于零件庫(kù)中,并將零件的個(gè)性屬性、完全路徑等參數(shù)存儲(chǔ)在Access數(shù)據(jù)庫(kù)中。個(gè)性化零件自動(dòng)更換主要由SW裝配功能中的“替換零/部件”子功能來(lái)實(shí)現(xiàn),關(guān)鍵技術(shù)是遍歷技術(shù)。平臺(tái)通過(guò)遍歷FeatureManager設(shè)計(jì)樹(shù),來(lái)定位需要更換的零件,并調(diào)用SW API函數(shù)AssemBlyDoc::ReplaceComponents(),驅(qū)動(dòng)“替換零/部件”功能,完成零件的更換。在更換完畢后,再調(diào)用函數(shù)EquationMgr::Add2()和EquationMgr::put_Equation(),設(shè)置個(gè)性化零件從動(dòng)尺寸與裝配體主動(dòng)尺寸之間的方程式關(guān)系,實(shí)現(xiàn)裝配尺寸關(guān)聯(lián)。
個(gè)性化零部件外觀參數(shù)自由選擇主要是將MFC顏色選擇對(duì)話框集成在個(gè)性化設(shè)計(jì)平臺(tái)上,用戶(hù)根據(jù)個(gè)人喜好選擇顏色,并通過(guò)平臺(tái)調(diào)用函數(shù)Configuration::SetColor(),驅(qū)動(dòng)SW設(shè)置該零件的顏色屬性配置,實(shí)現(xiàn)顏色的變換。上述3項(xiàng)功能既可以單獨(dú)實(shí)現(xiàn),也可以同時(shí)實(shí)現(xiàn)。
5設(shè)計(jì)實(shí)例分析
本文以床頭柜的個(gè)性化設(shè)計(jì)為例,說(shuō)明如何按照上述方法實(shí)現(xiàn)零部件的個(gè)性化設(shè)計(jì)。床頭柜的外形參數(shù)主要為其長(zhǎng)、寬、高、板材厚度以及抽屜尺寸,個(gè)性化零部件為抽屜的把手。根據(jù)上述方法將實(shí)現(xiàn)尺寸的參數(shù)化設(shè)計(jì),把手自動(dòng)更換及其顏色的自由選擇。
上述功能的實(shí)現(xiàn)主要由CSwObj(VC++與SW連接類(lèi))、CSwTestDlg(平臺(tái)界面操作類(lèi))、CMyRecordset(VC++與Access數(shù)據(jù)庫(kù)連接類(lèi))和CConfig(個(gè)性化功能操作類(lèi))等4個(gè)類(lèi)實(shí)現(xiàn)。
啟動(dòng)SW,運(yùn)行平臺(tái),平臺(tái)界面如圖5所示。選擇并打開(kāi)模型,視圖中出現(xiàn)設(shè)計(jì)前的床頭柜模型(見(jiàn)圖6)。模型中把手為圓把手,把手顏色為黑金屬色。在“更換把手規(guī)格”界面中選擇方把手,確定后把手自動(dòng)更換。在“設(shè)置把手顏色”界面中選擇紅色,確定后把手顏色變?yōu)榧t色。在方程式文本框中輸入把手配合長(zhǎng)度與板材厚度之間的方程式,點(diǎn)擊“添加方程式”按鈕,方程式即添加成功。在尺寸參數(shù)設(shè)置欄中輸入設(shè)計(jì)所需參數(shù)后,點(diǎn)擊“尺寸驅(qū)動(dòng)”按鈕,模型自動(dòng)變化,得到想要的個(gè)性化設(shè)計(jì)結(jié)果,設(shè)計(jì)后模型如圖7所示。
圖5 個(gè)性化設(shè)計(jì)平臺(tái)界面
圖6 設(shè)計(jì)前床頭柜模型 圖7 個(gè)性化設(shè)計(jì)后的模型
6結(jié)語(yǔ)
基于SW平臺(tái),使用VC++6.0對(duì)SW進(jìn)行了二次開(kāi)發(fā),并結(jié)合Access數(shù)據(jù)庫(kù),編寫(xiě)了針對(duì)床頭柜外形參數(shù)以及把手規(guī)格和外觀參數(shù)的個(gè)性化設(shè)計(jì)平臺(tái),實(shí)現(xiàn)了本文提出的個(gè)性化設(shè)計(jì)的方法,對(duì)于將個(gè)性化設(shè)計(jì)與消費(fèi)者需求結(jié)合起來(lái)開(kāi)展了有意義的嘗試,提高企業(yè)產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力具有重要意義。
參考文獻(xiàn)
[1] 巢琳芝,韓春明.個(gè)性化辦公家具設(shè)計(jì)研究[D].合肥:合肥工業(yè)大學(xué),2005.
[2] 李勇.論產(chǎn)品設(shè)計(jì)中的標(biāo)準(zhǔn)化與個(gè)性化[J].成都理工大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2003,11(4):34-36.
[3] 王文波,涂海寧,熊星君.SolidWorks 2008二次開(kāi)發(fā)基礎(chǔ)與實(shí)例(VC++)[M].北京:清華大學(xué)出版社,2009.
[4] 百度百科.ATL[DB/OL].[2004-05-31]. http://baike.baidu.com/view/370167.htm.
[5] 梁建武,陳英.Visual C++程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與實(shí)訓(xùn)[M].北京:中國(guó)水電出版社,2006.
[6] 龔春全,嚴(yán)忠勝,王天馳,等.基于SolidWorks的磨床零部件三維參數(shù)化CAD系統(tǒng)[J].制造業(yè)信息化,2009(2):49-51.
責(zé)任編輯鄭練
The Individuation Design for Components of Products based on SolidWorks
ZHANG Guoyong
(Southwest China Institute of Electronic Technology, Chengdu 610036, China)
Abstract:By researching the individuation design for parts of the industrial products, a technical solution and an implementation method are proposed. Based on the idea of the parametric design, and using database technology, the parameters of personalized parts are associated with the product data, then the required specification parameters of the parts are automatically generated, and the model is automatically updated. In accordance with the design on the appearance of bedside cabinet and handle, the study used SolidWorks and Access as the support platform, and used VC++6.0 as the re-development tool, so that the personalized design platform is developed. Finally, it realizes the expected function.
Key words:individuation design, parametric design, SolidWorks, re-development, digitization design
收稿日期:2015-09-18
作者簡(jiǎn)介:張郭勇(1989-),男,助理工程師,碩士,主要從事數(shù)字化工藝、數(shù)字化設(shè)計(jì)等方面的研究。
中圖分類(lèi)號(hào):TP 391.72;TH 122
文獻(xiàn)標(biāo)志碼:A