《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > SolidWorks表格驅動應用詳解
SolidWorks表格驅動應用詳解
摘要: SolidWorks的參數(shù)化功能有多種實現(xiàn)方式,本文詳細介紹了利用Excel表格驅動SolidWorks模型的方法:通過Excel輸入?yún)?shù),利用Excel表格ActiveX控件、方便的數(shù)據(jù)計算能力,結合SolidWorks方程式及宏功能,實現(xiàn)對SolidWorks模型尺寸修改及更新。
關鍵詞: 驅動 表格 SolidWorks
Abstract:
Key words :

    SolidWorks的參數(shù)化功能有多種實現(xiàn)方式,本文詳細介紹了利用Excel表格驅動SolidWorks模型的方法:通過Excel輸入?yún)?shù),利用Excel表格ActiveX控件、方便的數(shù)據(jù)計算能力,結合SolidWorks方程式及宏功能,實現(xiàn)對SolidWorks模型尺寸修改及更新。

  參數(shù)化設計方法就是將模型中的定量信息變量化,使之成為任意調整的參數(shù)。對于變量化參數(shù)賦予不同數(shù)值,就可得到不同大小和形狀的零件模型。

  用CAD方法開發(fā)產品時,產品設計模型的建立速度是決定整個產品開發(fā)效率的關鍵。如果該設計是從概念創(chuàng)意開始,則產品開發(fā)初期,零件形狀和尺寸有一定模糊性,要在裝配驗證、性能分析之后才能確定,這就希望零件模型具有易于修改的柔性;如果該設計是改型設計,則快速重用現(xiàn)有的設計數(shù)據(jù),不啻為一種聰明的做法。無論哪種方式,如果能采用參數(shù)化設計,其效率和準確性將會有極大的提高。

  在CAD中要實現(xiàn)參數(shù)化設計,參數(shù)化模型的建立是關鍵。參數(shù)化模型表示了零件圖形的幾何約束、尺寸約束和工程約束。幾何約束是指幾何元素之間的拓撲約束關系,如平行、垂直、相切和對稱等;尺寸約束則是通過尺寸標注表示的約束,如距離尺寸、角度尺寸和半徑尺寸等;工程約束是指尺寸之間的約束關系,通過定義尺寸變量及它們之間在數(shù)值上和邏輯上的關系來表示。

  在參數(shù)化設計系統(tǒng)中,設計人員根據(jù)工程關系和幾何關系來指定設計要求。要滿足這些設計要求,不僅需要考慮尺寸或工程參數(shù)的初值,而且要在每次改變這些設計參數(shù)時維護這些基本關系。即將參數(shù)分為兩類:其一為各種尺寸值,稱為可變參數(shù);其二為幾何元素間的各種連續(xù)幾何信息,稱為不變參數(shù)。參數(shù)化設計的本質是在可變參數(shù)的作用下,系統(tǒng)能夠自動維護所有的不變參數(shù)。因此,參數(shù)化模型中建立的各種約束關系,正是體現(xiàn)了設計人員的設計意圖。

  SolidWorks是典型的參數(shù)化設計軟件,參數(shù)化功能非常強大,并且實現(xiàn)方法多種多樣。筆者今天介紹一種通過Excel表格對模型參數(shù)進行驅動的方法,其特點是充分利用Excel表格強大的公式計算、直觀的參數(shù)輸入、方便的數(shù)據(jù)維護功能,來實現(xiàn)產品的參數(shù)化、系列化設計。如圖1所示Excel表格,展示的是一個壓力容器的法蘭參數(shù)。表中直觀地將不同法蘭用不同顏色體現(xiàn),并對應相同顏色塊的參數(shù)。該參數(shù)采用下拉列表的方式,直接選取即可,最后只需要點擊右下角的“更新法蘭參數(shù)”,SolidWorks中的模型便實時得到更新。

圖1

  當然,根據(jù)模型參數(shù)的需要,該表格還可以做得更加復雜,還是以該壓力容器為例,大家知道壓力容器的設計是有嚴格規(guī)范的,那么就可以將這些規(guī)范體現(xiàn)在表格中,利用Excel公式功能實現(xiàn)。如圖2,同樣只需要更改幾個關鍵參數(shù),點擊更新按鈕,SolidWorks中的相應模型參數(shù)便實時得到更新。

圖2

下面筆者介紹一下這個功能的實現(xiàn)方法,在此筆者用一個最簡單的長方體模型作為例子進行介紹。

 

 

  1.建立模型

  首先用SolidWorks建立如下模型:一個長方體,長寬高分別為100mm、40mm和50mm。如圖3。

圖3

  2.編輯尺寸名稱

  這個過程需要強調的是,需要將尺寸名稱顯示出來。可按下面方法操作:勾選注解中的“顯示特征尺寸”,并將“查看尺寸名稱”按鈕激活,如圖4,結果如圖5。

