VB開發(fā)SolidWorks實現(xiàn)機(jī)械產(chǎn)品參數(shù)化設(shè)計

2013-05-17  by:廣州有限元分析、培訓(xùn)中心-www.br5w05v.cn  來源:仿真在線

作者: 劉志海*魯青*李桂莉*梁慧斌 來源: 萬方數(shù)據(jù)
關(guān)鍵字: VB SolidWorks 參數(shù)化設(shè)計 ActiveX自動化
SolidWorks是流行的三維設(shè)計軟件,介紹了SolidWorks三維設(shè)計軟件的特點(diǎn)和二次開發(fā)方法,研究了利用VB基于ActiveX Automation技術(shù)對SolidWorks軟件進(jìn)行二次開發(fā)實現(xiàn)參數(shù)化設(shè)計的過程,以及開發(fā)過程中用到的工程數(shù)據(jù)庫訪問技術(shù),最后以滾動軸承為例進(jìn)行了驗證,實現(xiàn)了機(jī)械產(chǎn)品的參數(shù)化設(shè)計。

1 SolidWorks軟件的開發(fā)方法
   
SolidWorks軟件是世界上第1個基于Windows開發(fā)的三維CAD系統(tǒng),是目前市場上所見到的三維CAD解決方案中設(shè)計過程最簡便、最方便的三維機(jī)械產(chǎn)品設(shè)計軟件。SolidWorks提供了幾百個功能強(qiáng)大、免費(fèi)的API,應(yīng)用程序接口)函數(shù),以方便用戶根據(jù)需要進(jìn)行二次開發(fā)。API函數(shù)是OLE(對象鏈接或嵌人)和COM(組件對象模型)的接口,SolidWorks API是一個自上而下多層次的樹形網(wǎng)絡(luò)結(jié)構(gòu),每一層又包括若干個對象,其部分組織結(jié)構(gòu)如圖l所示,最頂層是應(yīng)用程序級對象SldWorks,該對象中封裝了很多方法和屬性,在sldWorks對象下面又定義了若干個子類,如Environment、Frame,每個對象又有自己的屬性、方法和事件。在這些接口對象中封裝的有關(guān)方法和屬性,涵蓋了全部的SolidWorks數(shù)據(jù)模型,用戶通過客戶應(yīng)用程序?qū)@些API對象及其方法和屬性的操作,實現(xiàn)對SolidWorks的功能定制與擴(kuò)展。在Solidworks中加入ActiveX自動化服務(wù)功能(ActiveX Automation Server Capability),用戶可以通過支持ActiveX的可視化編程工具如Visual Basic、Visu.al Basic for Applications(VBA)、Visual Basic.NET、Visual C++.NET、Visual C++ 6.0、Visual C++.NET、Delphi、SolidWorks宏文件等進(jìn)行快速開發(fā),實質(zhì)是通過客戶端應(yīng)用程序來控制服務(wù)端的對象、方法和屬性,實現(xiàn)某種功能,在利用VB語言開發(fā)SolidWorks的過程中,VB開發(fā)的應(yīng)用程序是客戶端,而SolidWorks則是服務(wù)器端。VBA是VB開發(fā)語言的子集常嵌套于支持Acfive Automation技術(shù)的應(yīng)用程序中,如Microsoft Office、AutoCAD、SolidWorks等,其功能是實現(xiàn)應(yīng)用程序的自動化、增強(qiáng)系統(tǒng)的功能以及滿足用戶的需求。由于必須依賴于應(yīng)用程序而不能生成可執(zhí)行文件,所以不能獨(dú)立發(fā)布程序,但其快速的開發(fā)過程和卓越的開發(fā)能力使其他語言無法比擬。VB作為功能強(qiáng)大的面向?qū)ο箝_發(fā)工具,可以創(chuàng)建標(biāo)準(zhǔn)應(yīng)用程序、動態(tài)鏈接庫、ActiveX控件等,許多應(yīng)用程序均基于該種語言進(jìn)行開發(fā),本文中滾動軸承的參數(shù)化設(shè)計實例就是基于這種工具進(jìn)行的。
   
    2參數(shù)化圖形設(shè)計
   
    所謂參數(shù)化設(shè)計是指設(shè)計圖形的拓?fù)潢P(guān)系不變,尺寸形狀由一組參數(shù)進(jìn)行約束,參數(shù)與圖形的控制尺寸有顯式的對應(yīng)。參數(shù)化設(shè)計與傳統(tǒng)設(shè)計相比,最大的特點(diǎn)是它儲存了整個設(shè)計過程,使工程技術(shù)人員可以通過更改某些約束參數(shù)的數(shù)值即可快速獲得不同的零件。SolidWorks環(huán)境下參數(shù)化設(shè)計一般有2種形式:①由軟件本身提供的特征造型功能而實現(xiàn)的參數(shù)化設(shè)計,如拉伸的深度、截面圓的半徑大小等,可以編輯修改,這種方法不需要用戶編程,只要熟練掌握特征造型功能即可;②基于ActiveX Automation技術(shù)由內(nèi)嵌的VBA或其他二次開發(fā)語言編程實現(xiàn)的參數(shù)化設(shè)計,通過定義的若干參數(shù)進(jìn)行驅(qū)動繪圖,這種方法對編程人員的綜合能力要求較高,既要有較強(qiáng)的編程能力,還要熟練掌握SolidWorks的零件設(shè)計過程。在利用Visual Basic開發(fā)SolidWorks參數(shù)化設(shè)計的過程中,一般應(yīng)遵循的步驟是:①參數(shù)定義;②參數(shù)取值;③實體生成與編輯。
   
    2.1參數(shù)定義
   
