王立新,朱長春,閆志華,鄧秋超
WANG Li-xin, ZHU Chang-chun, YAN Zhi-hua, DENG Qiu-chao
(鄭州大學 機械工程學院,鄭州 450001)
CAD技術是先進制造技術的重要組成部分,是計算機技術在工程設計、機械制造等領域中最有影響的一項高新應用技術。CAD系統的發展和應用使傳統的產品設計方法與生產模式發生了深刻的變化,已經產生、必然繼續產生巨大的社會經濟效益[1]。隨著CAD技術的普及,三維模型在裝備制造業生產中得到了廣泛的應用。如今的三維設計軟件,基本已經具備了“甩圖紙”的功能,大都可以使用基本尺寸與公差共同描述三維模型的尺寸大小。
在將來企業“甩圖紙”工程實施后,由設計工程師按照設計要求設計出零件的三維模型,再由數控工程師按照零件的三維模型編寫數控程序,進行零件的數控加工。然而,設計工程師設計的三維模型中零件的尺寸信息通常都是由零件的基本尺寸值和公差描述的,數控程序中要編寫的是零件的加工尺寸,即數控機床的走刀尺寸,這樣才能保證生產出來的零件尺寸值分布在公差帶內。因此,數控工程師首先需要將三維模型的基本尺寸值改為尺寸公差帶的中心點,然后方可直接使用模型數據進行數控編程。大多數箱體類零件尺寸信息眾多,這給數控工程師編寫數控程序帶來了很大的麻煩,增大了出錯率,直接影響到工廠的生產效率。本文提出了基于Pro/E的復雜箱體三維數控加工前處理的方法,數控工程師在數控加工前不用再手工轉化零件的基本尺寸,而是運行本文所開發的程序直接對箱體類零件進行尺寸前處理,之后就可以直接讀取模型的尺寸信息進行零件的CNC編程,不僅節省了時間和人力,還大大減小了出錯的概率。
1)讀取Pro/E中箱體類零件的設計模型,此模型中包含完整的零件基本尺寸和公差信息;
2)提取箱體模型中所有尺寸,篩選出帶公差的尺寸;
3)將帶公差的尺寸值按照公差分類,挑選出帶有不對稱公差的尺寸對象,計算出該尺寸對象所對應的公差中心點尺寸值dimen;
4)使用dimen值來驅動箱體模型,從而得到適合數控編程的三維模型。
Pro/E wildfire4.0支持的開發方法有:Pro/Toolkit,Program,Layout,族表,UDF,J-link,Automation GATEWAY,VB API等等。本文采用VB API對其進行二次開發,VB API 是PTC公司為滿足用戶在Microsoft .Net Framework開發環境中使用VB.NET進行二次開發的需求在Pro/E wildfire4.0中新增加的開發工具,用戶可以直接使用這一工具采用VB.NET語言編寫應用程序。

圖1 零件生產方法程序的流程圖
與使用Pro/Toolkit開發相比,VB API的開發模式只能是異步連接模式,即應用程序要獨立于Pro/E軟件啟動,啟動后再將其連接到Pro/E的一個進程中。盡管VB API的異步連接模式沒有Pro/Toolkit的同步連接模式交互信息的速度快,但是其良好的系統穩定性是Pro/Toolkit同步連接模式無法比擬的。異步連接模式分為簡單異步連接模式和完全異步連接模式兩種連接模式。它們的區別是完全異步模式可以使用VB API應用程序從Pro/E程序中監聽消息的控制環路,實現菜單按鈕添加和通知反饋等功能,而簡單異步模式則不能處理這種請求和實現這類功能。
VB API采用面向對象的編程方法,刪除了易錯的對象指針,系統為用戶提供了一個內容豐富、功能強大的類庫。使用這個類庫可以訪問Pro/E的內部數據和大多數的應用函數,而且各類之間有層次性很強的繼承關系,這樣用戶使用起來更容易理解和掌握。由于VB API是一種面向對象的方法,用戶可以自定義類用于處理一些經常重復使用的代碼,從而達到節省大量寶貴的程序開發時間。
箱體類零件三維模型生成方法程序的開發流程與VB API實現如圖1、2所示。

圖2 VB API實現圖
首先由程序讀入箱體零件模型,提取模型的所有尺寸和公差信息,判斷所提取模型尺寸是否有公差,將帶有不對稱公差值的尺寸信息提取出來,處理所提取的尺寸值,將其修改為尺寸公差帶的中心點,使用修改后的尺寸值驅動模型,生成新的箱體三維模型。
VB API中包含開發Pro/E的所有類和對象,這些類和對象具有明確的繼承關系,其模型樹結構非常復雜,但是開發中只需要搞清楚自己關心的模型數據對象即可,下圖3是有關零件模型尺寸和公差的對象模型。在這個模型對象樹中,零件的尺寸和公差是由IpfcDimension對象來進行維護的。

圖3 零件模型尺寸和公差的對象模型
剖析Pro/E wf4.0中的模型數據,在下表1中給出了零件的尺寸類型、公差類型及各類型數據實例。在零件模型中所有的尺寸都有默認的系統自定義的尺寸公差,其類型都是“Limits”,上下偏差系統默認值為正負0.01。

表1 零件尺寸信息分類

表2 零件各類型尺寸值
提取箱體零件模型的基本尺寸和公差信息時,首先要根據每一個尺寸名稱代號得到尺寸對象,判斷尺寸是否含有公差,把帶有公差的基本尺寸和公差提取出來。本研究所討論的箱體模型包含所有類型的尺寸類型和公差類型,此箱體模型具有269個尺寸信息,這里僅在每種類型中列出一個尺寸和公差值以作說明。
得到零件的尺寸信息后,通過公差分類,將公差類型為“Limits”與“Plus/Minus”兩種類型的公差值篩選出來,判斷提取出來的尺寸公差是否為對稱分布,檢索出非對稱分布的尺寸公差值,通過下面的算法得到尺寸的中心值:

上面的方法是在“Plus/Minus”下使用的,而“Limits”類型是首先將其轉化為“Plus/Minus”后,再使用上面的方法得到尺寸的中心值。
根據前面得到的零件尺寸中心值dimen,將其賦給零件的基本尺寸值,來驅動三維零件模型,將零件另存一個名稱就可以得到計入尺寸公差的三維零件模型。使用下面的語句來進行模型中一個尺寸的驅動:

驅動后的齒輪箱體模型如圖4所示。

圖4 齒輪箱體模型
提出了計入尺寸公差的零件模型生成方法,在Pro/E軟件上使用VB API編程實現了零件模型的尺寸信息提取和上、下偏差處理,并生成符合數控編程要求的零件模型,從而不僅節約了數控編程的時間,還大大減小了手工模型尺寸轉換過程中的出錯率。
[1]殷國勇.CAD技術的發展趨勢與深化推廣應用的建議[J].機械,1999(4).
[2]王立新,黃文良,魏維.計入尺寸公差的虛擬樣機零件生成[J].機械設計,2004(3).
[3]Parametric Technology Corporation.The VB API Wildfire4.0 User’s Guide[M].USA:PTC,2008.
[4]劉龍,朱林波.基于VB.NET的Pro/E二次開發關鍵技術[J].現代制造工程,2008(10).
[5]朱本成,王鳳林.Visual Basic.NET2005全程指南語言基礎、開發進階、數據庫開發、高級技術.電子工業出版社,2008(3).
[6]張繼春.Pro/ENGINEER二次開發實用教程[M].北京大學出版社,2003.