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