999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Pro/TOOLKIT的Pro/E二次開發技術研究

2011-07-07 08:48:22劉玉秦
制造業自動化 2011年20期
關鍵詞:二次開發程序設置

劉玉秦,宋 彥

(中國礦業大學 機電工程學院,徐州 221000)

0 引言

現在的CAD/CAM系統,如Pro/E、UG等,都是比較通用的大型軟件系統,存在著針對性不強,設計效率不高的問題。另外,CAD軟件的通用性也使其難以很好地應對不同用戶在技術標準方面的差異,因此用這樣的大型系統建立我們所需要的產品模型可能需要大量的時間。而二次開發則較好地解決了這個問題。二次開發即是在此類軟件的基礎上,開發出適合本單位產品的應用程序,提高產品的設計效率,加快產品的更新速度,從而提高企業的市場競爭能力。

與其他CAD軟件的二次開發書籍相比,Pro/ENGINEER二次開發方面的參考資料和教程十分稀少,并且有很多都比較舊,無法跟上版本的更新,時代的要求。同時Pro/E二次開發官方提供的幫助文件內容非常多,從中找到合適的切入點比較困難,且內容大多是英文,并涉及到大量C程序代碼,因此理解起來有困難。本文針對現在廣泛使用的Pro/E 4.0 簡要介紹一下它的二次開發及應用。

1 Pro/ENGINEER二次開發的方法介紹

Pro/ENGINEER的二次開發,利用標準零件間的相似性,發揮Pro/ENGINEER參數建模的特長,使用二次開發工具,如族表工具、用戶定義特征(UDF)、Pro/Program、J-link、Pro/TOOLKIT等來實現。文獻[1]給出了各二次開發工具的簡單介紹。

除此以外Pro/E4.0 提供的二次開發API工具包,還包含基于Pro/Web Link的二次開發過程,這種方法使用的語言是javascript,以網頁的形式來訪問Pro/E模型;和基于VB API的二次開發過程。Pro/E Wildfire 4.0開始可以采用Visual Basic API,通過 Visual Basic. NET 應用程序和應用程序 (如 Microsoft Word、Excel 或 Access) 中的Visual Basic 宏來進行二次開發。在參考文獻[2]和一些相關刊物上發表的論文中還介紹了一種基于Automation GATEWAY插件和VB的二次開發。Automation GATEWAY是RAND公司開發的針對Pro/E軟件的二次開發工具,與Pro/E系統自帶的二次開發工具Pro/TOOLKIT相比,具有簡單易用的優點。應用Automation GATEWAY可以自動實現Pro/E任務,創建用戶界面,完全實現自動設計任務;應用Automation GATEWAY可以把任何支持ActiveX的應用程序和Pro/E建立直接聯系。利用VB,可以使Microsoft Office產品(如Word,Excel等)和Pro/E對象之間進行數據交換。在這個過程中,Automation GATE WAY在VB和Pro/E之間起到橋梁和紐帶的作用。通過Automation GATE WAY,VB可以訪問Pro/E的大部分底層資源文件。

由于Pro/TOOLKIT具有多種功能:利用Pro/TOOLKIT能夠自動化建?!绕涫菐缀位騾导s束驅動的衍生或單一用途模型;集成需要訪問Pro/ENGINEER數據或操作的外部應用程序;擴展Pro/ENGINEER用戶界面,使定制流程無縫嵌入到界面中。因此本文主要講述基于Pro/TOOLKIT的二次開發過程。

[3]可知,在對Pro/E4.0進行二次開發的VC軟件升級至Visual Studio 2005,因此在開發過程中勢必有一些變化。在此,筆者針對其開發過程給予一些講解,以供參考。

2 Pro/E 4.0二次開發步驟

2.1 確定運行模式

Pro/TOOLKIT應用程序有兩種工作模式:同步模式和異步模式。

2.1.1 異步模式

無需啟動Pro/ENGINEER,就能單獨運行Pro/TOOLKIT應用程序的方式。異步模式實現了兩個程序的并行運行(兩個程序是獨立可運行的),可以只在程序需要調用Pro/ENGINEER功能時,才啟動Pro/ENGINEER。但由于異步模式具有代碼復雜、執行速度慢等缺點,因此一般不采用異步模式。

2.1.2 同步模式

