freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

刀具cad技術(shù)及其發(fā)展現(xiàn)狀畢業(yè)論文-資料下載頁

2025-06-21 22:52本頁面
  

【正文】 計(jì),可充分利用已有的設(shè)計(jì)經(jīng)驗(yàn),通過對淺孔鉆設(shè)計(jì)實(shí)例庫中最佳實(shí)例的修改和優(yōu)化,設(shè)計(jì)出新的淺孔鉆,從而大大縮短淺孔鉆的設(shè)計(jì)周期,顯著提高設(shè)計(jì)效率。在本課題中,基本的做法是用交互方式創(chuàng)建基于特征和參數(shù)的淺孔鉆刀柄和刀片的實(shí)例模型,開始設(shè)計(jì)時(shí),會先把實(shí)例特征和設(shè)計(jì)要求進(jìn)行相似匹配,從實(shí)例庫中提取最相似實(shí)例,在對此實(shí)例進(jìn)行修改,從而得到新的符合用戶要求的實(shí)例。由于淺孔鉆具有結(jié)構(gòu)相似性的特點(diǎn),即對于不同種類的淺孔鉆,其主要結(jié)構(gòu)都是相似的,區(qū)別主要體現(xiàn)在特征上,而不是參數(shù)上。比如,對于刀片的自定義設(shè)計(jì)來說,等邊不等角六邊形刀片與三角形刀片有很大的差別,而對于六邊形刀片來說,邊長的大小差別很小,可以通過參數(shù)化實(shí)現(xiàn)不同參數(shù)的刀片設(shè)計(jì),對于刀柄的設(shè)計(jì),同樣是圓柱柄的刀柄,其結(jié)構(gòu)都是相似的,只要設(shè)計(jì)一部分的參數(shù),通過修改參數(shù),就可以完成刀柄的設(shè)計(jì)。 基于Pro/TOOLKIT的二次開發(fā)技術(shù) Pro/Toolkit簡介(1)Pro/Toolkit的安裝Pro/Toolkit工具包是隨Pro/Engineer安裝盤一起提供的,安裝時(shí)在“元件”列表框中選中“API Toolkits”復(fù)選框,并在“子元件”列表框中選中“Pro/Toolkit”復(fù)選框,它將會在Pro/E系統(tǒng)的默認(rèn)目錄下自動(dòng)創(chuàng)建兩個(gè)下級目錄:protoolkit和prodevelop。Protoolkit目錄中共有四個(gè)子目錄:\i486_nt、\includes、\protk_appls和\protkdoc。頭文件位于protoolkit\includes目錄,庫文件位于protoolkit\i486_nt\obj目錄,這兩種類型的文件是用VC開發(fā)Pro/Engineer應(yīng)用程序必不可少的支持文件。(2)Pro/Toolkit開發(fā)環(huán)境與Pro/Engineer版本的關(guān)系在不同Pro/Engineer版本提供的Pro/Toolkit開發(fā)環(huán)境中,其函數(shù)庫以及頭文件的定義會有些變化,通常在編譯時(shí)使用的頭文件和在連接時(shí)使用的庫文件最好應(yīng)與Pro/Toolkit應(yīng)用程序運(yùn)行的Pro/Engineer環(huán)境的版本相一致。與AutoCAD的ObjectARX開發(fā)環(huán)境不同的是,使用低版本的Pro/Toolkit的頭文件和函數(shù)庫生成的Pro/Toolkit應(yīng)用程序可以在高版本的Pro/Engineer環(huán)境中運(yùn)行,反之則不行。本論文是在Pro/Engineer Wildfire 版本中開發(fā)的,所以它只能在Pro/Engineer Wildfire或更高的版本中運(yùn)行。(3)Pro/Toolkit語法Pro/Toolkit采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(ObjectOriented Programming)。在Pro/Engineer和應(yīng)用程序之間主要是通過特定的數(shù)據(jù)結(jié)構(gòu)來傳遞信息,對應(yīng)用程序來說,這種數(shù)據(jù)結(jié)構(gòu)并不是直接訪問的,而只能通過Pro/Toolkit提供的函數(shù)來訪問。在設(shè)計(jì)Pro/Toolkit 程序時(shí),要涉及到大量的由Pro/Toolkit函數(shù)庫提供的C函數(shù),正確理解和使用這些函數(shù)是非常重要的。對象(Object)和動(dòng)作(Action)是Pro/Toolkit中最基本的概念。Pro/Toolkit的對象實(shí)質(zhì)上是一種類型為結(jié)構(gòu)體的數(shù)據(jù),結(jié)構(gòu)體中的成員描述了該對象的屬性。Pro/Toolkit定義的對象分成兩類:第一類對象本身是Pro/Engineer數(shù)據(jù)庫中的一個(gè),如ProFeature和ProSurface;另一類對象是抽象或臨時(shí)對象,如調(diào)用有關(guān)選擇操作時(shí)用來保存選擇結(jié)果的數(shù)據(jù)對象。對特定的Pro/Toolkit對象執(zhí)行的某種操作稱為動(dòng)作,動(dòng)作的執(zhí)行是通過調(diào)用Pro/Toolkit函數(shù)庫提供的C函數(shù)來實(shí)現(xiàn)的。Pro/Toolkit函數(shù)庫提供的庫函數(shù)均有相應(yīng)的ANSI函數(shù)原型,并在相應(yīng)的頭文件中定義,在調(diào)用函數(shù)之前必須將頭文件包含在C或C++程序中。大多數(shù)Pro/Toolkit函數(shù)的返回值類型為ProError,用來表示調(diào)用函數(shù)執(zhí)行狀態(tài),其中最常用的返回值是PRO_TK_NO_ERROR表示函數(shù)調(diào)用成功。在程序中通過檢查函數(shù)的返回值不僅便于在調(diào)試時(shí)找出錯(cuò)誤,更重要的是可以避免在執(zhí)行時(shí)出現(xiàn)異常情況,提高了程序的可靠性。 Pro/Toolkit的開發(fā)模式使用Pro/Toolkit對Pro/e進(jìn)行二次開發(fā)主要有兩種模式:同步模式(Synchronous Mode)和異步模式(Asynchronous Mode)。同步模式分為動(dòng)態(tài)鏈接庫(Dynamically Linked Library)模式(DLL Mode)和多進(jìn)程模式(Multiprocess Mode)或稱為派生模式(Spawned Mode)。異步模式分為簡單異步模式(Simple Asnchronous Mode)和全異步模式(Full Asynchronous Mode),如下所示:在同步模式下,Pro/Toolkit應(yīng)用程序和Pro/E產(chǎn)生各自的進(jìn)程,每個(gè)進(jìn)程都能發(fā)送消息,請求執(zhí)行某個(gè)操作,每個(gè)進(jìn)程都在等待返回消息,以報(bào)告操作的完成,控制權(quán)在兩個(gè)進(jìn)程之間交換,總有一個(gè)進(jìn)程處于等待狀態(tài)。(1)多進(jìn)程模式包含比DLL模式更多的交換過程,當(dāng)Pro/Toolkit應(yīng)用程序頻繁調(diào)用庫函數(shù)時(shí),情況更是這樣;在多進(jìn)程模式下,信息交換是由進(jìn)程間消息系統(tǒng)完成的,該系統(tǒng)模擬直接函數(shù)調(diào)用,在兩個(gè)進(jìn)程之間傳遞函數(shù)的識別信息及其參數(shù),多進(jìn)程模式能夠用源代碼調(diào)試運(yùn)行Pro/Toolkit應(yīng)用程序,不必將整個(gè)Pro/e執(zhí)行程序加載到調(diào)試器中。(2)在DLL模式下,Pro/Toolkit應(yīng)用程序與Pro/E的信息交換是通過直接的函數(shù)調(diào)用實(shí)現(xiàn)的,這需要用戶編譯C應(yīng)用程序,與Pro/Toolkit庫鏈接,生成一個(gè)庫文件(*.lib文件),之后需要再加載到Pro/E中,DLL模式性能較好,在為客戶安裝應(yīng)用程序時(shí)一般都要轉(zhuǎn)化為DLL模式。因此,在程序開發(fā)階段以采用多進(jìn)程模式,這有利于程序調(diào)試,當(dāng)程序開發(fā)完之后,以采用DLL模式,這可以提高程序運(yùn)行的速度。在異步模式下,Pro/Toolkit應(yīng)用程序和Pro/E進(jìn)程之間能夠并行,能夠同時(shí)進(jìn)行自己的操作,在應(yīng)用程序和Pro/E的通信方面,異步模式采用遠(yuǎn)程程序調(diào)用(Remote Procedure Calls,RPC)方式。(1)在簡單異步模式下,Pro/Toolkit應(yīng)用程序包含自己的主函數(shù),定義程序的控制流,并能在程序中調(diào)用函數(shù)ProEngineerStart()來啟動(dòng)Pro/E進(jìn)程。這使得應(yīng)用程序可以開發(fā)自己風(fēng)格的界面,而且獨(dú)立于Pro/E界面。在簡單異步模式中Pro/E不能激活Pro/Toolkit中的函數(shù),但是,當(dāng)Pro/E運(yùn)行時(shí)可以交互使用Pro/E。(2)全異步模式可以實(shí)現(xiàn)Pro/Toolkit和Pro/E之間信息的雙向交互,但是必須在Pro/Toolkit程序中建立事件處理函數(shù),定義事件處理函數(shù)需要在調(diào)用ProEngineerStart()之前調(diào)用函數(shù)ProInterruptSet(),此外為了對Pro/E的消息作出回應(yīng),需要調(diào)用函數(shù)ProEventProcess()。因此,Pro/Toolkit 程序與Pro/E進(jìn)程之間只存在單向消息傳遞時(shí),也就是當(dāng)只有Pro/Toolkit應(yīng)用程序往Pro/E發(fā)送消息時(shí)宜采用簡單異步模式;當(dāng)存在雙向通信時(shí)宜采用全異步通信模式。異步模式和同步模式的一個(gè)主要區(qū)別是Pro/Toolkit應(yīng)用程序的啟動(dòng):在異步模式下,應(yīng)用程序有自己的main()函數(shù),能夠獨(dú)立于Pro/E而啟動(dòng),然后啟動(dòng)或連接到Pro/E的進(jìn)程中;在同步模式下,Pro/E根據(jù)注冊文件中的信息啟動(dòng)Pro/Toolkit應(yīng)用程序。另外,異步模式較之同步模式,具有代碼復(fù)雜、執(zhí)行速度慢的缺點(diǎn),因此,除非特別需要,一般建議不要采用異步模式[24]。在本系統(tǒng)中,采用的是同步DLL模式,Pro/。 用VC開發(fā)Pro/Toolkit應(yīng)用程序的主要步驟利用VC的MFC,來開發(fā)Pro/Toolkit應(yīng)用程序有一定的開發(fā)步驟,先按照這樣的步驟開發(fā)出程序的框架,然后我們只要繼續(xù)填充,就可以完成程序的設(shè)計(jì)。下面簡單介紹一下本論文所開發(fā)的應(yīng)用程序的創(chuàng)建步驟:(1)利用VC的MFC創(chuàng)建應(yīng)用程序框架,工程名為HollowDrill。(2),主要程序如下:……//ProToolKit includesinclude include include //Function declarationint DrillMenuActFn()。static uiCmdAccessState AccessAvailable(uiCmdAccessMode)?!璭xtern C int user_initialize(){ ProError status。 ProFileName MsgFile。 uiCmdCmdId PushButton_cmd_id1。 ProStringToWstring(MsgFile,)。 //添加菜單條 status=ProMenubarMenuAdd(Drill,DrillDesign,Utilities,PRO_B_TRUE,MsgFile)。 //菜單按鈕設(shè)置 //設(shè)置菜單按鈕的動(dòng)作函數(shù)(DrillDesign)ProCmdActionAdd(PushButtonAct1,(uiCmdCmdActFn)DrillMenuActFn, uiCmdPrioDefault,AccessAvailable, PRO_B_TRUE,PRO_B_TRUE,amp。PushButton_cmd_id1)。 //添加菜單按鈕 ProMenubarmenuPushbuttonAdd(Drill,DrillDesign,DrillDesign, Drill CAD Design System,NULL, PRO_B_TRUE,PushButton_cmd_id1,MsgFile)。 return status。}extern C void user_terminate(){ AFX_MANAGE_STATE(AfxGetStaticModuleState())。}//function:AccessAvailablestatic uiCmdAccessState AccessAvailable(uiCmdAccessMode access_mode){ return(ACCESS_AVAILABLE)。}int DrillMenuActFn(){ AFX_MANAGE_STATE(AfxGetStaticModuleState())。 int status。 CLoginDlg dlg。 //聲明對話框?qū)ο?status=()。 //創(chuàng)建并顯示對話框 if(status==0) { AfxMessageBox(對話框創(chuàng)建失敗.)。 } return status。}……程序說明:user_initialize()是Pro/Toolkit應(yīng)用程序的初始化函數(shù),主要用來對同步模式(symchronousmode)的Pro/Toolkit應(yīng)用程序進(jìn)行初始化,任何同步模式的應(yīng)用程序要在Pro/Engineer系統(tǒng)中加載都必須包含該函數(shù),其作用相當(dāng)于C程序中的main()函數(shù)。在該函數(shù)中設(shè)置用戶的交互接口,如設(shè)置菜單,調(diào)用對話框或直接調(diào)用所需的函數(shù)等。user_terminate()函數(shù)在Pro/Engineer終止同步模式的Pro/Toolkit應(yīng)用程序時(shí)調(diào)用(如退出Pro/Engineer將終止應(yīng)用程序的運(yùn)行),該函數(shù)由用戶定義,其中可以不執(zhí)行任何動(dòng)作。(3)創(chuàng)建信息文件在Pro/E中,需要用Windows提供的記事本編寫信息文件,來存放相關(guān)的菜單信息,ProMenubarmenuPushbuttonAdd()函數(shù)所用的信息文件名,作者的保存路徑是\…\HollowDrill\Debug\text,其內(nèi)容為:Drillamp。DrillDesignDrillDesignDrillDesign(amp。S)Drill CAD Design Systemamp。Drill CAD Design System(DrillDesign)Drill CAD Design SystemDrill CAD Design System(amp。D)文件中前4行用戶菜單項(xiàng),后4行用于菜單項(xiàng)的提示。各組的第一行為關(guān)鍵字,分別與ProMenubarmenuPushbuttonAdd()中的第3和第4個(gè)參數(shù)相同。(4)響應(yīng)菜單函數(shù)DrillMenuActFn()對于上文編輯的菜單條,在Pro/E環(huán)境中點(diǎn)擊后,如何彈出對話框呢?。int DrillMenuActFn(){ AFX_MANAGE_STATE(AfxGetStaticModuleState())。 int status。 CLoginDlg dlg。 //聲明對話框?qū)ο?status=()。 //創(chuàng)建并顯示對話框 if(status==0) { AfxMessageBox(對話框創(chuàng)建失敗.)。 } return status。}該段程序的主要功能是在菜單動(dòng)作函數(shù)定義段創(chuàng)建和顯示對話框。由于最后生成Pro/Toolkit應(yīng)用程序?yàn)閯?dòng)態(tài)鏈接庫(dll)文件,因此在使用對話框資源時(shí),應(yīng)明確指定所使用的是DLL資源,否則在Pro/Engineer調(diào)用該應(yīng)用程序時(shí),DLL將使用exe的資源。所以,在創(chuàng)建和顯示對話框前必須用AFX_MANAGE_STATE(AfxGetStaticModuleState())語句指明MFC對話框使用DLL本身的資源。AFX_MANAGE_STATE宏的作用是正確切換MFC模塊的狀態(tài),在堆棧中創(chuàng)建一臨時(shí)對象,使Windows在Pro/Toolkit應(yīng)用程序(DLL)中而不是在exe中查找資源。退出對話框時(shí),堆棧中的臨時(shí)對象會自動(dòng)刪除。()創(chuàng)建并顯示對話框
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1