基于SolidWorks API的參數(shù)化設計及智能裝配研究

2014-11-19 歐長勁 特種裝備制造與先進加工技術教育

  對機械產品的參數(shù)化設計和智能裝配技術進行了研究,在編程工具VisualC++6.0的開發(fā)環(huán)境下根據(jù)SolidWorksAPI實現(xiàn)對SolidWorks2007的二次開發(fā),采用VisualC++6.0+SQL2001+SolidWorks的技術方案,開發(fā)了某扳手噴霧器各零部件的參數(shù)化建模和智能裝配的插件。此插件提高了設計效率和質量,縮短了設計周期。

  機械產品三維模型的建立是成品設計和后續(xù)仿真優(yōu)化的基礎,為了研究機械產品的結構關系和運動特性,設計者需要創(chuàng)建一系列結構相似,尺寸不同的模型,采用傳統(tǒng)的手動建模和人工裝配,需要耗費大量的時間和精力,而采用三維軟件SolidWorks提供的開發(fā)工具(API),用戶可以建立適合自己需求的應用方案,從而實現(xiàn)參數(shù)化設計和自動裝配的目的,有效地縮短設計周期。下面將采用VisualC++6.0+SQL2001+SolidWorks的技術方案,實現(xiàn)機械產品設計過程中參數(shù)化設計和智能裝配技術。

  1、SolidWorks二次開發(fā)相關技術及實現(xiàn)思路

  1.1、OLE自動化技術

  SolidWorks是圍繞OLE自動化技術設計的,同時它也是SolidWorksAPI構造的基礎。SolidWorks的二次開發(fā)是通過OLE技術實現(xiàn)的,OLE自動化技術,是一種為Windows交互進程通信機制,它讓1個應用程序驅動或自動完成另一個應用程序,實現(xiàn)不同應用程序間可以共享信息資源的技術,將OLE組建暴露出來使之可控制的應用程序,叫做OLE自動化服務器,利用OLE服務器提供的組件對該對象進行控制制作的應用程序,叫做OLE客戶。SolidWorks本身就是OLE自動化服務器,而在SolidWorks提供接口進行開發(fā)得到的插件就是OLE客戶。通過OLE自動化技術,許多面向對象的應用程序可以與SolidWorks鏈接,直接操控SolidWorks,編制用戶化程序滿足設計需要[4]。

  1.2、SolidWorksAPI

  SolidWorks的API又稱為SolidWorks應用程序開發(fā)接口,是為設計人員提供開發(fā)使用的接口[5]34,SolidWorksAPI是1個多層次的樹形網絡結構,其主體結構如圖1所示。SolidWorks提供了幾百個API函數(shù),調用這些基于OLE(對象的嵌入與鏈接)和COM(組件對象技術)的各類對象的方法和屬性,用戶可以使用VB,Delphi,VC等高級語言與其鏈接,建立合適用戶需要的專用功能模塊,這些專用模塊可以生成Dll插件掛載在SolidWorks的菜單下,也可以作為exe程序獨立于Solidworks獨立使用。

  1.3、VisualC++6.0與SolidWorks的成功通信

  VisualC++6.0與SolidWorks通信成功與否,直接決定整個程序功能的實現(xiàn)。VisualC++6.0平臺上對SolidWorks二次開發(fā)的向導是基于ATL技術構建的,ATL(ActiveXTemplateLibrary)是一套類似于MFC的C++模板,使用ATL能夠快速開發(fā)出高效、簡潔的代碼。VisualC++6.0開發(fā)環(huán)境已集成ATL,方便開發(fā)者的調用。當在ATL的開發(fā)環(huán)境中可以看到SolidWorks的標志時,就證明兩者通信成功。

  1.4、數(shù)據(jù)庫的建立與鏈接

  由于程序需要處理大量的數(shù)據(jù),例如存貯各類相關變量參數(shù)和零部件模型等數(shù)據(jù),因此數(shù)據(jù)庫提供的服務變得尤為關鍵。采用開發(fā)簡單的SQL2001作為存儲數(shù)據(jù)的數(shù)據(jù)庫,建立零件模型庫和關系型數(shù)據(jù)庫,分別儲存相關的零部件模型和相關的配合關系,然后VisualC++6.0可以通過相關數(shù)據(jù)控件與其相鏈接,采用ADO的方式來處理數(shù)據(jù)庫中的相關數(shù)據(jù)[5]34。

  結語

  以上對SolidWorks的二次開發(fā)的原理及實現(xiàn)理論作出了簡要論述,以某型號扳手噴霧器為例,設計開發(fā)了其相關零部件參數(shù)化設計建模以及零部件智能裝配的程序,實際證明此開發(fā)思路簡便易行,效果明顯,此程序最大特點是實現(xiàn)了對整個產品設計過程的自動化,極大提高了設計者的工作效率,同時,有助于設計人員了解噴霧器的運動特性并根據(jù)工程的實際要求來確定設計參數(shù),方便設計者對扳手噴霧器機構的結構、運動學關系、噴霧特性等基礎性內容進行深入細致的研究。