proe二次開發(fā)在機(jī)床主軸組件中的應(yīng)用
2013-08-10 by:ProE/Croe培訓(xùn)中心 來源:仿真在線
proe二次開發(fā)在機(jī)床主軸組件中的應(yīng)用
proe是三維CAD/CAM 系統(tǒng),可以為工業(yè)產(chǎn)品設(shè)計(jì)提供完整的解決方案。為了使proe軟件能夠在企業(yè)特定產(chǎn)品設(shè)計(jì)中最大限度地發(fā)揮潛力,創(chuàng)造效益,企業(yè)必須跟據(jù)自身的特點(diǎn),對軟件進(jìn)行本地化的工作,即需要對proe進(jìn)行二次開發(fā),進(jìn)而成為用戶適用的CAD/CAM應(yīng)用系統(tǒng)。
下面主要研究proe軟件中的三種二次開發(fā)工具:族表,程序,Pro/Toolkit的應(yīng)用。其中,研究利用族表工具進(jìn)行零件庫建立的方法與步驟,并進(jìn)行零件庫的管理和調(diào)用;利用Pro/Toolkit接口開發(fā)出典型的齒輪、軸的參數(shù)化設(shè)計(jì)系統(tǒng);利用Program(程序)進(jìn)行產(chǎn)品的裝配設(shè)計(jì)。其次,以CA6140車床主軸組件的三維建模為例,探討了基于以上幾種二次開發(fā)工具及Top-Down的設(shè)計(jì)方法在產(chǎn)品設(shè)計(jì)中的應(yīng)用。
1 proe的二次開發(fā)方式
proe軟件在提供強(qiáng)大的設(shè)計(jì)、分析、制造功能的同時(shí),也為用戶提供了多種二次開發(fā)工具。常用的二次開發(fā)工具有:族表(Family Table),用戶定義特征(UDF),Program,J-link, Pro/TOOLKⅡ等。
1.1 族表(Family Table)
族表本質(zhì)上是相似零件(組件或特征)的集合,但在一兩個(gè)方面稍有不同,如大小、長度或局部特征等。通過族表可以方便地管理具有相同或相近結(jié)構(gòu)的零件,特別適用于標(biāo)準(zhǔn)零件的管理。族表通過建立通用零件,然后在其基礎(chǔ)上對各參數(shù)加以控制生成派生零件。整個(gè)族表通過電子表格來管理。所以又被稱為表格驅(qū)動(dòng)。
使用族表可以實(shí)現(xiàn)下列功能:
(1)產(chǎn)生和存儲(chǔ)大量簡單而細(xì)致的對象;
(2)將零件標(biāo)準(zhǔn)化,既省時(shí)又省力;
(3)從零件文件中生成各種零件,而無需重新構(gòu)造;
(4)可以對零件產(chǎn)生細(xì)小的變化而無需用關(guān)系改變模型。
族表提高了標(biāo)準(zhǔn)化元件的用途,用它可以在proe中表示實(shí)際的零件清單。此外,使用族表使得組件中的零件和子組件容易互換,因?yàn)閬碜酝蛔灞淼哪P拖嗷ブg具有互換性。
1.2 用戶定義特征(User Define Feature,UDF)
用戶定義特征(UDF)是指用戶將已經(jīng)創(chuàng)建的特征(可以為多個(gè)特征)自定義為一單獨(dú)的特征,并允許像加入標(biāo)準(zhǔn)特征一樣將其加入到以后的設(shè)計(jì)中去。一個(gè)UDF包括選定的特征、所有相關(guān)尺寸、選定特征之間的所有關(guān)系以及在零件上放置UDF的參照等內(nèi)容。與族表法類似, UDF也要先構(gòu)建零件模型,零件創(chuàng)建完成后定義要包含的幾何特征、參考基準(zhǔn)、可變尺寸及可變尺寸的符號(hào),然后將這些信息存在一個(gè)后綴為“gph”的文件中,之后就可以在程序中利用該文件。通過給參數(shù)賦值來改變特征的尺寸,得到所需要的衍生特征。UDF適用于特定產(chǎn)品中的特定結(jié)構(gòu),可以作為一個(gè)特征添加到現(xiàn)有零件上,有利于設(shè)計(jì)者根據(jù)產(chǎn)品特征快速生成幾何模型。
1.3 程序(Program)
proe軟件對于每個(gè)模型都有一個(gè)主要設(shè)計(jì)步驟和參數(shù)列表——即Program。它記錄了一個(gè)零件的繪制過程及該零件包含的所有特征信息,其中有主要設(shè)計(jì)步驟和編輯后可用于編程的參數(shù)。它是由類似Basic的高級(jí)語言構(gòu)成的,用戶可以根據(jù)設(shè)計(jì)需要來編輯模型的Program,使其作為一個(gè)程序來工作。通過運(yùn)行該程序,系統(tǒng)通過人機(jī)交互的方法來控制系統(tǒng)參數(shù)、特征出現(xiàn)與否和特征的具體尺寸等。利用此工具可以在裝配設(shè)計(jì)中記錄整個(gè)裝配的全過程,通過添加一定的關(guān)系式,可以實(shí)現(xiàn)裝配中零部件的自動(dòng)裝配、自動(dòng)替換,零部件自動(dòng)抑制等。
1.4 J-link
J-link是proe中自帶的基于JAVA語言的二次開發(fā)工具。用戶通過JAVA編程實(shí)現(xiàn)在軟件proe中添加功能。它是一種用來擴(kuò)展、定制和自動(dòng)處理proe功能的強(qiáng)大工具。J-link是一個(gè)面向?qū)ο?獨(dú)立于平臺(tái)且向上兼容的基于Java的應(yīng)用程序接口。
1.5 Pro/TOOLKⅡ
Pro/TOOLKⅡ是PTC公司為proe軟件提供的客戶化開發(fā)工具包,即應(yīng)用程序接口(API)。其主要目的是讓用戶或第三方通過C程序代碼擴(kuò)充proeNGINEER系統(tǒng)的功能,開發(fā)基于proe系統(tǒng)的應(yīng)用程序模塊,從而滿足用戶的特殊要求。用戶還可以利用Pro/TOOLKⅡ提供的對話框、菜單以及VC的可視化界面技術(shù),設(shè)計(jì)出方便實(shí)用的人機(jī)交互界面,從而大大提高系統(tǒng)的使用效率。Pro/TOOLKIT工具包提供了開發(fā)proe所需的函數(shù)庫文件和頭文件,使用戶編寫的應(yīng)用程序能夠安全控制和訪問proe,并可以實(shí)現(xiàn)應(yīng)用程序模塊與proe系統(tǒng)的無縫集成。
2 基于族表工具的標(biāo)準(zhǔn)件庫建立
根據(jù)標(biāo)準(zhǔn)件的相似性原理,首先確定能夠完整表示該系列標(biāo)準(zhǔn)件所有零件特征的復(fù)合零件,根據(jù)該復(fù)合零件可以派生出此系列標(biāo)準(zhǔn)件中的任一個(gè)零件。復(fù)合零件是在proe環(huán)境下創(chuàng)建的三維零件模型,也稱之三維零件樣板。在三維零件樣板的基礎(chǔ)上確定一組設(shè)計(jì)參數(shù)來控制零件的形狀和拓?fù)潢P(guān)系,建立零件族表設(shè)計(jì)參數(shù)的系列尺寸,通過添加不同的系列尺寸來自動(dòng)生成零件的三維模型,創(chuàng)建一系列的常用標(biāo)準(zhǔn)件,即標(biāo)準(zhǔn)件庫。
2.1 族表創(chuàng)建標(biāo)準(zhǔn)件步驟
(1)建立樣板零件。按手冊上的國標(biāo)尺寸建立尺寸間關(guān)系,創(chuàng)建一個(gè)作為原型零件的標(biāo)準(zhǔn)模型,并在該模型上產(chǎn)生欲作為基因參數(shù)的特征、尺寸等項(xiàng)目。
(2)在菜單中選取“工具—族表”,進(jìn)入族表菜單。
(3)在彈出的族表窗口中單擊“增加/刪除表列按鈕”,彈出“族項(xiàng)目對話框”,在族項(xiàng)目中選擇要增加的項(xiàng)目,包括尺寸、特征及組等。
(4)使用特征收集器的功能加入特征、尺寸、參數(shù)、部件,參照模型、組、陣列表等內(nèi)容供子零件產(chǎn)生變化。
(5)驗(yàn)證子零件的正確性。為使每個(gè)子零件均可以順利產(chǎn)生,需要驗(yàn)證子零件。若有檢驗(yàn)失敗,則需檢查錄入的數(shù)據(jù),修改后再進(jìn)行檢驗(yàn)直到全部成功為止。
2.2 設(shè)計(jì)實(shí)例
下面以一種全螺紋螺栓GB5781-86為例說明族表創(chuàng)建過程。
(1) 首先建立螺栓的樣板零件。以螺栓GB5781-86M10×30為樣板零件,添加螺栓長度,螺紋外徑,螺栓頭大小等參數(shù),以及其關(guān)系式,通過拉伸,旋轉(zhuǎn),剪切等特征工具創(chuàng)建樣板零件螺栓M10×30。然后保存為luoding prt。將上面創(chuàng)建的零件打開,刪除外螺紋特征,如圖1所示。因?yàn)槁菟ū旧砭褪菢?biāo)準(zhǔn)件,畫出外螺紋僅是示意其外形,只需要?jiǎng)?chuàng)建修飾螺紋就行。
圖1 螺栓上螺紋簡化修飾螺紋
(2) 選擇<工具> <族表> ,在族表窗口中單擊增加/刪除表列按鈕,彈出族項(xiàng)目對話框,在族項(xiàng)目中選擇“尺寸”項(xiàng)目,將螺栓的長,螺紋外徑等添加到族表項(xiàng)目中。
(3) 通過手動(dòng)輸入或利用Excl表格編輯器輸入各組尺寸的數(shù)值,如圖2所示。
圖2 完成的族表
(4) 對即將生成的族表進(jìn)行校驗(yàn),驗(yàn)證零件的正確性。至此,一個(gè)簡單的零件族表圖庫就完成了,其他的零件按照此方法亦可創(chuàng)建其族表。當(dāng)打開帶有族表的文件時(shí),會(huì)出現(xiàn)如圖3所示的對話框。可以按名稱或者按參數(shù)選擇所需的標(biāo)準(zhǔn)件。
圖3 族表零件的使用
2.3 零件庫創(chuàng)建和使用
利用族表工具,按照上述過程,可以創(chuàng)建螺栓、螺母、鍵、銷、鉚釘、齒輪、軸承等標(biāo)準(zhǔn)零件件庫。有了這些在proe中建立的模型文件,為了在產(chǎn)品設(shè)計(jì)過程中更好、更方便、更快捷地調(diào)用這些零件,需要解決零件庫進(jìn)行管理和調(diào)用問題。在此對零件庫件進(jìn)行分類,如國標(biāo)零件庫,通用零件庫,其他零件庫等,其中國標(biāo)零件庫又可以分為齒輪、聯(lián)接緊固件及滾動(dòng)軸承幾大類,并分別建立目錄存放這些文件,如果需要增加零件庫只需添加目錄即可。
2.3.1 創(chuàng)建菜單文件
為了實(shí)現(xiàn)在proe中直接調(diào)用這些個(gè)零件庫,首先需要建立所有目錄及子目錄的菜單文件(MNU文件)。也就是如果當(dāng)前目錄名為Library,需要在這個(gè)目錄下創(chuàng)建一個(gè)跟當(dāng)前目錄同名的菜單文件Library MNU。下面為Library目錄的結(jié)構(gòu):
\\Library<總庫目錄>
\\GB_Library<國標(biāo)標(biāo)準(zhǔn)件庫>
\\General_Library<通用件庫>
\\Other_Library<其他零件庫>
\\Library.mnu<菜單文件>
下面是Library.MNU的文件格式:
Library總庫目錄<分類描述,中間不能有空格。>
#
#<兩個(gè)”#”表示兩個(gè)硬回車,其后為分類的具體內(nèi)容>
/GB_Library<子分類,字庫的名稱>
國標(biāo)標(biāo)準(zhǔn)件庫<子分類描述,此行也可無內(nèi)容>
#<一個(gè)硬回車,進(jìn)入下一個(gè)子分類>
……
/Other_Library
其他零件庫
#
在子目錄下也可以繼續(xù)創(chuàng)建子目錄。用上面的方法依次創(chuàng)建所有的目錄和子目錄及對應(yīng)的菜單文件(MNU 文件) ,注意在每一個(gè)目錄下面必須有一個(gè)同目錄名一樣的菜單文件。
2.3.2 將零件庫掛上系統(tǒng)
為了能在proe中直接使用所創(chuàng)建的零件庫,需要在配置文件CONFIG中設(shè)置: pro_library_dir D:\\<后面是零件庫的目錄路徑>;啟動(dòng)proe,在打開文件對話框中可以看到零件庫已經(jīng)掛上。至此,零件庫就可以使用了。
利用這種方法,用戶可以方便創(chuàng)建標(biāo)準(zhǔn)零件庫,并在需要時(shí)隨時(shí)進(jìn)行添加。在一定程度上大大減輕了產(chǎn)品設(shè)計(jì)中的工作量,提高了產(chǎn)品設(shè)計(jì)效率。
3 基于Pro/TOOLKⅡ開發(fā)典型零件設(shè)計(jì)系統(tǒng)
Pro/TOOLKⅡ工具包提供了開發(fā)proe所需的函數(shù)庫文件和頭文件,使用戶編寫的程序能夠安全的控制和訪問proe,并可以實(shí)現(xiàn)應(yīng)用程序模塊與proe系統(tǒng)的無縫集成,是proe自帶的功能最強(qiáng)大的二次開發(fā)工具。
3.1 Pro/TOOLKIT二次開發(fā)基本過程
(1) 編寫源文件。源文件包括資源文件和程序源文件:資源文件包括菜單資源文件、窗口信息資源文件、對話框資源文件(分別用來完成創(chuàng)建和修改proe菜單、窗口信息和對話框等功能)等;程序源文件指所要編寫的C語言程序,是整個(gè)Pro/Toolkit程序開發(fā)的核心部分。
(2) 程序的編譯和連接。為編寫好的源程序進(jìn)行編譯和連接,生成Pro/Toolkit應(yīng)用程序。采用C編譯器和連接器創(chuàng)建可執(zhí)行程序(文件后綴名為EXE)或動(dòng)態(tài)連接庫(文件后綴名為DLL)程序,這兩種都能夠在proe運(yùn)行。
(3) 應(yīng)用程序的注冊、運(yùn)行。編譯連接成功生成的可執(zhí)行程序必須在proe中進(jìn)行注冊才能運(yùn)行。注冊Pro /Toolkit應(yīng)用程序,就是向proe系統(tǒng)提供該程序的相關(guān)信息,指定proe應(yīng)用程序的可執(zhí)行文件、菜單資源文件和對話框資源及信息資源文件的位置、以及此程序所依據(jù)的Pro/Toolkit的版本信息等。為此,需要編寫一個(gè)應(yīng)用程序注冊文件,其作用就是在應(yīng)用程序的注冊完成以后,通知proe開始運(yùn)行該程序。
3.2 齒輪和軸類零件的參數(shù)化設(shè)計(jì)系統(tǒng)開發(fā)實(shí)例
系統(tǒng)實(shí)現(xiàn)的原理是利用proe中的二次開發(fā)工具Pro/Toolkit,采用三維模型與程序控制相結(jié)合的方式。三維模型不是由程序創(chuàng)建,而是利用交互方式生成。在已創(chuàng)建的零件三維模型(三維模型樣板)基礎(chǔ)上,進(jìn)一步根據(jù)零件的設(shè)計(jì)要求建立一組可以完全控制三維模型形狀和大小的設(shè)計(jì)參數(shù)。參數(shù)化程序針對該零件的設(shè)計(jì)參數(shù)進(jìn)行編程,實(shí)現(xiàn)設(shè)計(jì)參數(shù)的檢索、修改和根據(jù)新的參數(shù)值生成新的三維模型的功能。
由于本文是先由系統(tǒng)菜單調(diào)用UI交互對話框,然后從對話框中輸入所需零件的參數(shù),由程序讀取各參數(shù)的值,賦給零件各個(gè)參數(shù),實(shí)現(xiàn)零件的再生。故需在程序里實(shí)現(xiàn)如下主要過程:
//裝入對話框資源、將其調(diào)入內(nèi)存
status=ProU IDialogCreate("spur","spur");
//定義“OK”按鈕的功能,使該按鈕調(diào)用函數(shù)spurOK ProU IPushbuttonActivateActionSet("spur","Ok",spurOK,NULL);
//設(shè)置Cancel按鈕激活函數(shù),使該按鈕調(diào)用函數(shù)Usr~CancelAction
ProU IPushbuttonActivateActionSet ("spur","Cancel",Usr~CancelAction,NULL);
//顯示和激活對話框
status=ProU IDialogActivate(dialog_name, & ActiveDialog_status);
//從內(nèi)存清除對話框資源
status=ProU IDialogDestroy(dialog_name);
//將零件(直齒齒輪)zhichi prt調(diào)入內(nèi)存
ProMdlRetrieve(L"D:\\\\LYLixiang\\\\canshu\\\\gear
\\\\parts\\\\zhichi prt",PRO_PART,& part);
//顯示零件
ProMdIDisp lay(part);
//獲取零件ID
ProMdlIdGet(part,& i);
//初始化零件特征
ProModelitemInit(part,i,PRO_PART,& featur);
//初始化各參數(shù)
ProParameterInit(& feature,L"TEETH",& param1);
……
//讀取對話框各編輯框的輸入數(shù)值
ProU IInputpanelIntegerGet ("spur","teethnum",& teethnum1);
……
//為各變量賦值
value1.type=PRO_PARAM_INTEGER;
value1.value.i_val=teethnum1;
……
//設(shè)置各個(gè)參數(shù)的值
ProParameterValueSet(& param1,& value l);
……
//零件再生
ProSolidRegenerate((ProSolid)part,PRO_B_TRUE);
//關(guān)閉對話框
ProU IDialogExit(dialog,1);
首先生成程序可執(zhí)行文件,并編寫注冊文件,在proe中進(jìn)行注冊,這時(shí)就可以看到proe的菜單項(xiàng)中多了一個(gè)“ProE二次開發(fā)”的菜單。下拉菜單里有齒輪、軸參數(shù)化設(shè)計(jì)系統(tǒng)菜單及幫助菜單,如圖4所示。圖4 參數(shù)化設(shè)計(jì)下拉菜單示例
從下拉菜單中單擊選中任何一個(gè)菜單都會(huì)彈出一個(gè)對話框來,如圖5的齒輪參數(shù)設(shè)計(jì)對話框,共有9種不同樣式的齒輪,其中都有三維模型樣板文件,在圖5所示的任何一種類型的齒輪的圖像上單擊鼠標(biāo),便調(diào)用另一個(gè)對話框函數(shù),其中可以對齒數(shù),模數(shù),壓力角,寬度進(jìn)行設(shè)定。圖6為輸入一組參數(shù)后系統(tǒng)從parts文件夾調(diào)入齒輪的模型,然后賦予新的參數(shù)值,再生成模型。軸的參數(shù)化設(shè)計(jì)系統(tǒng)使用過程亦如此。
圖5 齒輪參數(shù)化設(shè)計(jì)系統(tǒng)對話框
圖6 參數(shù)化驅(qū)動(dòng)的齒輪設(shè)計(jì)實(shí)例
4 Pro/Program在裝配中的應(yīng)用
4.1 程序設(shè)計(jì)的流程
在零件或組件的設(shè)計(jì)過程當(dāng)中,若已完成零組件的構(gòu)建或仍在建構(gòu)零組件中,則proe系統(tǒng)隨時(shí)將零組件的信息寫入程序中,若選取〈工具〉下拉菜單下的〈程序〉,則出現(xiàn)〈顯示設(shè)計(jì)〉〈編輯設(shè)計(jì)〉〈例證〉三個(gè)選項(xiàng)。程序設(shè)計(jì)在編輯設(shè)計(jì)打開的記事本中進(jìn)行。如圖7所示設(shè)計(jì)流程。
圖7 程序設(shè)計(jì)流程圖
4.2 Program應(yīng)用實(shí)例
程序在機(jī)床主軸組件的裝配過程仿真中的應(yīng)用,主要結(jié)合proe中的骨架結(jié)構(gòu)圖模塊(Skeleton)來進(jìn)行,在程序編輯設(shè)計(jì)中的RELATIONS(關(guān)系)END RELATIONS段添加條件語句,實(shí)現(xiàn)裝配過程的仿真,從而實(shí)現(xiàn)裝配中的碰撞和干涉的檢查功能。
機(jī)床主軸組件的建立利用到了自頂向下的設(shè)計(jì)思想,首先建立好整個(gè)組件裝配體的骨架Skeleton,骨架其實(shí)就是產(chǎn)品裝配的構(gòu)架,可以理解為用簡單的幾何線條來描述復(fù)雜的幾何結(jié)構(gòu),是一個(gè)裝配體的3D布局,它是在組件中創(chuàng)建的。由于機(jī)床主軸組件骨架的建立,主要考慮到沿主軸軸向的長度方向上各軸承,齒輪等的定位,建立的骨架模型中體現(xiàn)了裝配的路徑,即沿軸向的簡單的直線。裝配的仿真和裝配中的零部件碰撞和干涉的檢查即是沿軸線實(shí)現(xiàn)的。如圖8所示,列出了主軸前端圓盤,前端法蘭盤、螺母、支承軸承裝配仿真全過程,實(shí)現(xiàn)過程的基本原理很簡單,首先建立裝配的組件文件,再建立骨架文件,其中骨架文件定好了各零件的主要定位基準(zhǔn)面,如圖8中的圓盤、前端支承軸承的定位基準(zhǔn)面。然后插入裝配元件圓盤、法蘭盤、前端螺母、軸承。并使他們的軸線對齊主軸軸線。然后添加其定位面的關(guān)系式。關(guān)系式必須帶進(jìn)程標(biāo)識(shí)。最后不斷點(diǎn)擊再生圖標(biāo)。以圓盤為例,其關(guān)系式如下:
RELATIONS
if D3:1>=0
D3:1=D3:1-30
endif
……
END RELATIONS
設(shè)定參數(shù)值為d3:1,每做一次再生,參數(shù)d3:1就減少30,相對應(yīng)圓盤就沿軸線走30,從而實(shí)現(xiàn)動(dòng)態(tài)仿真。
圖8 圓盤,前端法蘭盤、螺母、支承軸承裝配仿真過程
利用Program可實(shí)現(xiàn)裝配過程的動(dòng)態(tài)仿真,如在安裝前端螺母到主軸固定位置的過程中,若通過proe本身的安裝模塊,利用軸線和端面對齊,即可安裝上;但是這樣只能表現(xiàn)裝配體裝配之前和之后的兩種狀態(tài),至于安裝過程中通過何種路徑進(jìn)行,則無法體現(xiàn),對裝配過程中零部件間的干涉和碰撞也無法進(jìn)行檢查,不能保證設(shè)計(jì)的合理性。利用Program,可以實(shí)現(xiàn)裝配過程的動(dòng)態(tài)仿真以及裝配過程中的全局干涉檢查。
相關(guān)標(biāo)簽搜索:proe二次開發(fā)在機(jī)床主軸組件中的應(yīng)用 proe二次開發(fā)在機(jī)床主軸組件中的應(yīng)用 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 有限元培訓(xùn) Solidworks培訓(xùn) UG模具培訓(xùn) PROE培訓(xùn) 運(yùn)動(dòng)仿真