王洪珍
(江蘇聯(lián)合職業(yè)技術(shù)學(xué)院徐州機電工程分院,江蘇 徐州 221011)
模具的標(biāo)準(zhǔn)化工作是模具工業(yè)建設(shè)的基礎(chǔ),也是模具設(shè)計與制造的基礎(chǔ)及現(xiàn)代模具生產(chǎn)技術(shù)的基礎(chǔ)。針對注塑模具由大量相似結(jié)構(gòu)和不同尺寸的零部件組成的實際,本論文提出了基于Pro/E平臺面向?qū)嶓w零件對象的思想,采用了基于ACCESS的數(shù)據(jù)庫,并由Pro/E開發(fā)的應(yīng)用程序管理,開發(fā)出適合塑料模具設(shè)計人員的標(biāo)準(zhǔn)零件生成系統(tǒng)。
本系統(tǒng)以Pro/E為軟件平臺,在面向?qū)ο蟮拈_發(fā)環(huán)境Visual C++中,利用Visual C++設(shè)計友好的界面,通過界面,用戶可以進(jìn)行塑料模標(biāo)準(zhǔn)件的參數(shù)化設(shè)計,在這個過程中,實現(xiàn)設(shè)計參數(shù)從數(shù)據(jù)庫傳遞到Pro/E,在Pro/E中執(zhí)行Pro/TOOLKIT應(yīng)用程序,實現(xiàn)塑料模具標(biāo)準(zhǔn)件通過改變零件模型參數(shù)能生成新的三維實體模型的參數(shù)化設(shè)計。其中,用Access建立數(shù)據(jù)管理庫,通過ODBC方式與Visual C++連接,把數(shù)據(jù)導(dǎo)入Pro/TOOLKIT應(yīng)用程序中,然后調(diào)用在本系統(tǒng)中作為圖形瀏覽工具的Pro/E。系統(tǒng)開發(fā)方案如圖1所示。
圖1 系統(tǒng)開發(fā)方案
Pro/TOOLKIT是美國PTC公司為Pro/E提供的擴(kuò)展編程能力的用戶第三方接口。通過Pro/TOOLKIT可以實現(xiàn)C語言與Pro/E的無縫集成。Pro/TOOLKIT提供了一個很大的C語言函數(shù)庫,允許外部應(yīng)用程序在一個受控制但安全的模式下訪問Pro/E數(shù)據(jù)庫和自定義用戶界面。通過JAVA插件,我們可以獲得這個C語言函數(shù)庫的APIWizard[1],如圖2所示。
圖2 Pro/TOOLKIT對象界面
在Pro/E的二次開發(fā)中,添加用戶菜單是最基本、最常用的技術(shù)。菜單主要包括菜單欄菜單和菜單管理器菜單。這兩種菜單在Pro/TOOLKIT里采用了不同的實現(xiàn)方式,用戶可以在Pro/E界面上現(xiàn)有的菜單條菜單中添加用戶菜單,也可以在Pro/E界面上添加用戶菜單條菜單[2]。本系統(tǒng)設(shè)計的菜單為菜單條菜單,下面為自定義菜單條菜單用戶界面的實現(xiàn)。在創(chuàng)建菜單的時候用到了以下幾個關(guān)鍵的操作函數(shù):
ProMenubarMenuAdd();//添加菜單條
ProCmdActionAdd();//設(shè)置菜單按鈕的動作函數(shù)
ProMenubarmenuPushbuttonAdd();//添加菜單按鈕
ProMenubarmenuMenuAdd();//添加菜單條菜單
菜單條添加及菜單設(shè)置函數(shù):
extern "C" int user_initialize()
{ProError status;
ProFileName MsgFile;
……return status; }
extern "C" void user_terminate()
{AFX_MANAGE_STATE(AfxGetStaticModuleState());//
添加終止代碼
}
在創(chuàng)建菜單條菜單以前必須先設(shè)置菜單信息文件,信息文件以獨立的文本形式存在,通常放在“~ extChinese_cn”下,它的路徑對應(yīng)于protk.dat注冊文件的TEXT_DIR項。每一菜單由四項組成,定義用戶菜單標(biāo)簽的內(nèi)容以及動態(tài)提示的信息,所有用戶菜單可以放在一個文件中。本系統(tǒng)添加的菜單界面如圖3所示。
圖3 本系統(tǒng)添加的菜單界面
Pro/E與MFC的接口就是Pro/E系統(tǒng)調(diào)用MFC應(yīng)用程序的途徑,而Pro/E系統(tǒng)與MFC應(yīng)用程序間的通信方式是接口實現(xiàn)的關(guān)鍵。采用動態(tài)鏈接庫方式可以很好的實現(xiàn)二者的通信,通過調(diào)用VC DLL程序,Pro/TOOLKIT可以直接使用VC DLL程序中所建立的對話框界面以及進(jìn)行數(shù)據(jù)庫的訪問。
零件庫由各個零件模板組成,由于模板中包涵零件幾何模型和零件信息模型兩部分,于是形成了零件幾何模型庫和零件信息模型庫。設(shè)計人員在CAD系統(tǒng)中進(jìn)行設(shè)計時,調(diào)用零件庫中零件的方式一般是通過用戶界面連接到零件庫,利用零件庫的管理工具調(diào)用所需零件模型和信息,通過應(yīng)用程序界面將模型在CAD系統(tǒng)中啟動,并用相應(yīng)的參數(shù)進(jìn)行驅(qū)動,實現(xiàn)參數(shù)化設(shè)計[3]。
三維參數(shù)化零件庫系統(tǒng)的主要功能如下:
(1)零件尺寸驅(qū)動的參數(shù)化功能是該系統(tǒng)最基本的功能,該功能的實現(xiàn)要借助于API(應(yīng)用程序開發(fā)界面)才能實現(xiàn)。
(2)系統(tǒng)可擴(kuò)充、刪除零件,也可編輯現(xiàn)有的零件,包括添加、修改和刪除零件的尺寸參數(shù)。
本系統(tǒng)數(shù)據(jù)庫的開發(fā),主要目的就是建立一個管理此系統(tǒng)數(shù)據(jù)的平臺,使系統(tǒng)的使用具有繼承性。我們將已開發(fā)產(chǎn)品的主要參數(shù)存入數(shù)據(jù)庫,后來的用戶就可以方便的瀏覽該參數(shù),對以后的設(shè)計起到指導(dǎo)作用。
Access是美國Microsoft公司推出的系列自動化辦公軟件Office中的一個非常重要的組成部分,是一個基于關(guān)系型數(shù)據(jù)庫模型建立的數(shù)據(jù)庫管理系統(tǒng)軟件。其具有存儲單一、面向?qū)ο蟆⒁子诓僮?、可以通過ODBC管理、支持Windows的各種操作系統(tǒng)等特點,本系統(tǒng)選擇Access作為數(shù)據(jù)庫開發(fā)工具[4]。
使用Visual C++和pro/E編寫應(yīng)用程序建立塑料模具標(biāo)準(zhǔn)件參數(shù)化建模系統(tǒng)。系統(tǒng)在pro/E環(huán)境下生成用戶自定義菜單(圖2所示),點擊“塑料模具設(shè)計”下拉菜單中的“模具標(biāo)準(zhǔn)零件”彈出二級菜單條,點擊二級菜單下的“推桿”、“直導(dǎo)套”、“帶頭導(dǎo)套”、“帶頭導(dǎo)柱”等標(biāo)準(zhǔn)件,可以分別對這些零件進(jìn)行參數(shù)化設(shè)計。為了使界面更加友好和美觀,在設(shè)計界面的時候,對部分控件進(jìn)行了背景顏色的設(shè)置。如對列表控件都進(jìn)行了背景的設(shè)置,而且對列表控件的字體顏色進(jìn)行了重新設(shè)置,使之更加悅目。
例如用戶想進(jìn)行推桿的參數(shù)化設(shè)計,點擊“推桿”二級菜單,調(diào)出如圖4所示“推桿參數(shù)化設(shè)計“對話框,在此對話框中實現(xiàn)的功能如下:
(1)點擊“打開模型”控件,可以直接把推桿三維模型調(diào)出來,顯示在當(dāng)前窗口。
(2)用戶可以在此對話框中輸入模型參數(shù),進(jìn)行推桿的參數(shù)化設(shè)計,點擊“模型更新”按鈕,驅(qū)動三維實體模型的重新生成。
(3)在LIST控件中,顯示“推桿”數(shù)據(jù)庫表的數(shù)據(jù)。用戶可以參考推桿標(biāo)準(zhǔn)化數(shù)據(jù)。
(4)有權(quán)限的用戶可以點擊“添加”把數(shù)據(jù)添加到數(shù)據(jù)庫中,還可以點擊“修改”和“刪除”可以對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行修改和刪除。
圖4 推桿參數(shù)化設(shè)計界面
本文對注塑模標(biāo)準(zhǔn)件CAD系統(tǒng)進(jìn)行了研究,開發(fā)了人機交互接口,使設(shè)計過程更加簡潔,減少了設(shè)計時間,縮短了設(shè)計周期。在設(shè)計過程中引入了ODBC數(shù)據(jù)庫,使用戶可以更加方便調(diào)用修改數(shù)據(jù),同時也便于管理。此設(shè)計不但可以用于塑模標(biāo)準(zhǔn)件,也為其他零件庫的設(shè)計提供了參考。
[1]吳立軍.Pro/ENGINEER二次開發(fā)技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2006.
[2]劉玉秦,宋 彥.基于Pro/TOOLKIT的Pro/E二次開發(fā)技術(shù)研究[J].制造業(yè)自動化,2011,33(20):6-9.
[3]周同根.基于Pro/E的模具標(biāo)準(zhǔn)件庫與通用件庫的管理與調(diào)用[J].現(xiàn)代制造技術(shù)與裝備,2008,(5):58-59.
[4]符敢為,張亮有,等.基于Pro/E的橋式起重機主梁三維參數(shù)化設(shè)計[J].機械工程與自動化,2012,(2),42-43.