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

塑料瓶及其吹塑模具參數化CAD軟件的程序設計

2011-02-09 01:57:08
制造業自動化 2011年4期
關鍵詞:按鈕程序

付 饒

(綿陽職業技術學院,綿陽 621000)

1 選擇應用程序的開發模式和創建方法

所謂的Pro/TOOLKIT應用程序,是指利用Pro/E系統提供的Pro/TOOLKIT工具包的支持,用C語言進行程序設計,采用C編譯器和連接器創建能夠在Pro/E環境運行的可執行程序(文件后綴名為EXE)或動態連接庫程序(文件后綴名為DLL)形式的程序[1]。對于不同的操作系統平臺,在編譯和連接生成Pro/TOOLKIT應用程序時,編譯器選項和所需的系統庫文件通常是不同的。要使Pro/TOOLKIT應用程序在Pro/E環境下正常運行,必須正確設置編譯和連接選項。

1.1 開發模式

用Pro/TOOLKIT開發應用程序有兩種模式:同步模式(Synchronous Mode)和異步模式(Asynchronous Mode)[2]。在著手進行應用程序開發前,必須先選擇采用同步模式還是異步模式。同步模式下,Pro/E根據注冊文件中的信息啟動應用程序,Pro/TOOLKIT應用程序和Pro/E產生各自的進程,程序的控制權在兩個進程之間切換。該應用程序不能夠獨立于Pro/E 而運行。異步模式下,Pro/TOOLKIT應用程序和Pro/E能夠進行各自的操作,在通信方面,異步模式使用遠程調用(Remote Procedure Calls, RPC)方式,程序(含有獨立主函數)能獨立于Pro/E啟動。由于異步模式采用遠程調用,程序運行速度相比同步模式慢很多,整合性也不好,所以,一般基于Pro/E的Pro/TOOLKIT開發采用同步模式。在同步模式下又有兩種開發方式:動態鏈接庫(DLL Mode)和多進程(Multi-process或Spawned Mode)。前者為動態連接庫文件,無自身主程序函數,直接連接于Pro/E進行程序調用。后者為.exe文件,有獨立的主程序和Pro/E進行相連接。一般為了調試方便,開發程序時可以采用多進程模式,在程序完成時,采用動態連接庫以提高程序運行效率[3]。由于本課題的應用程序并不是十分復雜,所以從始至終都采用動態鏈接庫的方式。

1.2 創建方法

創建Pro/TOOLKIT應用程序的方法有兩種,即利用Make文件創建和利用VC向導創建。默認安裝時,在protoolkiti486_ntobj文件火,文件名前綴為Make_的文件為Pro/TOOLKIT工具包提供的Make文件范例。將其擴展名改為.mak,可在VC++(Microsoft Visual C++ 6.0)環境打開該文件,并可直接創建應用程序。但采用Make文件的方法創建Pro/TOOLKIT應用程序必須用手工修改make文件,程序的設計和調試均不方便。另外,由于這種方式無法使用MFC類庫,因而不能充分利用VC++的資源。特別是在人機交互界面設計時不能直接進行對話框的可視化設計。因而直接利用VC++的應用程序設計向導(App Wizard)和類向導(Class Wizard)來進行Pro/TOOLKTT應用程序的設計、創建和調試,無疑是一種更佳選擇[4]。因此,本課題的應用程序利用VC++向導的方式創建。

2 應用程序設計步驟

使用Pro/TOOLKIT開發應用程序包含五個基本步驟:編寫源文件(源代碼文件和資源文件);編譯和連接,生成可執行文件(DLL或EXE文件);注冊Pro/TOOLKIT應用程序;運行應用程序;停止和重啟動應用程序。

2.1 編寫源文件

源文件包括資源文件和C++源代碼文件:資源文件包括菜單資源文件、對話框資源文件和信息文件等;程序源文件是指我們在VC++環境下編寫的C++程序。

2.2 編譯和連接,生成可執行文件

一般需要制作makefile工程文件,可以根據Pro/E自帶的makefile文件修改,由該文件指定庫文件、頭文件、源文件的位置及要生成的EXE文件和DLL文件的名稱等,也可以在VC++ 6.0環境中設定,指定必要庫文件和頭文件的包含目錄,添加必要的庫文件:protk_dll.lib、mpr.lib[5]。完成設置后就可以編譯Pro/TOOLKIT應用程序生成動態鏈接庫文件了。

2.3 注冊Pro/TOOLKIT應用程序

