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

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

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

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

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

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

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

圖1

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

圖2

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

 

 

  1.建立模型

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

圖3

  2.編輯尺寸名稱

  這個過程需要強調的是,,需要將尺寸名稱顯示出來??砂聪旅娣椒ú僮鳎汗催x注解中的“顯示特征尺寸”,,并將“查看尺寸名稱”按鈕激活,如圖4,,結果如圖5,。

圖4圖5

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

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

  4.生成Excel文件

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

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

 

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

圖8

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

  這是為了將驅動尺寸與設定好的參數進行關聯調用,,采用下拉框來實現,,如圖9。

圖9

  7.設置尺寸參數之間的關系

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

圖10

  8.定義ActiveX控件按鈕

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

圖11

  9.修改按鈕的代碼內容

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

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

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

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

圖13

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

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

圖14

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

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