基于VB的SolidWorks自動裝配技術研究
利用SolidWorks及其提供的API函數,以Visual Basic 6.0為開發環境實現自動裝配過程中面的遍歷技術、選擇命名技術以及添加配合技術,這些技術可完成機械產品CAD的自動裝配。以帶式輸送機驅動滾筒為例具體說明自動裝配過程的程序實現。
1、SolidWorks二次開發技術
1.1、SolidWorks二次開發機理
SolidWorks提供了二次開發接口API 函數(Application Program Interface應用程序接口),能使用戶在該軟件的基礎上開發出新的功能模塊,滿足特定的需求。為了能應用高級語言通過調用API成員與SolidWorks應用程序的對象成員進行交互,首先應聲明和實例化SolidWorks API最高層對象以及聲明和實例化一個文檔對象,一旦應用程序對象和文檔對象被實例化,這些API的對象成員就可以被訪問了。SolidWorks API結構圖如圖1所示。
圖1 SolidWorks API結構圖
在進行SolidWorks二次開發過程中可以通過錄制宏獲得相應的命令函數代碼,宏代碼與Visual Basic代碼十分相似,只需要將其稍作變動就可以應用在Visual Basic 代碼中。因此應用Visual Basic 對SolidWorks進行二次開發有著得天獨厚的優勢。
1.2、SolidWorks二次開發方法
SolidWorks參數化設計主要有3種方法:①利用SolidWorks添加“配置”生成一組新參數下的模型;②在內嵌的Excel工作表中指定參數,通過編輯系列零件表,即可生成系列零件;③通過SolidWorks提供的API接口函數,利用高級語言(如Visual Basic、VisualC++、Delphi等)編寫相應程序實現參數化設計。
利用SolidWorks添加“配置”需要建立大量的模型,然后通過壓縮放置在裝配體中。此種方法在進行零部件自動裝配時會出現整個裝配體失效現象,復雜的裝配體一般不采用此種方法。與添加“配置”相比內嵌Excel表存在明顯優勢,它只需將不同零部件的結構尺寸添加到裝配體生成的Excel表中,但是對于結構比較復雜的零部件需要大量參數,此方法比較適合標準零部件模型的參數化設計。而利用高級語言對SolidWorks進行底層二次開發,可以實現API應用程序接口驅動SolidWorks本身自動建模、裝配。且利用高級語言編輯的人機界面很容易與設計者進行交互,并且通用性、靈活性較好,適合專業CAD系統的參數化設計。
2、自動裝配的關鍵技術
自動裝配過程主要包括以下幾個步驟:新建裝配體、插入零部件;添加配合關系;檢查干涉;完成裝配并保存。自動裝配流程圖如圖2所示。
2.1、新建裝配體、插入零件
開始自動裝配之前需激活SolidWorks文檔、新建裝配體文檔,利用swApp.ActiveDoc來激活SolidWorks文檔,swApp.NewAssembly()新建裝配體文檔。向裝配體插入零部件之前,必須將該零部件裝入內存,否則無法將零部件插入裝配體。首先利用OpenDoc6函數先將要插入的零部件打開即裝入內存,再利用AddComponent函數將零部件添加到裝配體中,然后再利用函數CloseDoc將其關閉并回收到內存空間。
圖2 自動裝配流程圖
4、結論
以VB為開發語言,應用SolidWorks API接口技術對SolidWorks進行二次開發,應用遍歷面技術可實現零部件的精確自動裝配,從而可實現機械產品的參數化設計,提高設計質量和效率。