注冊Pro/TOOLKIT應用程序是指將Pro/TOOLKIT應用程序文件的信息提供給Pro/E,為了做到這一點,Pro/E會尋找并讀入Pro/TOOLKIT的注冊文件,該文件是一個文本文件[2]。注冊文件的編寫也要遵從一定的格式。

注冊文件以.dat為后綴,其格式如下:name<應用程序名>

startup<工作模式,exe或d11>exec_ file<可執行文件或動態鏈接庫的位置>text dir<(資源文件、對話框文件、窗口信息文件)的位置>

allow_stop<是否允許終止運行程序>delay_start<手工或自動啟動程序>revision<版本號>end<結束>

可以采用兩種注冊方式,即自動注冊和手動注冊。

自動注冊:自動注冊分為兩種情況:一是必須將注冊文件名取為Protk.dat,并保存于Pro/E的安裝目錄的 ext目錄,或者位于Pro/E的起始位置設定的目錄。二是在Pro/E的config.pro文件設定注冊文件。

手動注冊:選擇Pro/E界面上的Utilities/Auxiliary Applications菜單項,選擇“注冊”按鈕注冊應用程序。注冊成功后選擇“啟動”按鈕運行應用程序。

2.4 運行應用程序

注冊成功后,該程序的名稱出現在輔助應用程序對話框中,且處于未運行狀態,選中該應用程序,單擊“啟動”按鈕,即可運行該應用程序。

2.5 停止和重啟動應用程序

Pro/TOOLKIT支持在Pro/E的運行中停止和重啟動應用程序的功能,該功能在應用程序的開發階段是很有用的,可以允許開發者在不重新啟動Pro/E的情況下修改程序代碼并重新測試程序[6]。

3 應用程序模塊及其編寫

Pro/TOOLKIT應用程序,即Pro/TOOLKIT源文件,主要分為程序源代碼和菜單文件、對話框資源文件等多個模塊,圖1給出了本課題用到的各個模塊以及它們之間的層次關系,由十篇幅有限,本文只介紹其中幾個比較重要的模塊的編寫。

3.1 編寫程序源代碼文件

在同步模式下開發程序,Pro/TOOLKIT應用程序的核心是:user_ initialize()和user_terminate()兩個函數,這兩個函數是在Pro/E啟動或終止時調用的。在Pro/E完成初始化和圖形界面生成,而用于交互的菜單還沒有生成前,系統調用函數user initialize()。在該函數中應完成Pro/TOOLKTT應用程序所需的任何初始化工作,其中包括對Pro/E菜單的修改(例如添加新的菜單按鈕等)。當成功地完成初始化后,該函數返回零值,任何其他的返回值均被認為是初始化失敗。終止Pro/E任務時,將調用user_terminate()函數,該函數返回值是void。

3.1.1 編寫user initialize()函數完成初始化工作

該函數用來初始化一個同步模式的應用程序,在該函數里面,主要調用相關函數來做如下的工作:設置菜單信息文件名、添加菜單條、添加菜單按鈕、設置菜單按鈕的動作函數等。該函數必須返回0來表明程序已經被正確地初始化了。而動作函數一般在該函數外進行定義。

3.1.2 編寫user_terminate()函數終止程序

該函數的主要任務是終止應用程序,它的調用比較簡單,對于實現功能比較簡單的應用程序,該函數可以為空。但是,應該注意的是,如果要在DLL模式下調用對話框資源,就必須在該函數中 調 用“AFX_MANAGE_STATE(AfxGetStaticM oduleState());”語句。這是因為,最后生成的Pro/TOOLKIT應用程序為動態鏈接庫(DLL)文件,因此,在使用對話框資源時,應明確指定所使用的是DLL資源,否則,在Pro/E調用該應用程序時,DLL將使用EXE(可執行文件)的資源。

圖1 應用程序編寫模塊

3.2 編寫菜單文件

菜單文件的內容主要是程序添加到Pro/E系統里面的菜單名,如果是在Pro/E原有菜單里面加入一個新菜單,則其文件后綴為.AUX,如果加入的菜單里又含有下一級子菜單,則這個菜單文件后綴為.MNU。菜單文件的編寫也有一定的格式規范。菜單文件必須編寫正確,否則,也將導致程序無法正常運行。

菜單資源文件有其規范的格式,每三行為一組,具體如下:

菜單標識名 ……菜單標識文本

#

#

選項名[覆蓋選項名] ……菜單選項顯示文本

