鄧程程,周翠玉,王偉,路志學
(1.河北聯合大學 機械工程學院,河北 唐山 063009;2.唐山市生產力促進中心有限公司,河北 唐山 063000)
標準零件庫在提高產品設計效率方面已經得到了很廣泛的應用,然而在產品設計過程中,某些經典結構的非標準件也經常被設計人員使用,所以有必要建立非標件零件庫來給設計人員帶來便利。與標準件庫一樣,非標件零件庫的建立對于縮短產品的設計周期,提高產品的設計效率具有重要的作用。
Pro/Toolkit 是Pro/E 軟件系統自帶的二次開發工具,通過它可以直接訪問Pro/E 軟件中所有的資源,包括所有的底層數據庫資源,同時利用Pro/Toolkit 二次開發工具對Pro/E 進行開發也是最根本的方法,它可以拓展Pro/E現有的功能,定制用戶需要使用的功能。
Pro/Toolkit 二次開發為用戶程序及第三方程序提供了與Pro/E 的無縫連接。用戶程序及第三方程序都是用C 語言編寫的,Pro/Toolkit 提供了一個C 的函數庫,該函數能夠使用戶及第三方的應用程序訪問Pro/E 數據庫和應用程序[1]。
用戶接口程序的編寫必須包含頭文件、用戶初始化函數(user_initialize())和用戶結束中斷函數(user_terminate())三部分,它們都有各自的作用,實現相應的功能,缺一不可。
Pro/Toolkit 程序結構中核心部分就是用戶初始化函數和用戶結束中斷函數,通過編寫調用這兩個函數來實現應用程序的啟動和結束。
典型的定義格式為:


零件庫菜單的設計應用了以下函數:
1)ProMenubarMenuAdd 菜單項創建函數;
2)ProMenubarmenuPushbuttonAdd 菜單條創建函數;
3)ProCmdActionAdd 動作函數。
具體程序編寫如下:
1)菜單項創建:


圖1 非標件零件庫菜單
2)菜單條創建:


MFC 是微軟公司提供的一個類庫,以C++類的形式封裝了Windows API,并且包含一個應用程序框架,以減少應用程序開發人員的工作量。其中包含的類包含大量Windows句柄封裝類和很多Windows 的內建控件和組件的封裝類。
MFC 的主要優點是可以用面向對象的方法來調用Windows API,以及應用程序開發的便捷。MFC 將很多應用程序開發中常用的功能自動化,并且提供了文檔框架視圖結構和活動文檔這樣的便于自定義的應用程序框架。同時,在Visual C++內部也內建了很多對MFC 的例如類向導這樣的支持,以減少軟件開發的時間。
MFC 對話框的一般創建過程:1)對話框資源的創建;2)對話框資源屬性的設置,包括對話框大小及相關控件的添加;3)對話框類的創建,自動生成相應頭文件的實現文件;4)對話框的創建和顯示;利用MFC 對話框技術創建的電動場地車非標件的對話框如圖2~圖5 所示。
對話框的創建與顯示函數



圖2 底盤車架

圖3 座椅

圖4 擋風玻璃
Pro/toolkit 程序在編譯連接之前要設置包含文件和庫文件路徑。Pro/toolkit 頭文件位于安裝目錄的protoolkitincludes 文件夾中;庫文件位于安裝目錄的protoolkiti486_ntobj 文件夾中,如圖6 所示。
電動場地車的非標件零件庫程序生成可執行程序 lingcan.dll后,還必須先進行注冊,然后才能在Pro/E 中運行。
應用程序的注冊方式有兩種形式:自動注冊和手動注冊。自動注冊必須將注冊文件名取為Protk.dat,并保存在Pro/E 安裝目錄的 ext 目錄,運行Pro/E時根據注冊文件自動注冊所指定的應用程序;手動注冊,即在運行Pro/E 后,點擊“工具”-“輔助應用程序”-“注冊”然后瀏覽所要注冊的應用程序。
電動場地車非標件零件庫中某非標件如座椅的設計如圖7 所示,在MFC 對話框中輸入相應的參數即可完成對座椅的設計。

圖5 頂棚

圖6 頭文件與庫文件

圖7 零件庫
介紹了在VS2005 開發環境中,以VC++為開發平臺,利用C++開發語言,基于Pro/toolkit 二次開發工具,綜合利用MFC 技術,完成了對電動場地車非標件零件庫的建立。電動場地車非標件庫將電動場地車設計過程中常用的結構集合到一起,進行參數化設計,供設計人員調用和修改,大大地縮短了設計人員的開發周期,提高了設計效率。
[1]楊萍,陳曉東.基于Pro/E 平臺標準零件庫的二次開發[J].工藝與設備,2005(6):100-101.
[2]艾妮,艾自勤.用VC++開發Pro/E 三維標準件庫[J].機械與電子,2005(1):70-72.
[3]鄭雪梅.利用Pro/Toolkit、族表與MFC 進行通用零件庫的二次開發[J].輕工機械,2006(2):84-86.
[4]王新鎖.基于Pro/E 的機械標準零件庫建立的方法[J].中國水運,2006(8):132-133.