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

2013-05-17  by:廣州有限元分析、培訓中心-1CAE.COM  來源:仿真在線

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

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

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

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

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


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

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


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

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


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

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

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

全國服務熱線

1358-032-9919

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