(提示信息) ……鼠標劃過或停留在菜單項時顯示的提示文本

[覆蓋提示信息]

選項名[覆蓋選項名]

本課題菜單資源文件為:

MyMenu

&MyMenu

我的菜單

#

BottleAndMoldDesign

BottleAndMoldDesign

瓶子和模具設計

#

Parameterized Programmi ng

Parameterized Programming

參數化設計

#

4 結束語

本文以目前國內市場上占主流的瓶子的改型設計為研究對象,充分滲透參數化設計的思想,利用VC++與Pro/E和Pro/TOOLKIT,實現了瓶子的參數化設計和模具設計的自動化。整個設計采用參數化設計的方法,用戶只需點擊按鈕和修改數據,即可實現模具的設計。另外,系統還通過改變按鈕的可選狀態的方式指導用戶進行操作,用戶只要按指定的順序進行操作,即可在短短一兩分鐘之內完成模具設計的整個過程。所有的計算和數據傳遞都在幕后進行,無須用戶干涉,使得復雜的模具設計過程變得簡單明了。

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

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

[3] 二代龍震工作室.Fro/TOOLKIT Wildfire 2.0插件設計[M].北京電子工業出版社,2005:1-392.

[4] 田福祥.現代模具技術的特點及其發展趨勢[J].熱加工工藝,2004 (08).

[5] 李劍峰,等.Pro/TOOLKIT技術及其在Pro/ENGINEER二次開發中的應用[J].網絡與信息化,2003 (05).

[6] 金濤,陳敏,等.Pro/ENGINEER軟件的一次開發技術[J].計算機工程與應用,2001 (13).

猜你喜歡
按鈕程序
這些按鈕能隨便按嗎?
哪個是門鈴真正的按鈕
當你面前有個按鈕
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
死循環
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
主站蜘蛛池模板: 国产浮力第一页永久地址 | 国产福利一区在线| 亚洲精品中文字幕午夜| 国产凹凸一区在线观看视频| 国产在线精品网址你懂的| 成人在线第一页| 无码aaa视频| 国产精品55夜色66夜色| 亚洲婷婷六月| 免费看av在线网站网址| 欧美日本在线播放| 日本www在线视频| 国产综合精品日本亚洲777| 国产福利大秀91| 色婷婷色丁香| 国产精品亚洲va在线观看| 五月婷婷伊人网| 精品久久综合1区2区3区激情| 一级毛片无毒不卡直接观看| 日本黄色a视频| 国产精品视频3p| 人妻21p大胆| 亚洲中文无码av永久伊人| 伊人久久青草青青综合| 久久国产高清视频| 青青国产在线| 国产微拍精品| 欧美在线综合视频| 精品国产黑色丝袜高跟鞋| 午夜精品久久久久久久2023| 久久特级毛片| av免费在线观看美女叉开腿| 国产精女同一区二区三区久| 毛片免费高清免费| 91精品啪在线观看国产60岁| 一本大道在线一本久道| 欧美在线视频不卡| 国产成人综合久久精品尤物| 人人看人人鲁狠狠高清| 99久久亚洲综合精品TS| 日本一区二区不卡视频| 亚洲专区一区二区在线观看| 久久这里只有精品2| 1024你懂的国产精品| 亚洲福利网址| 成人综合久久综合| 中文字幕亚洲综久久2021| 狠狠色狠狠综合久久| 国产91蝌蚪窝| 国产精品主播| 国产免费一级精品视频| 欧美激情成人网| 国产成人做受免费视频| 亚洲色欲色欲www网| 日韩欧美中文在线| 亚洲成网777777国产精品| 精品久久香蕉国产线看观看gif| 亚洲国产午夜精华无码福利| 亚洲最大福利网站| 精品视频福利| 婷婷伊人五月| 欧美人在线一区二区三区| 亚洲人成网站18禁动漫无码| 国产在线观看精品| 99无码熟妇丰满人妻啪啪| 国产精品成人久久| 国产精品自在线拍国产电影 | 午夜成人在线视频| 免费人成网站在线观看欧美| 国产精品无码AV中文| 97在线碰| 四虎永久在线| 欧美成人免费| 欧美特黄一级大黄录像| 午夜免费视频网站| 高清码无在线看| 九九热精品视频在线| 久久婷婷人人澡人人爱91| 亚洲成a人片77777在线播放| 国产黄在线免费观看| 丁香五月亚洲综合在线| 国产99精品视频|