版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第8章三維CAD軟件的二次開發(fā)技術(shù)8.1概述8.2Pro/Engineer軟件簡介8.3Pro/TOOLKIT開發(fā)技術(shù)8.4Pro/Engineer的交互界面設(shè)計8.5基于Pro/Engineer平臺的產(chǎn)品參數(shù)化設(shè)計開發(fā)8.1概述隨著科學(xué)技術(shù)和計算機(jī)技術(shù)的快速發(fā)展,大型的CAD/CAM/CAE軟件系統(tǒng)如Pro/Engineer、CATIA、UG、I-DEAS、Solidworks在各行各業(yè)發(fā)揮著越來越重要的作用。這些軟件都獨具特色,尤其在三維實體建模、虛擬裝配、運動仿真等方面的功能愈加強(qiáng)大,人機(jī)交互性也更加完美。但是對于一些應(yīng)用廣泛、專業(yè)性強(qiáng)的設(shè)計領(lǐng)域,應(yīng)用時仍然需要針對設(shè)計領(lǐng)域特點進(jìn)行軟件的二次開發(fā)。
基于模型的定義(ModelBasedDefiniton,MBD)基于模型的制造(ModelBased
Manufacturing,MBM)基于模型的維修保障(ModelBased
Support,MBS)基于模型的企業(yè)(ModelBasedEnterprise,MBE)8.2Pro/Engineer軟件簡介Pro/Engineer(簡稱PRO/E)軟件是美國PTC(ParametricTechnologyCorporation)旗下的主要產(chǎn)品,如同其他三維CAD/CAM/CAE軟件一樣,它是當(dāng)今世界應(yīng)用非常廣泛的CAD/CAM/CAE軟件之一。1)基于特征提供了具有一定智能化的基于特征的建模工具,比如拉伸、旋轉(zhuǎn)、掃描、混合、鉆孔、挖槽、倒角等基礎(chǔ)特征2)單一數(shù)據(jù)庫、全相關(guān)性從三維實體模型到二維工程圖、虛擬裝配、虛擬制造、仿真分析等各模塊均做到全相關(guān)性3)參數(shù)化計人員在任何模塊只需更改特征模型的尺寸參數(shù),則由尺寸參數(shù)驅(qū)動的模型就會作出相應(yīng)改變
1.Pro/Engineer軟件特點
2.
PRO/Engineer主要功能模塊草繪模塊草繪模塊用于繪制和編輯二維平面草圖,二維平面草圖繪制是使用零件模塊進(jìn)行三維建模時的重要步驟。零件模塊零件模塊用于創(chuàng)建三維實體模型。該模塊是參數(shù)化實體造型最基本和最核心的模塊。裝配模塊裝配模塊是將多個零件按照裝配關(guān)系虛擬組裝成部件或者完整產(chǎn)品的過程。系統(tǒng)可使用“分解裝配”功能顯示所有零件以及編輯零件分解位置的狀態(tài)。曲面模塊曲面模塊用于創(chuàng)建各種類型的曲面特征模型。它通常用于實現(xiàn)一些復(fù)雜曲面的造型。工程圖模塊工程圖模塊用于將三維實體模型轉(zhuǎn)換成二維工程圖。3.Pro/Engineer軟件的二次開發(fā)工具二次開發(fā)工具特
性族表(FamilyTable)族表是利用表格來進(jìn)行尺寸參數(shù)或者特征驅(qū)動的工具。它主要用來創(chuàng)建和管理具有相同或相近結(jié)構(gòu)的零件,適用于標(biāo)準(zhǔn)化、系列化零件。用戶定義特征(UDF)用戶定義特征是將若干個系統(tǒng)特征融合為一個自定義特征,以.gph文件保存,使用時作為一個整體出現(xiàn)。適用于特定產(chǎn)品中的特定結(jié)構(gòu),有利于設(shè)計者根據(jù)產(chǎn)品特征快速生成幾何模型。Pro/ProgramPro/Program是一個控制并修改宏文件的工具,由類似BASIC的高級語言構(gòu)成。用戶根據(jù)設(shè)計需要來編輯模型的Program,使其作為一個程序來工作。J-linkJ-link是Pro/Engineer自帶的基于JAVA語言的二次開發(fā)工具,屬于一種面向?qū)ο?、獨立于操作系統(tǒng)平臺的開發(fā)工具。用戶可通過JAVA編程實現(xiàn)Pro/Engineer軟件的功能添加。VB.NET在VB.NET編程環(huán)境中,利用Pro/Engineer提供的VB.API接口函數(shù)控制三維模型的特征進(jìn)行參數(shù)化設(shè)計。該方法采用的語法規(guī)則較為簡單,易于掌握。Pro/TOOLKITPro/TOOLKIT是Pro/Engineer軟件提供的工具開發(fā)包,即應(yīng)用程序接口(API),其目的是讓用戶或第三方通過C語言編程擴(kuò)充Pro/Engineer軟件系統(tǒng)的功能。由于Pro/TOOLKIT幾乎可以直接訪問Pro/Engineer軟件所有底層資源,它可以對Pro/Engineer進(jìn)行深層次的二次開發(fā),因此Pro/TOOLKIT是當(dāng)前Pro/Engineer軟件使用的最普遍的二次開發(fā)工具。
利用Pro/TOOLKIT,結(jié)合Pro/Program和FamilyTable可方便快捷地實現(xiàn)系列化、標(biāo)準(zhǔn)化程度較高的一類零部件參數(shù)化設(shè)計建模,再利用Pro/Engineer系統(tǒng)提供的UI對話框、菜單以及MFC可視化界面設(shè)計技術(shù),可以設(shè)計出方便實用的人機(jī)交互界面,幫助用戶實現(xiàn)參數(shù)的可視化設(shè)計與管理,大大提高系統(tǒng)的使用效率。AutoCAD還可以訪問外部數(shù)據(jù)庫中的數(shù)據(jù),將其與AutoCAD的圖形對象聯(lián)系。AutoCAD提供了以下與外部數(shù)據(jù)庫的連通工具:(1)數(shù)據(jù)庫連接管理器(dbConnectManager):能將各種數(shù)據(jù)庫對象與AutoCAD圖形聯(lián)系在一起。(2)外部配置功能(ExternalConfigurationUtility):使AutoCAD可以從一個數(shù)據(jù)庫系統(tǒng)中獲得數(shù)據(jù)。(3)數(shù)據(jù)視圖窗口(DataViewWindow):可在AutoCAD系統(tǒng)中顯示一個數(shù)據(jù)庫的記錄。(4)查詢編輯器(QureyEditor):用戶可構(gòu)造、保存和執(zhí)行SQL查詢。(5)鏈接選擇操作(LinkSelectOperation):可建立基于查詢和圖形對象的重復(fù)選擇集。8.3Pro/TOOLKIT開發(fā)技術(shù)Pro/TOOLKIT應(yīng)用程序是利用Pro/Engineer軟件自帶的Pro/TOOLKIT工具包、C(C++)語言進(jìn)行程序設(shè)計,然后通過C編譯器和鏈接器創(chuàng)建出能夠在Pro/Engineer環(huán)境中運行的可執(zhí)行程序或動態(tài)鏈接庫形式的程序。Pro/TOOLKIT開發(fā)時,可以直接利用VC的應(yīng)用程序設(shè)計向?qū)Вˋppwizard)和類向?qū)?Classwizard)進(jìn)行其應(yīng)用程序的設(shè)計、創(chuàng)建和調(diào)試。8.3.1Pro/TOOLKIT的工作模式同步模式(SynchronousMode)動態(tài)鏈接模式(DLLMode)多進(jìn)程模式(MutiprocessMode)異步模式(AsychronousMode)簡單異步模式(SimpleMode)完全異步模式(FullMode)8.3.2Pro/TOOLKIT安裝與測試Step1:在Pro/Engineer安裝目錄下的protooltik文件夾中,用寫字板打開“..\protoolkit\i486_nt\obj”路徑下make_install文件,把“#Pro/ToolkitSource&MachineLoadpoint(EXTERNALUSE-DEFAULT)”下面的“PROTOOL_SRC=../.”改成“PROTOOL_SRC=...\PTC\protoolkit”,保存、關(guān)閉。Step2:在“開始”處點擊“MicrosoftVisualStudioTools2008”。在打開的界面中輸入cd...\PTC\protoolkit\i486_nt\obj,回車,再輸入字符:nmake/fmake_installdll,回車,等運行完畢關(guān)掉命令提示符。這時在“...\PTC\protoolkit\i486_nt\obj”文件夾中出現(xiàn)了pt_inst_test.dll文件。Step3:在...\PTC\protoolkit文件夾中,用寫字板打開protk.dat文件,將第二行和第三行前面的“.”改成路徑...\PTC\protoolkit,將第五行后面的“18”改成“wildfire5.0”,其他保持不變,保存、關(guān)閉。Step4:啟動Pro/Engineer5.0,在“工具”菜單下點擊“輔助應(yīng)用程序”,點擊“注冊”,再在...\PTC\protoolkit目錄下選中protk.dat,點擊“啟動”,這時左上角出現(xiàn)“pt_inst_test.dll”啟動成功”。關(guān)閉“輔助應(yīng)用程序”。Step5:打開“文件”菜單欄,會有一個“安裝檢測”。點擊后會出現(xiàn)“Pro/TOOLKIT安裝檢測成功”如圖8.1所示。至此,Pro/TOOLKIT安裝檢測完成。8.3.3Pro/TOOLKIT開發(fā)環(huán)境配置本節(jié)以Pro/EngineerWidefire5.0、語言平臺為VisualStudio2008、計算機(jī)系統(tǒng)為win7為例介紹Pro/TOOLKIT開發(fā)環(huán)境的配置。1.確定新建項目在VisualStudio2008集成開發(fā)環(huán)境中新建項目。在彈出的對話框中(圖8.2),指定項目類型為MFC,項目模板為MFCDLL,輸入項目名稱,點擊“確定”。圖8.2新建項目圖8.3指定連接方式2.設(shè)置包含文件和庫文件圖8.4包含文件路徑設(shè)置2.設(shè)置包含文件和庫文件圖8.5庫文件路徑設(shè)置3.設(shè)置項目屬性圖8.6新建配置管理器3.設(shè)置項目屬性圖8.7新建解決方案平臺(X64)3.設(shè)置項目屬性圖8.8預(yù)處理器定義3.設(shè)置項目屬性圖8.9設(shè)置附加庫和特定庫3.設(shè)置項目屬性圖8.9設(shè)置附加庫和特定庫8.3.4Pro/TOOLKIT二次開發(fā)的主要步驟實現(xiàn)了Pro/Engineer與VisualStudio的連接后,就可以進(jìn)行源文件的編寫、編譯、連接、注冊和運行。1.編寫源文件2.應(yīng)用程序的編譯和連接3.應(yīng)用程序的注冊4.應(yīng)用程序的運行1.編寫源文件源文件包括資源文件和程序源文件。資源文件包括窗口信息資源文件、菜單資源文件和對話框資源文件等,是整個Pro/TOOLKIT程序開發(fā)的核心部分。程序源文件設(shè)計有兩方面,其一是Pro/TOOLKIT運行時的初始化函數(shù)(user_initialize)和終止函數(shù)(user_terminate);其二是根據(jù)功能設(shè)計的Pro/TOOLKIT應(yīng)用程序主體部分。其中,初始化函數(shù)主要是用來設(shè)置需要添加的菜單以及設(shè)置初始化值,相當(dāng)于C++類的構(gòu)造函數(shù)或C語言的main()函數(shù)。終止函數(shù)是處理程序結(jié)束時需要處理的工作,相當(dāng)于C++類的析構(gòu)函數(shù)。user_initialize()和user_terminate()是Pro/TOOLKIT程序同步模式的初始化函數(shù)和結(jié)束函數(shù),每個同步模式應(yīng)用程序都必須添加。初始化函數(shù)user_initialize()和user_terminate()的形式如下:
extern“C”intuser_initialize(){ProErrorstatus;//用戶添加的接口程序部分
........returnstatus;}extern“C”voiduser_terminate(){//用戶添加的終止代碼
........}2.應(yīng)用程序的編譯和連接
應(yīng)用程序的編譯和鏈接就是將編制的程序代碼通過編譯和連接生成可執(zhí)行的*.exe或*.dll文件。通常需要制作Makefile工程文件,該文件主要指定庫文件、頭文件、源文件的位置及要生成的可執(zhí)行文件和動態(tài)連接庫的名稱等。3.應(yīng)用程序的注冊在同步模式下,要在Pro/EngineerWidefire環(huán)境中運行用戶的應(yīng)用程序(.exe)或動態(tài)鏈接程序(.dll),必須在Pro/Engineer中對該程序進(jìn)行注冊,即需制作一個擴(kuò)展名為.dat的注冊文件。注冊文件的作用是向Pro/Engineer系統(tǒng)傳遞應(yīng)用程序的相關(guān)信息,如各種資源所存放位置等信息。注冊文件包含了很多選項,其包含的字段名及其意義見表8-3。序號字段名意
義1NAME外部程序名稱2STARTUP運行模式3EXEC_FILE編譯產(chǎn)生的可執(zhí)行程序名或者動態(tài)鏈接程序名4TEXT_DIR應(yīng)用程序的“text”路徑5DELAY_STARTBOOL:是否自動運行。True-手動,F(xiàn)alse-自動6ALLOW_STOPBOOL:是否自動停止。True-手動,F(xiàn)alse-自動7REVISIONPro/TOOLKIT的版本號8END段結(jié)束標(biāo)志表8-3注冊文件字段名及其意義其中,初始化函數(shù)主要是用來設(shè)置需要添加的菜單以及設(shè)置初始化值,相當(dāng)于C++類的構(gòu)造函數(shù)或C語言的main()函數(shù)。終止函數(shù)是處理程序結(jié)束時需要處理的工作,相當(dāng)于C++類的析構(gòu)函數(shù)。user_initialize()和user_terminate()是Pro/TOOLKIT程序同步模式的初始化函數(shù)和結(jié)束函數(shù),每個同步模式應(yīng)用程序都必須添加。程序的注冊方式有兩種,即自動注冊和手動注冊。
自動注冊需將注冊文件命名為protk.dat或prodev.dat,把該文件放在Pro/Engineer安裝目錄的\text目錄下,也可以在Pro/Engineer的快捷方式下右鍵“屬性”,將起始位置改成該注冊文件的目錄,然后點擊“應(yīng)用”即可,如圖8.11所示,這樣當(dāng)Pro/Engineer啟動的時候,應(yīng)用程序就會自動進(jìn)行注冊;
手動注冊是選擇Pro/Engineer軟件的菜單欄【工具】→【輔助應(yīng)用程序】,在彈出的對話框中點擊“注冊”,選擇要注冊的文件,直接啟動即為手動注冊進(jìn)行注冊(圖8.12)。圖8.11自動注冊應(yīng)用程序
圖8.12手動注冊應(yīng)用程序4.應(yīng)用程序的運行若是自動注冊,則啟動Pro/Engineer時,應(yīng)用程序會自動運行;若是手動注冊,則通過點擊輔助應(yīng)用程序的“啟動”按鈕來啟動程序,如圖8.12所示。8.4Pro/Engineer的交互界面設(shè)計交互界面是實現(xiàn)人機(jī)交互性設(shè)計與管理的重要途徑。Pro/Engineer系統(tǒng)為用戶提供了類似Pro/Engineer風(fēng)格的界面交互開發(fā)手段,利用Pro/TOOLKIT工具包,用戶就可以根據(jù)需求創(chuàng)建新的菜單和對話框來控制和管理應(yīng)用程序。8.4.1菜單設(shè)計Pro/Engineer系統(tǒng)的主要用戶界面是菜單,Pro/TOOLKIT工具包提供了豐富的菜單操作函數(shù),利用它們用戶可以方便地創(chuàng)建新的菜單項以及子菜單項來管理和控制應(yīng)用程序。菜單條是菜單體系中最高一級的單位,在Pro/Engineer主界面中添加菜單項及菜單項的動作,不僅需要Pro/TOOLKIT函數(shù),還必須有一個相對應(yīng)的消息文件(MessageFile),此文件的主要功能是定義菜單項、菜單項提示等信息。下面介紹利用Pro/TOOLKIT函數(shù)進(jìn)行菜單的設(shè)置方法。1.在菜單欄內(nèi)添加菜單項在菜單欄內(nèi)添加菜單項包括在Pro/Engineer原有菜單下創(chuàng)建新的菜單、在新創(chuàng)建的菜單下創(chuàng)建下一級子菜單、在菜單中添加菜單按鈕以及設(shè)置菜單項的動作。1)在Pro/Engineer原有菜單下創(chuàng)建新菜單ProMenubarMenuAdd(“menu”,“menu1”,“Utilities”,PRO_B_TRUE,MsgFile);2)在Pro/E新創(chuàng)建的菜單下創(chuàng)建下一級子菜單ProMenubarMenuAdd(“menu1”,“menu2”,“menu2”,NULL,PRO_B_TRUE,MsgFile);3)在菜單中添加菜單按鈕ProMenubarmenuPushbuttonAdd(“menu1”,"menu2","menu2","button”,NULL,PRO_B_TRUE,cmd_id,MsgFile);4)設(shè)置菜單項的動作ProCmdActionAdd(“menu3”,(uiCmdCmdActFn)reductor_start,uiCmdPrioDefault,NULL,PRO_B_TRUE,PRO_B_TRUE,&cmd_id);程序添加完成后點擊【生成】一【編譯】命令,在輸出欄顯示無錯誤提示后,再選擇【生成】。2.設(shè)置菜單信息文件菜單信息文件是用來定義菜單項和菜單項提示等信息的文本文件,可以用記事本建立并保存。菜單信息文件有固定的格式,以四行為一組,其代表的含義如下:第一行:關(guān)鍵字,這里的關(guān)鍵字必須保證與使用此菜單信息文件的函數(shù)的相關(guān)字符串一致。第二行:在菜單項提示或菜單項上顯示的文本。第三行:中文文本。第四行:#。例如:button&button激活對話框#
編寫菜單文件,生成菜單的資源文件,以文本文檔的形式存儲。注冊文件中的規(guī)定路徑為text文件夾,菜單資源文件必須放置在text文件夾下。若注冊文件沒有放在工作目錄下,則需在輔助應(yīng)用程序中加載注冊信息。完成上述步驟后,啟動Pro/E軟件后,菜單欄中就可看到設(shè)置的菜單項。8.4.2UI對話框基于Pro/TOOLKIT的對話框開發(fā),包括Pro/Engineer系統(tǒng)提供的用戶界面對話框(UserInterfaceDialogBoxes,簡稱UI對話框)的資源開發(fā)和利用Pro/TOOLKIT提供的對話框操作函數(shù)。開發(fā)時,首先需要按照界面布局編寫資源文件,然后針對對話框的功能編寫相應(yīng)的控制程序。這種方式開發(fā)的對話框不能脫離Pro/Engineer環(huán)境。1.對話框資源文件及組成資源文件是以文件擴(kuò)展名為.res的一種文本文件,它是用來定義和描述對話框外觀及屬性的,包括對話框的組成元件(component)、各元件的屬性定義和元件的布局形式。它的結(jié)構(gòu)形式如下:(Dialog<對話框名> (Components……)(Resources……))說明:編寫資源文件是區(qū)分大小寫的,括號必須成對存在,對話框名應(yīng)與資源文件名相同,也就是說,若資源文件名為Usr_example.res,則<對話框名>應(yīng)是Usr_example。Pro/TOOLKIT應(yīng)用程序的資源文件保存在注冊文件中TEXT_DIR字段指定目錄的\<language>\<resource>子目錄中。2.對話框有關(guān)元件及控制程序設(shè)計對話框元件按其是否擁有下級元件,可分為普通元件和容器類元件兩大類,其中容器類元件是擁有所屬的下級元件。1)容器類元件Tab 選項卡,每個選項卡包含一組Layout元件。Layout布局,Tab的下級元件,可以單獨使用,占用對話框的一個區(qū)域,用于元件的分組。SubLayout 子布局,Layout的下級元件,用于元件的分組布局。2)普通元件PushButton 按鈕InputPanel 輸入框,可以用來輸入和顯示單行文本或只讀。Label 標(biāo)簽,用于顯示提示信息。List 列表框,可以選擇其中一項或多項。OptionMenu 選項菜單Separator 分隔條RadioGroup 單選按鈕組CheckButton 復(fù)選按鈕,用于True和False之間的狀態(tài)切換。編寫完資源文件,必須通過Pro/TOOLKIT應(yīng)用程序來裝入、顯示和控制對話框。其中,ProUIDialogCreate()函數(shù)是將資源文件裝入內(nèi)存;ProUIDialogActivate()函數(shù)顯示和激活對話框;ProUIDialogDestroy()函數(shù)從內(nèi)存清除對話框資源;對話框元件的動作設(shè)置函數(shù)用于設(shè)置元件的動作函數(shù),需要用戶編寫。。8.4.3MFC類對話框設(shè)計MFC是微軟公司提供的類庫,以C++類的形式封裝了WindowsAPI,其中包含大量的Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類,并且包含一個應(yīng)用程序框架,減少了程序開發(fā)人員的工作量。與UI對話框相比,利用VC工具中的MFC資源創(chuàng)建對話框,其界面布局更為容易。創(chuàng)建時可利用VisualStudio2008手動地添加對話框的控件,無需編寫資源文件和對話框的激活等,用戶可充分利用VC++提供的先進(jìn)技術(shù)實現(xiàn)界面的可視化設(shè)計。下面是利用MFC類創(chuàng)建對話框的主要過程。1.創(chuàng)建Pro/TOOLKIT應(yīng)用程序基本框架
可以使用應(yīng)用程序向?qū)ppWizard來創(chuàng)建Pro/TOOLKIT應(yīng)用程序基本框架。在由AppWizard創(chuàng)建的且與工程文件名同名的CPP文件中,添加用戶初始化函數(shù)user_initialize()和用戶終止函數(shù)user_terminate()。特別注意的是,如果需要通過Pro/E的菜單項啟動對話框,則要在user_initialize()中添加菜單定義和菜單動作函數(shù)設(shè)置。2.創(chuàng)建對話框創(chuàng)建流程如圖8.13所示。創(chuàng)建時,將工具欄中的各種類型的控件拖放到對話框中,可以隨意調(diào)整對話框的大小和位置。圖8.13對話框創(chuàng)建流程圖3.生成頭文件相應(yīng)的實現(xiàn)文件在生成的對話框界面單擊鼠標(biāo)右鍵彈出快捷菜單,從該菜單中選擇“添加類”,自動生成CDialog派生類定義的頭文件和相應(yīng)的實現(xiàn)文件。4.創(chuàng)建和顯示對話框下面以啟動Pro/Engineer和退出Pro/Engineer的簡單的對話框設(shè)計為例說明MFC類對話框的創(chuàng)建過程。
1)建立項目在VisualStudio2008開發(fā)環(huán)境中,新建項目。點擊“確定”按鈕后,在彈出的對話框中,選擇“基于對話框”選項,如圖8.14所示,之后彈出的對話框選項都選擇默認(rèn)即可。
圖8.14新建項目
2)創(chuàng)建對話框VisualStudio2008會自動生成一個對話框,刪除控件,添加兩個新按鈕,如圖8.15所示。圖8.15添加新按鈕
3)添加控件的動作函數(shù)選擇元件按鈕,右鍵選擇“添加事件處理程序”,在彈出的對話框中,點擊“添加編輯”,如圖8.16所示。圖8.16事件處理程序編輯然后在“啟動Pro/E”按鈕添加如下程序:voidCexample32Dlg::OnBnClickedStartBtn(){ //在此添加控件通知處理程序代碼
ProErrori=ProEngineerStart("proe1.bat",""); if(i!=PRO_TK_NO_ERROR) { CStrings; s.Format(_T("StartError:%d"),i); AfxMessageBox(s); } else {AfxMessageBox(_T("Pro/E啟動成功")); }}在“退出Pro/Er”按鈕添加如下的程序:voidCexample32Dlg::OnBnClickedEndBtn(){ //在此添加控件通知處理程序代碼
ProErrori=ProEngineerEnd(); if(i!=PRO_TK_NO_ERROR) { CStrings; s.Format(_T("EndError:%d"),i); AfxMessageBox(s); } else { AfxMessageBox(_T("Pro/E已關(guān)閉"));} }在“stdafx.h”文件中添加Pro/TOOLKIT頭文件:#include<ProToolkit.h>#include<ProUtil.h>#include"ProCore.h"4)項目屬性設(shè)置參考8.3.3節(jié)進(jìn)行項目屬性設(shè)置,然后在【生成】菜單中選擇【重新解決方案】,編譯成功后,生成*.exe可執(zhí)行文件。5)啟動應(yīng)用程序若進(jìn)行Pro/Engineer的異步模式程序設(shè)計,還必須添加環(huán)境變量PRO_COMM_MSG_EXE。在64位系統(tǒng)中,該執(zhí)行文件在Pro/Engineer安裝目錄\x86e_win64\obj\pro_comm_msg.exe。設(shè)置完環(huán)境變量后,在【調(diào)試】菜單中選擇【開始執(zhí)行(不調(diào)試)】,則應(yīng)用程序執(zhí)行。在呈現(xiàn)的對話框界面上(圖8.17)點擊“啟動Pro/E”按鈕,則可以啟動Pro/E,彈出“PROE啟動成功”的提示對話框,如圖8.18所示。
圖8.17對話框運行結(jié)果
圖8.18PRO/E啟動成功提示框點擊“退出Pro/E”按鈕,則退出Pro/E,彈出“PROE已關(guān)閉”的提示對話框。
8.5基于Pro/Engineer平臺的
產(chǎn)品參數(shù)化設(shè)計開發(fā)8.5.1零部件參數(shù)化設(shè)計開發(fā)的一般流程8.5.2零部件參數(shù)化設(shè)計的數(shù)據(jù)庫設(shè)計8.5.3零部件的參數(shù)化設(shè)計舉例8.5.1零部件參數(shù)化設(shè)計開發(fā)的一般流程1.建立模板模型2.確定設(shè)計參數(shù)3.建立設(shè)計參數(shù)和模板模型尺寸的聯(lián)系4.參數(shù)傳遞和模型驅(qū)動8.5.2零部件參數(shù)化設(shè)計的數(shù)據(jù)庫設(shè)計在零部件的參數(shù)化設(shè)計開發(fā)過程中,需要不斷存取零部件的模型模板和零件參數(shù),因此需要選取合適的數(shù)據(jù)庫,并實現(xiàn)VisualStudio與數(shù)據(jù)庫連接。利用Pro/TOOLKIT進(jìn)行零部件的參數(shù)化設(shè)計開發(fā)時,可以以MicrosoftAccess為數(shù)據(jù)庫,分別建立零部件的模型模板庫和零件參數(shù)庫,將零件三維、二維模板及零件相關(guān)知識參數(shù)分別存儲在兩個庫中。Pro/Engineer可通過DLL模式鏈接到VisualStudio,完成MicrosoftAccess數(shù)據(jù)庫、VisualStudio和Pro/Engineer的三方交互。要實現(xiàn)與MicrosoftAccess的三方交互,還需要完成VisualStudio與MicrosoftAccess連接,然后通過VisualStudio編程實現(xiàn)零部件的調(diào)用、零部件參數(shù)匹配和零件的管理。1.建立數(shù)據(jù)庫表和數(shù)據(jù)源使用MicrosoftAccess設(shè)計一張數(shù)據(jù)表,然后在【控制面板】的【管理工具】里面新建一個數(shù)據(jù)源DB,并連接到所建立的數(shù)據(jù)庫上,如表8-4所示。字段名字段類型說
明Number自動編號作為主鍵,文件的標(biāo)示FileName文本文件名包括擴(kuò)展符Path文本文件存儲路徑表8-4數(shù)據(jù)源字段名及說明2.建立數(shù)據(jù)表集類
若使用ODBC方式連接數(shù)據(jù)庫,可使用CRecordeset類來綁定數(shù)據(jù)表完成連接。在VisualStudio的【項目】菜單里面單擊【添加類】,選擇MFC中的MFCODBC使用者,然后選擇以添加的數(shù)據(jù)源DB,定義數(shù)據(jù)集類的名稱,完成類的添加。3.建立數(shù)據(jù)庫與Pro/Engineer的連接通過MFC編程,實現(xiàn)數(shù)據(jù)庫與Pro/Engineer的連接,并完成從對話框存取數(shù)據(jù)的工作。數(shù)據(jù)庫與Pro/Engineer的連接的主要代碼如下:VoidCDBDlg::onbnClickedButton()//TOD0:在此添加看見通知處理程序代碼{CStringfilename;CStringfilepath;ProMdlmdl;ProErrorstatus;status=ProMdlCurrentGet(&mdl);//得到當(dāng)前模型if(status!=PRO_TK_NO_ERROR)//如果當(dāng)前不存在模型{AfxMessageBox(“當(dāng)前沒有模型!”);return;m_Set.AddNew();//如果當(dāng)前存在模型,則把模型信息添加到數(shù)據(jù)庫中m_Set.m_FileName=UsrGetMdlFileName(mdl);//得到模型的文件名re_Set.m_Path=UsrGetMdlPath(mdl);//得到模型的存儲位置m_Set.Update();m_Set.Requery();ShowList();//添加成功之后,刷新列表控件.......voidCDBDlg::ShowList(void){CStringcslndexNo;m_Set.M_strFiiter.Empty();m_Set.Requery();m_List.DeleteAllltems();if(!m_Set.IsBOF()){m_Set.MoveFirst()do{csIndexNo.Format(“%ld”,m_List.GetItemCount()+1);m_List.InsertItem(LVIF_PARAM|LVIF_TEXT,m_List.GetItemCount(),csIndexN0,0,0,0,m_Set.m_Number);m_List.SetItemText(m_List.GetItemCount()l,1,CString(m_Set.mFileName));//在添加的項中,設(shè)置第二列為模型的文件名m_List.SetItemText(m_List.GetItemCount()l,2,CString(m_Set.m_Path));//在添加的項中,設(shè)置第三列為模型的位置信息m_Set.MoveNext();}while(!m_Set.IsEOF());}}BOOLCDBDIg::OnInitDialog(){CDialog::OnInitDialog();if(!m_Set.Open())//連接數(shù)據(jù)庫{AfxMessageBox(“數(shù)據(jù)庫連接失敗!”);SendMessage(WM_CLOSE,0,0);returnFALSE;}8.5.3零部件的參數(shù)化設(shè)計舉例1.確定軸基本參數(shù)在設(shè)計軸三維模型模板過程中,選擇了如下
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加油站施工合同中的知識產(chǎn)權(quán)保護(hù)3篇
- 質(zhì)押債權(quán)轉(zhuǎn)讓合同范例
- 化妝品品牌市場推廣專員合同3篇
- 公共事業(yè)項目經(jīng)理合同3篇
- 合同負(fù)債借貸方向及賬務(wù)處理3篇
- 購買設(shè)備采購合同范例
- 制作合作合同范例
- 空調(diào)合同合同范例
- 維修移動電站合同范例
- 看房團(tuán)合同范例
- 《鄉(xiāng)鎮(zhèn)環(huán)境治理研究開題報告文獻(xiàn)綜述11000字》
- 山東省高等醫(yī)學(xué)院校臨床教學(xué)基地水平評估指標(biāo)體系與標(biāo)準(zhǔn)(修訂)
- 空白貨品簽收單
- 青海省全省市縣鄉(xiāng)鎮(zhèn)衛(wèi)生院街道社區(qū)衛(wèi)生服務(wù)中心基本公共衛(wèi)生服務(wù)醫(yī)療機(jī)構(gòu)信息名單目錄450家
- 網(wǎng)絡(luò)暴力的法律規(guī)制開題報告
- 水泥混凝土路面施工方案85171
- 泰康人壽養(yǎng)老社區(qū)介紹課件
- T∕CSTM 00584-2022 建筑用晶體硅光伏屋面瓦
- 環(huán)境保護(hù)知識培訓(xùn)
- 《民航服務(wù)禮儀》項目五 地面服務(wù)禮儀
- 最新干部(職工)基本信息審核表格式
評論
0/150
提交評論