蝸輪齒面的三維仿真造型
2013-05-17 by:廣州有限元分析、培訓中心-1CAE.COM 來源:仿真在線
作者: 曾鋒*牛鳴岐*趙先鋒*閻漢生 來源: 萬方數據
關鍵字: SolidwWorks API 二次開發 布爾運算 仿真造型
通過對軟件SolidWorks的開發,模擬現實中蝸輪刀具加工蝸輪時的運動關系,實現蝸輪復雜齒面的三維造型。該方法是從計算機圖形學的角度來處理加工模擬問題,而不從"數學上的曲面共扼"原理來進行加工模擬,仿真造型結果更加精確。
0引言
目前,在我國企業中,計算機輔助設計CAD(Computer Aided Design)正受到歡迎和重視,逐步得到推廣應用。計算機輔助設計能極大地提高設計質量,減少設計人員的工作量,縮短設計周期,降低產品成本,為開發新產品和新工藝創造了有利條件。
蝸輪的齒面是一種復雜曲面。目前,在常用的CAD軟件中繪制蝸輪的齒形通常是使用近似畫法,很難精確地繪制出蝸輪的復雜齒面。
SolidWorks是一套基于特征的參數化機械設計自動化軟件。SolidWorks以其強大的功能、友好的界面和不斷的技術創新而逐漸成為主流的三維終端CAD解決方案。以下將介紹通過編制程序調用SolidWorks的API(Application Program Interface,應用程序接口)函數,模仿實際加工蝸輪時蝸輪滾刀和蝸輪毛坯的相對運動,通過實體布爾差運算,在SolidWorks的界面中實現蝸輪復雜齒面的三維仿真造型。
1 SolidWorks二次開發工具和方法
作者選用Visual Basic作為SolidWorks的二次開發工具。利用Visual Basic開發的應用程序界面非常友好,VB功能強大且數據庫的操作方便,容易被初學者掌握。使用VB來開發軟件,開發周期短、程序代碼效率高。SolidWorks又提供了宏錄制功能,這給程序的編寫帶來了很大方便。我們可以先宏錄制在SolidWorks用戶界面執行的操作,建立一個宏文件,其代碼的語法完全符合Visual Basic。通過編輯宏文件獲得所需的SolidWorks的對象,用變量代替API函數中的關鍵參數,修改這段宏代碼后添加到程序中去,從而在程序中可以控制執行所需的SolidWorks界面上的操作。例如:在SolidWorks中畫一個圓,宏錄制其過程,建立一個宏文件(即內部編程)。然后編輯這個宏文件,就可以在宏文件中找到畫圓的對象及其方法Part::CreateCircle,通過API幫助了解API函數中參數的意義,然后用變量代替宏文件中的關鍵數據,如圓心坐標、圓半徑等,這樣,就可以在自己編的程序中添加畫圓的功能。
宏所包含的調用相當于使用用戶界面執行操作時,對API的調用。通過記錄宏和交互式的執行任務,可以獲得所需的代碼的命令和語法。在寫任何代碼前,都是記錄宏來用作程序的基礎。即當向程序添加功能時,返回到SolidWorks,記錄添加的宏,然后剪貼和粘貼記錄的宏代碼到程序代碼中,這樣做對編程有很大的幫助。
用VB對SolidWorks進行二次開發時,首先要將VB與SolidWorks連接起來,這需要2個步驟:首先在編寫VB代碼前,在VB編程環境中引用SolidWorks對象庫SolidWorks 2005 Type Library。其次編寫VB程序代碼創建SolidWorks對象,啟動運行SolidWorks。VB中的Variant類型可用于OLE對象變量的聲明,Create0bject函數用于創建OLE對象。SolidWorks的引用對象包括SolidWorks應用程序對象(SldWorks)及其所有下級對象。編寫自己的應用程序代碼時,程序代碼可以參考宏文件的代碼,并進行必要的修改。最后編譯生成*. exe可執行文件即可。
2 ActiveX自動化技術
Active X是Microsoft新近提出來的一種技術,它以COM為基礎,其中包括OLE技術以及應用于Internet的多種技術。它使得不同的進程(甚至是網絡上的進程)之間可相互通信,并且朝著多媒體方向發展。ActiveX是一種面向對象的組件系統,其中包括了組件軟件的各個方面,有復合文檔、自定義控制、OLE自動化、交互應用程序腳本、數據傳送及其他分布式軟件的相互作用。這些組件對象為用戶提供了各種不同的功能,使得不同軟件供應商提供的組件可在二進制間進行連接和通信。對象通過接口實現組件之間及組件與系統之間的相互作用。ActiveX是一種標準,利用這個標準可以使通過不同語言開發的軟件構件在單機或網絡環境中相互操作。通過ActiveX自動化技術可以從SolidWorks運行環境外部對SolidWorks進行操作。我們把VB開發的程序作為客戶方(client ),而SolidWorks作為服務方( server) , VB程序可以建立與SolidWorks各級對象( object)的關聯;另外,還必須在VB中通過"引用"( reference)加載SolidWorks類型庫,使VB識別程序中使用的SolidWorks對象的類型、屬性和方法。
3蝸輪齒型的仿真造型
在用蝸輪滾刀加工蝸輪時,需要確定刀具和毛坯的中心距、刀具主軸和毛坯主軸的傳動比以及軸角。蝸輪滾刀在加工蝸輪時,蝸輪滾刀一邊以一定的轉速繞著自己的軸線旋轉,一邊做直線的進給運動;同時蝸輪毛坯也以一定的轉速繞著自己的軸線旋轉,從而實現加工。由于是在計算機內進行仿真造型,通過實體之間的布爾差運算(SolidWorks菜單里的組合操作)實現對毛坯的切除加工。在加工前還可以選擇確定軸角。根據相對運動原理,如果仿真加工時毛坯實體不運動,而是讓刀具實體自轉后,沿著毛坯實體轉動的相反方向繞著毛坯實體中心轉動,其效果也是和實際加工一樣的。所以,作者采用毛坯不動,而讓刀具自轉后再繞毛坯中心公轉的方法,這樣,只需要對刀具實體進行操作,就可以很方便地進行實體布爾差運算了。
通過運行程序自動啟動SolidWorks軟件并插人所選的刀具實體和毛坯實體,程序中調用所需的SolidWorks的API功能函數,根據輸人的關鍵參數(如圖1所示)控制刀具實體的相對運動關系和相對位置,進行實體間的布爾差運算(即SolidWorks菜單里的組合操作),實現刀具實體對毛坯實體的切除加工,從而得到所需要的曲面。
通過調用SoIidWorks對象的屬性和方法,實現仿真加工的一系列操作。調用PartDoc::InsertPart,將蝸輪滾刀實體和蝸輪毛坯實體插人到SolidWorks軟件界面中來;調用Featurel Ianager::InsertMove-CopyBody2對實體進行復制、移動和旋轉;調用Feature-Manager::InsertCombineFeature,使得蝸輪毛坯生成刪減組合特征(布爾差運算),實現切除加工的仿真。將現實中實際加工時刀具加工毛坯的連貫動作在仿真加工系統中進行分段處理,例如:假設蝸輪滾刀和蝸輪毛坯的傳動比是12/1,蝸輪滾刀自轉了12°,那么繞蝸輪中心的公轉的角度就是10>當轉動了這此角度時,蝸輪滾刀就復制一次。系統在在仿真加工時,通過不斷復制和旋轉蝸輪滾刀,產生了蝸輪刀具運動時所形成的滾刀包絡體,如圖2所示,通過劉一蝸輪毛坯和蝸輪滾刀運動所形成的滾刀包絡體之間的實體布爾差運算,刪減刀具包絡體以及和蝸輪毛坯的交集,從而加工出蝸輪的齒面。在確定如何加工一個完整齒時,首先應根據被加工蝸輪的齒數確定一個齒所占的角度,其次要保證加工一個完整齒滾刀必須運動2個齒的度數,再根據系統程序所設定的加工精度(即蝸輪滾刀沿蝸輪毛坯中心每轉一次復制一次的角度)確定出加工一個完整齒蝸輪滾刀需要運動的次數,從而加工出一個完整的蝸輪齒。
圖3為仿真加工出的部分蝸輪齒形。
4程序舉例
部分相關代碼如下:
5結束語
在SolidWorks平臺上,充分利用軟件提供的API函數,在其界面上模擬現實加工中蝸輪滾刀加工蝸輪毛坯的運動關系,通過對蝸輪毛坯和蝸輪滾刀運動所形成的刀具包絡體之間的實體布爾差運算,蝸輪毛坯的三維模。隨著切削過程被不斷更新,從而仿真加工出蝸輪的齒面。基于實體造型的方法中幾何模型的表達與實際加工過程相一致,使得仿真造型的最終結果與設計產品間的精確比較成為可能c
相關標簽搜索:蝸輪齒面的三維仿真造型 AutoCAD培訓 AutoCAD培訓課程 AutoCAD圖紙設計 AutoCAD在線視頻 AutoCAD技術學習教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