晏名超 張洪彬 張靖鑫
摘 要:討論了利用Visual Studio 2005開發(fā)環(huán)境和Pro/TOOLKIT二次開發(fā)工具進(jìn)行Pro/E二次開發(fā)的方法,分析了開發(fā)過程的關(guān)鍵技術(shù)和步驟,以標(biāo)準(zhǔn)件如齒輪為例,實(shí)現(xiàn)了基于 Pro/TOOLKIT零件自動(dòng)建模的方法,研究了零部件自動(dòng)裝配方法,實(shí)現(xiàn)了球閥裝配體的自動(dòng)裝配。
關(guān)鍵詞:Pro/Toolkit;C++;自動(dòng)裝配;自動(dòng)建模
Pro/TOOLKIT是美國Parametric Technology Corporation(PTC)公司為Pro/ENGINEER軟件
提供的開發(fā)工具包,其主要目的是讓用戶或第三
方通過C程序代碼擴(kuò)充Pro/ENGINEER系統(tǒng)的功能,開發(fā)基于Pro/ENGINEER系統(tǒng)的應(yīng)用程序模塊,從而滿足用戶的特殊要求。Pro/TOOLKIT工具包提供了開發(fā) Pro/ENGINEER所需的函數(shù)庫文件和頭文件,使用戶編寫的應(yīng)用程序能夠安全地控制和訪問 Pro/ENGINEER,并可以實(shí)現(xiàn)應(yīng)用程序模塊與Pro/ENGINEER 系統(tǒng)的無縫集成[1]。
1 自動(dòng)化建模和裝配系統(tǒng)實(shí)現(xiàn)過程
1.1 開發(fā)環(huán)境配置
環(huán)境配置一共分為三步:首先在Visual Studio 2005中設(shè)置包含文件路徑,然后導(dǎo)入庫文件的路徑,最后指明具體所需庫文件。
1.2 編寫源文件
源文件包括:對(duì)話框資源文件、窗口信息文件和程序源文件。
對(duì)話框編寫方式使用Pro/TOOLKIT提供的UI對(duì)話框技術(shù),可以設(shè)計(jì)出風(fēng)格與Pro/ENGINEER系統(tǒng)本身具有的對(duì)話框相似的人機(jī)交互界面,文件擴(kuò)展名為.res。
程序源文件指我們所要編寫的C++程序。Pro/TOOLKIT應(yīng)用程序的核心是:user_initialize()和user_terminate()兩個(gè)函數(shù)。user_initialize()是 Pro/ TOOLKIT應(yīng)用程序的初始化函數(shù),在該函數(shù)中設(shè)置用戶的交互接口,如設(shè)置菜單、調(diào)用對(duì)話框或直接調(diào)用所需的函數(shù)等;user_terminate()函數(shù)在終止同步模式的應(yīng)用程序時(shí)調(diào)用,該函數(shù)由用戶定義,其中可以不執(zhí)行任何動(dòng)作。
窗口信息文件是含有在調(diào)用某些需要人機(jī)交互的函數(shù)時(shí)在屏幕上顯示的提示信息。
1.3 生成可執(zhí)行文件
創(chuàng)建Pro/TOOLKIT應(yīng)用程序使用Make文件,文件名前綴為Make_的文件為Pro/TOOLKIT工具包提供的Make文件范例,這些文件中對(duì)編譯和連接所需選項(xiàng)等均已按系統(tǒng)默認(rèn)安裝進(jìn)行了設(shè)置,用戶可以將Make文件范例復(fù)制和修改,生成自己所需的Make文件。
1.4 在Pro/ENGINEER中注冊(cè)并運(yùn)行
在Pro/ENGINEER中運(yùn)行Pro/TOOLKIT應(yīng)用程序時(shí),必須先制作一個(gè)后綴為.dat 的注冊(cè)文件,注冊(cè)文件的作用是向Pro/ENGINEER系統(tǒng)傳遞應(yīng)用程序的信息[3]。
2 關(guān)鍵開發(fā)技術(shù)
2.1 菜單的設(shè)計(jì)方法和相關(guān)函數(shù)
菜單設(shè)計(jì)主要用到菜單條(Menu bar)和菜單按鈕(Push button),其中“標(biāo)準(zhǔn)件”就是菜單條,“齒輪”就是菜單按鈕。
菜單條是Pro/ENGINEER界面頂部菜單欄中的菜單,創(chuàng)建方法是:直接調(diào)用ProMenubarMenuAdd()函數(shù)向Pro/ENGINEER添加所需菜單。
菜單按鈕是下拉菜單中用來啟動(dòng)一組指令的菜單項(xiàng),創(chuàng)建方法是:直接調(diào)用ProMenubarmenuPushbuttonAdd()函數(shù),這個(gè)函數(shù)會(huì)調(diào)用一個(gè)動(dòng)作函數(shù)ProCmdActionAdd(),該函數(shù)功能是設(shè)置相對(duì)應(yīng)菜單按鈕的動(dòng)作。
2.2 自動(dòng)化建模實(shí)現(xiàn)方法和相關(guān)函數(shù)
自動(dòng)化建模程序的設(shè)計(jì)流程分為以下三步。
第一步獲得需要編輯的模型句柄,若模型已在Pro/ENGINEER中打開,則利用ProMdlCurrentGet()函數(shù)從內(nèi)存中調(diào)取當(dāng)前用戶正在編輯模型的ProMdl句柄,若模型未打開,則利用ProMdlLoad()函數(shù)從磁盤中調(diào)取模型,此函數(shù)需要模型的物理地址作為輸入?yún)?shù)。
第二步從模型句柄中獲取需要修改的參數(shù)值,該步要用到ProParameterInit()函數(shù),其功能是根據(jù)已知的參數(shù)名和父對(duì)象,獲得指向參數(shù)對(duì)象的指針,參數(shù)名在設(shè)計(jì)模型時(shí)指定[4];然后調(diào)用ProParameterValueGet()函數(shù)從參數(shù)對(duì)象中提取參數(shù)值,最后用ProParameterValueSet()函數(shù)對(duì)參數(shù)值進(jìn)行修改。
第三步調(diào)用ProSolidRegenerate()函數(shù),該函數(shù)會(huì)按照修改后的參數(shù)值再生指定實(shí)體。整個(gè)系統(tǒng)界面如圖1所示。
2.3 自動(dòng)化裝配實(shí)現(xiàn)方法和相關(guān)函數(shù)
自動(dòng)化裝配程序的設(shè)計(jì)流程分為以下三步。
第一步調(diào)用ProAsmcompAssemble函數(shù)將待裝配模型組裝到組立檔案中,此時(shí)不添加任何約束,即僅僅將模型添加到原裝配體中。
第二步設(shè)置約束的組立端參考(ProSelection asm_ref)和元件端參考(ProSelection comp_ref),即設(shè)置需要進(jìn)行裝配的兩個(gè)模型,組立端參考和元件端參考可以通過調(diào)用ProSelectionAlloc函數(shù)由程序創(chuàng)建。
第三步定義組裝的約束方式,Pro/TOOLKIT使用類型ProAsmcompconstraint來表示一個(gè)約束,首先使用ProAsmcompconstraintAlloc 函數(shù)定義約束,但是不設(shè)置約束類型,然后用ProAsmcompconstraintTypeSet()函數(shù)設(shè)置約束類型,約束類型有:匹配、對(duì)齊、插入等。
以裝配球閥為例演示整個(gè)自動(dòng)化裝配系統(tǒng)操作步驟,如圖2所示。
3 結(jié)論
自動(dòng)化建模和裝配技術(shù)是當(dāng)前二次開發(fā)研究的重點(diǎn)方向。它是采用參數(shù)化模型通過調(diào)整參數(shù)來修改和控制幾何形狀,從而自動(dòng)實(shí)現(xiàn)產(chǎn)品的精確造型。并且將裝配過程程序化,通過調(diào)用程序?qū)崿F(xiàn)裝配體的自動(dòng)裝配過程,從而省去了設(shè)計(jì)人員作簡(jiǎn)單重復(fù)的勞動(dòng)之苦,大大提高了的工作效率、節(jié)約了企業(yè)成本。
參考文獻(xiàn)
[1]李世國.Pro/TOOLKIT程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2003:1-41
[2]張繼春.Pro/E野火版二次開發(fā)實(shí)用教程.北京:北京大學(xué)出版社,2003:12-30.
[3]二代龍震工作室.Pro/TOOLKITWildfire2.0插件設(shè)計(jì).電子工業(yè)出版社,2005:65-70.
[4]鐘日銘.Pro/E機(jī)械設(shè)計(jì)實(shí)例教程.北京:清華大學(xué)出版社,2007:220-280.
[5]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2003:63-99