• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Pro/Toolkit的Pro/E工程圖標(biāo)注系統(tǒng)的二次開(kāi)發(fā)研究

      2016-11-03 08:19:34王思遠(yuǎn)賀成柱
      甘肅科技 2016年12期
      關(guān)鍵詞:形位工程圖二次開(kāi)發(fā)

      王思遠(yuǎn),賀成柱

      (甘肅省機(jī)械科學(xué)研究院,甘肅省機(jī)械產(chǎn)品檢測(cè)與技術(shù)評(píng)價(jià)重點(diǎn)實(shí)驗(yàn)室,甘肅 蘭州 730030)

      基于Pro/Toolkit的Pro/E工程圖標(biāo)注系統(tǒng)的二次開(kāi)發(fā)研究

      王思遠(yuǎn),賀成柱

      (甘肅省機(jī)械科學(xué)研究院,甘肅省機(jī)械產(chǎn)品檢測(cè)與技術(shù)評(píng)價(jià)重點(diǎn)實(shí)驗(yàn)室,甘肅蘭州730030)

      針對(duì)Pro/E系統(tǒng)中工程圖標(biāo)注的繁瑣難題,利用VC++技術(shù)和Pro/E二次開(kāi)發(fā)工具包Pro/Toolkit,通過(guò)動(dòng)態(tài)鏈接庫(kù)方式對(duì)Pro/E中工程圖的公差標(biāo)注系統(tǒng)進(jìn)行二次開(kāi)發(fā),并對(duì)菜單開(kāi)發(fā)和MFC可視化對(duì)話框開(kāi)發(fā)設(shè)計(jì)的關(guān)鍵技術(shù)進(jìn)行了研究,實(shí)現(xiàn)了形位公差、尺寸公差標(biāo)注符號(hào)類(lèi)型和各參數(shù)的選擇與輸入,有助于用戶在使用過(guò)程中能迅速、快捷、準(zhǔn)確的完成工程圖的標(biāo)注。

      Pro/E;Pro/Toolkit;公差標(biāo)注;二次開(kāi)發(fā);VC++

      Pro/ENGINEER(以下簡(jiǎn)稱Pro/E)軟件是由美國(guó)PTC公司開(kāi)發(fā)并研制的一款三維設(shè)計(jì)軟件,它將CAD/CAPP/CAM功能集于一體化,不僅具有“參數(shù)化、相關(guān)化”的特點(diǎn),而且具有更加細(xì)致而強(qiáng)大的設(shè)計(jì)、分析、制造等功能,可以為工業(yè)產(chǎn)品的開(kāi)發(fā)設(shè)計(jì)提供了一套完整的解決方案,因此,應(yīng)用范圍涉及到航空、機(jī)械設(shè)計(jì)、數(shù)控加工、有限元分析等諸多領(lǐng)域,當(dāng)前Pro/E在我國(guó)的應(yīng)用比較比較廣泛。

      一般產(chǎn)品的三維設(shè)計(jì)軟件應(yīng)具備快速反求的設(shè)計(jì)開(kāi)發(fā)功能,系統(tǒng)的界面設(shè)計(jì)要更專(zhuān)業(yè)化、智能化、人性化,各個(gè)模塊之間要無(wú)縫連接,以快速設(shè)計(jì)為最終開(kāi)發(fā)的目標(biāo)。在國(guó)內(nèi)各大企業(yè)實(shí)際生產(chǎn)當(dāng)中,二維工程圖紙從產(chǎn)品的研發(fā)到裝配過(guò)程中占據(jù)了重要的地位,它是產(chǎn)品設(shè)計(jì)與制造的技術(shù)核心,必須具備行業(yè)規(guī)范性和標(biāo)準(zhǔn)性,特別是工程圖的二維標(biāo)注標(biāo)注符號(hào)、標(biāo)題欄及其他標(biāo)注信息等[1]。二維工程圖在Pro/E環(huán)境下,其標(biāo)注功能較為薄弱,并且有些標(biāo)注方法與國(guó)際標(biāo)準(zhǔn)不相符。所以更多的企業(yè)提出了二次開(kāi)發(fā)的需求,通過(guò)對(duì)Pro/E二次開(kāi)發(fā),不僅使軟件具備了更高的實(shí)用性,而且能夠提高產(chǎn)品的開(kāi)發(fā)效率,這樣以來(lái)大大縮短了產(chǎn)品的設(shè)計(jì)周期。這將使得企業(yè)和用戶擺脫了二維工程圖圖紙上的重復(fù)繁瑣的標(biāo)注,在一定程度上提高了對(duì)工程圖二維標(biāo)注的處理能力。

      本文針對(duì)形位公差國(guó)際化標(biāo)注進(jìn)行了一些研究,在Pro/E Wildfire 5.0的環(huán)境下,主要使用Pro/ Toolkit工具包。在VC++平臺(tái)上利用MFC對(duì)話框的可視化技術(shù)開(kāi)發(fā)了符合國(guó)際標(biāo)準(zhǔn)的形位公差符號(hào)標(biāo)注功能,有效地解決了工程圖中形位公差符號(hào)標(biāo)注上的繁瑣難題。

      1 Pro/Toolkit開(kāi)發(fā)的基本方法

      Pro/E自帶的二次開(kāi)發(fā)工具包包括Pro/Toolkit、J-link等。用戶可以通過(guò)Pro/Toolkit工具包獲得大量的C語(yǔ)言函數(shù)庫(kù)。如果用戶想要方便地訪問(wèn)Pro/ E的內(nèi)部數(shù)據(jù)庫(kù)及應(yīng)用程序,可以通過(guò)調(diào)用最底層函數(shù)的方式來(lái)實(shí)現(xiàn),企業(yè)或用戶可以根據(jù)自己的需求進(jìn)行二次開(kāi)發(fā),通過(guò)C程序代碼來(lái)擴(kuò)充Pro/E的其它所需要的功能。

      Pro/Toolkit應(yīng)用程序有兩種工作模式:異步和同步模式。

      1)異步模式:Pro/Toolkit應(yīng)用程序可以在Pro/E系統(tǒng)關(guān)閉的狀態(tài)下單獨(dú)運(yùn)行,這樣就實(shí)現(xiàn)了兩個(gè)程序的獨(dú)立運(yùn)行,Pro/E系統(tǒng)在需要調(diào)用Pro/E功能的時(shí)候再啟動(dòng)運(yùn)行。異步模式的程序代碼復(fù)雜并且運(yùn)行速度比較慢,因此一般不采用異步模式。

      2)同步模式:Pro/Toolkit應(yīng)用程序與Pro/E系統(tǒng)必須同步運(yùn)行,Pro/Toolkit應(yīng)用程序在Pro/E系統(tǒng)關(guān)閉的狀態(tài)下是無(wú)法運(yùn)行的。同步模式又分為DLL模式和多進(jìn)程模式,Pro/Toolkit應(yīng)用程序集成到Pro/E系統(tǒng)中的標(biāo)準(zhǔn)方法就是DLL模式??紤]到Pro/ Toolkit應(yīng)用程序的運(yùn)行都在Pro/E系統(tǒng)里,所以一般采用同步模式。

      Pro/Toolkit開(kāi)發(fā)應(yīng)用程序在使用過(guò)程中包括3個(gè)基本步驟:

      1.1編寫(xiě)源文件

      Pro/Toolkit應(yīng)用程序整體上有3部分組成:頭文件包含部分、用戶初始化函數(shù)和用戶結(jié)束中斷函數(shù)部分。

      頭文件包含部分是指定應(yīng)用程序所使用對(duì)象函數(shù)的原型文件,每個(gè)應(yīng)用程序都必須包含的頭文件是“Pro/Toolkit.h”否則在編譯該文件時(shí)就會(huì)出現(xiàn)錯(cuò)誤。

      源文件包括:對(duì)話框源文件、菜單資源文件及程序源文件,其中程序源文件是要進(jìn)行編寫(xiě)的C語(yǔ)言程序,它包括定義的菜單內(nèi)容及動(dòng)作,是整個(gè)二次開(kāi)發(fā)的核心部分。

      在同步模式下,Pro/Toolkit應(yīng)用程序中必須包含這兩個(gè)核心函數(shù):初始化函數(shù)user_initializ(),該函數(shù)主要是用戶用來(lái)設(shè)置需要添加的菜單,以及其他的一些初始值設(shè)置或直接調(diào)用所需的函數(shù)等;終止函數(shù)user_terminate(),該函數(shù)主要用來(lái)執(zhí)行程序結(jié)束時(shí)的處理工作,如釋放程序中全局變量的內(nèi)存等。這兩個(gè)函數(shù)都應(yīng)該放在與工程文件名同名的cpp文件中。

      1.2編譯鏈接程序

      程序代碼編寫(xiě)完成后,就可以在VC++中編譯鏈接Pro/Toolkit函數(shù)庫(kù)和MFC(Microsoft

      Foundation Classes)類(lèi)庫(kù)的程序,最終可生成在Pro/E中注冊(cè)運(yùn)行的DLL文件。Makefile文件在整個(gè)編譯連接的過(guò)程中起著很重要的作用,其中包括:指定頭文件、源文件、庫(kù)文件的位置;生成可執(zhí)行文件和動(dòng)態(tài)連接庫(kù)名稱等。一般Makefile文件在用戶開(kāi)發(fā)一個(gè)VC項(xiàng)目時(shí),就會(huì)在VC中自動(dòng)生成并集成到VC環(huán)境中。因此,用戶可以不用編寫(xiě)Makefile文件。

      1.3注冊(cè)運(yùn)行Pro/Toolkit應(yīng)用程序

      編寫(xiě)一個(gè)文本文件的擴(kuò)展名為.dat的文件作為注冊(cè)文件,注冊(cè)文件是向Pro/E提供應(yīng)用程序的信息。Pro/Toolkit應(yīng)用程序有兩種注冊(cè)方式:

      1)自動(dòng)注冊(cè)的方式:第一種方式是將注冊(cè)文件protk.dat保存在Pro/E安裝目錄的 ext目錄,或者位于Pro/E起始位置設(shè)定的目錄下,在運(yùn)行Pro/E時(shí),Pro/E將自動(dòng)啟動(dòng)注冊(cè)文件里的所有Pro/Toolkit應(yīng)用程序。如果在注冊(cè)文件設(shè)置DELAY_START的值為T(mén)RUE時(shí),在啟動(dòng)Pro/E時(shí)Pro/Toolkit應(yīng)用程序?qū)⒆詣?dòng)運(yùn)行,否則必須用手動(dòng)來(lái)運(yùn)行。第二種方式是在Pro/E的config.pro文件設(shè)定為注冊(cè)文件但是系統(tǒng)的變量名必須為toolkit_registry_file。

      2)手動(dòng)注冊(cè)方式:在Pro/E運(yùn)行的界面上單擊“工具”主菜單下的“輔助應(yīng)用程序”子菜單,然后在彈出的對(duì)話框中選“注冊(cè)”按鈕,按路徑選擇所建立的protk.dat文件,注冊(cè)成功后選擇“啟動(dòng)”按鈕運(yùn)行程序。

      注冊(cè)文件編寫(xiě)格式如下:

      2 Pro/Toolkit二次開(kāi)發(fā)的關(guān)鍵性技術(shù)問(wèn)題

      2.1標(biāo)注系統(tǒng)的二次開(kāi)發(fā)流程

      通過(guò)二次開(kāi)發(fā),Pro/E中形位公差標(biāo)注的繁瑣與不足得到了很好的改善,以交互的方式實(shí)現(xiàn)了直觀友好的對(duì)話,從而達(dá)到快捷,準(zhǔn)確的標(biāo)注目標(biāo)。形位公差國(guó)際標(biāo)注系統(tǒng)的開(kāi)發(fā)流程如圖1所示。

      圖1 開(kāi)發(fā)流程圖

      2.2菜單的編寫(xiě)技術(shù)

      在Pro/E中,幾乎所有的操作命令都是通過(guò)菜單或按鈕來(lái)實(shí)現(xiàn)相應(yīng)的操作,在Pro/E二次開(kāi)發(fā)中,用戶可以通過(guò)Pro/Toolkit,利用其提供的函數(shù)自定義拓展以及使用緊密結(jié)合的且操作起來(lái)方便的個(gè)性化菜單。一個(gè)完整的菜單編寫(xiě)代碼里應(yīng)包含兩個(gè)

      Pro/Toolkit函數(shù):ProCmdActionAdd()和

      ProMenubarmenuPushbuttonAdd()函數(shù)。

      以下是本程序的菜單添加的相應(yīng)函數(shù)設(shè)置∶

      1)status=ProMenubarMenuAdd("CHECK"," CHECK","Utilities",PRO_B_TRUE,MsgFile);

      此函數(shù)的功能是:在Pro/E界面上添加一個(gè)新的菜單。

      2)ProCmdActionAdd("ShowTest1",(uiCmdCmdActFn)

      UsrPlanesTol,uiCmdPrioDefault,AccessDefault,PRO_B_TRUE,PRO_B_TRUE,&cmd_id1);

      此函數(shù)的功能是:設(shè)置Pro/E菜單項(xiàng)時(shí)所需要執(zhí)行的動(dòng)作函數(shù),這個(gè)函數(shù)命令和按鈕捆綁在一起。參數(shù)ShowTest1是動(dòng)作命令名,但是動(dòng)作命令名必須是唯一的;參數(shù)uiCmdPrioDefault是命令的優(yōu)先級(jí)別,指該動(dòng)作函數(shù)優(yōu)先于向Pro/E里加的其它動(dòng)作函數(shù)的等級(jí);參數(shù)&cmd_id1是動(dòng)作函數(shù)的命令標(biāo)示號(hào),在調(diào)用動(dòng)作ProMenubarmenuPushbuttonAdd函數(shù)時(shí)作為作為輸入?yún)?shù)。

      3)ProMenubarmenuPushbuttonAdd("CHECK"," UsrPlanesTol","UsrPlanesTol","Active UsrPlanesTol menu",NULL,PRO_B_TRUE,cmd_id1,ProString-ToWstring(message_file,"message2.txt"))。

      此函數(shù)的功能是:用來(lái)添加所需要的菜單按鈕。參數(shù)UsrPlanesTol是菜單標(biāo)簽名,該值必須與信息文件中同組的標(biāo)示關(guān)鍵字相同。

      本文設(shè)計(jì)的菜單如圖2所示:

      圖2 所添加的菜單

      2.3MFC可視化對(duì)話框的創(chuàng)建技術(shù)

      目前,人機(jī)交互界面最流行的一種方式為彈出式對(duì)話框,用戶通過(guò)對(duì)話框?qū)?shù)信息進(jìn)行輸入或顯示數(shù)據(jù),本文采用VisualC++的MFC可視化對(duì)話框技術(shù)來(lái)實(shí)現(xiàn)。MFC設(shè)計(jì)對(duì)話框技術(shù)通過(guò)面向?qū)ο蟮姆椒▉?lái)調(diào)用API,并且提供了文檔框架的視圖和活動(dòng)文檔,這是優(yōu)于UI對(duì)話框技術(shù)的一個(gè)關(guān)鍵作用,這樣使用戶可以根據(jù)自己的需求自定義應(yīng)用程序框架,使得操作起來(lái)比較靈活、高效、修改和調(diào)試也簡(jiǎn)單。

      對(duì)話框有兩種類(lèi)型:模式和無(wú)模式對(duì)話框,前者是激活當(dāng)前對(duì)話框的條件下不能激活另外的對(duì)話框,只有關(guān)閉該對(duì)話框才能對(duì)其他對(duì)話框進(jìn)行操作。后者恰恰相反,它是激活一個(gè)對(duì)話框的同時(shí)還可以激活另外的對(duì)話框,可以不關(guān)閉前一個(gè)對(duì)話框,但是前一個(gè)對(duì)話框處于非活動(dòng)狀態(tài),這種模式的對(duì)話框使得操作起來(lái)沒(méi)有更多的限制。

      在Pro/E系統(tǒng)中調(diào)用MFC可視化對(duì)話框的關(guān)鍵問(wèn)題就是要實(shí)現(xiàn) Pro/TOOLKIT、Pro/E系統(tǒng)和MFC對(duì)話框三者之間的通信。因?yàn)镻ro/TOOLKIT本??身并不支持對(duì)MFC可視化對(duì)話框開(kāi)發(fā)設(shè)計(jì),本文采用動(dòng)態(tài)鏈接庫(kù) (DLL)方式來(lái)實(shí)現(xiàn) Pro/T??OOLKIT與MFC之間的通信,同樣??DLL方式也可以在Pro/E與Pro/TOOLKIT??之間相互通信。DLL的產(chǎn)生則由MFC根據(jù)Pro/TOOLKIT的環(huán)境要求設(shè)置后進(jìn)行編程實(shí)現(xiàn),應(yīng)用程序功能就完全集成到DLL中,其中接口方案如下圖3所示。

      圖3 二次開(kāi)發(fā)接口的實(shí)現(xiàn)方案

      本文按如下步驟,實(shí)現(xiàn)MFC對(duì)話框的開(kāi)發(fā)設(shè)計(jì)[3]:

      1)新建一個(gè)MFC DLL的項(xiàng)目。用AppWizard創(chuàng)Pro/T OOLKIT應(yīng)用程序框架,在該項(xiàng)目文件里設(shè)置好頭文件、庫(kù)文件和項(xiàng)目的其它屬性。

      2)在該項(xiàng)目.cpp文件里內(nèi)添加常用的頭文件、初始化函數(shù)和終止函數(shù),如果對(duì)話框需要Pro/E菜單項(xiàng)啟動(dòng)的話,就要在user_initializ()里添加菜單按鈕函數(shù)和動(dòng)作函數(shù)設(shè)置。

      3)創(chuàng)建對(duì)話框資源。在VC++的集成環(huán)境里調(diào)整并設(shè)置對(duì)話框的布局等屬性,如調(diào)整對(duì)話框大小、添加文本空間、選擇控件等。

      4)創(chuàng)建對(duì)話框類(lèi)。對(duì)話框界面設(shè)計(jì)好之后就可以用ClassWizard創(chuàng)建一個(gè)對(duì)話框類(lèi)。自動(dòng)生成CDialog派生類(lèi)定義的頭文件Dlg.h和實(shí)現(xiàn)文件Dlg. cpp。

      5)創(chuàng)建和顯示對(duì)話框。設(shè)置好類(lèi)的成員變量函數(shù)之后,就可以編寫(xiě)并實(shí)現(xiàn)每個(gè)函數(shù)功能的代碼。

      6)生成Pro/T OOLKIT應(yīng)用程序。

      下面給出了無(wú)模式對(duì)話框圖4的部分編寫(xiě)代碼:

      圖4 形位公差對(duì)話框

      2.4外部數(shù)據(jù)庫(kù)的訪問(wèn)

      通常在Pro/E二次開(kāi)發(fā)過(guò)程中,還需要與外界的數(shù)據(jù)庫(kù)相連接,來(lái)實(shí)現(xiàn)相應(yīng)的查詢功能,由于Microsoft Access數(shù)據(jù)庫(kù)具有使用性強(qiáng)、兼容性和通用性好等優(yōu)點(diǎn),因此采用Access數(shù)據(jù)庫(kù)來(lái)創(chuàng)建公差數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)與Pro/TOOLKIT應(yīng)用程序之間的連接采用ADO(ActiveX Date Objects)方式。

      ADO是一個(gè)面向?qū)ο蟮某绦蚪涌?,也是存取?shù)據(jù)源的COM組件的一部分,它提供了編程語(yǔ)言和數(shù)據(jù)訪問(wèn)方式OLE DB,不過(guò)OLE DB更加接近底層。ADO繼承了早期微軟的數(shù)據(jù)訪問(wèn)的對(duì)象層,包括RDO(Remote Data Objects)和DAO(Data Access Objects)。ADO庫(kù)包含三個(gè)基本接口對(duì)象∶_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。本文采用的是_ConnectionPtr接口對(duì)象進(jìn)行數(shù)據(jù)庫(kù)之間的連接,用該對(duì)象進(jìn)行對(duì)數(shù)據(jù)庫(kù)的關(guān)閉打開(kāi)和創(chuàng)建數(shù)據(jù)集的動(dòng)作等。在使用之前,把“stdafx. h”文件加到下面的代碼中:#import“c;program filescommon filessystemadomsado15.dll”re name_

      namespace(“myado”)rename(“EOF”,”adoEOF”)主要是添加ADO系統(tǒng)所使用的相關(guān)組件及操作空間。

      下面給出了部分連接實(shí)例程序代碼如下:

      3 開(kāi)發(fā)實(shí)例及程序

      形位公差的標(biāo)注采用彈出式對(duì)話框的形式,用戶可以選擇相應(yīng)的形位公差進(jìn)行標(biāo)注。部分標(biāo)注的

      所建立的對(duì)話框以及標(biāo)注的結(jié)果如圖5所示。

      圖5 工程圖標(biāo)注示例圖

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

      本文闡述了運(yùn)用Pro/TOOLKIT結(jié)合VC++的 MFC的可視化優(yōu)點(diǎn)實(shí)現(xiàn)了 Pro/E系統(tǒng)的二次開(kāi)發(fā)——工程圖的國(guó)際化標(biāo)注。這是一款簡(jiǎn)單易用且符合國(guó)際的通用化標(biāo)準(zhǔn)插件的開(kāi)發(fā),最大限度地提高了Pro/E軟件的使用效率,縮短了產(chǎn)品的開(kāi)發(fā)周期,促進(jìn)了CAD技術(shù)的發(fā)展。

      [1]路強(qiáng),費(fèi)明浩,賈騰,等.基于Pro/TOOLKIT二次開(kāi)發(fā)的二維工程圖標(biāo)注系統(tǒng)[J].拖拉機(jī)與農(nóng)用運(yùn)輸車(chē),2008,35(6)∶101-103.

      [2]王文波.Pro/EWildfire4.0二次開(kāi)發(fā)實(shí)例解析[M].北京∶清華大學(xué)出版社,2010.

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

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

      [5]宋娥,李世國(guó).Pro/E二次開(kāi)發(fā)中的界面設(shè)計(jì)技術(shù)[J].機(jī)械設(shè)計(jì)與制造,2005.(5)∶56-58.

      [6]衛(wèi)大為,李健康.Pro/E二次開(kāi)發(fā)的機(jī)械零件參數(shù)化設(shè)計(jì)[J].機(jī)械制造與研究,2004.33(6)21-24.

      TH391.7;TP391.9

      猜你喜歡
      形位工程圖二次開(kāi)發(fā)
      “3+4”人才培養(yǎng)模式下本科階段“工程圖學(xué)”課程的優(yōu)化設(shè)計(jì)
      面向工程認(rèn)證的機(jī)制專(zhuān)業(yè)工程圖學(xué)(一)課程教學(xué)探索
      淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
      甘肅科技(2020年20期)2020-04-13 00:30:02
      淺談Mastercam后處理器的二次開(kāi)發(fā)
      模具制造(2019年3期)2019-06-06 02:11:02
      綜論漢字的形位
      復(fù)合式測(cè)量技術(shù)在航天產(chǎn)品形位尺寸檢測(cè)中的應(yīng)用
      分析三維CAD建模技術(shù)在工程圖學(xué)中的應(yīng)用
      西門(mén)子Easy Screen對(duì)倒棱機(jī)床界面二次開(kāi)發(fā)
      直線度誤差曲線形成機(jī)理與形位特性研究
      項(xiàng)目式教學(xué)在工程圖學(xué)課程中的探索與實(shí)踐
      改则县| 中山市| 治县。| 葫芦岛市| 东乌珠穆沁旗| 中方县| 敖汉旗| 泗水县| 湟中县| 古浪县| 尼勒克县| 武清区| 翁牛特旗| 南陵县| 八宿县| 措勤县| 珠海市| 庆阳市| 高陵县| 万安县| 瑞昌市| 新巴尔虎右旗| 宁陕县| 天柱县| 治县。| 崇信县| 江安县| 惠安县| 五台县| 昌江| 恩施市| 滨州市| 扶余县| 共和县| 舞钢市| 宁波市| 南郑县| 清流县| 建始县| 雅江县| 石家庄市|