基于VB語(yǔ)言對SolidWorks參數化設計的二次開(kāi)發(fā)

2014-11-19 索超 天津工業(yè)大學(xué)機械工程學(xué)院

  針對于諸多零件設計中存在的圖形難于修改,設計柔性差等問(wèn)題,設計開(kāi)發(fā)了基于SolidWorks軟件的參數化設計系統。本系統是基于VB語(yǔ)言對SolidWorks軟件進(jìn)行的二次開(kāi)發(fā)。實(shí)驗證明,該系統可以讓設計人員更方便快捷對部分零件進(jìn)行設計開(kāi)發(fā),一定程度上節省了生產(chǎn)過(guò)程中的設計時(shí)間和開(kāi)發(fā)成本。

  引言

  隨著(zhù)數字信息化進(jìn)程的快速推進(jìn),如今三維CAD技術(shù)在越來(lái)越多的企業(yè)當中得到運用。為了降低在設計生產(chǎn)中的成本,縮短設計周期,增強

  企業(yè)競爭力,三維參數化技術(shù)隨之應聲,它憑借更貼近現代概念的設計以及并行設計的思想得到了越來(lái)越多工程設計人員的青睞,設計人員可以在早期的開(kāi)發(fā)階段運用三維參數化技術(shù)快速模擬零件的三維草圖,再通過(guò)數值輸入對其形狀及大小進(jìn)行約束,繪制精確的零件圖,并將零件放入零件庫中,方便以后的使用及修改工作。從而大大減少了重復性繪圖的時(shí)間,提高了工作效率。

  本文以三維CAD軟件SolidWorks為平臺對參數化二次開(kāi)發(fā)的方法以及關(guān)鍵技術(shù)進(jìn)行了討論,通過(guò)例舉實(shí)例來(lái)詳細介紹其二次開(kāi)發(fā)的整個(gè)過(guò)程。

1、SolidWorks二次開(kāi)發(fā)基本原理

  1.1、SolidWorks二次開(kāi)發(fā)的兩種形式

  任何支持OLE( ObjectLinking and Embedding , 對象連接與嵌入) 和COM(Component Object Model,組建對象模型)接口的編程語(yǔ)言都可以作為SolidWorks的開(kāi)發(fā)工具。SolidWorks二次開(kāi)發(fā)分為兩種:一種是基于自動(dòng)化技術(shù)的,可以開(kāi)發(fā)EXE形式的應用程序。另一種開(kāi)發(fā)形式是基于COM的,這種技術(shù)可以使用最多的SolidWorks API(應用程序編程接口)。API可控制SolidWorks會(huì )話(huà)的方式,生成*.dll格式的文件,也就是SolidWorks的插件。

  1.2、SolidWorks二次開(kāi)發(fā)的對象

SolidWorks API 對象梗概圖

圖1 SolidWorks API 對象梗概圖

  從圖1 中可以看到SolidWorks 對象包括ModelDoc、Environment、Frame、 Attribute Def、Modeler、SW Property Sheet以及一些其他對象。SldWorks是SolidWorks API中的最高對象,它能夠直接或間接地訪(fǎng)問(wèn)SolidWorks API中的所有其他對象。利用SldWorks可以實(shí)現程序的最基本的操作,如創(chuàng )建、打開(kāi)、關(guān)閉、結束文件、重排圖標和窗口、設置當前的激活文件、生成屬性定義,也可以對SolidWorks的系統環(huán)境進(jìn)行設置。SldWorks中所包含的對象分為若干層,每一層又包括若干個(gè)對象,每一個(gè)對象都有自己的屬性、方法和事件。這些OLE對象涵蓋了SolidWorks的全部數據模型,通過(guò)對SolidWorks的OLE對象屬性的設置和對OLE對象方法的調用,就可以在用戶(hù)自己開(kāi)發(fā)的系統中實(shí)現與SolidWorks相同的功能。

  1.3、SolidWorks二次開(kāi)發(fā)的工具

  SolidWorks的二次開(kāi)發(fā)工具較多,用戶(hù)可以根據自身的條件及工具的特點(diǎn),選擇一種合適的開(kāi)發(fā)工具。SolidWorks主要的二次開(kāi)發(fā)工具有:Delphi、Visual C ++ 6.0、Visual Basic 6.0、VBA等。相比較而言,Visual Basic編程語(yǔ)言具有不可替代的簡(jiǎn)單易用性和真正的“所見(jiàn)即所得”特性為廣大工程設計人員所接受。

2、SolidWorks二次開(kāi)發(fā)的方法及流程

  2.1、SolidWorks二次開(kāi)發(fā)的方法

  本文主要介紹基于VB語(yǔ)言的SolidWorks二次開(kāi)發(fā),以VB語(yǔ)言對其進(jìn)行二次開(kāi)發(fā)又可以通過(guò)兩種形式,一種是語(yǔ)言的完全編程開(kāi)發(fā),另一種是設計變量和編程語(yǔ)言相結合的開(kāi)發(fā)形式。前者需要設計人員通過(guò)API接口,對要表述的所有對象進(jìn)行程序編寫(xiě),這樣可以實(shí)現三維圖形的程序驅動(dòng),并且能精確構造復雜尺寸的三維造型。但是這種開(kāi)發(fā)形式要求設計者精通編程語(yǔ)言,同時(shí),由于所有對象都需要人工表述定義,所以存在設計周期較長(cháng),工作量較重,開(kāi)發(fā)效率不高的問(wèn)題。后者主要是以SolidWorks中提供的宏的錄制功能作為工具。在編寫(xiě)程序時(shí),把通過(guò)宏操作獲得的代碼用做工程基礎,然后對其進(jìn)行適當的編輯修改,再添加到應用程序的代碼中。這樣,通過(guò)宏操作和交互式的執行任務(wù),不僅可以提高編程效率,而且更便于工程設計人員所使用。憑借后者在開(kāi)發(fā)過(guò)程中所體現出的明顯優(yōu)點(diǎn),這種開(kāi)發(fā)方式也成為了SolidWorks二次開(kāi)發(fā)的主旋律,以下針對該種方法來(lái)詳細說(shuō)明SolidWorks二次開(kāi)發(fā)的整個(gè)過(guò)程。

4、結束語(yǔ)

  設計人員通過(guò)對SolidWorks的二次開(kāi)發(fā),可以根據本地的具體問(wèn)題,設計開(kāi)發(fā)出適用于工作需要的應用程序,建立起適合用戶(hù)需要、專(zhuān)用的SolidWorks功能模塊,運用這項技術(shù)可以簡(jiǎn)化設計工作,縮短產(chǎn)品開(kāi)發(fā)周期,提高產(chǎn)品開(kāi)發(fā)效率,而且應用范圍廣泛,為眾多領(lǐng)域的研發(fā)設計工作指明了方向。