鄭繼旭
隨著工業(yè)技術(shù)的不斷發(fā)展,各制造部門對不同種類的滾動軸承需求量不斷增加。在市場競爭激烈的當今,以最快的速度設(shè)計出與需求配套的滾動軸承,縮短產(chǎn)品設(shè)計周期是眾企業(yè)所追求的目標,因此滾動軸承參數(shù)化設(shè)計一直得到業(yè)界重視。而圓柱滾子軸承的結(jié)構(gòu)形狀由幾個主要尺寸參數(shù)驅(qū)動,這些參數(shù)與結(jié)構(gòu)的控制尺寸有明顯的對應(yīng)關(guān)系,只要對這幾個參數(shù)進行修改,就可以得到新的產(chǎn)品,因而參數(shù)化的設(shè)計方法非常適用于圓柱滾子軸承的設(shè)計。而開發(fā)圓柱滾子軸承CAD系統(tǒng),無疑將促進軸承設(shè)計自動化,提高軸承生產(chǎn)企業(yè)的發(fā)展速度。
Pro/E軟件是目前三維CAD軟件中最具有代表性的一種,它是基于單一數(shù)據(jù)庫(整個Pro/ENGINEER系統(tǒng)建立在單一的數(shù)據(jù)庫上,具有完整而統(tǒng)一的模型,提供了雙向關(guān)聯(lián)性的功能)的參數(shù)化通用CAD軟件,它提出了真正的全相關(guān)性(任何地方的修改都會自動反映到所有相關(guān)地方)、基于特征的參數(shù)化造型等概念。因此,以Pro/E軟件為平臺進行滾子軸承CAD系統(tǒng)的二次開發(fā),使之適合國內(nèi)企業(yè)設(shè)計的要求,對于提高產(chǎn)品設(shè)計效率并滿足更高層次的要求也有很大的現(xiàn)實意義。
開發(fā)的圓柱滾子軸承三維CAD系統(tǒng),建立了常用的圓柱滾子軸承基本參數(shù)數(shù)據(jù)庫,利用VC++創(chuàng)建的交互式界面,用戶可通過對話框輸入基本參數(shù)或選擇軸承型號,自動查找并計算出軸承各零件的詳細尺寸,并根據(jù)尺寸值檢索相應(yīng)數(shù)據(jù)庫,查出相應(yīng)尺寸公差、形位公差,再通過Pro/Toolkit的底層函數(shù)將這些參數(shù)傳遞到調(diào)用的Pro/E參數(shù)模型中,驅(qū)動并生成新的圓柱滾子軸承零件與裝配體的三維模型,以及相應(yīng)的二維工程圖與設(shè)計文件。整個CAD系統(tǒng)主要包括:圓柱滾子軸承數(shù)據(jù)庫、參數(shù)優(yōu)化設(shè)計和三維、二維工程圖建模三大模塊。
系統(tǒng)采用Microsoft Access數(shù)據(jù)庫,參照最新滾動軸承設(shè)計手冊與滾動軸承設(shè)計標準數(shù)據(jù)中圓柱滾子軸承的有關(guān)資料,建立了標準軸承型號、外型尺寸、參數(shù)選擇及尺寸公差、形位公差等資料的產(chǎn)品設(shè)計表。系統(tǒng)程序依靠數(shù)據(jù)庫訪問對象(DAO)來實現(xiàn)對數(shù)據(jù)庫的存儲、查詢、檢索等操作,同時增加了軟件維護認證口令。
該模塊利用CAD系統(tǒng)與滾子軸承的數(shù)據(jù)庫接口,從數(shù)據(jù)庫中檢索出軸承主要外形結(jié)構(gòu)尺寸參數(shù),同時對軸承主參數(shù)進行優(yōu)化設(shè)計以獲得軸承零件的詳細參數(shù),并根據(jù)優(yōu)化后的參數(shù)選取數(shù)據(jù)庫中對應(yīng)的尺寸公差和形位公差等工程圖所需參數(shù)。
建立不同類型的圓柱滾子軸承零件、裝配體三維模型及二維工程圖的基準圖形,并設(shè)置各基準圖形中的所要驅(qū)動的參數(shù)(如三維尺寸、結(jié)構(gòu)、裝配體中各零件間的關(guān)系及工程圖名稱,明細表,標注符號,公差等)。然后將VC++檢索數(shù)據(jù)庫優(yōu)化設(shè)計得到的各參數(shù),賦值給調(diào)用的參數(shù)化的基準圖形,來生成新的軸承零件、三維裝配模型及相應(yīng)的二維工程圖。
2.1.1 添加頭文件和庫文件路徑
利用Pro/TOOLKIT進行三維參數(shù)化建模,必須利用Pro/TOOLKIT提供的用于底層資源調(diào)用的C語言函數(shù)庫和頭文件以及Visual C++提供的MFC類庫來共同完成,所以要在Visual C++環(huán)境中添加頭文件和庫文件路徑。
選擇VC++主菜單命令TOOLS | OPTIONS,在OPTIONS對話框中選擇DIRECTORIES選項,在Include Files項下添加~protoolkitincludes等項,同樣在Library Files項下添加~protoolkiti486 ntobj等項(其中“~”是指Pro/ENGINEER野火版的安裝目錄)。
2.1.2 設(shè)置Project/Settings選項
1)添加庫文件:選擇VC++主菜單命令PROJECT| SETTING,在SETTING對話框中選擇LINK選項卡,在Category選項卡里選擇General,在Object/library modules域內(nèi)添加下列庫文件:protoolkit.lib pt_asynchronous.lib wsock32.lib mpr.lib protkmd.lib。
2)設(shè)置強制輸出:選擇VC++主菜單命令PROJECT| SETTING,在SETTING對話框中選擇LINK選項卡,在Category選項卡里選擇Customize,選中Force files output選項,設(shè)置該工程為強制輸出狀態(tài)。
2.1.3 設(shè)置環(huán)境變量
采用Pro/TOOLKIT異步開發(fā)模式,必須預(yù)先設(shè)置環(huán)境變量,環(huán)境變量設(shè)置的內(nèi)容為:
變量名:PRO_COMM_MSG_EXE
變量值:~ i486_ntobjpro_comm_msg.exe
//“~”是指Pro/ENGINEER野火版的安裝目錄。
在CAD中要實現(xiàn)參數(shù)化設(shè)計,參數(shù)化模型的創(chuàng)建是關(guān)鍵。
參數(shù)化模型是在零件圖形中加入一定的幾何約束和工程約束。幾何約束包括結(jié)構(gòu)約束(指幾何元素之間的拓撲約束關(guān)系,如平行、垂直、相切、對稱等)和尺寸約束(通過尺寸標注表示的約束,如距離、角度、半徑等)。工程約束是指尺寸之間的約束關(guān)系,通過定義尺寸變量及它們之間在數(shù)值上和邏輯上的關(guān)系來表示。
圓柱滾子軸承零件參數(shù)化模型的創(chuàng)建,首先要按設(shè)計要求建立圓柱滾子軸承各零件模型,通過Pro/E工具下拉菜單中的參數(shù)選項,增加模型的全約束參數(shù),并通過關(guān)系選項將系統(tǒng)變量與定義的參數(shù)連接起來,系統(tǒng)程序通過控制這些變量以實現(xiàn)零件的參數(shù)化再生。
裝配體中,需要定義好各個零件間的裝配關(guān)系,才能順利使再生完成。
而工程圖的參數(shù)化開發(fā)較三維模型困難,1)要通過環(huán)境配置文件config.pro來定制窗口形式及一些重要文件的路徑 ,如繪圖設(shè)置文件、 跟蹤文件、 符號庫、 標準件庫、 格式庫等 ,以及模型單位、公差模式、圖層設(shè)定、映射鍵設(shè)置等,再通過繪圖設(shè)置文件prodetail.dtl來設(shè)置尺寸高度、文本注釋、文本方向、幾何公差標準、字體屬性、箭頭樣式等選項的特性;2)要創(chuàng)建標題欄、參數(shù)化的表格內(nèi)容、軸承行業(yè)所用的特殊符號庫及美觀的二維工程圖模板;再次,將定義的各項工程圖符號,以一定關(guān)系與對應(yīng)的尺寸線相關(guān)聯(lián);3)模板調(diào)用時要注意三維模型與其對應(yīng)的二維工程圖模板要逐一匹配,匹配錯誤將導(dǎo)致模板調(diào)用錯誤。
DAO是用于和微軟的Access數(shù)據(jù)庫接口。在數(shù)據(jù)庫應(yīng)用程序僅需與Access數(shù)據(jù)庫接口時,使用DAO編程方便易行。通過打開相關(guān)數(shù)據(jù)庫表,遍歷選擇出對應(yīng)的參數(shù),并對其進行操作,便可獲得需要的數(shù)據(jù)。
用戶可通過對話框輸入基本參數(shù)(即軸承的內(nèi)徑d、外徑D、寬度B等)或選擇軸承型號,自動查找并計算出軸承各零件的詳細尺寸并根據(jù)尺寸值檢索相應(yīng)數(shù)據(jù)庫,查出相應(yīng)尺寸公差、形位公差。計算過程中,先通過優(yōu)化設(shè)計過程確定高速圓柱滾子軸承的結(jié)構(gòu)主參數(shù)(如滾子中心圓直徑Dm,滾子直徑Dw,滾子長度Lw,滾子數(shù)量Z,徑向游隙Pa等),然后按照圓柱滾子軸承設(shè)計主導(dǎo)文件編程計算出其余常規(guī)幾何參數(shù)。
Pro/TOOLKIT提供有專門對特征進行訪問和處理的各類函數(shù),主要包括特征對象、訪問特征、特征查詢、處理特征等,通過這些函數(shù),可以很方便的查詢、修改三維實體的尺寸。三維實體的每個尺寸在Pro/TOOLKIT中用一個整形標識符進行識別,稱之為尺寸的ID,通過尺寸的ID,可以方便的查詢、顯示和修改與之對應(yīng)的尺寸值。
利用系統(tǒng)程序優(yōu)化計算得到的變量,傳遞給參數(shù)化模型中的各參數(shù),便可得到新的三維零件、裝配體及工程圖模型。
以外圈模型為例,來講述系統(tǒng)二次開發(fā)中參數(shù)的傳遞過程。外圈模型的樣板模型建立主要是草繪封閉鏈繞軸旋轉(zhuǎn)而成,是Pro/E的基本操作,不再贅述,注意擋邊與油溝的連接部分應(yīng)光滑連接即可,而其參數(shù)化驅(qū)動主要程序代碼如下:
…
UpdateData(true);
double oradius,iradius,D,W,width…; //定義變量
…
ProModelitem feature;
…
oradius=m_oradius; //參數(shù)變量賦值
…
ProMdl part;
ProMdlRetrieve(L"~outer.prt.1", PRO_MDL_PART, &part); //將外圈模型調(diào)入內(nèi)存
ProMdlDisplay(part) ; //顯示外圈模型
ProMdlIdGet(part,&i); //獲取外圈尺寸的ID
ProModelitemInit(part,i,PRO_PART,&feature);//初始化模型
ProParameterInit(&feature,L"ORADIUS",¶m1); //初始化外圈模型參數(shù)
…
value1.type=PRO_PARAM_DOUBLE;
value1.value.d_val=oradius; //參數(shù)變量賦值—外圈外徑
…
ProParameterValueSet(¶m1,&value1); //設(shè)置外圈外徑參數(shù)值
…
ProSolidRegenerate((ProSolid)part, PRO_B_TRUE); //再生外圈模型UpdateData(false);
…
要注意的是,變量均由參數(shù)化模型中的參數(shù)在關(guān)系中賦予;另外,在裝配體模型調(diào)入內(nèi)存中采用的是PRO_MDL_ASSEMBLY變量,而工程圖調(diào)入內(nèi)存采用的是PRO_MDL_DRAWING變量,若寫錯的話,將無法調(diào)出參數(shù)化模型。
以NU208E型軸承的設(shè)計為例介紹該系統(tǒng)的應(yīng)用。首先,點程序運行圖標,彈出系統(tǒng)菜單對話框如圖1所示,通過下拉菜單選擇NU型號軸承中的02系列按鈕,彈出如圖2所示的主參數(shù)調(diào)入界面;接著,通過相應(yīng)的組合下拉框,選擇208E型號,及滾子與保持架類型,點檢索按鈕,基本尺寸便顯示在右邊相應(yīng)的文本框中,再點設(shè)計按鈕,系統(tǒng)通過優(yōu)化程序?qū)緟?shù)進行優(yōu)化,之后彈出優(yōu)化設(shè)計的參數(shù)結(jié)果,如圖3所示;最后點擊其上的出圖按鈕,調(diào)用繪圖對話框如圖4所示,點啟動pro/e后,再點相應(yīng)的零件,裝配,及工程圖,便可將所得的各項參數(shù)傳遞給調(diào)用的各參數(shù)模型,同時繪制出滿足生產(chǎn)要求的新圖形。其中,裝配圖與外圈工程圖分別如圖5、6所示,其它略。
圖1 系統(tǒng)菜單對話框按鈕
利用Pro/E三維繪圖軟件與VC++語言編程相結(jié)合的方法,提出了一種可視化交互設(shè)計的參數(shù)化繪圖方法。解決了MFC與 Pro/Toolkit的接口連接,數(shù)據(jù)庫的調(diào)用,Pro/E參數(shù)化模板的調(diào)用及參數(shù)驅(qū)動等關(guān)鍵問題。用戶可通過對話框輸入基本參數(shù)或選擇軸承型號,來完成產(chǎn)品參數(shù)設(shè)計,同時自動繪制出三維模型及二維工程圖,從而提高了設(shè)計效率,大大節(jié)省了設(shè)計人員在設(shè)計、建模和裝配時花費的時間和精力, 具有很大的實際意義;同時,也為企業(yè)產(chǎn)品走參數(shù)化之路提供了廣泛的參考價值。
圖2 參數(shù)調(diào)入界面
圖3 滾子軸承參數(shù)設(shè)計顯示
圖4 繪制圓柱滾子軸承三維模型及工程圖
圖5 圓柱滾子軸承裝配圖的三維模型
圖6 圓柱滾子軸承外圈工程圖
[1] 李世國. Pro/ TOOL KIT 程序設(shè)計[M]. 北京: 機械工業(yè)出版社, 2003.
[2] Parametric Technology Corporation. Pro/ENGINEER wildfire Pro/TOOLKIT user’s guide[C]. USA: PTC, 2003.
[3] 張繼春. Pro/ ENGINEER 二次開發(fā)實用教程[M]. 北京:北京大學(xué)出版社, 2003.
[4] 鄔義杰,金哲. 圓錐滾子軸承CAD系統(tǒng)的二次開發(fā)與實現(xiàn)[J]. 機電工程, 2005, 22 (3) : 45-48.
[5] 楊青, 等. 基于Pro/Engineer的三維零件模型的參數(shù)化設(shè)計[J]. 機械設(shè)計, 2006, 23(9): 53-56.