在基于尺寸驅(qū)動的參數(shù)化圖形設(shè)計中,一般是外形輪廓相對固定而只在尺寸上有數(shù)值差異的系列圖形,因此對這些零部件圖形的處理主要是定義各外形輪廓的尺寸變量名稱,在定義過程中,對參數(shù)的命名應(yīng)本著簡化、形象、完整的原則,既不能有多余的尺寸而構(gòu)成過約束,也不能有遺漏的尺寸而構(gòu)成欠約束,過約束和欠約束的情況均無法實現(xiàn)圖形的設(shè)計,位置尺寸需要由尺寸鏈進(jìn)行求解。
   

VB開發(fā)SolidWorks實現(xiàn)機(jī)械產(chǎn)品參數(shù)化設(shè)計solidworks仿真分析圖片圖片1

2.2參數(shù)取值
   
在機(jī)械零部件的參數(shù)化設(shè)計中,對于尺寸參數(shù)的取值,一般都對應(yīng)一系列的尺寸數(shù)值,而這些尺寸數(shù)值在有關(guān)的機(jī)械設(shè)計手冊中一般表現(xiàn)為數(shù)據(jù)表格、圖表曲線、圖形以及計算公式的形式,有些表格樣式比較復(fù)雜且存在部分交叉現(xiàn)象,在參數(shù)化設(shè)計過程中,若每次都要進(jìn)行手工查詢,需要花費(fèi)一定的時間,且不能保證數(shù)據(jù)讀取或計算的準(zhǔn)確性。在進(jìn)行參數(shù)化設(shè)計之前,引入比較成熟的工程數(shù)據(jù)庫技術(shù),將涉及到的有關(guān)表格進(jìn)行簡化或整理,構(gòu)成一種關(guān)系型數(shù)據(jù)庫表格,在設(shè)計過程中就可以按照要求,利用SQL(結(jié)構(gòu)化查詢語言)進(jìn)行條件檢索,能縮短檢索時間、準(zhǔn)確性高、并提高計算精度。常用的數(shù)據(jù)庫系統(tǒng)有Microsoft Access、Microsoft SQL Server、Oracle等多種,由于桌面數(shù)據(jù)庫Microsoft Access具有小巧靈活、支持SsQL語言、可以通過ODBC管理、存儲多種數(shù)據(jù)類型、支持Windows的各種操作系統(tǒng)等優(yōu)點(diǎn),廣泛應(yīng)用于各種工程設(shè)計的數(shù)據(jù)存儲處理中。
   
對于訪問數(shù)據(jù)庫表格數(shù)據(jù)內(nèi)容的方法,通??梢圆捎肙DBC、DAO、RDO、ADO等方式,ADO(Active Data Object)是Microsoft公司為在Intemet網(wǎng)絡(luò)上發(fā)布數(shù)據(jù)庫而推出的最新產(chǎn)品,建立在自動化基礎(chǔ)上,能夠訪問任何兼容ODBC或OLEDB的數(shù)據(jù)庫,具有高度的伸縮性、支持連接池、復(fù)雜的數(shù)據(jù)操作、斷開的記錄集及編程簡單和方便的優(yōu)點(diǎn)。ADO主要由Connection對象、Command對象、RecordSet對象、Fields集合與對象、Parameters對象與集合、Errors對象與集合等組成。在vB中使用ADO時,應(yīng)先加載對ADO對象的引用,即點(diǎn)擊執(zhí)行菜單"工程"-"引用"-"Microsoft ActiveX Data Objects 2.5 Library"。由于計算機(jī)安裝的應(yīng)用程序中對應(yīng)的ADO版本有差異,所以在出現(xiàn)的引用對話框中也可能有多個版本的ADO庫文件,應(yīng)根據(jù)需要以及有關(guān)的操作選用具體版本,并非版本越高越好,例如程序中若用到ADO的MoveComplete事件,則不同版本中的定義形式不同。
   
    2.3實體生成與編輯
   
