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

        ?

        塑料瓶及其吹塑模具參數(shù)化CAD軟件的程序設(shè)計(jì)

        2011-02-09 01:57:08
        制造業(yè)自動(dòng)化 2011年4期
        關(guān)鍵詞:按鈕程序

        付 饒

        (綿陽(yáng)職業(yè)技術(shù)學(xué)院,綿陽(yáng) 621000)

        1 選擇應(yīng)用程序的開(kāi)發(fā)模式和創(chuàng)建方法

        所謂的Pro/TOOLKIT應(yīng)用程序,是指利用Pro/E系統(tǒng)提供的Pro/TOOLKIT工具包的支持,用C語(yǔ)言進(jìn)行程序設(shè)計(jì),采用C編譯器和連接器創(chuàng)建能夠在Pro/E環(huán)境運(yùn)行的可執(zhí)行程序(文件后綴名為EXE)或動(dòng)態(tài)連接庫(kù)程序(文件后綴名為DLL)形式的程序[1]。對(duì)于不同的操作系統(tǒng)平臺(tái),在編譯和連接生成Pro/TOOLKIT應(yīng)用程序時(shí),編譯器選項(xiàng)和所需的系統(tǒng)庫(kù)文件通常是不同的。要使Pro/TOOLKIT應(yīng)用程序在Pro/E環(huán)境下正常運(yùn)行,必須正確設(shè)置編譯和連接選項(xiàng)。

        1.1 開(kāi)發(fā)模式

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

        1.2 創(chuàng)建方法

        創(chuàng)建Pro/TOOLKIT應(yīng)用程序的方法有兩種,即利用Make文件創(chuàng)建和利用VC向?qū)?chuàng)建。默認(rèn)安裝時(shí),在protoolkiti486_ntobj文件火,文件名前綴為Make_的文件為Pro/TOOLKIT工具包提供的Make文件范例。將其擴(kuò)展名改為.mak,可在VC++(Microsoft Visual C++ 6.0)環(huán)境打開(kāi)該文件,并可直接創(chuàng)建應(yīng)用程序。但采用Make文件的方法創(chuàng)建Pro/TOOLKIT應(yīng)用程序必須用手工修改make文件,程序的設(shè)計(jì)和調(diào)試均不方便。另外,由于這種方式無(wú)法使用MFC類庫(kù),因而不能充分利用VC++的資源。特別是在人機(jī)交互界面設(shè)計(jì)時(shí)不能直接進(jìn)行對(duì)話框的可視化設(shè)計(jì)。因而直接利用VC++的應(yīng)用程序設(shè)計(jì)向?qū)?App Wizard)和類向?qū)?Class Wizard)來(lái)進(jìn)行Pro/TOOLKTT應(yīng)用程序的設(shè)計(jì)、創(chuàng)建和調(diào)試,無(wú)疑是一種更佳選擇[4]。因此,本課題的應(yīng)用程序利用VC++向?qū)У姆绞絼?chuàng)建。

        2 應(yīng)用程序設(shè)計(jì)步驟

        使用Pro/TOOLKIT開(kāi)發(fā)應(yīng)用程序包含五個(gè)基本步驟:編寫(xiě)源文件(源代碼文件和資源文件);編譯和連接,生成可執(zhí)行文件(DLL或EXE文件);注冊(cè)Pro/TOOLKIT應(yīng)用程序;運(yùn)行應(yīng)用程序;停止和重啟動(dòng)應(yīng)用程序。

        2.1 編寫(xiě)源文件

        源文件包括資源文件和C++源代碼文件:資源文件包括菜單資源文件、對(duì)話框資源文件和信息文件等;程序源文件是指我們?cè)赩C++環(huán)境下編寫(xiě)的C++程序。

        2.2 編譯和連接,生成可執(zhí)行文件

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

        2.3 注冊(cè)Pro/TOOLKIT應(yīng)用程序

        注冊(cè)Pro/TOOLKIT應(yīng)用程序是指將Pro/TOOLKIT應(yīng)用程序文件的信息提供給Pro/E,為了做到這一點(diǎn),Pro/E會(huì)尋找并讀入Pro/TOOLKIT的注冊(cè)文件,該文件是一個(gè)文本文件[2]。注冊(cè)文件的編寫(xiě)也要遵從一定的格式。

        注冊(cè)文件以.dat為后綴,其格式如下:name<應(yīng)用程序名>

        startup<工作模式,exe或d11>exec_ file<可執(zhí)行文件或動(dòng)態(tài)鏈接庫(kù)的位置>text dir<(資源文件、對(duì)話框文件、窗口信息文件)的位置>

        allow_stop<是否允許終止運(yùn)行程序>delay_start<手工或自動(dòng)啟動(dòng)程序>revision<版本號(hào)>end<結(jié)束>

        可以采用兩種注冊(cè)方式,即自動(dòng)注冊(cè)和手動(dòng)注冊(cè)。

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

        手動(dòng)注冊(cè):選擇Pro/E界面上的Utilities/Auxiliary Applications菜單項(xiàng),選擇“注冊(cè)”按鈕注冊(cè)應(yīng)用程序。注冊(cè)成功后選擇“啟動(dòng)”按鈕運(yùn)行應(yīng)用程序。

        2.4 運(yùn)行應(yīng)用程序

        注冊(cè)成功后,該程序的名稱出現(xiàn)在輔助應(yīng)用程序?qū)υ捒蛑?,且處于未運(yùn)行狀態(tài),選中該應(yīng)用程序,單擊“啟動(dòng)”按鈕,即可運(yùn)行該應(yīng)用程序。

        2.5 停止和重啟動(dòng)應(yīng)用程序

        Pro/TOOLKIT支持在Pro/E的運(yùn)行中停止和重啟動(dòng)應(yīng)用程序的功能,該功能在應(yīng)用程序的開(kāi)發(fā)階段是很有用的,可以允許開(kāi)發(fā)者在不重新啟動(dòng)Pro/E的情況下修改程序代碼并重新測(cè)試程序[6]。

        3 應(yīng)用程序模塊及其編寫(xiě)

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

        3.1 編寫(xiě)程序源代碼文件

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

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

        該函數(shù)用來(lái)初始化一個(gè)同步模式的應(yīng)用程序,在該函數(shù)里面,主要調(diào)用相關(guān)函數(shù)來(lái)做如下的工作:設(shè)置菜單信息文件名、添加菜單條、添加菜單按鈕、設(shè)置菜單按鈕的動(dòng)作函數(shù)等。該函數(shù)必須返回0來(lái)表明程序已經(jīng)被正確地初始化了。而動(dòng)作函數(shù)一般在該函數(shù)外進(jìn)行定義。

        3.1.2 編寫(xiě)user_terminate()函數(shù)終止程序

        該函數(shù)的主要任務(wù)是終止應(yīng)用程序,它的調(diào)用比較簡(jiǎn)單,對(duì)于實(shí)現(xiàn)功能比較簡(jiǎn)單的應(yīng)用程序,該函數(shù)可以為空。但是,應(yīng)該注意的是,如果要在DLL模式下調(diào)用對(duì)話框資源,就必須在該函數(shù)中 調(diào) 用“AFX_MANAGE_STATE(AfxGetStaticM oduleState());”語(yǔ)句。這是因?yàn)?,最后生成的Pro/TOOLKIT應(yīng)用程序?yàn)閯?dòng)態(tài)鏈接庫(kù)(DLL)文件,因此,在使用對(duì)話框資源時(shí),應(yīng)明確指定所使用的是DLL資源,否則,在Pro/E調(diào)用該應(yīng)用程序時(shí),DLL將使用EXE(可執(zhí)行文件)的資源。

        圖1 應(yīng)用程序編寫(xiě)模塊

        3.2 編寫(xiě)菜單文件

        菜單文件的內(nèi)容主要是程序添加到Pro/E系統(tǒng)里面的菜單名,如果是在Pro/E原有菜單里面加入一個(gè)新菜單,則其文件后綴為.AUX,如果加入的菜單里又含有下一級(jí)子菜單,則這個(gè)菜單文件后綴為.MNU。菜單文件的編寫(xiě)也有一定的格式規(guī)范。菜單文件必須編寫(xiě)正確,否則,也將導(dǎo)致程序無(wú)法正常運(yùn)行。

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

        菜單標(biāo)識(shí)名 ……菜單標(biāo)識(shí)文本

        #

        #

        選項(xiàng)名[覆蓋選項(xiàng)名] ……菜單選項(xiàng)顯示文本

        (提示信息) ……鼠標(biāo)劃過(guò)或停留在菜單項(xiàng)時(shí)顯示的提示文本

        [覆蓋提示信息]

        選項(xiàng)名[覆蓋選項(xiàng)名]

        本課題菜單資源文件為:

        MyMenu

        &MyMenu

        我的菜單

        #

        BottleAndMoldDesign

        BottleAndMoldDesign

        瓶子和模具設(shè)計(jì)

        #

        Parameterized Programmi ng

        Parameterized Programming

        參數(shù)化設(shè)計(jì)

        #

        4 結(jié)束語(yǔ)

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

        [1] 李世國(guó).Pro/TOOLKIT程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2003:1-458.

        [2] 張繼春.Pro/ENGINEER二次開(kāi)發(fā)實(shí)用教程[M].北京大學(xué)出版社,2003.

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

        [4] 田福祥.現(xiàn)代模具技術(shù)的特點(diǎn)及其發(fā)展趨勢(shì)[J].熱加工工藝,2004 (08).

        [5] 李劍峰,等.Pro/TOOLKIT技術(shù)及其在Pro/ENGINEER二次開(kāi)發(fā)中的應(yīng)用[J].網(wǎng)絡(luò)與信息化,2003 (05).

        [6] 金濤,陳敏,等.Pro/ENGINEER軟件的一次開(kāi)發(fā)技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2001 (13).

        猜你喜歡
        按鈕程序
        哪個(gè)是門(mén)鈴真正的按鈕
        當(dāng)你面前有個(gè)按鈕
        門(mén)鈴按鈕
        試論我國(guó)未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        死循環(huán)
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        內(nèi)心不能碰的按鈕
        久久久久中文字幕精品无码免费 | 久久久www成人免费无遮挡大片| 在线观看人成网站深夜免费| 在线精品国产亚洲av麻豆| 亚洲爆乳无码精品aaa片蜜桃| 乱色熟女综合一区二区三区| 亚洲男人天堂网站| 国产一区二区亚洲av| 精品国产一区二区三区香 | 久激情内射婷内射蜜桃| 国产在线高清视频| 无码制服丝袜中文字幕| 人妻少妇偷人精品一区二区三区| 极品粉嫩嫩模大尺度无码视频| 无码综合天天久久综合网| 国产成人亚洲综合无码DVD| 人妻少妇偷人精品久久人妻| 好大好爽我要高潮在线观看| 亚洲人午夜射精精品日韩 | 曝光无码有码视频专区| 久久精品爱国产免费久久| 中文字幕亚洲乱码熟女1区2区| 欧美大胆性生话| 欧美最猛黑人xxxxx猛交| 无码91 亚洲| av在线高清观看亚洲| 成人午夜特黄aaaaa片男男| 久青草国产视频| 国产三级国产精品国产专区| 最好看的亚洲中文字幕 | 亚洲国产一区二区三区,| 亚洲国产中文字幕一区| 一夲道无码人妻精品一区二区| 最新国产午夜福利| 91人妻人人做人人爽九色| 欧美成人猛片aaaaaaa| 真实国产乱啪福利露脸| 国产三级国产精品三级在专区| 久久久天堂国产精品女人| 天天色影网| 精品18在线观看免费视频|