SolidWorks的參數(shù)化功能有多種實現(xiàn)方式,,本文詳細介紹了利用Excel表格驅(qū)動SolidWorks模型的方法:通過Excel輸入?yún)?shù),,利用Excel表格ActiveX控件、方便的數(shù)據(jù)計算能力,,結(jié)合SolidWorks方程式及宏功能,實現(xiàn)對SolidWorks模型尺寸修改及更新,。
參數(shù)化設(shè)計方法就是將模型中的定量信息變量化,,使之成為任意調(diào)整的參數(shù)。對于變量化參數(shù)賦予不同數(shù)值,,就可得到不同大小和形狀的零件模型,。
用CAD方法開發(fā)產(chǎn)品時,產(chǎn)品設(shè)計模型的建立速度是決定整個產(chǎn)品開發(fā)效率的關(guān)鍵,。如果該設(shè)計是從概念創(chuàng)意開始,,則產(chǎn)品開發(fā)初期,,零件形狀和尺寸有一定模糊性,要在裝配驗證,、性能分析之后才能確定,,這就希望零件模型具有易于修改的柔性;如果該設(shè)計是改型設(shè)計,則快速重用現(xiàn)有的設(shè)計數(shù)據(jù),,不啻為一種聰明的做法,。無論哪種方式,如果能采用參數(shù)化設(shè)計,,其效率和準確性將會有極大的提高,。
在CAD中要實現(xiàn)參數(shù)化設(shè)計,參數(shù)化模型的建立是關(guān)鍵,。參數(shù)化模型表示了零件圖形的幾何約束,、尺寸約束和工程約束。幾何約束是指幾何元素之間的拓撲約束關(guān)系,,如平行,、垂直、相切和對稱等;尺寸約束則是通過尺寸標注表示的約束,,如距離尺寸,、角度尺寸和半徑尺寸等;工程約束是指尺寸之間的約束關(guān)系,通過定義尺寸變量及它們之間在數(shù)值上和邏輯上的關(guān)系來表示,。
在參數(shù)化設(shè)計系統(tǒng)中,,設(shè)計人員根據(jù)工程關(guān)系和幾何關(guān)系來指定設(shè)計要求。要滿足這些設(shè)計要求,,不僅需要考慮尺寸或工程參數(shù)的初值,,而且要在每次改變這些設(shè)計參數(shù)時維護這些基本關(guān)系。即將參數(shù)分為兩類:其一為各種尺寸值,,稱為可變參數(shù);其二為幾何元素間的各種連續(xù)幾何信息,,稱為不變參數(shù)。參數(shù)化設(shè)計的本質(zhì)是在可變參數(shù)的作用下,,系統(tǒng)能夠自動維護所有的不變參數(shù),。因此,參數(shù)化模型中建立的各種約束關(guān)系,,正是體現(xiàn)了設(shè)計人員的設(shè)計意圖,。
SolidWorks是典型的參數(shù)化設(shè)計軟件,參數(shù)化功能非常強大,,并且實現(xiàn)方法多種多樣,。筆者今天介紹一種通過Excel表格對模型參數(shù)進行驅(qū)動的方法,其特點是充分利用Excel表格強大的公式計算,、直觀的參數(shù)輸入,、方便的數(shù)據(jù)維護功能,,來實現(xiàn)產(chǎn)品的參數(shù)化、系列化設(shè)計,。如圖1所示Excel表格,,展示的是一個壓力容器的法蘭參數(shù)。表中直觀地將不同法蘭用不同顏色體現(xiàn),,并對應(yīng)相同顏色塊的參數(shù),。該參數(shù)采用下拉列表的方式,直接選取即可,,最后只需要點擊右下角的“更新法蘭參數(shù)”,,SolidWorks中的模型便實時得到更新。
當然,,根據(jù)模型參數(shù)的需要,,該表格還可以做得更加復(fù)雜,還是以該壓力容器為例,,大家知道壓力容器的設(shè)計是有嚴格規(guī)范的,,那么就可以將這些規(guī)范體現(xiàn)在表格中,利用Excel公式功能實現(xiàn),。如圖2,,同樣只需要更改幾個關(guān)鍵參數(shù),點擊更新按鈕,,SolidWorks中的相應(yīng)模型參數(shù)便實時得到更新,。
1.建立模型
首先用SolidWorks建立如下模型:一個長方體,,長寬高分別為100mm、40mm和50mm,。如圖3,。
2.編輯尺寸名稱
這個過程需要強調(diào)的是,需要將尺寸名稱顯示出來,??砂聪旅娣椒ú僮鳎汗催x注解中的“顯示特征尺寸”,并將“查看尺寸名稱”按鈕激活,,如圖4,,結(jié)果如圖5。
3.定義尺寸之間的邏輯關(guān)系
在此我們定義“高”是“寬”的1.5倍,。注意,該步驟可選,,因為可以將邏輯關(guān)系在Excel表格中定義,,如圖6,。
4.生成Excel文件
本例中,驅(qū)動變量是“長”,,“寬”和“高”均直接或間接由“長”得到,。根據(jù)這個要求,該表格設(shè)計成由驅(qū)動列表,、參數(shù)定義和參數(shù)說明三部分組成,,如圖7。
5.利用名稱管理器定義參數(shù)區(qū)域
選中“參數(shù)”工作表中的“長”下面的所有數(shù)值表格,,然后點擊公式欄中的“名稱管理器”,,新建一個名稱為“長”, 引用位置為剛才選中表格范圍的名稱內(nèi)容,,如圖8,。
6.引用參數(shù)區(qū)域
這是為了將驅(qū)動尺寸與設(shè)定好的參數(shù)進行關(guān)聯(lián)調(diào)用,采用下拉框來實現(xiàn),,如圖9,。
7.設(shè)置尺寸參數(shù)之間的關(guān)系
這一步可以充分利用Excel表格方便的公式計算功能,如圖10,。
8.定義ActiveX控件按鈕
切換到“開發(fā)工具”選項卡(此前要確保在“Excel選項→常用”中將開發(fā)工具選項卡激活),,激活“設(shè)計模式”,在該選項卡中,,點擊“插入→ActiveX控件→命令按鈕”,,繪制一個按鈕,并修改該按鈕的顯示名稱為“更新尺寸”,。如果你喜歡,,也可以將該按鈕的樣式顏色修改一下,效果如圖11,。
9.修改按鈕的代碼內(nèi)容
雙擊該按鈕,,在彈出窗口的代碼中加入驅(qū)動SolidWorks尺寸參數(shù)的內(nèi)容。需要說明的是,,該代碼形式固定,,需要更改的只是箭頭所指的變量傳遞部分語句,其中,,前面括號中是在SolidWorks中的模型尺寸名,,后面括號中是Excel表格中相應(yīng)的單元格名稱。注意,,代碼中數(shù)值單位是m,,而本例模型中單位是mm,因此在代碼中數(shù)值要除以1000,。另外,,按鈕名稱不要弄錯,,一定要與控件名稱一致(注意不是顯示名稱)。需要指出的是,,長方體需要長,、寬和高三個參數(shù),而我們只定義了2個參數(shù)“長,、高”,,這是因為,“寬”的參數(shù)SolidWorks的方程式中定義了,。如圖12,。
通用代碼內(nèi)容如下,其中,,紅色部分可直接復(fù)制重用到其他例子中,。
Private Sub CommandButton1_Click()
Dim swApp As Object
Dim Part As Object
Dim Gtol As Object
Dim longstatus As Long
Dim boolstatus As Boolean
Set swApp = CreateObject(“SldWorks.Application”)
Set Part = swApp.ActiveDoc
‘Values for calcualtions are in meters
Part.Parameter(“長@Sketch1”).SystemValue=Range(“A4”).Value/1000
Part.Parameter(“寬@Extrude1”).SystemValue=Range(“B4”).Value/1000Part.EditRebuild
End Sub10.保存該文件為特定格式
請注意,操作過程中必須保存為Excel2003的格式(xls),,或者Excel2007的xlsm(啟用宏的工作簿)格式,。要想正確運行該按鈕,還需要注意下面兩點:①將“開發(fā)工具” 選項卡中的“設(shè)計模式”關(guān)閉,。②將該Excel文件啟用宏及激活A(yù)ctiveX控件功能,。這些內(nèi)容是Excel文件的基本操作,在此不再贅述,。
11.測試參數(shù)驅(qū)動是否正確執(zhí)行
修改參數(shù),,點擊“更新按鈕”,SolidWorks中的模型會即時更新,,注意SolidWorks中模型要處于打開狀態(tài),。可以看到,,只需要修改“長”這一個參數(shù),,便可以驅(qū)動SolidWorks中長方體的3個尺寸變換,如圖13所示,。
12.將驅(qū)動文件嵌入到SolidWorks的活頁夾
最后,,可以將相關(guān)文檔嵌入到SolidWorks的活頁夾,具體方法是:右鍵點擊SolidWorks的活頁夾,,選擇“添加附加件”,,選中需要添加的文件即可(可采用鏈接或嵌入方式均可)。
至此,,這種借助SolidWorks宏功能以及Excel控件等方法的表格驅(qū)動詳細介紹完了,。在采用這種方法的時候,要想獲得更好的效果,一定要清楚要解決的問題的具體情況,,并理解該方法針對參數(shù)設(shè)置關(guān)鍵地方,。其關(guān)鍵點是:大量需要做的工作是提煉獨立變量,將其他變量通過某種關(guān)系表達出來,,而表達的方法具體有很多種,可以靈活處理,。比如本例,,全部變量有3個(長、寬和高),,表格傳遞給SolidWorks模型的變量是2個(長和寬),,而通過手工調(diào)整的獨立變量只有一個(長)。那么一個獨立變量如何實現(xiàn)三個變量聯(lián)動呢?本例中,,將一個變量“寬”與“長”建立關(guān)聯(lián),,在表格中通過關(guān)系 式體現(xiàn),將另一個變量“高”與“寬”關(guān)聯(lián),,在SolidWorks的方程式中體現(xiàn),。當然,“高”,、“寬”與長的關(guān)系,,可以都放在SolidWorks的方程式中,這樣表格只需要傳遞“長”這一個變量;也可以都體現(xiàn)在表格中,,那么表格需要傳遞全部三個變量給SolidWorks,。
上述方法可直觀方便地維護數(shù)量繁多、關(guān)系復(fù)雜的產(chǎn)品參數(shù),,不過可以作為變量的僅僅是尺寸,,如果產(chǎn)品改型涉及到幾何拓撲或零部件替換的問題,就不那么容易維護了,。
令人振奮的是,,SolidWorks2011版解決了這個問題。在參數(shù)化功能增強方面,,其方程式功能增加了壓縮和解壓縮的操作(圖14),,可以方便地維護產(chǎn)品幾何拓撲的變化。這個功能的巧妙利用,,使參數(shù)化設(shè)計提升了一個級別,,即實現(xiàn)設(shè)計自動化的功能。同時,,其新功能支持記事本的參數(shù)讀入,,該功能使設(shè)計者可以設(shè)置全局變量,驅(qū)動多個零部件的參數(shù)。