SolidWorks提供了拉伸、旋轉(zhuǎn)等多種特征造型工具,用戶重復(fù)或組合使用這些工具可以比較輕松地完成復(fù)雜零件的三維圖形設(shè)計,但是在對其進(jìn)行二次開發(fā)的過程中應(yīng)該使用哪些API函數(shù)以及如何使用這些函數(shù)進(jìn)行特征造型和視圖切換,是編程開發(fā)中面臨的難題,很多人感覺無從下手。由于VBA常用于錄制宏代碼,可提供一種便捷的途徑,即按照零件的實際設(shè)計過程由用戶預(yù)演的方式,通過啟用"錄制宏"的功能,具體是執(zhí)行菜單命令"工具"一"宏操作"一"錄制",在SolidWorks環(huán)境下使用拉伸、切除等特征造型工具完成整個設(shè)計過程,將本次零件設(shè)計全過程錄制成宏代碼(后綴是swp的文件),然后用VBA環(huán)境打開剛才錄制的宏,將其中一些關(guān)鍵數(shù)據(jù)用參數(shù)名稱進(jìn)行替換,修改文檔對象名稱,最后將這些代碼拷貝到VB環(huán)境下,即可得到該零部件參數(shù)化設(shè)計的源代碼。
   
    3設(shè)計實例
   
滾動軸承是一種應(yīng)用非常廣泛的標(biāo)準(zhǔn)零件,其結(jié)構(gòu)主要由外圈、內(nèi)圈、保持架和滾動體等組成。傳統(tǒng)的軸承參數(shù)化設(shè)計一般采用分別建立各組成零件然后裝配自底向上的建模方法,為減少文件操作,降低零件的裝配復(fù)雜度,將其作為一個文件進(jìn)行設(shè)計和管理。
   
    (1)參數(shù)定義
   
軸承參數(shù)化標(biāo)注如圖2所示,定義的參數(shù)有軸承外徑D、軸承內(nèi)徑d、滾動體直徑尺、外圈壁厚召。以及內(nèi)圈壁厚曰:。有關(guān)的計算A=(D-d)/2,Bl=3A/8,B2=3A/8,R=A/4。
   

VB開發(fā)SolidWorks實現(xiàn)機(jī)械產(chǎn)品參數(shù)化設(shè)計solidworks仿真分析圖片圖片2


(2)參數(shù)選擇
   
根據(jù)對滾動軸承國家標(biāo)準(zhǔn)有關(guān)數(shù)據(jù)的研究,本著構(gòu)建、查詢方便的原則,篩選出本次參數(shù)化設(shè)計中有用的數(shù)據(jù),采用Microsoft Access 2000桌面數(shù)據(jù)庫系統(tǒng),定義存儲表格的字段類型、字段長度和表格名稱等內(nèi)容。
   
設(shè)計中以軸承中間孔的直徑d作為查詢的依據(jù),在VB工程中引用"SldWorks 2004 Type Library"和"Microsoft ActiveX Data Objects 2.5 Library"類型庫,定義ADO連接對象和記錄集對象,參照如下代碼可實現(xiàn)對數(shù)據(jù)庫的訪問,并獲得軸承大徑尺寸、軸承寬度、安裝尺寸等數(shù)據(jù)。
   

VB開發(fā)SolidWorks實現(xiàn)機(jī)械產(chǎn)品參數(shù)化設(shè)計solidworks仿真分析圖片圖片3


根據(jù)前面查表得到的參數(shù)值,依次繪制軸承外圈、軸承內(nèi)圈、滾道和滾動體等實體零件,最后對生成的滾動體進(jìn)行圓周陣列。在設(shè)計過程中將會用到SelectByID(選擇草圖、基準(zhǔn)軸等圖形對象)、ClearSe lection2(清除選擇)、CreateCircle(繪制圓)、ShowN.amedView2(顯示視圖)FeatureExtrusion(拉伸特征)、FeatureRevolveCut(旋轉(zhuǎn)切除特征)、ActivateSelectedFeature(激活選中特征)、FeatureCirPattem(圓周陣列特征)等方法。生成的三維模型如圖3所示。

VB開發(fā)SolidWorks實現(xiàn)機(jī)械產(chǎn)品參數(shù)化設(shè)計solidworks仿真分析圖片圖片4


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:VB開發(fā)SolidWorks實現(xiàn)機(jī)械產(chǎn)品參數(shù)化設(shè)計 SolidWorks培訓(xùn)課程 SolidWorks設(shè)計教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計工業(yè)設(shè)計的應(yīng)用 SolidWorks基礎(chǔ)知識 SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項目QQ咨詢:點(diǎn)擊咨詢
email:kf@www.br5w05v.cn