同步模式下,Pro/TOOLKIT應用程序必須與Pro/ENGINEER系統同步運行。同步運行并非并行運行,同步的意思是Pro/TOOLKIT應用程序集成到Pro/ENGINEER系統中,若Pro/ENGINEER沒有啟動,Pro/TOOLKIT應用程序將無法運行。還需要注意的是,Pro/TOOLKIT應用程序執行時,Pro/ENGINEER系統是處于停止狀態的。

同步模式又分為兩種模式,即:動態連接模式(DLL模式)和多進程模式(Multiprocess Mode)。動態連接模式是將用戶編寫的C程序編譯成一個DLL文件,這樣Pro/TOOLKIT應用程序和Pro/ENGINEER運行在同一進程中,它們之間的信息交換是直接通過函數調用實現的。多進程模式是將用戶的C程序編譯成一個可執行文件,Pro/TOOLKIT應用程序和Pro/ENGINEER運行在各自的進程中,它們之間的信息交換是由消息系統來完成的。

可以根據需要選擇DLL模式或者多進程模式。一般來說,多進程模式主要是用于程序開發階段以便程序的調試,但是由于DLL模式的運行速度快,所以程序開發完成之后,最后轉化成DLL模式。DLL 模式是應用程序開發首選的模式。在VC開發環境中如果要使用DLL模式,創建程序時選擇MFC DLL項目類型,如果要使用多進程模式,則創建程序時選擇MFC EXE項目類型[1]。本文主要采用DLL模式。

2.2 安裝和測試開發環境

在安裝完API工具包中的Pro/TOOLKIT后,文獻[4]中,Pro/TOOLKIT要求有授權許可,才能夠開發和測試應用程序。它要求從Pro/ENGINEER裝載點運行Ptcstatus,查看是否有許可證選項14。在第一次使用Pro/TOOLKIT建立應用程序時,該應用程序會被視為是“鎖定”的。因此在測試應用程序時,需要有Pro/TOOLKIT開發許可證,否則鎖定的應用程序在載入到Pro/ENGINEER進程中時會在啟動時發生錯誤。在此,筆者建議大家用一種新方法即可解決這個問題:在Pro/ENGINEER安裝的時候,其安裝目錄不要有空格,當安裝Pro/E wildfire4.0時,最好連小數點也不要,如D:ptcproeWildfire4。這樣在后續的運行安裝測試makefile應用程序時將不會出現問題。限于篇幅,請參考文獻[4]或[5]。〈proe裝載點〉即為proe的安裝路徑。

2.3 新建項目和設置開發環境

Pro/TOOLKIT是PTC公司提供的C語言二次開發工具包,因此具有豐富的C語言函數庫,對于開發人員有一定要求,適用于熟悉C/C++編程語言,C/C++的指針、數據結構以及動態內存管理方面的知識的人使用,尤其是對于Pro/E4.0二次開發,更是要求能夠熟練使用Microsoft Visual Studio2005。以前的開發都是在純C語言環境下,用Make文件創建Pro/TOOLKIT應用程序(可參考文獻[2]、[6]),有以下缺點:1)應用程序必須手工修改make文件,程序的設計和調試不方便;2)無法使用MFC,不能充分利用VC資源;3)人機交互界面較難開發,不能直接進行對話框的可視化設計。雖然PTC提供了prodialog_view.exe工具用于查看即將生成的對話框是什么樣,可是開發難度大,過程繁瑣,開發的對話框組件十分有限。綜上所述,在創建Pro/TOOLKIT應用程序時,用VC。這樣除了在創建應用程序基本框架時能調用VC的應用程序設計向導和類向導進行簡便快速的設計和調試,同時在設計對話框時可直接使用MFC對話框控件,比起UI對話框的創建,直觀簡便。

用VC開發程序對于初學者來說常遇到的問題就是VC開發環境的設置,這直接關系程序運行的成敗,筆者針對Visual Studio.NET2005簡要講述開發環境設置。

2.3.1 新建項目

1)選擇新建項目的類型(dll或exe類型),并輸入項目名稱。

2)指定連接類型。若是DLL類型,一般選擇共享MFC DLL規則。

3)設置包含文件和庫文件。選擇菜單【工具】-〉【選項】,在彈出的“選項”對話框中選擇左側列表框中的“項目和解決方案”結點下的“VC++目錄”,并:在“顯示以下內容的目錄”下拉列表框中選擇“包含文件”,然后添加頭文件如圖1所示。

D:ptcproeWildfire4prodevelopprodev_applsincludes

