基于VB的SolidWorks自動(dòng)裝配技術(shù)研究

2014-11-19 易炳剛 深圳市特種設(shè)備安全檢驗(yàn)研究院

  利用SolidWorks及其提供的API函數(shù),以Visual Basic 6.0為開發(fā)環(huán)境實(shí)現(xiàn)自動(dòng)裝配過(guò)程中面的遍歷技術(shù)、選擇命名技術(shù)以及添加配合技術(shù),這些技術(shù)可完成機(jī)械產(chǎn)品CAD的自動(dòng)裝配。以帶式輸送機(jī)驅(qū)動(dòng)滾筒為例具體說(shuō)明自動(dòng)裝配過(guò)程的程序?qū)崿F(xiàn)。

1、SolidWorks二次開發(fā)技術(shù)

  1.1、SolidWorks二次開發(fā)機(jī)理

  SolidWorks提供了二次開發(fā)接口API 函數(shù)(Application Program Interface應(yīng)用程序接口),能使用戶在該軟件的基礎(chǔ)上開發(fā)出新的功能模塊,滿足特定的需求。為了能應(yīng)用高級(jí)語(yǔ)言通過(guò)調(diào)用API成員與SolidWorks應(yīng)用程序的對(duì)象成員進(jìn)行交互,首先應(yīng)聲明和實(shí)例化SolidWorks API最高層對(duì)象以及聲明和實(shí)例化一個(gè)文檔對(duì)象,一旦應(yīng)用程序?qū)ο蠛臀臋n對(duì)象被實(shí)例化,這些API的對(duì)象成員就可以被訪問(wèn)了。SolidWorks API結(jié)構(gòu)圖如圖1所示。

SolidWorks API結(jié)構(gòu)圖

圖1 SolidWorks API結(jié)構(gòu)圖

  在進(jìn)行SolidWorks二次開發(fā)過(guò)程中可以通過(guò)錄制宏獲得相應(yīng)的命令函數(shù)代碼,宏代碼與Visual Basic代碼十分相似,只需要將其稍作變動(dòng)就可以應(yīng)用在Visual Basic 代碼中。因此應(yīng)用Visual Basic 對(duì)SolidWorks進(jìn)行二次開發(fā)有著得天獨(dú)厚的優(yōu)勢(shì)。

  1.2、SolidWorks二次開發(fā)方法

  SolidWorks參數(shù)化設(shè)計(jì)主要有3種方法:①利用SolidWorks添加“配置”生成一組新參數(shù)下的模型;②在內(nèi)嵌的Excel工作表中指定參數(shù),通過(guò)編輯系列零件表,即可生成系列零件;③通過(guò)SolidWorks提供的API接口函數(shù),利用高級(jí)語(yǔ)言(如Visual Basic、VisualC++、Delphi等)編寫相應(yīng)程序?qū)崿F(xiàn)參數(shù)化設(shè)計(jì)。

  利用SolidWorks添加“配置”需要建立大量的模型,然后通過(guò)壓縮放置在裝配體中。此種方法在進(jìn)行零部件自動(dòng)裝配時(shí)會(huì)出現(xiàn)整個(gè)裝配體失效現(xiàn)象,復(fù)雜的裝配體一般不采用此種方法。與添加“配置”相比內(nèi)嵌Excel表存在明顯優(yōu)勢(shì),它只需將不同零部件的結(jié)構(gòu)尺寸添加到裝配體生成的Excel表中,但是對(duì)于結(jié)構(gòu)比較復(fù)雜的零部件需要大量參數(shù),此方法比較適合標(biāo)準(zhǔn)零部件模型的參數(shù)化設(shè)計(jì)。而利用高級(jí)語(yǔ)言對(duì)SolidWorks進(jìn)行底層二次開發(fā),可以實(shí)現(xiàn)API應(yīng)用程序接口驅(qū)動(dòng)SolidWorks本身自動(dòng)建模、裝配。且利用高級(jí)語(yǔ)言編輯的人機(jī)界面很容易與設(shè)計(jì)者進(jìn)行交互,并且通用性、靈活性較好,適合專業(yè)CAD系統(tǒng)的參數(shù)化設(shè)計(jì)。

2、自動(dòng)裝配的關(guān)鍵技術(shù)

  自動(dòng)裝配過(guò)程主要包括以下幾個(gè)步驟:新建裝配體、插入零部件;添加配合關(guān)系;檢查干涉;完成裝配并保存。自動(dòng)裝配流程圖如圖2所示。

  2.1、新建裝配體、插入零件

  開始自動(dòng)裝配之前需激活SolidWorks文檔、新建裝配體文檔,利用swApp.ActiveDoc來(lái)激活SolidWorks文檔,swApp.NewAssembly()新建裝配體文檔。向裝配體插入零部件之前,必須將該零部件裝入內(nèi)存,否則無(wú)法將零部件插入裝配體。首先利用OpenDoc6函數(shù)先將要插入的零部件打開即裝入內(nèi)存,再利用AddComponent函數(shù)將零部件添加到裝配體中,然后再利用函數(shù)CloseDoc將其關(guān)閉并回收到內(nèi)存空間。

自動(dòng)裝配流程圖

圖2 自動(dòng)裝配流程圖

4、結(jié)論

  以VB為開發(fā)語(yǔ)言,應(yīng)用SolidWorks API接口技術(shù)對(duì)SolidWorks進(jìn)行二次開發(fā),應(yīng)用遍歷面技術(shù)可實(shí)現(xiàn)零部件的精確自動(dòng)裝配,從而可實(shí)現(xiàn)機(jī)械產(chǎn)品的參數(shù)化設(shè)計(jì),提高設(shè)計(jì)質(zhì)量和效率。