史上最全ProE二次開發(fā)測試及環(huán)境配置方法_第1頁
史上最全ProE二次開發(fā)測試及環(huán)境配置方法_第2頁
史上最全ProE二次開發(fā)測試及環(huán)境配置方法_第3頁
史上最全ProE二次開發(fā)測試及環(huán)境配置方法_第4頁
史上最全ProE二次開發(fā)測試及環(huán)境配置方法_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

------------------------------------------------------------------------史上最全ProE二次開發(fā)測試及環(huán)境配置方法32位系統(tǒng)preo5.0二次開發(fā)測試及環(huán)境配置首先,proe5.0是配合VC++2008來進行二次開發(fā)的,因此首先得安裝VS2008,其次,要確保proe5.0中已經(jīng)安裝了protoolkit,安裝方法略。如何測試Pro/Toolkit安裝成功第一步,找到proe安裝目錄下的protooltik文件夾,并找到..\protoolkit\i486_nt\obj這個路徑下的一個叫做make_install的文件,用寫字板打開,找到如下#Pro/ToolkitSource&MachineLoadpoint(EXTERNALUSE-DEFAULT)這么一行字,然后把它下面的PROTOOL_SRC=../..改成PROTOOL_SRC=...\PTC\protoolkit,保存下關(guān)閉就好了。第二步,在“開始”中找到MicrosoftVisuallStudioToolsVisualStudioToolsVisualStudioTools2008命令提示符,打開。第三步,在打開的這個界面里面敲下如下字符cd...\PTC\protoolkit\i486_nt\obj,然后回車,再敲上如下字符:nmake/fmake_installdll,然后再回車,等其運行完畢,關(guān)掉命令提示符,然后再回到...\PTC\protoolkit\i486_nt\obj文件夾中,會發(fā)現(xiàn)多了一個pt_inst_test.dll文件,證明前面的工作全是成功的。第四步,回到...\PTC\protoolkit文件夾,找到protk.dat文件,用寫字板打開,將第二行和第三行前面的“.”改成路徑...\PTC\protoolkit,將第五行后面的“18”改成“wildfire5.0”,其他保持不變,保存,關(guān)閉。第五步,啟動proe5.0,找到工具輔助應(yīng)用程序,打開,點“注冊”,找到...\PTC\protoolkit,里的protk.dat,打開,選中,點“啟動”,發(fā)現(xiàn)左上角出現(xiàn)“’pt_inst_test.dll’啟動成功”。關(guān)閉“輔助應(yīng)用程序”。第六步,打開“文件”菜單欄,會有一個“安裝檢測”,點擊后,會出現(xiàn)“PRO/PROTOOLKIT安裝檢測成功”。至此,PRO/PROTOOLKIT安裝檢測全部完成。配置VC++2008Debug模式配置第一步,加上PRO/TOOLKIT的包含文件和庫文件,打開工具選項項目與解決方案VC++目錄顯示以下內(nèi)容的目錄包含文件,添加如下文件:...\PTC\protoolkit\includes...\PTC\protoolkit\protk_appls\includes...\PTC\prodevelop\includes...\PTC\prodevelop\prodev_appls\includes將包含文件換為庫文件,添加如下文件:...\PTC\protoolkit\i486_nt\obj...\PTC\prodevelop\i486_nt\obj然后點擊確定,包含文件和庫文件加載完畢。第二步,新建一個MFC工程,打開項目屬性配置屬性鏈接器輸入,在附加依賴項中輸入以下代碼:(若為MFCDLL文件)wsock32.libmpr.libprotk_dllmd.libprodev_dllmd.libpsapi.libnetapi32.lib(若為MFC應(yīng)用程序工程)wsock32.libmpr.libprotk_dllmd.libprodev_dllmd.libpsapi.libnetapi32.libpt_asynchronous.lib在忽略待定庫中,添加libcmtd。第三步,打開項目屬性配置屬性C/C++預(yù)處理器預(yù)處理器定義中添加命令PRO_USE_VAR_ARGS。(若為異步模式,異步模式其他設(shè)置請參考文獻[1])wsock32.libmpr.libpsapi.libnetapi32.libpt_asynchronous.libprotkmd.libprodevelop.libprodevmd.lib在忽略待定庫中,添加libcmtd。第三步,打開項目屬性配置屬性C/C++預(yù)處理器預(yù)處理器定義中添加命令PRO_USE_VAR_ARGS。Release模式配置第一步,與Debug模式配置相同。第二步,新建一個MFC工程,注意向?qū)У牡诙街袘?yīng)選擇使用靜態(tài)鏈接MFC庫方式。1、打開項目屬性配置屬性調(diào)試配置管理器中進行如下操作。將配置選項改為“活動(Release)”2、打開項目屬性配置屬性常規(guī),將“字符集”選項改為“使用多字節(jié)字符集”。3、打開項目屬性配置屬性C/C++à預(yù)處理器,在預(yù)處理定義中輸入PRO_USE_VAR_ARGS和_AFXDLL,點擊OK。4、打開項目屬性配置屬性C/C++à代碼生成,將“運行時庫”選項改為“多線程DLL/MD”。5、打開項目屬性配置屬性C/C++à語言,將“將wchar_t視為內(nèi)置類型”改為“否(/Zcwchar_t-)”。6、打開項目屬性配置屬性鏈接器輸入,在附加依賴項中輸入以下代碼:wsock32.libmpr.libpsapi.libprotk_dllmd.libprodev_dllmd.lib配置完成。第三步,測試程序。1、添加頭文件:#include"ProMenubar.h"#include"ProMenu.h"#include"ProUtil.h"#include<ProToolkit.h>#defineMSGFILE"message.txt"#pragmacomment(lib,"netapi32")staticuiCmdAccessStateUserAccessTestMenu(uiCmdAccessMode);extern"C"intuser_initialize()//入口函數(shù){ AfxEnableControlContainer();ProErrorstatus; ProNamemenumsgfile; uiCmdCmdIdcmd_id; //在Help菜單的右邊添加“二次開發(fā)菜單” ProStringToWstring(menumsgfile,"usermsg1.txt"); status=ProMenubarMenuAdd("Menu0","USERMenu0","Help",PRO_B_TRUE,menumsgfile); return(0);}staticuiCmdAccessStateUserAccessTestMenu(uiCmdAccessModeaccess_mode){ return(ACCESS_AVAILABLE);}extern"C"void user_terminate()//出口函數(shù){ AFX_MANAGE_STATE(AfxGetStaticModuleState());}2、創(chuàng)建注冊文件protk.dat,內(nèi)容如下:nameDteststartupdllallow_stopTRUEdelay_startFALSEexec_file…\Dtest\Release\Dtest.dlltext_dir…\Dtest\textrevisionwidfire5.0end3、在Dtest文件夾中創(chuàng)建text文件夾,在text文件夾內(nèi)創(chuàng)建usermsg1.txt文件,內(nèi)容如下:USERMenu()二次開發(fā)菜單##4、注冊運行。64位系統(tǒng)preo5.0二次開發(fā)環(huán)境配置64位操作系統(tǒng)的環(huán)境配置與32位的有所不同,首先64系統(tǒng)需要在X64平臺上進行調(diào)試,而不是在默認的Win32上,其次,在添加PRO/PROTOOLKIT的包含文件和庫文件時,打開工具選項項目與解決方案VC++目錄顯示以下內(nèi)容的目錄包含文件,此時平臺要注意選用X64平臺,在包含文件和庫文件中添加和32位系統(tǒng)里一樣的include文件和obj文件:...\PTC\protoolkit\includes...\PTC\protoolkit\protk_appls\includes...\PTC\prodevelop\includes...\PTC\prodevelop\prodev_appls\includes將包含文件換為庫文件,添加如下文件:...\PTC\protoolkit\i486_nt\obj...\PTC\prodevelop\i486_nt\obj這里要多出一步,將庫文件轉(zhuǎn)換為可執(zhí)行文件,并添加如下內(nèi)容:$(SystemRoot)\System32$(SystemRoot)$(SystemRoot)\System32\wbem(注:若不加載此項,會提示諸如無法生成“cmd.exe”的錯誤。然后點擊確定,包含文件和庫文件和可執(zhí)行文件加載完畢。這時再運行程序,就不會出現(xiàn)錯誤。二次開發(fā)基礎(chǔ)知識菜單欄菜單的添加(Pro/E二次開發(fā)技術(shù)基礎(chǔ)P103)菜單欄菜單是Pro/E菜單體系的最頂層菜單,ProMenubarMenuAdd()是完成菜單欄菜單添加的函數(shù)菜單按鈕的添加單擊某個菜單按鈕后,應(yīng)能調(diào)用某個函數(shù),因此它的添加過程分為兩步:首先是添加動作函數(shù)和菜單按鈕,然后把動作函數(shù)和菜單按鈕聯(lián)系起來,作為菜單按鈕的響應(yīng)函數(shù)。2.1菜單動作函數(shù)的添加在將菜單按鈕和動作函數(shù)聯(lián)系起來之前,先在程序主文件的頭文件中定義動作函數(shù),Pro/E中,將菜單按鈕和動作函數(shù)聯(lián)系起來的函數(shù)是ProCmdActionAdd(),該函數(shù)將返回一個uiCmdCmdId類型變量,此變量用來表示動作函數(shù)的標識,在添加菜單項菜單時需要提供動作函數(shù)的標識。2.2菜單按鈕的添加向菜單欄菜單中添加菜單按鈕的函數(shù)是ProMenubarmenuPushbuttonAdd()復(fù)選菜單按鈕的添加添加復(fù)選按鈕之前也需要設(shè)置復(fù)選按鈕的響應(yīng)函數(shù)、復(fù)選按鈕初始狀態(tài)函數(shù)。使用復(fù)選按鈕的過程中,需要有可以得到按鈕狀態(tài)值以及設(shè)置按鈕狀態(tài)值的函數(shù)。因此添加一個復(fù)選框菜單按鈕需要用到四個函數(shù):ProCmdOptionAdd();選項設(shè)置命令函數(shù)的添加ProMenubarmenuChkbuttonValueGet();復(fù)選按鈕狀態(tài)值的獲取ProMenubarmenuChkbuttonValueSet();復(fù)選按鈕狀態(tài)值的設(shè)置ProMenubarmenuChkbuttonAdd()。向菜單項菜單添加復(fù)選按鈕的函數(shù)單選菜單按鈕的添加添加一組單選按鈕需要用到四個函數(shù):ProCmdOptionAdd();選項設(shè)置命令函數(shù)的添加ProMenubarMenuRadiogrpValueGet();單選按鈕組值的獲取ProMenubarMenuRadiogrpValueSet();單選按鈕組值的設(shè)置ProMenubarMenuRadiogrpAdd()。單選按鈕組的添加函數(shù)單選按鈕的添加與復(fù)選按鈕的添加很相似,不過單選按鈕是以組的形式來添加,同一組中的單選按鈕只有一個單選按鈕被選中。菜單欄菜單的下級菜單在下一個菜單欄菜單下除了一般按鈕、復(fù)選按鈕、單選按鈕之外,還可以添加子菜單。在子菜單下也能夠添加一般按鈕、復(fù)選按鈕、單選按鈕、子菜單。函數(shù)是ProMenubarmenuAdd()菜單按鈕的圖標設(shè)置Pro/E的菜單可以有圖標,按鈕被添加到工具欄上面時會以圖標的形式顯示。函數(shù)是ProCmdIconSet()對原有菜單的操作對原有菜單按鈕可以進行的操作有:改變菜單的訪問控制函數(shù),使菜單無效、隱藏、移除等等,還可以在菜單按鈕動作函數(shù)執(zhí)行之前或之后執(zhí)行自定義函數(shù),實現(xiàn)這些功能主要有以下幾個函數(shù):ProCmdCmdIdFind();ProCmdAccessFuncAdd();ProCmdAccessFuncRemove();ProCmdBracketFuncAdd();具體用法可查幫助。常用Pro/TOOLTIK頭文件ProUtil.h是常用的頭文件,在這個頭文件內(nèi)定義Pro/TOOLTIK的基本數(shù)據(jù)類型以及常用函數(shù),如:ProStringToWstring()、ProWstringToString()、ProFileOpen()、ProDirectoryChoose()、ProPathCreate()等。ProMenu.h這個文件內(nèi)定義了一些菜單按鈕的操作,如ProMacroExecute()、ProMacroLoad()、ProMenuVisibilityGet()。ProMenuBar.h定義了添加菜單工具欄菜單、菜單按鈕時用到的函數(shù)。ProWindows.h里定義了進行窗口操作的函數(shù),如ProWindowCurrentGet()、ProWindowRefresh()、ProWindowCurrentSet()、ProObjectwindowGreate()、ProWindowActivate()等等。ProMdl.h、ProSolid.h定義了用于對模型進行操作的函數(shù),如獲得當前模型、獲得模型類型等等很多函數(shù)。ProDimension.h定義了對尺寸操作的函數(shù)。ProParameter.h定義了對參數(shù)進行操作的函數(shù)。ProParamval.h定義了對參數(shù)的值進行操作的函數(shù)。ProRelSet.h定義了對關(guān)系進行操作的函數(shù)。ProModelitem.h定義了對模型項進行操作的函數(shù)。ProFeature.h定義了用于特征操作的函數(shù)。對象句柄Pro/TOOLKIT中,每個對象都由一個標識符來標識,利用標識符就可以調(diào)用所對應(yīng)的對象,這個標識符就是對象句柄。句柄是Windows用來標識被應(yīng)用程序所建立或使用的對象的唯一整數(shù)。Windows使用各種各樣的句柄標識諸如應(yīng)用程序?qū)嵗?、窗口、控制、位圖、GDI等對象。常用函數(shù)及形式Get獲得,用來獲取對象的某個數(shù)據(jù)。這類函數(shù)的輸入是基本數(shù)據(jù)對象,輸出是基本數(shù)據(jù)對象的某一信息。常用的函數(shù)有:ProMdlCurrentGet(ProMdl*p_handle)//獲得當前的模型。ProDirectoryCurrentGet(ProPathpath)//獲得當前的工作路徑。ProMdlTypeGet(ProMdlmodel,ProMdlType*p_type)//獲得當前模型的類型,模型的主要類型是指零件模型、組件模型和工程圖模型。ProMdlDataGet(ProMdlhandle,ProMdldata*p_data)//獲得模型的數(shù)據(jù),通過這個函數(shù)可以獲得模型名稱以及模型的類型,模型的存放位置等信息。ProWindowCurrentGet(int*p_window_id)//獲得當前的窗口。ProModelitemMdlGet(ProModelitem*p_model_item,ProMdl*p_owner)//獲得模型項所屬的模型句柄。Set設(shè)置,用來設(shè)置對象的函數(shù)值。它也是以基本數(shù)據(jù)對象作為輸入,并輸入需要設(shè)置的變量的值,常用的函數(shù)有:ProDimensionValueSet(ProDimension*dimension,double*value)//設(shè)置尺寸的值。ProDimensionSymbolSet(ProDimension*dimension,ProNamesymbol)//設(shè)置尺寸的符號。ProParameterValueSet(ProParameter*param,ProParamvalue*proval)//設(shè)置自定義參數(shù)的值。ProMenubuttonVisibilitySet(ProMenuNamemenuname,ProMenubuttonNamebutton,ProBooleanvisible)//設(shè)置菜單按鈕的可見性(自己定義的菜單)。ProAsmcompTypeSet(ProAsmcomp*comp,ProAssemblytop_assem,ProAsmcompTypeType)//

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論