D:ptcproeWildfire4protoolkitprotk_applsincludes

D:ptcproeWildfire4protoolkitincludes

D:ptcproeWildfire4prodevelopincludes

4)在“顯示以下內容的目錄”下拉列表框中選擇“庫文件”,然后添加庫文件

D:ptcproeWildfire4prodevelopi486_ntobj

D:ptcproeWildfire4protoolkiti486_ntobj

2.3.2 項目屬性的設置

用于添加鏈接時所需的lib文件,此設置,不同于上面的設置,需要每建一個新工程都設置一次。

1)在菜單【項目】-〉【屬性】,在彈出的屬性頁對話框左邊的列表框中選擇“C/C++”節點下的“預處理器”,然后在“預處理器定義”欄添加:PRO_USE_VAR_ARGS(見圖 2)。

2)選擇“C/C++”節點下的“語言”,并將“將wchar_t視為內置類型”設置為“否”。

3)選擇“鏈接器”節點下的“輸入”,然后在“附加依賴項”中添加必要的庫文件:protk_dllmd.lib(用于MFC DLL方式)、 prodev_dllmd.lib (用于MFC DLL方式)、protkmd.lib(用于MFC EXE方式 )、pt_asynchronous.lib (用 于 MFC EXE 方 式 )、wsock32.lib、mpr.lib、psapi.lib,kernel32.lib(如圖 3所示)。設置庫文件相當重要,如果設置不對或是設置缺少,就會造成錯誤。本文只是將最常見的庫文件的添加顯示出來,更多的請參考幫助文件[7]。

圖1 添加包含文件

圖2 添加預定義

與VC++6.0不同的是,在VC2005 中已經不需要設置“忽略庫”與“強制輸出”的選項了。

2.4 定義初始化函數和結束函數

圖3 添加附加依賴項

完成項目的創建及開發環境的設置后,就開始定義初始化函數user_initializ()函數和結束函數user_terminate()函數。初始化函數和終止函數是每個同步模式程序都必須添加的。初始化函數主要是用來設置需要添加的菜單,調用對話框,設置用戶的交互接口等一些初始值設置。結束函數用于結束Pro/TOOLKIT應用程序。

2.5 創建編寫程序源代碼

在主文件中需要添加Pro/TOOLKIT頭文件,常用的頭文件也可以添加到stdafx.h,這樣就不需要在添加新的CPP文件時設置一次頭文件。如果使用了Pro/TOOLKIT對象函數,則應用程序都必須包括ProToolkit.h頭文件。

注意:VC中的寬字符與Pro/TOOLKIT應用程序中的寬字符不匹配常會導致程序崩潰,因此要進行寬字符的轉換,加入頭文件ProUtil.h,它包含數據類型的轉換函數。同時筆者建議熟練掌握VC2005的編程應用,它在編程和選項設置上與VC6有一些不同。在字符的問題上,有許多代碼在VC6中沒問題,但在VC2005中出現錯誤,那是因為在VC6中代碼沒有按可編譯為UNICODE版本的方式寫,而VC2005之后版本默認是UNICODE編碼的,所以所有使用到字符串的地方都會出錯,解決的辦法是,一定要熟悉VC2005的新特性,對于原有代碼進行適當修改。當然也有一簡便的方法是:在菜單【項目】-〉【屬性】-〉【配置屬性】-〉【常規】,在“字符集”一欄中選擇“使用多字節字符集”,這樣能減少編譯時的錯誤。

2.6 編寫注冊文件、菜單,編譯運行項目

注冊文件的編寫可參考文獻[6]。如有必要可以加上菜單的編寫使之更人性化。最后編譯連接Pro/TOOLKIT函數庫和VC類庫,生成解決方案。

2.7 Pro/TOOLKIT應用程序的運行

一定要在環境變量設置完后,程序調試成功后,進行創建測試目錄和創建測試快捷啟動。這時編好的注冊文件根據注冊方式——自動注冊方式或手動注冊方式,進行Pro/TOOLKIT應用程序的注冊,運行相應的Pro/TOOLKIT應用程序。

3 開發應用實例

圖4所示顯示的是一個簡單的Pro/E二次開發實例,利用了上述關鍵技術,開發出菜單和對話框顯示的實例,當有模型的時候,點擊菜單會顯示出模型的地址,沒有模型的時候則提示打開錯誤。

圖4 二次開發實例

4 結論

本文詳細介紹了利用Pro/TOOLKIT對Pro/E 4.0 二次開發的關鍵步驟和技術。由于操作不易,國內的基于Pro/E的三維CAD系統的研究和應用還處于初步階段。本文的介紹,對于進行Pro/E4.0及其以上版本的成功開發具有重要的借鑒意義。隨著機械行業的發展,Pro/E的二次開發會益加廣泛,作用也會越來越大。

參考文獻:

[1] 吳立軍, 陳波. Pro/ENGINEER二次開發技術基礎[M]. 北京: 電子工業出版社, 2006:1-30.

[2] 張繼春. Pro/ENGINEER二次開發實用教程[M]. 北京: 北京大學出版社, 2003: 4-75.

[3] Parametric Technology Corporation. Platform Notes-Pro/TOOLKIT for Pro/ENGINEER Wildfire 4.0 [S]. USA:PTC公司. 2007, 6.

[4] Parametric Technology Corporation. Pro/TOOLKIT for Pro/ENGINEER Wildfire 4.0入門[S]. USA: PTC公司.2007, 9: 3-24.

[5] Parametric Technology Corporation. Getting Started with Pro/TOOLKIT for Pro/ENGINEER Wildfire 4.0 [S]. USA:PTC公司. 2007, 9: 3-24.

[6] 李世國. Pro/TOOLKIT程序設計[M]. 北京: 機械工業出版社, 2003: 15-90.

[7] Parametric Technology Corporation. Pro/ENGINEER Wildfire 4.0 Pro/TOOLKIT User’s Guide[S]. USA: PTC公司.2009, 6: 2101-2200.

猜你喜歡
二次開發程序設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
西門子Easy Screen對倒棱機床界面二次開發
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 色婷婷在线播放| 久久国产精品无码hdav| 久久中文字幕不卡一二区| 波多野结衣在线一区二区| 最新加勒比隔壁人妻| 精品少妇人妻一区二区| 欧美、日韩、国产综合一区| 99视频国产精品| 国产午夜精品鲁丝片| 日韩在线视频网站| 人妻丝袜无码视频| 污污网站在线观看| 国产欧美性爱网| 少妇精品网站| 久久久亚洲国产美女国产盗摄| 国产打屁股免费区网站| 亚洲二区视频| 成人在线亚洲| 成AV人片一区二区三区久久| 狠狠色香婷婷久久亚洲精品| 一本大道香蕉高清久久| 97无码免费人妻超级碰碰碰| 毛片大全免费观看| 99久久精品国产麻豆婷婷| 日本午夜影院| 中国一级毛片免费观看| 欧美日韩亚洲综合在线观看| 国产成人一区在线播放| 亚洲成人一区二区三区| www.youjizz.com久久| 伊人久久久久久久久久| 97超碰精品成人国产| 免费在线国产一区二区三区精品| 黄色一级视频欧美| 91久久青青草原精品国产| 国模粉嫩小泬视频在线观看| 国产精品亚洲欧美日韩久久| 免费看久久精品99| 丁香婷婷激情网| 91娇喘视频| 欧美三级视频在线播放| 国产精品99r8在线观看| 在线精品视频成人网| 大陆精大陆国产国语精品1024 | 毛片在线播放a| 欧洲av毛片| 日本免费一区视频| 亚洲视频免| 国内精品久久久久鸭| 国产精品网拍在线| 日韩在线播放中文字幕| www.亚洲一区| 欧美成人午夜影院| 国产日本欧美在线观看| 日本中文字幕久久网站| 久草视频一区| 干中文字幕| 69视频国产| 国产男女免费完整版视频| 国产免费久久精品99re丫丫一| 色综合婷婷| 日韩成人午夜| 久久狠狠色噜噜狠狠狠狠97视色| 99精品国产高清一区二区| 国产成人精品一区二区三区| 好紧太爽了视频免费无码| 中文字幕亚洲精品2页| 欧美中文一区| 亚瑟天堂久久一区二区影院| 波多野结衣爽到高潮漏水大喷| 亚洲人成亚洲精品| 日韩一区精品视频一区二区| 99伊人精品| 动漫精品啪啪一区二区三区| 野花国产精品入口| 97在线国产视频| 秋霞国产在线| 最新国产午夜精品视频成人| 国产精品无码翘臀在线看纯欲| 成人综合在线观看| 亚洲色精品国产一区二区三区| 99在线观看免费视频|