摘 要: 為了保證機械產(chǎn)品質(zhì)量,提高產(chǎn)品生產(chǎn)效率,滿足不同客戶的特殊需求,對SolidWorks做二次仿真開發(fā),并在此基礎上進一步做協(xié)同開發(fā),實現(xiàn)協(xié)同、仿真合二為一;同時,對后臺大量仿真數(shù)據(jù)采用自動管理和人工管理兩種方式,確保前臺協(xié)同仿真設計系統(tǒng)的高效性、實用性。
關鍵詞: 機械產(chǎn)品;協(xié)同仿真設計;SolidWorks;自動管理;人工管理;齒輪
現(xiàn)今機械產(chǎn)品設計呈現(xiàn)多元化、實用化、信息化的特點,需要提供新的工作環(huán)境來滿足這種變化;傳統(tǒng)的機械產(chǎn)品生產(chǎn)從設計到原型生產(chǎn)、測試需要花費很多時間,開發(fā)周期長,而且各個環(huán)節(jié)之間缺乏信息溝通,常導致設計人員之間的合作不協(xié)調(diào)。隨著計算機技術、網(wǎng)絡技術、信息技術的發(fā)展,產(chǎn)品協(xié)同仿真設計應運而生。協(xié)同仿真設計改變了傳統(tǒng)的生產(chǎn)模式,適應當今紛繁多變的市場需求及團隊合作研發(fā)[1-2]。
1 協(xié)同仿真設計
1.1 協(xié)同仿真設計的必然性
現(xiàn)今的機械設計已經(jīng)演變?yōu)橐粋€多學科、多技術的綜合研究領域,機械產(chǎn)品設計的復雜度越來越高,設計活動越來越強調(diào)基于知識資源的協(xié)同設計,從而克服時間、空間、計算機軟硬件等限制,形成一個便于群體相互交流和合作的“虛擬同地”的共同設計空間,由于協(xié)同設計人員分布于不同的單位及機構,使研發(fā)資金分散開來,降低了各部門的研發(fā)開支。協(xié)同設計可以充分利用機械產(chǎn)品研發(fā)中的不同知識資源,避免大量“知識孤島”的形成,提高知識共享和重用效率,加快創(chuàng)新速度。
另一方面,為了改變原始的工人原型生產(chǎn)弊端,在機械產(chǎn)品的研發(fā)設計階段可以采用仿真設計。仿真設計充分利用各種有效資源實現(xiàn)產(chǎn)品數(shù)字模擬、性能仿真分析,方便、安全地找出產(chǎn)品的錯誤設計,及時改正,保證產(chǎn)品的安全性;研發(fā)過程充分匯集了工程實用信息、產(chǎn)品最新理念信息及其他相關信息,確保產(chǎn)品的實用性和創(chuàng)新性。為了最大限度地提高產(chǎn)品研發(fā)進程,將協(xié)同設計和仿真設計合二為一,協(xié)同仿真設計是目前制造業(yè)的重要應用技術[3]。
1.2 協(xié)同仿真設計的工作原理
分布在不同地點的設計人員通過網(wǎng)絡進行產(chǎn)品協(xié)同仿真設計,生成產(chǎn)品數(shù)字原型,在虛擬環(huán)境中做相關實驗、測試,確保生產(chǎn)進度并保證產(chǎn)品質(zhì)量。協(xié)同工作模式在時間段上可以是同步或異步,在整個協(xié)同設計過程中,用戶可以根據(jù)實際情況選擇使用。
例如,設計者A邀請設計者B對他的設計目標進行操作時,二者可以共同設計目標產(chǎn)品,同時可以進行信息交流,操作過程中需要滿足仿真數(shù)據(jù)與模型顯示同步,所以傳輸數(shù)據(jù)應盡可能少,這里利用VS C#中的ADO.NET和XML的緊密集成、顯示統(tǒng)一作為網(wǎng)絡編程接口的基礎,實現(xiàn)協(xié)同仿真設計開發(fā),如圖1所示。
產(chǎn)品設計過程中產(chǎn)生的大量仿真數(shù)據(jù),需要優(yōu)化管理,否則占用的存儲空間較大,通常在幾百兆至上千兆之間。協(xié)同仿真設計在數(shù)據(jù)管理方面可以采用自動管理和人工管理兩種方式,前者獲取多人設計的最優(yōu)仿真數(shù)據(jù)替換原始數(shù)據(jù),避免數(shù)據(jù)冗余;后者由多人設計組組長來確定是替換原始數(shù)據(jù)還是產(chǎn)生新數(shù)據(jù),確保關鍵數(shù)據(jù)不會丟失。通常情況下,可以采用前者,重要設計時應該指定組長來主控。
2 機械產(chǎn)品的協(xié)同仿真設計
2.1 SolidWorks做二次開發(fā)的先決條件
SolidWorks是一種全新的三維機械仿真軟件,以PDM為平臺,集成CAD/CAE/CAPP/CAM等CAX軟件,提供全參數(shù)化三維實體造型設計;并提供了幾百個API函數(shù),為二次開發(fā)提供了充分空間。基于SolidWorks的二次開發(fā)創(chuàng)建網(wǎng)絡支持的協(xié)同仿真設計系統(tǒng),可以充分利用異地資源,大大提高設計效率,減少設計成本,具有重要的現(xiàn)實意義。
SolidWorks二次開發(fā)可以采用OLE技術或COM技術。利用OLE技術可以開發(fā)獨立的可執(zhí)行程序(*.exe),用戶可以使用來自兩個或多個Windows應用程序的資源來解決復雜的應用課題;基于COM的技術可以使用最多的SolidWorks API函數(shù),生成*.dll格式的文件,加載到主架構應用系統(tǒng)中,形成二次開發(fā)軟件系統(tǒng)的一個插件。一般情況下,在執(zhí)行SolidWorks中的大部分操作時,模塊內(nèi)的DLL比模塊外的EXE運行速度快許多,因此采用COM技術開發(fā)方式比較多。
2.2 SolidWorks協(xié)同仿真組件的二次開發(fā)
SolidWorks同其他CAD軟件一樣,是針對整個制造業(yè)所設計的通用軟件,而非為某個具體行業(yè)和企業(yè)量身訂制,因此不能最大程度地滿足具體用戶的特殊要求,常常要對SolidWorks進行二次開發(fā),實現(xiàn)三維CAD系統(tǒng)的專業(yè)化和本土化。Microsoft推出的Visual C#是一個純面向?qū)ο蟪绦蛟O計語言,其編譯系統(tǒng)提供了與其他軟件系統(tǒng)良好的接口,很適合對SolidWorks進行二次仿真開發(fā),這里采用COM技術對SolidWorks做二次開發(fā)。
2.2.1 仿真組件二次開發(fā)
首先,SolidWorks API需要導入Visual C#編譯系統(tǒng),即執(zhí)行“選擇工具箱項”命令,切換到“COM組件”選項卡導入SLDWorks類庫;接著,在“解決方案資源管理器”中引入命名空間SldWorks,即實現(xiàn)SolidWorks API函數(shù)庫的導入;最后,利用導入的函數(shù)庫資源進行程序編碼,代碼經(jīng)過編譯生成零件仿真組件PartsDLL.dll,將組件PartsDLL再嵌入仿真應用系統(tǒng),則此系統(tǒng)便可以在需要的地方創(chuàng)建PartsDLL中類的對象并進行對象行為的執(zhí)行,由此完成SolidWorks仿真組件二次開發(fā),實現(xiàn)SolidWorks的專業(yè)化、本土化。
2.2.2 基于仿真組件的協(xié)同設計開發(fā)
在專業(yè)化、本土化的SolidWorks仿真組件基礎上再做協(xié)同設計開發(fā),這里協(xié)同模式包括自動管理和人工管理兩種方式。協(xié)同設計過程中要求傳輸數(shù)據(jù)量應盡可能少,這里提出XML增量數(shù)據(jù)傳輸。如設計者A在數(shù)據(jù)模型上做參數(shù)修改,建立與參數(shù)模型相對應的中間變量。此中間變量中包括原標識碼、新標識碼及其他參數(shù),并將此中間變量中機械產(chǎn)品的修改參數(shù)替換數(shù)據(jù)庫中對應記錄的相應參數(shù)。設計者B做協(xié)同設計時,可以讀取設計者A的數(shù)據(jù)庫中記錄的變動元素信息,轉(zhuǎn)換成XML增量文件做數(shù)據(jù)傳輸,接收到本機后從XML增量文件中抽取增量信息,利用原標識碼在數(shù)據(jù)庫中檢索此記錄,若此次是自動管理協(xié)同設計,則將抽取到的增量信息替換檢索記錄中的對應字段;若此次協(xié)同設計很重要,采用人工管理方式,由組長確定是替換原記錄還是產(chǎn)生新記錄[4-6]。然后調(diào)用DLL仿真組件來繪制出三維仿真數(shù)據(jù)模型,并實現(xiàn)產(chǎn)品模型在設計者A與設計者B之間的同步顯示,完成協(xié)同設計的任務,具體實現(xiàn)如圖2所示。
將生成的多個DLL仿真組件及一個DLL協(xié)同設計組件嵌入到仿真應用系統(tǒng)中,實現(xiàn)協(xié)同仿真設計開發(fā),如圖3所示。
2.3 齒輪的協(xié)同仿真設計
齒輪傳動的設計參數(shù)不僅對齒輪的壽命和強度產(chǎn)生影響,而且對齒輪組在嚙合的傳動性能也有很大的影響。例如齒輪模數(shù)大小的變化對齒輪傳動中齒輪振動、潤滑間隙、齒輪嚙合穩(wěn)定性會產(chǎn)生影響,從而影響齒輪的強度及壽命;齒輪螺旋角的大小對于齒輪傳動的扭矩和齒輪的強度產(chǎn)生影響;變位齒的變位系數(shù)的變化直接產(chǎn)生齒輪根切,影響齒輪的傳動。
這里設計者A和設計者B對齒輪模數(shù)做協(xié)同仿真設計,設計者A先對產(chǎn)品做模數(shù)修改并將修改參數(shù)存入數(shù)據(jù)庫,同時利用仿真組件生成三維仿真數(shù)據(jù)模型;設計者B實時從數(shù)據(jù)庫中提取設計者A修改過的參數(shù),生成XML增量文件傳輸?shù)奖緳C,再利用本機仿真組件生成與設計者A相同的三維仿真數(shù)據(jù)模型,實現(xiàn)顯示同步,如圖4所示。
接著,對齒輪做兩方面的仿真分析:(1)靜態(tài)分析。通過調(diào)整齒輪的應變、應力、轉(zhuǎn)矩的參數(shù),找出一組使齒輪具有更好的使用時間和效率的數(shù)據(jù);(2)運動分析。施加不同的阻尼來模仿實際中的效果,找出最優(yōu)阻尼以利于更好地提高齒輪的使用效率。
通常情況下可以采用自動管理方式,若此仿真設計數(shù)據(jù)最優(yōu)則中間變量替換原始數(shù)據(jù),實現(xiàn)數(shù)據(jù)最優(yōu)管理;若原數(shù)據(jù)是階段性的關鍵數(shù)據(jù),則應采用人工管理方式由設計組組長做仿真分析,確定是替換原始數(shù)據(jù)還是產(chǎn)生新數(shù)據(jù),實現(xiàn)關鍵數(shù)據(jù)管理。
協(xié)同仿真設計的引入使設計人員、供應商、制造商和客戶保持緊密聯(lián)系,提高溝通效率,及時匯集多方面信息,快速開發(fā)新產(chǎn)品??墒沁h程協(xié)同設計由于剛剛起步,像其他新興技術一樣還不夠完善,隨著CAD技術、計算機網(wǎng)絡技術、數(shù)據(jù)庫技術及人工智能技術的不斷發(fā)展,遠程協(xié)同設計的內(nèi)容必將越來越豐富,功能越來越強大,所提供的服務也將越來越完善。
參考文獻
[1] 孫林夫.面向網(wǎng)絡化制造的協(xié)同設計技術[J].計算機集成制造系統(tǒng),2005,11(1):1-6.
[2] 張淑慧,劉士軍,張磊,等.網(wǎng)絡化制造平臺發(fā)展現(xiàn)狀與技術趨勢分析[J].計算機工程與應用,2006,18(5):193-197.
[3] 陳純,張申生,張敬誼,等.面向大批量定制產(chǎn)品協(xié)同設計系統(tǒng)研究[J].計算機集成制造系統(tǒng),2003,9(9):788-792.
[4] 吳晨,牛江川,李素娟.ASP.NET 2.0+SQL Server 2005數(shù)據(jù)庫開發(fā)與實例[M].北京:清華大學出版社,2008.
[5] 范丹丹,劉濤.一種基于XML的數(shù)據(jù)庫動態(tài)建模的方法在工程飛行模擬器的應用研究[J].計算機系統(tǒng)應用,2007(12):41-44.
[6] 蔣夏軍,吳慧中,李蔚清.仿真數(shù)據(jù)收集中的實時數(shù)據(jù)庫技術研究[J].系統(tǒng)仿真學報,2005,17(8):1872-1874.