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

正文內(nèi)容

基于proe二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng)-文庫吧

2025-06-12 18:40 本頁面


【正文】 180)*180/pi+偏移角角度z=0,厚度為 b。圖 拉伸齒根圓,并加入關(guān)系?;?PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班10圖 繪制齒形草繪,并加入關(guān)系。圖 陣列齒形,并加入關(guān)系。該參考平面用于裝配時定位初始角度。基于 PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班11圖 加入?yún)⒖计矫嫒绱?,即完成了直齒圓柱齒輪的參數(shù)化建模。圖 直齒圓柱齒輪參數(shù)化建模模型 程序關(guān)鍵功能實現(xiàn) 主程序進入流程由于 Pro/Toolkit 應(yīng)用程序工作模式有兩種——同步模式(Synchronous mode)和異步模式(Asynchronous mode) 。而同步模式又包含兩種模式——動態(tài)鏈接庫模式(DLL)和多進程模式(Multiprocess mode) 。我們這次是針對同步模式中的動態(tài)鏈接基于 PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班12庫模式(DLL) 。簡單地說,就是 Pro/E 通過 文件尋找 dll 和 text 的目錄,然后通過 dll 中的 user_initialize()函數(shù)進入二次開發(fā)程序。其中 text 目錄用于供程序讀取菜單欄,通知信息等文字數(shù)據(jù)。主程序進入函數(shù)流程如圖 。ProMenubarMenuAdd 加入新工具欄項ProCmdActionAdd 加入處理事件ProMenubarmenuPushbuttonAdd加入新工具欄項若無 ProCmdActionAdd 加入工具欄按鈕,則工具欄無法顯示user_initialize() Pro/E 標準進入函數(shù)UserAccessTestMenu命令傳入狀態(tài)函數(shù)名稱項引用 txt 文件CyGear 函數(shù)圖 主程序進入函數(shù)流程圖主程序進入函數(shù)源代碼:extern C int user_initialize() {// AfxEnableControlContainer()。ProError status。ProName menufil。uiCmdCmdId cmd_id。ProStringToWstring(menufil,)。status = ProMenubarMenuAdd(GBGear,gbgear,Help, PRO_B_FALSE,menufil)。//名字GBGearstatus = ProCmdActionAdd(CyGear,(uiCmdCmdActFn)CyGear,uiCmdPrioDefault,UserAccessTestMenu,PRO_B_TRUE,PRO_B_TRUE,amp。cmd_id)?;?PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班13status = ProMenubarmenuPushbuttonAdd(GBGear,cygear,cylinder_gear,cylinder_gear_tip,NULL,PRO_B_TRUE,cmd_id,menufil)。ProStringToWstring(msgfil,)。ProMessageDisplay(msgfil,hello)。return(0)。}命令傳入狀態(tài)函數(shù)源代碼:static uiCmdAccessState UserAccessTestMenu(uiCmdAccessMode access_mode){return (ACCESS_AVAILABLE)。}在命令處理事件添加函數(shù) ProCmdActionAdd 中調(diào)用了 CyGear 函數(shù),將函數(shù)加載至工具欄按鈕。ProCmdActionAdd(CyGear,(uiCmdCmdActFn)CyGear,uiCmdPrioDefault,UserAccessTestMenu, PRO_B_TRUE,PRO_B_TRUE,amp。cmd_id)。CyGear 函數(shù):void CyGear(){AFX_MANAGE_STATE(AfxGetStaticModuleState())。 DlgGear DlgGear。 ()。}CyGear 函數(shù)中創(chuàng)建了一個 DlgGear 對象,該對象由 及 支持,用于顯示對話框,及完成相關(guān)命令。 對話框與具體實現(xiàn)方法在資源文件 中,新建了一個 IDD_DIALOG1 對話框資源。并添加控件,布局如圖?;?PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班14圖 對話框資源 IDD_DIALOG1為對話框添加類 DlgGear。在 頭文件中,可以找到枚舉型 IDD 變量,即為引用了對話框資源。class DlgGear : public CDialog{DECLARE_DYNAMIC(DlgGear)public:DlgGear(CWnd* pParent = NULL)。 // 標準構(gòu)造函數(shù)virtual ~DlgGear()。// 對話框數(shù)據(jù)enum { IDD = IDD_DIALOG1 }?!?其下部分略 ) 建立模型方法在按鈕中加入 OnBnClicked 函數(shù)處理按下事件,建立模型。void DlgGear::OnBnClickedBuild(){ProMdl part。ProError err。wchar_t fname[255]。wcscpy(fname,cy_gearfilename)。基于 PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班15err = ProMdlRetrieve(fname, PRO_MDL_PART, amp。part)。//載入fname文件SetGear(part)。}其中,cy_gearfilename 為一個全局變量,其定義如下:CString cy_gearfilename=LPTCGBGear\\。SetGear 為一個自定函數(shù),傳入 ProMdl 類型的形參,在函數(shù)內(nèi)將該模型參數(shù)設(shè)置為全局變量中定義的各參數(shù)值,并再生模型,激活窗口。下面為 SetGear 函數(shù)流程圖:基于 PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班16ProModelitemInit 初始化模型特征ProParameterInit 初始化參數(shù)變量ProMdlIdGet 得到模型 id設(shè)置 ProParamvalue 類型變量的類型與值UpdateData(true)將控件內(nèi)容傳輸?shù)娇丶兞縋roParameterValueSet 設(shè)置模型參數(shù)ProSolidRegenerate 再生模型ActivatePart 激活模型窗口(自定函數(shù))ProMdlDisplay 顯示模型圖 SetGear 函數(shù)流程圖基于 PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班17源代碼因太長,故附于附錄中。SetGear 函數(shù)設(shè)置模型參數(shù)后,調(diào)用 ActivePart 函數(shù)以激活當前窗口。void ActivatePart(ProMdl current_part){ProName pname。ProType ptype。int window_id。ProMdlNameGet(current_part,pname)。ProMdlTypeGet(current_part,(ProMdlType*)amp。ptype)。ProObjectwindowCreate(pname,ptype,amp。window_id)。ProWindowActivate(window_id)。}其關(guān)鍵函數(shù)只有 ProObjectwindowCreate 和 ProWindowActivate,但因為前者需要傳入模型名字與類型的形參,所以在其前加入 ProMdlNameGet 和 ProMdlTypeGet 函數(shù)。 讀取模型參數(shù)方法作為一個齒輪生成系統(tǒng),如果生成的齒輪不能通過該系統(tǒng)修改,實在是件糟糕的事。如果修改后,丟失了其他特征(例如孔,鍵槽,凸臺等) ,則修改也失去意義。所以,我們?yōu)橄到y(tǒng)加入了讀取模型參數(shù)的方法,將數(shù)據(jù)讀取后反應(yīng)至對話框上的控件,讓對話框和建立該齒輪時的狀態(tài)相同,便于用戶更改。下面是讀取模型參數(shù)的流程圖:基于 PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班18ProMdlIdGet 得到模型 idProParameterInit 初始化參數(shù)變量ProMdlCurrentGet 得到當前模型句柄將 ProParamvalue 的值賦給各全局變量,并設(shè)置各控件數(shù)值,狀態(tài)ProParameterValueGet 得到模型參數(shù)ProModelitemInit 初始化模型特征圖 讀取模型參數(shù)步驟流程圖值得一提的是,Pro/Toolkit 開發(fā)的程序是需要解鎖的,否則只能在開發(fā)該程序的計算機運行。解鎖過程在官方文檔中敘述相當詳細,在此不再贅述。五、 系統(tǒng)使用方法 安裝系統(tǒng) GBGear 文件夾,其下文件如圖:基于 PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班19圖 GBGear 文件夾下文件將 GBGear 文件夾復(fù)制至 Pro/E 工作目錄內(nèi)。 Pro/E,之后 工具 – 輔助應(yīng)用程序,彈出如下窗口:圖 輔助應(yīng)用程序窗口 注冊,選中 Pro/E 工作目錄\GBGear\ 文件,窗口內(nèi)出現(xiàn)“國標齒輪”列表項。圖 加載程序 啟動。之后菜單欄上“幫助”左邊新增了一個“國標齒輪”菜單項?;?PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班20圖 程序菜單 使用方法程序啟動后會自動檢查當前模型,如果檢測到齒輪,會在狀態(tài)欄進行提示。圖 程序界面依次設(shè)置各參數(shù)值,點擊建立。即可生成新的齒輪模型。基于 PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班21圖 建立模型打開一個齒輪文件,如圖 。該圖中孔,鍵槽等特征是生成模型后加上的。加載“國標齒輪”程序,對話框開啟時會自動檢測當前文件。檢測成功并讀取參數(shù)后,會在狀態(tài)欄更新狀態(tài)為“已激活當前的齒輪” 。如果程序未激活可手動點擊“激活當前齒輪”按鈕。圖 激活齒輪設(shè)置參數(shù)后,齒輪將更新為新參數(shù)。可以看到,其余特征并未受到影響?;?PROE 二次開發(fā)的齒輪參數(shù)化設(shè)計系統(tǒng) 09 機械 12,13 班22圖 更新后的齒輪六、 總結(jié)與展望這次做 Pro/E 的二次開發(fā),雖然作品不算復(fù)雜,系統(tǒng)也較為單一,但調(diào)試成功就是給予我們最大的鼓勵,特別是經(jīng)過了幾天,換著環(huán)境的調(diào)試,程序通過的一剎那,讓人欣喜若狂。這種感覺是單一地建模與 Pro/Program 的簡單程序所不能給予的。此外,在編寫程序的過程中,我們克服了對英文文檔的恐懼,耐下性子閱讀 PTC的 Pro/Toolkit 幫助文檔,各個函數(shù),分門別類,各司其職,各種自定義的參數(shù),函數(shù)名稱的命名規(guī)則,讓人一看就能夠知道其功能,不禁對 PTC 公司的水平肅然起敬。限于時間關(guān)系,這個齒輪參數(shù)化設(shè)計程序,還有很多有待完善的地方:1. 目前該系統(tǒng)只有直齒圓柱齒輪一種,但基于參數(shù)賦值調(diào)用并重建模型的方法與模型的建模過程其實是獨立的,因而添加其他蝸輪等模型實質(zhì)上只是增加程序界面與接口的問題。2. Pro/Toolkit 的每條函數(shù)都會返回一個 ProError 類型的變量,以說明錯誤類型。但限于時間我們只對部分關(guān)鍵函數(shù)的錯誤信息進行了反饋。在今后的程序改進中,將其余函數(shù)的錯誤信息進行處理有助于增強程序的強壯性。3. 現(xiàn)在該程序點擊“建立” ,則新建的模型會覆蓋當前窗口,算是一個 BUG。經(jīng)過努力,該 BUG 尚未解決。4. 程序窗口激活后,焦點轉(zhuǎn)移至程序,而模型窗口則處于非激活狀態(tài)。若能使程序和Pro/E 本身的彈出窗口一樣,不影響模型窗口狀態(tài),則程序的便捷性將會提高。七、 附錄1. 文件 proe 二次開發(fā)總結(jié) by Tom 附于同文件夾下。2. 工程
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1