圖4圖5

  3.定義尺寸之間的邏輯關系

  在此我們定義“高”是“寬”的1.5倍。注意,該步驟可選,因為可以將邏輯關系在Excel表格中定義,如圖6。

  4.生成Excel文件

  本例中,驅動變量是“長”,“寬”和“高”均直接或間接由“長”得到。根據(jù)這個要求,該表格設計成由驅動列表、參數(shù)定義和參數(shù)說明三部分組成,如圖7。

圖6圖75.利用名稱管理器定義參數(shù)區(qū)域

 

  選中“參數(shù)”工作表中的“長”下面的所有數(shù)值表格,然后點擊公式欄中的“名稱管理器”,新建一個名稱為“長”, 引用位置為剛才選中表格范圍的名稱內容,如圖8。

圖8

  6.引用參數(shù)區(qū)域

  這是為了將驅動尺寸與設定好的參數(shù)進行關聯(lián)調用,采用下拉框來實現(xiàn),如圖9。

圖9

  7.設置尺寸參數(shù)之間的關系

  這一步可以充分利用Excel表格方便的公式計算功能,如圖10。

圖10

  8.定義ActiveX控件按鈕

  切換到“開發(fā)工具”選項卡(此前要確保在“Excel選項→常用”中將開發(fā)工具選項卡激活),激活“設計模式”,在該選項卡中,點擊“插入→ActiveX控件→命令按鈕”,繪制一個按鈕,并修改該按鈕的顯示名稱為“更新尺寸”。如果你喜歡,也可以將該按鈕的樣式顏色修改一下,效果如圖11。

圖11

  9.修改按鈕的代碼內容

  雙擊該按鈕,在彈出窗口的代碼中加入驅動SolidWorks尺寸參數(shù)的內容。需要說明的是,該代碼形式固定,需要更改的只是箭頭所指的變量傳遞部分語句,其中,前面括號中是在SolidWorks中的模型尺寸名,后面括號中是Excel表格中相應的單元格名稱。注意,代碼中數(shù)值單位是m,而本例模型中單位是mm,因此在代碼中數(shù)值要除以1000。另外,按鈕名稱不要弄錯,一定要與控件名稱一致(注意不是顯示名稱)。需要指出的是,長方體需要長、寬和高三個參數(shù),而我們只定義了2個參數(shù)“長、高”,這是因為,“寬”的參數(shù)SolidWorks的方程式中定義了。如圖12。

圖12

  通用代碼內容如下,其中,紅色部分可直接復制重用到其他例子中。

  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ā)工具” 選項卡中的“設計模式”關閉。②將該Excel文件啟用宏及激活ActiveX控件功能。這些內容是Excel文件的基本操作,在此不再贅述。

  11.測試參數(shù)驅動是否正確執(zhí)行

  修改參數(shù),點擊“更新按鈕”,SolidWorks中的模型會即時更新,注意SolidWorks中模型要處于打開狀態(tài)??梢钥吹?,只需要修改“長”這一個參數(shù),便可以驅動SolidWorks中長方體的3個尺寸變換,如圖13所示。

  12.將驅動文件嵌入到SolidWorks的活頁夾

  最后,可以將相關文檔嵌入到SolidWorks的活頁夾,具體方法是:右鍵點擊SolidWorks的活頁夾,選擇“添加附加件”,選中需要添加的文件即可(可采用鏈接或嵌入方式均可)。

圖13

  至此,這種借助SolidWorks宏功能以及Excel控件等方法的表格驅動詳細介紹完了。在采用這種方法的時候,要想獲得更好的效果,一定要清楚要解決的問題的具體情況,并理解該方法針對參數(shù)設置關鍵地方。其關鍵點是:大量需要做的工作是提煉獨立變量,將其他變量通過某種關系表達出來,而表達的方法具體有很多種,可以靈活處理。比如本例,全部變量有3個(長、寬和高),表格傳遞給SolidWorks模型的變量是2個(長和寬),而通過手工調整的獨立變量只有一個(長)。那么一個獨立變量如何實現(xiàn)三個變量聯(lián)動呢?本例中,將一個變量“寬”與“長”建立關聯(lián),在表格中通過關系 式體現(xiàn),將另一個變量“高”與“寬”關聯(lián),在SolidWorks的方程式中體現(xiàn)。當然,“高”、“寬”與長的關系,可以都放在SolidWorks的方程式中,這樣表格只需要傳遞“長”這一個變量;也可以都體現(xiàn)在表格中,那么表格需要傳遞全部三個變量給SolidWorks。

  上述方法可直觀方便地維護數(shù)量繁多、關系復雜的產品參數(shù),不過可以作為變量的僅僅是尺寸,如果產品改型涉及到幾何拓撲或零部件替換的問題,就不那么容易維護了。

圖14

  令人振奮的是,SolidWorks2011版解決了這個問題。在參數(shù)化功能增強方面,其方程式功能增加了壓縮和解壓縮的操作(圖14),可以方便地維護產品幾何拓撲的變化。這個功能的巧妙利用,使參數(shù)化設計提升了一個級別,即實現(xiàn)設計自動化的功能。同時,其新功能支持記事本的參數(shù)讀入,該功能使設計者可以設置全局變量,驅動多個零部件的參數(shù)。

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載。