基于SolidWorks的參數(shù)化設(shè)計(jì)
2013-05-20 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來源:仿真在線
介紹了SolidWorks軟件的優(yōu)點(diǎn);敘述了以SolidWorks為開發(fā)平臺(tái),應(yīng)用VB進(jìn)行參數(shù)化設(shè)計(jì)的兩種方法- 尺寸驅(qū)動(dòng)法和程序驅(qū)動(dòng)法。
作者: 董西軍 來源: 萬方數(shù)據(jù)
關(guān)鍵字: SolidWorks 參數(shù)化設(shè)計(jì) 尺寸驅(qū)動(dòng) 程序驅(qū)動(dòng)
0 引言
由于通用CAD軟件注重功能的全面性,幾乎涵蓋了制造業(yè)的方方面面,但是專業(yè)針對(duì)性差,并不能很好地滿足特定企業(yè)的設(shè)計(jì)要求,所以在通用CAD軟件的基礎(chǔ)上,結(jié)合企業(yè)實(shí)際需要進(jìn)行二次開發(fā)、已經(jīng)成為CAD取得實(shí)效的關(guān)鍵環(huán)節(jié),甚至可以說,沒有進(jìn)行二次開發(fā),實(shí)現(xiàn)用戶化、本地化的CAD就不能在真正意義上發(fā)揮效能。通用CAD的二次開發(fā)性能優(yōu)劣,已經(jīng)成為評(píng)價(jià)該CAD軟件的重要指標(biāo),二次開發(fā)已經(jīng)被視為第4代CAD系統(tǒng)的一個(gè)特色。
CAD二次開發(fā)的目的,在于提高通用 CAD的針對(duì)性,以便更好地滿足企業(yè)設(shè)計(jì)要求,更好地發(fā)揮CAD的效能。通過對(duì)CAD軟件的二次開發(fā),可使CAD軟件實(shí)現(xiàn)專業(yè)化、本地化。
1 SolidWorks簡(jiǎn)介
SolidWorks是美國(guó)SolidWorks公司開發(fā)的出色的三維參數(shù)化特征造型CA])軟件,其技術(shù)內(nèi)核基于先進(jìn)的Parasolid圖形語言平臺(tái)。SolidWorks自從1995年11月問世以來,已成為微機(jī)平臺(tái)上的三維機(jī)械設(shè)計(jì)CAD軟件的主流產(chǎn)品,在企業(yè)中得到了廣泛的應(yīng)用。本文選用SoildWorks作為系統(tǒng)開發(fā)平臺(tái),主要是基于SolidWorks在以下幾方面的突出優(yōu)點(diǎn):
·強(qiáng)大的參數(shù)化特征造型功能。SolidWorks的參數(shù)化和特征造型技術(shù),能方便、快捷地創(chuàng)建幾乎任何復(fù)雜形狀的實(shí)體,可以滿足絕大部分的工程設(shè)計(jì)的需要;SolidWorks采用統(tǒng)一的內(nèi)部數(shù)據(jù)庫,全數(shù)據(jù)相關(guān),任何一個(gè)功能模塊中對(duì)零件的修改都會(huì)自動(dòng)反映到其他模塊中;
·界面友好,操作簡(jiǎn)便。SolidWorks采用典型的Windows軟件風(fēng)格,在所有的國(guó)外三維CAI)軟件中提供了最優(yōu)秀的中文支持;
·擁有開放的體系結(jié)構(gòu)。SolidWorks擁有豐富的第三方支持軟件,提供了開放的數(shù)據(jù)結(jié)構(gòu)和方便的二次開發(fā)環(huán)境,為企業(yè)今后廣泛的工程應(yīng)用提供了良好的基礎(chǔ)平臺(tái);
·優(yōu)異的性能價(jià)格比。SolidWorks是一款中端CAD系統(tǒng),企業(yè)使用SolidWorks可以花較小的投人滿足設(shè)計(jì)的要求,因此SolidWorks特別適合于中小企業(yè)的產(chǎn)品設(shè)計(jì)。
2 VB開發(fā)SolidWorks的參數(shù)化程序編制
根據(jù)特定的設(shè)計(jì)要求,用VB對(duì)SolidWorks進(jìn)行二次開發(fā),創(chuàng)建SolidWorks插件的一般方法是:在 VB中創(chuàng)建ActiveX DLL工程,根據(jù)開發(fā)的具體功能要求編制相應(yīng)的程序代碼和設(shè)計(jì)用戶界面,并在工程中添加對(duì)SolidWorks類庫的引用,將應(yīng)用程序編譯連接為DLL文件。該文件在注冊(cè)過以后,就可以作為SolidWorks的插件使用了。用戶可以根據(jù)具體的設(shè)計(jì)要求開發(fā)出若干插件,每一個(gè)插件的功能又由至少一個(gè)菜單條嵌人到SolidWorks系統(tǒng)中,每一個(gè)菜單條包括若干菜單項(xiàng),每個(gè)菜單項(xiàng)對(duì)應(yīng)一個(gè)功能模塊。這樣的層次體系反映了二次開發(fā)程序編制的過程,也是一個(gè)自頂向下和自底而上結(jié)合的過程,先根據(jù)功能要求分析確定總體結(jié)構(gòu),再從底層各功能模塊的程序編制開始實(shí)施。
參數(shù)化程序的編制,就是要實(shí)現(xiàn)特定零部件的參數(shù)化設(shè)計(jì),并在SolidWorks中建立專用設(shè)計(jì)環(huán)境。編程實(shí)現(xiàn)零部件參數(shù)化的方式有尺寸驅(qū)動(dòng)法和程序驅(qū)動(dòng)法兩種,在基于SolidWorks的二次開發(fā)中其程序編制方法是不同的。
尺寸驅(qū)動(dòng)法程序編制:由于尺寸驅(qū)動(dòng)法通過修改CAD系統(tǒng)建模時(shí)自動(dòng)生成的設(shè)計(jì)變量來驅(qū)動(dòng)零件,所以程序的代碼非常簡(jiǎn)捷。SolidWorks在零件建模時(shí),將根據(jù)建模的過程自動(dòng)創(chuàng)建設(shè)計(jì)變量,并給每個(gè)變量賦以相應(yīng)的名稱,尺寸驅(qū)動(dòng)程序只需修改這些變量的值。這種程序的算法流程如圖1所示。
以下是一段尺寸驅(qū)動(dòng)法參數(shù)化程序的代碼:
尺寸驅(qū)動(dòng)參數(shù)化通常處理形狀結(jié)構(gòu)相同但尺寸不同的零件,運(yùn)行速度快,效率高,但一般缺乏變型設(shè)計(jì)能力,零件如有局部結(jié)構(gòu)差異,則需另建模型進(jìn)行驅(qū)動(dòng),對(duì)于系統(tǒng)無法生成設(shè)計(jì)變量的參數(shù)也不能處理,而且這種方法對(duì)建模過程有嚴(yán)格的要求,必須生成與零件實(shí)際參數(shù)相應(yīng)的設(shè)計(jì)變量,并且建模方法需與零件的設(shè)計(jì)要求相吻合。
程序驅(qū)動(dòng)法程序編制:程序驅(qū)動(dòng)法直接通過程序調(diào)用API對(duì)象繪制圖形,圖形完全由程序生成,所以代碼量大,程序編制難度較大,而且每次生成零件時(shí)都需運(yùn)行一次程序,速度不如尺寸驅(qū)動(dòng)法快。但由于它可以處理非設(shè)計(jì)變量的參數(shù),具備變型設(shè)計(jì)的能力,所以往往用作尺寸驅(qū)動(dòng)法的輔助手段。
一個(gè)采用程序驅(qū)動(dòng)法的程序,實(shí)際上就是一個(gè)繪圖程序。其參數(shù)化的途徑是根據(jù)用戶指定的值或程序計(jì)算出的值作為API對(duì)象的函數(shù)變量的值,并按該值繪制出圖形。理論上這種方法可以進(jìn)行所有零件的參數(shù)化驅(qū)動(dòng),對(duì)于尺寸驅(qū)動(dòng)法無法處理的問題可以用該方法解決。以下是一段程序驅(qū)動(dòng)法的程序代碼:
由上可見,這種方法程序的代碼相當(dāng)長(zhǎng),雖然SolidWorks有宏錄制功能,減輕了編程的負(fù)擔(dān),但仍不如尺寸驅(qū)動(dòng)法簡(jiǎn)捷。但這種程序具備一定的變型設(shè)計(jì)能力,如上述程序,若程序給 i賦0值或非0值,將決定是否執(zhí)行cutl子例程,構(gòu)造的零件也就會(huì)不同,如圖2所示。
3 小結(jié)
以SolidWorks為平臺(tái),闡述了SolidWorks參數(shù)化設(shè)計(jì)的相關(guān)技術(shù),并且以VB作為編程語言,詳細(xì)說明了尺寸驅(qū)動(dòng)法和程序驅(qū)動(dòng)法兩種參數(shù)化設(shè)計(jì)的程序編制方法。
相關(guān)標(biāo)簽搜索:基于SolidWorks的參數(shù)化設(shè)計(jì) SolidWorks培訓(xùn)課程 SolidWorks設(shè)計(jì)教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計(jì)工業(yè)設(shè)計(jì)的應(yīng)用 SolidWorks基礎(chǔ)知識(shí) SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn)