亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Pro/TOOLKIT的Pro/E二次開發(fā)技術研究

        2011-07-07 08:48:22劉玉秦
        制造業(yè)自動化 2011年20期
        關鍵詞:二次開發(fā)對話框菜單

        劉玉秦,宋 彥

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

        0 引言

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

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

        1 Pro/ENGINEER二次開發(fā)的方法介紹

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

        除此以外Pro/E4.0 提供的二次開發(fā)API工具包,還包含基于Pro/Web Link的二次開發(fā)過程,這種方法使用的語言是javascript,以網頁的形式來訪問Pro/E模型;和基于VB API的二次開發(fā)過程。Pro/E Wildfire 4.0開始可以采用Visual Basic API,通過 Visual Basic. NET 應用程序和應用程序 (如 Microsoft Word、Excel 或 Access) 中的Visual Basic 宏來進行二次開發(fā)。在參考文獻[2]和一些相關刊物上發(fā)表的論文中還介紹了一種基于Automation GATEWAY插件和VB的二次開發(fā)。Automation GATEWAY是RAND公司開發(fā)的針對Pro/E軟件的二次開發(fā)工具,與Pro/E系統(tǒng)自帶的二次開發(fā)工具Pro/TOOLKIT相比,具有簡單易用的優(yōu)點。應用Automation GATEWAY可以自動實現Pro/E任務,創(chuàng)建用戶界面,完全實現自動設計任務;應用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的二次開發(fā)過程。

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

        2 Pro/E 4.0二次開發(fā)步驟

        2.1 確定運行模式

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

        2.1.1 異步模式

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

        2.1.2 同步模式

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

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

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

        2.2 安裝和測試開發(fā)環(huán)境

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

        2.3 新建項目和設置開發(fā)環(huán)境

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

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

        2.3.1 新建項目

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

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

        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++”節(jié)點下的“預處理器”,然后在“預處理器定義”欄添加:PRO_USE_VAR_ARGS(見圖 2)。

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

        3)選擇“鏈接器”節(jié)點下的“輸入”,然后在“附加依賴項”中添加必要的庫文件: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 添加附加依賴項

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

        2.5 創(chuàng)建編寫程序源代碼

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

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

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

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

        2.7 Pro/TOOLKIT應用程序的運行

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

        3 開發(fā)應用實例

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

        圖4 二次開發(fā)實例

        4 結論

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

        參考文獻:

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

        [2] 張繼春. Pro/ENGINEER二次開發(fā)實用教程[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]. 北京: 機械工業(yè)出版社, 2003: 15-90.

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

        猜你喜歡
        二次開發(fā)對話框菜單
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        中國新年菜單
        正?;謴吞摂M機
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        Bootlace Worms’Secret etc.
        中學科技(2018年12期)2018-12-19 11:22:28
        西門子Easy Screen對倒棱機床界面二次開發(fā)
        本月菜單
        美食堂(2017年1期)2017-01-13 01:37:42
        基于Pro/E二次開發(fā)的推土鏟參數化模塊開發(fā)
        一個“公海龜”的求偶菜單
        鴨綠江(2013年10期)2013-03-11 19:41:55
        快速抓取對話框中的完整信息
        電腦迷(2012年22期)2012-04-29 20:30:54
        真实国产网爆门事件在线观看| 女人被狂躁c到高潮视频 | 国产狂喷潮在线观看| 久久国产精品无码一区二区三区 | 狠狠噜天天噜日日噜| 人人妻人人澡av| 东北老熟女被弄的嗷嗷叫高潮| 国产二级一片内射视频播放| 精品午夜福利1000在线观看| 久久综合一本中文字幕| 中文字幕日韩有码国产| 啦啦啦中文在线观看日本| 在线观看免费午夜大片| 久久九九国产精品怡红院| 国产精品主播视频| 日本人妖一区二区三区| 日本一级特黄aa大片| 亚洲亚洲人成综合网络| 免费毛片在线视频| 白白色福利视频在线观看| 亚洲成av人片一区二区密柚| 67194熟妇在线永久免费观看| 91啦视频在线观看| 男男做h嗯啊高潮涩涩| 国产精品无码一区二区三区电影 | 人妻夜夜爽天天爽三区麻豆AV网站| 久久国产精品男人的天堂av| 国产精品国产三级国产av18| 无码人妻av一二区二区三区| 亚洲制服无码一区二区三区| 久久久免费精品国产色夜| 亚洲中文字幕无码av永久| 国产成人综合久久精品免费| 日本第一区二区三区视频| 国内精品亚洲成av人片| 精品少妇人妻av无码久久| 亚洲an日韩专区在线| 亚洲中文字幕一区二区三区多人| 欧美老妇多毛xxxxx极瑞视频| 欧美另类视频在线| 国产视频一区二区三区在线看|