




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
歡迎閱讀本文檔,希望本文檔能對(duì)您有所幫助!歡迎閱讀本文檔,希望本文檔能對(duì)您有所幫助!歡迎閱讀本文檔,希望本文檔能對(duì)您有所幫助!歡迎閱讀本文檔,希望本文檔能對(duì)您有所幫助!歡迎閱讀本文檔,希望本文檔能對(duì)您有所幫助!歡迎閱讀本文檔,希望本文檔能對(duì)您有所幫助!第一章緒論 11.1三維CAD技術(shù) 11.1.1CAD技術(shù)的發(fā)展 11.2課題背景及意義 21.3應(yīng)用程序的開發(fā)工具 31.4課題的主要研究?jī)?nèi)容 3第二章Pro/TOOLKIT二次開發(fā)的基礎(chǔ)理論 32.1Pro/TOOLKIT的基本知識(shí) 32.1.1Pro/TOOLKIT簡(jiǎn)介 32.1.2Pro/TOOLKIT的工作模式 42.1.3Pro/TOOLKIT對(duì)象和動(dòng)作 42.1.4對(duì)象句柄 42.1.5Pro/TOOLKIT函數(shù)返回值 52.2創(chuàng)建Pro/TOOLKIT應(yīng)用程序的基本方法 52.3Pro/TOOLKIT信息文件的建立 62.4編譯和連接設(shè)置 72.5編制注冊(cè)文件及應(yīng)用程序的運(yùn)行 72.5.1編制注冊(cè)文件 72.5.2應(yīng)用程序的運(yùn)行 7第三章用戶界面設(shè)計(jì) 83.1菜單的設(shè)計(jì) 83.1.1向菜單欄添加菜單條 83.1.2向菜單條下添加下級(jí)子菜單 83.1.3端蓋菜單設(shè)計(jì) 83.2對(duì)話框的設(shè)計(jì) 123.2.1MFC對(duì)話框 123.2.2UI對(duì)話框 123.3端蓋對(duì)話框設(shè)計(jì) 143.3.1構(gòu)想 143.3.2創(chuàng)建方法 14第四章端蓋的開發(fā) 244.1總體方案 244.2基于三維模型的參數(shù)化程序設(shè)計(jì)分析 254.2.1端蓋三維模型的建立 254.2.2端蓋參數(shù)化程序設(shè)計(jì) 304.3注冊(cè)并運(yùn)行程序 364.4操作流程 36第五章零件圖形清單 37結(jié)束語(yǔ) 41參考文獻(xiàn) 42附錄I程序清單 43附錄Ⅱ外文文獻(xiàn)翻譯 44附錄Ⅲ外文文獻(xiàn)原文 51基于Pro/E二次開發(fā)的九孔柱塞泵缸體參數(shù)化模型的實(shí)現(xiàn)摘要:CAD技術(shù)在機(jī)械設(shè)計(jì)中發(fā)揮著越來(lái)越突出的作用。而三維實(shí)體模型比二維圖形能更直觀、更全面地反映設(shè)計(jì)意圖,并且在三維模型的基礎(chǔ)上可以進(jìn)行零件裝配、干涉檢查、有限元分析、運(yùn)動(dòng)分析等高級(jí)的計(jì)算機(jī)輔設(shè)計(jì)工作,因此目前機(jī)械設(shè)計(jì)中廣泛采用三維設(shè)計(jì)。而目前我國(guó)Pro/E應(yīng)用日益普及,而二次開發(fā)嚴(yán)重滯后。所以,進(jìn)行二次開發(fā)是非常必要的。論文介紹了其二次開發(fā)工具Pro/TOOLKIT,并以九孔柱塞泵缸體為例,詳細(xì)的論述了應(yīng)用Pro/Toolkit進(jìn)行菜單開發(fā)、對(duì)話框開發(fā),即UI對(duì)話框,以及如何在VC++環(huán)境下編制C語(yǔ)言程序以激活、調(diào)用對(duì)話框界面,設(shè)計(jì)出更加友好透明的用戶界面,方便快捷地實(shí)現(xiàn)缸體的參數(shù)化設(shè)計(jì)和修改,準(zhǔn)確再生出新的實(shí)體模型。關(guān)鍵詞:Pro/ENGINEER、VisualC++、Pro/TOOLKIT、二次開發(fā)、九孔柱塞泵缸體缸體TheRealizationofNinecylinderpistonpumpssteepParametricPartsBasedontheRedevelopmentofPro/EAbstract:CADtechnologyismademoreandmoreuseinmechanicaldesign.Designideacanbeexpressedmorevisualizedandmorecomprehensiveinthree-dimensionalfull-scalemock-upthanintwo-dimensionaldrawing,andbasedonthreedimensionalfull—scalemockup,manyotheradvancedCADsuchascomponentassembly,interferencecheck,finiteelementanalysis,motionanalysisandsooncanbeproceed.Hence,three—dimensionaldesigniswidelyusedinmechanicaldesign.However,atthepresenttheapplicationdevelopmentseverelylagsbehindtheincreasingpopularizationofthePro/Eapplicationinourcountry.So,itisverynecessarytodevelopthePro/Eapplication.ThispaperintroducesthecustomizationtoolPro/TOOLKIT,andtakingcoverflangeforexample,ThisarticleprovidesanexampletointroducethetechniquehowtodesignUIDialogBoxesBywayofPro/E'ssecondarydevelopmenttoolPro/TOOLKITaswellascompilecprogramstoactivateandpickupUIdialogboxesinVisualC++.TakingPro/Toolkitasdevelopmenttool,afriendlydesigninterfaceofCoverisestablished.Thispaperinvestigatesthemethodofestablishingparametric3Dmodelandprogrammingbasedon3DmodelinPro/E,auto-modelingof3DpartsisrealizedusingPro/Toolkit.Keywords:Pro/ENGINEER、VisualC++、Pro/TOOLKIT、secondaryNinecylinderpistonpumpssteep第一章緒論1.1三維CAD技術(shù)設(shè)計(jì)和生產(chǎn)的方法隨著計(jì)算機(jī)的迅速發(fā)展每天都在發(fā)生著顯著的變化。以前許多只能靠手工完成的作業(yè),逐漸通過計(jì)算機(jī)實(shí)現(xiàn)了高效化和高精度化。這種利用計(jì)算機(jī)來(lái)達(dá)到高效化、高精度化,實(shí)現(xiàn)自動(dòng)化設(shè)計(jì)、生產(chǎn)以及解析計(jì)算的方法稱為CAD(ComputerAidedDesign,計(jì)算機(jī)輔助設(shè)計(jì))。CAD是指利用計(jì)算機(jī)的硬件和軟件進(jìn)行的設(shè)計(jì)活動(dòng),它從根本上改變了過去的手工繪圖、發(fā)圖、憑圖紙組織整個(gè)生產(chǎn)過程的技術(shù)管理方式,使之變?yōu)橐越y(tǒng)一的產(chǎn)品數(shù)據(jù)庫(kù)為核心的交互式產(chǎn)品設(shè)計(jì)、分析、制造和維護(hù)的過程。它的迅速發(fā)展和廣泛應(yīng)用,給工程設(shè)計(jì)制造業(yè)帶來(lái)了蓬勃生機(jī),使傳統(tǒng)的產(chǎn)品設(shè)計(jì)方法與生產(chǎn)組織模式發(fā)生了深刻的變革。1.1.1CAD技術(shù)的發(fā)展CAD技術(shù)起步于50年代后期,自從計(jì)算機(jī)出現(xiàn)之后人們就不斷地將計(jì)算機(jī)技術(shù)引入機(jī)械設(shè)計(jì)、制造領(lǐng)域。因?yàn)樗槕?yīng)生產(chǎn)力的發(fā)展,在其產(chǎn)生之后就得到了迅速地發(fā)展。CAD技術(shù)經(jīng)歷了四次飛躍:曲面造型系統(tǒng)、實(shí)體造型技術(shù)、參數(shù)化技術(shù)、變量化技術(shù)。(1)曲面造型系統(tǒng)70年代是飛機(jī)和汽車工業(yè)的蓬勃發(fā)展時(shí)期。期間飛機(jī)及汽車的制造中遇到了大量的自由曲面問題,此時(shí)法國(guó)人提出了貝賽爾算法,法國(guó)的達(dá)索飛機(jī)制造公司的開發(fā)者們借此算法在二維繪圖系統(tǒng)的基礎(chǔ)上,開發(fā)出以表面模型為特點(diǎn)的自由曲面建模方法,推出了三維曲面造型系統(tǒng)CATIA。(2)實(shí)體造型技術(shù)表面模型基本上解決CAM的問題,但是由于表面模型技術(shù)只能表達(dá)形體的表面信息,很難準(zhǔn)確地表達(dá)如質(zhì)量、重心、慣性矩等零件的其他特性。基于對(duì)CAD一體化技術(shù)發(fā)展的探索,SDRC公司于1979年發(fā)布了世界上第一個(gè)完全基于實(shí)體造型技術(shù)的大型CAD軟件-I-DEAS。實(shí)體造型技術(shù)能夠精確表達(dá)零件的全部屬性,給設(shè)計(jì)帶來(lái)了很大的方便。(3)參數(shù)化技術(shù)正當(dāng)實(shí)體造型技術(shù)在CAD系統(tǒng)中廣泛運(yùn)用時(shí),出現(xiàn)了一種比無(wú)約束自由造型更好的算法-參數(shù)化實(shí)體造型方法。它主要的特點(diǎn)是:基于特征、全尺寸約束、全數(shù)據(jù)相關(guān)、尺寸驅(qū)動(dòng)設(shè)計(jì)修改。參數(shù)化技術(shù)徹底克服了自由緘默的無(wú)約束狀態(tài),由尺寸決定實(shí)體造型的幾何形狀。尺寸驅(qū)動(dòng)已經(jīng)成為當(dāng)今造型系統(tǒng)的基本功能。如果想修改零件形狀的話,只需修改一下尺寸的數(shù)值就可以實(shí)現(xiàn)形狀上的改變。這種新構(gòu)想最先在PTC公司(ParametricTechnologyCorp)的軟件PRO/ENGINEER中成為現(xiàn)實(shí)。由于參數(shù)化技術(shù)的成功應(yīng)用,使得它很快成為CAD業(yè)界的標(biāo)準(zhǔn),許多軟件廠商紛紛追趕。(4)變量化技術(shù)變量化造型技術(shù)保留了參數(shù)化技術(shù)基于特征、全數(shù)據(jù)相關(guān)、尺寸驅(qū)動(dòng)設(shè)計(jì)修改的優(yōu)點(diǎn),但是在約束定義方面做了一定的改變。變量化造型技術(shù)將所需定義的尺寸“參數(shù)”進(jìn)一步區(qū)分為形狀約束和尺寸約束,而不僅僅是用尺寸來(lái)約束全部幾何。通常在新產(chǎn)品開發(fā)的概念設(shè)計(jì)階段,設(shè)計(jì)者首先考慮的是設(shè)計(jì)思想及概念,并將其體現(xiàn)在某些幾何形狀之中。但是這些幾何形狀的嚴(yán)格的尺寸定位關(guān)系并不能在設(shè)計(jì)的初始階段完全確定,所以希望在初始階段能夠允許欠尺寸約束的存在。事實(shí)上,參數(shù)化技術(shù)和變量化技術(shù)已經(jīng)成為了當(dāng)今主流CAD軟件的兩大流派。兩種造型理論相互依存,共同發(fā)展。我國(guó)CAD技術(shù)的引進(jìn)是從60年代開始的,最早起步于航空工業(yè),最近幾年發(fā)展很快,現(xiàn)已在機(jī)械、電子、建筑、汽車、服裝等行業(yè)逐步進(jìn)入實(shí)用階段。1.2課題背景及意義Pro/ENGINEER是美國(guó)PTC(ParametricTechnologyCorporation)公司于1988年開發(fā)的參數(shù)化設(shè)計(jì)系統(tǒng),是一套由設(shè)計(jì)至生產(chǎn)的機(jī)械自動(dòng)化軟件。參數(shù)化設(shè)計(jì)就是將零件尺寸的設(shè)計(jì)用參數(shù)來(lái)描述,并在設(shè)計(jì)修改時(shí)通過修改參數(shù)的數(shù)值來(lái)更改零件的外形。Pro/ENGINEER與傳統(tǒng)的CAD系統(tǒng)僅提供繪圖工具有著極大的不同,它提供了一套完整的機(jī)械產(chǎn)品解決方案,包括機(jī)械設(shè)計(jì)、板金設(shè)計(jì)、加工制造、機(jī)構(gòu)分析、有限元分析等,它使產(chǎn)品的設(shè)計(jì)效率大大提高,使產(chǎn)品在設(shè)計(jì)初期具有更多的靈活性,保證在日后根據(jù)系統(tǒng)要求進(jìn)行相應(yīng)的更改和計(jì)算;另外在產(chǎn)品的設(shè)計(jì)方案階段,可以形象的表現(xiàn)系統(tǒng)的組成特點(diǎn),而在產(chǎn)品的生產(chǎn)階段可以方便與加工中心數(shù)據(jù)連接。Pro/ENGINEER的特性如下:3D實(shí)體模型,單一數(shù)據(jù)庫(kù),以特征作為設(shè)計(jì)的單位,參數(shù)式設(shè)計(jì),數(shù)據(jù)管理(DataManagement),裝配管理(AssembleManagement),工程數(shù)據(jù)庫(kù)再利用(EngineeringDataReuse),易用性(EaseofUse),硬件獨(dú)立性(HardwareIndependence)。由于Pro/ENGINEER的功能強(qiáng)大并且通用性非常強(qiáng),然而,由于Pro/ENGINEER軟件的通用性,使得該軟件在進(jìn)行具體的產(chǎn)品設(shè)計(jì)時(shí)感到不方便。對(duì)系列化產(chǎn)品,可以通過抽取關(guān)鍵的參數(shù)值,再依設(shè)計(jì)規(guī)范計(jì)算出各尺寸值并傳遞給下級(jí)零件和子裝配,自動(dòng)的將模型建造出來(lái)。為了使Pro/ENGINEER軟件能在特定的企業(yè)單位的特定產(chǎn)品設(shè)計(jì)中最大限度的發(fā)揮潛力,創(chuàng)造效益,需Pro/ENGINEER進(jìn)行二次開發(fā),換句話說,二次開發(fā)就是對(duì)Pro/ENGINEER進(jìn)一步的充實(shí)、完善?;谏鲜鲈颍肞ro/TOOLKIT工具箱及VC++開發(fā)操作簡(jiǎn)單的端蓋是很有必要。1.3應(yīng)用程序的開發(fā)工具系統(tǒng)程序模塊的設(shè)計(jì)選擇VisualC++6.0作為開發(fā)平臺(tái)。VisualC++6.0是運(yùn)行于Windows上的交互式可視化集成開發(fā)環(huán)境,是美國(guó)MicrosoftVisualStudio的一部分。像其它的可視化開發(fā)環(huán)境一樣,VisualC++6.0集程序的代碼編輯編譯連接調(diào)試于一體,給編程人員提供了一個(gè)完整而又方便的開發(fā)界面和許多有效的輔助開發(fā)工具。VC++6.0的應(yīng)用程序向?qū)ВˋppWizard)可以為很大一部分類型的程序提供框架代碼,用戶不需要書寫代碼,只需要幾個(gè)按鈕就可以生成一個(gè)完整的可以運(yùn)行的程序。在Pro/TOOLKIT中,PTC向用戶提供了大量的C語(yǔ)言函數(shù)庫(kù),函數(shù)采用面向?qū)ο蟮娘L(fēng)格。通過調(diào)用這些底層函數(shù),用戶能方便而又安全地訪問Pro/ENGINEER的數(shù)據(jù)庫(kù)及內(nèi)部應(yīng)用程序,進(jìn)行二次開發(fā),擴(kuò)展一些特定功能。1.4課題的主要研究?jī)?nèi)容本課題的主要研究?jī)?nèi)容是端蓋的開發(fā)設(shè)計(jì),當(dāng)用戶選擇不同的樣式后,應(yīng)用程序可以在基礎(chǔ)模型上自動(dòng)生成相應(yīng)的端蓋。具體工作包括:(1)Pro/TOOLKIT基本特點(diǎn)和基本數(shù)據(jù)結(jié)構(gòu)的研究。分析Pro/TOOLKIT內(nèi)部的基本數(shù)據(jù)結(jié)構(gòu)、功能函數(shù)及其使用方法;探討Pro/TOOLKIT中的一些基本的自定義對(duì)象。(2)用戶界面的設(shè)計(jì)。研究菜單信息文件,制作缸體的菜單界面;研究對(duì)話框資源文件,創(chuàng)建主對(duì)話框,并在主對(duì)話框中彈出一個(gè)自定義對(duì)話框;研究Pro/TOOLKIT與VisualC++6.0的接口技術(shù);在VC中制作Pro/TOOLKIT用戶界面。(3)參數(shù)化建模的研究。Pro/ENGINEER軟件對(duì)于每個(gè)模型都有一個(gè)主要設(shè)計(jì)步驟和參數(shù)列表,所以要先繪制三維模型,定出參數(shù)列表;設(shè)計(jì)端蓋程序,實(shí)現(xiàn)自動(dòng)加載菜單、選擇不同的端蓋、彈出對(duì)話框、修改端蓋模型參數(shù)值、生成零件等功能。第二章Pro/TOOLKIT二次開發(fā)的基礎(chǔ)理論2.1Pro/TOOLKIT的基本知識(shí)2.1.1Pro/TOOLKIT簡(jiǎn)介Pro/TOOLKIT是PTC公司為Pro/ENGINEER軟件提供的用戶化開發(fā)工具箱,該工具箱為用戶程序及第三方程序提供了與Pro/ENGINEER的無(wú)縫連接。用戶程序或第三方的程序是用C語(yǔ)言編寫的。Pro/TOOLKIT提供了一個(gè)C語(yǔ)言的函數(shù)庫(kù),該函數(shù)庫(kù)能夠使用戶或第三方的應(yīng)用程序以一種可控的、安全的方式訪問Pro/ENGINEER的數(shù)據(jù)庫(kù)和應(yīng)用程序。用戶或第三方通過C程序代碼擴(kuò)充Pro/ENGINEER系統(tǒng)的功能,開發(fā)基于Pro/ENGINEER系統(tǒng)的應(yīng)用程序模塊,從而滿足用戶的特殊要求。Pro/TOOLKIT采用的是功能強(qiáng)大的面向?qū)ο蟮姆绞絹?lái)編寫的。因此,用來(lái)在Pro/ENGINEER和應(yīng)用程序之間傳遞信息的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)用程序來(lái)講是不可見的,而只能通過Pro/TOOLKIT中的函數(shù)來(lái)訪問。Pro/Toolkit支持在windows2000NT/XP操作系統(tǒng)中使用C和C++語(yǔ)言設(shè)計(jì)程序,采用MicrosoftVisualC++6.0的集成環(huán)境下完成程序的設(shè)計(jì)、調(diào)試和編譯。2.1.2Pro/TOOLKIT的工作模式Pro/TOOLKIT有兩種工作模式,即同步模式和異步模式。同步模式分為兩種模式,一種是標(biāo)準(zhǔn)的使用模式,即DLL模式。Pro/TOOLKIT應(yīng)用程序與Pro/ENGINEER的集成是通過DLL模式來(lái)實(shí)現(xiàn)的,在DLL模式中,通過編譯和連接Pro/TOOLKIT的C代碼生成一個(gè)目標(biāo)文件,該目標(biāo)文件在Pro/ENGINEER啟動(dòng)時(shí)與Pro/ENGINEER連接在一起,就像是Pro/ENGINEER本身的程序一樣;Pro/TOOLKIT應(yīng)用程序和Pro/ENGINEER之間的信息交換是直接通過函數(shù)調(diào)用來(lái)實(shí)現(xiàn)的。另一種模式是多進(jìn)程模式。異步模式分為簡(jiǎn)單異步模式和全異步模式。本課題通過菜單對(duì)話框向Pro/ENGINEER發(fā)送消息,采用同步DLL模式。2.1.3Pro/TOOLKIT對(duì)象和動(dòng)作Pro/TOOLKIT采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。對(duì)象(Object)和動(dòng)作(Action)是Pro/TOOLKIT中最基本的概念。Pro/TOOLKIT的對(duì)象實(shí)質(zhì)上是一種類型為結(jié)構(gòu)體的數(shù)據(jù),結(jié)構(gòu)體中的成員描述了該對(duì)象的屬性。所有對(duì)象的命名約定為Pro+<對(duì)象名>,其中對(duì)象名用英文單詞表示,第一個(gè)字母大寫,如ProFeature(特征對(duì)象)。Pro/TOOLKIT對(duì)象執(zhí)行的某種特定操作稱為動(dòng)作,動(dòng)作的執(zhí)行是通過調(diào)用Pro/TOOLKIT函數(shù)庫(kù)提供的C函數(shù)來(lái)實(shí)現(xiàn)了。與動(dòng)作相關(guān)的Pro/TOOLKIT函數(shù)名約定為:Pro+<對(duì)象名>+<動(dòng)作>。特別要注意的是Pro/TOOLKIT函數(shù)的參數(shù)規(guī)則,規(guī)定為:ProFunction(參數(shù)1、參數(shù)2、參數(shù)3),其中第一個(gè)參數(shù)用來(lái)識(shí)別對(duì)象(通常為ID值),輸入?yún)?shù)在輸出參數(shù)之前。2.1.4對(duì)象句柄每個(gè)Pro/TOOLKIT對(duì)象都對(duì)應(yīng)于一個(gè)結(jié)構(gòu)體,定義該結(jié)構(gòu)類型的一個(gè)具體的結(jié)構(gòu)體變量稱之對(duì)象句柄。按照對(duì)象句柄的定義和使用方式分成兩種類型:Ohandle(OpaqueHandle,非透明句柄)和DHandle(DatabaseHandle,數(shù)據(jù)結(jié)構(gòu)句柄)。非透明句柄(OpaqueHandle)是使用Pro/ENGINEER數(shù)據(jù)結(jié)構(gòu)的內(nèi)存地址引用Pro/ENGINEER對(duì)象,這種方式最簡(jiǎn)單。使用非透明句柄Pro/TOOLKIT應(yīng)用程序只能獲得該對(duì)象的內(nèi)存地址,不能訪問該結(jié)構(gòu)體具體成員,其目的是防止PIDITOOLKIT應(yīng)用程序訪問結(jié)構(gòu)體中的成員。其特點(diǎn)是使用簡(jiǎn)單高效,缺點(diǎn)是由于它是一個(gè)內(nèi)存指針,所以具有可變性。數(shù)據(jù)結(jié)構(gòu)句柄(DatabaseHandle)則可訪問該對(duì)象結(jié)構(gòu)體的具體成員。數(shù)據(jù)結(jié)構(gòu)句柄是一個(gè)十分清晰的數(shù)據(jù)結(jié)構(gòu),它包含了足夠的信息—包括類型、整型標(biāo)識(shí)符和指向所屬模型的句柄,由于數(shù)據(jù)結(jié)構(gòu)句柄至少包含一個(gè)整型標(biāo)識(shí),所以它具有穩(wěn)定不變的優(yōu)點(diǎn)。當(dāng)利用Pro/TOOLKIT在Pro/ENGINEER中創(chuàng)建一個(gè)包含很多信息的對(duì)象時(shí),非常重要的一點(diǎn)就是必須先建立該對(duì)象的所有相關(guān)信息,然后把這個(gè)對(duì)象添加到Pro/ENGINEER數(shù)據(jù)庫(kù)中去。然而采用面向?qū)ο蠹夹g(shù)的Pro/TOOLKIT不允許直接訪問這些結(jié)構(gòu)的內(nèi)容。2.1.5Pro/TOOLKIT函數(shù)返回值大多數(shù)Pro/TOOLKIT函數(shù)的返回值類型為ProError,用來(lái)表示調(diào)用函數(shù)執(zhí)行狀態(tài)。最常用返回值是PRO_TK_NO_ERROR,表示函數(shù)調(diào)用成功。在程序中,通過檢查函數(shù)的返回值不僅便于在調(diào)試是找出錯(cuò)誤,更重要的是可以避免在執(zhí)行時(shí)出現(xiàn)異常情況,提高了程序的可靠性。2.2創(chuàng)建Pro/TOOLKIT應(yīng)用程序的基本方法創(chuàng)建基本方法;利用Make文件創(chuàng)建Pro/TOOLKIT應(yīng)用程序;利用VC向?qū)?chuàng)建Pro/TOOLKIT應(yīng)用程序。采用Make文件的方法創(chuàng)建Pro/TOOLKIT應(yīng)用程序必須手工修改make文件,程序的設(shè)置與調(diào)試均不方便,且不能充分利用VC的資源。所以本課題利用VC向?qū)?chuàng)建Pro/TOOLKIT應(yīng)用程序。在VisualC++6.0環(huán)境下新建一個(gè)dll工程。(1)進(jìn)入VisualC++6.0集成開發(fā)環(huán)境,選擇“File/New...”選項(xiàng),啟動(dòng)“New”對(duì)話框。在“New”對(duì)話框中選擇“Projects”選項(xiàng)卡,選擇MFCAppWizard(dll)項(xiàng)。在“Projectnam”輸入工程文件名,在“Location”輸入框中輸入路徑。單擊OK按鈕。(2)在“MFCAppWizard”對(duì)話框中選擇“RegularDLLusingsharedMFCDLL”單選框,使Pro/TOOLKIT應(yīng)用程序使用共享的MFC。單擊Finish按鈕,進(jìn)入NewProjectInformation窗口后,單擊OK按鈕,完成工程文件框架的建立。(3)選擇FileView打開VC應(yīng)用程序向?qū)ё詣?dòng)生成程序文件.VC應(yīng)用程序設(shè)計(jì)向?qū)г贔ileView中自動(dòng)加入了ReadMe.txt、StdAfx.cpp和以工程文件名為前綴的cpp資源文件、def模塊定義文件以及rc資源文件等。如下圖2.1:圖2.1VC文件圖2.3Pro/TOOLKIT信息文件的建立信息文件是一種ASCII碼文件,用來(lái)定義菜單項(xiàng)、菜單項(xiàng)提示等信息,可以用Word記事本和寫字板等文字處理軟件建立,也可在VC的集成開發(fā)環(huán)境中建立,但必須以純文本格式保存且信息文件以四行為一組。其含義分別如下:第一行:Pro/ENGINEER系統(tǒng)可以識(shí)別的關(guān)鍵字,該關(guān)鍵字必須與該信息文件函數(shù)中的相關(guān)字符串相同。第二行:再菜單項(xiàng)或菜單項(xiàng)提示上顯示的英語(yǔ)文本。第三行:另一種語(yǔ)言的譯文或?yàn)榭?。第四行:?dāng)前的Pro/ENGINEER版本為空。其中,第二﹑第四行的語(yǔ)言顯示取決于系統(tǒng)環(huán)境變量lang的設(shè)置。同時(shí),信息文件必須位于<text-path>\text或<text-path>\text\<language>文件夾,<language>為chinese-cn時(shí)表示信息為中文,為usascii表示信息為英語(yǔ)。由此,可以通過系統(tǒng)的環(huán)境變量控制顯示的語(yǔ)種,不必修改程序。2.4編譯和連接設(shè)置設(shè)置包含文件路徑,加入“\PROTOOLKIT\INCLUDES”;設(shè)置庫(kù)文件路徑,加入“\PROTOOLKIT\I486_NT\OBJ”;設(shè)置連接所需庫(kù)文件,加入“mpr.libprotk_dll.lib”兩庫(kù)文件;在菜單“Project/Settings”的“Link”選項(xiàng)頁(yè)設(shè)定強(qiáng)制文件輸出,即選中“Forcefileoutput”的復(fù)選項(xiàng)。2.5編制注冊(cè)文件及應(yīng)用程序的運(yùn)行2.5.1編制注冊(cè)文件在Pro/ENGINEER中運(yùn)行Pro/TOOLKIT應(yīng)用程序,必須先進(jìn)行注冊(cè)。注冊(cè)文件的作用是向Pro/ENGINEER系統(tǒng)傳遞應(yīng)用程序的信息。一般可只選擇NameEXEC_FILETEXT_DIRSTARTUPALLOW_STOPREVISION和END項(xiàng)即可。保存注冊(cè)文件時(shí),要以.dat為擴(kuò)展名。建立缸體的注冊(cè)文件如圖2.2:圖2.2缸體注冊(cè)文件圖2.5.2應(yīng)用程序的運(yùn)行1注冊(cè)運(yùn)行分為自動(dòng)注冊(cè)和手動(dòng)注冊(cè)。缸體采用自動(dòng)注冊(cè),并將注冊(cè)文件名取為“Protk.dat”將此文件位于Pro/ENGINEER的起始位置設(shè)定的目錄。其注冊(cè)文件設(shè)置DELAY_START的值為FALSE,應(yīng)用程序自動(dòng)運(yùn)行。2卸載應(yīng)用程序。將注冊(cè)文件中ALLOW_STOP設(shè)為TRUE,可以手工終止運(yùn)行。如果啟動(dòng)應(yīng)用程序失敗,可以選擇信息按鈕來(lái)顯示應(yīng)用程序的有關(guān)注冊(cè)信息,以便找出錯(cuò)的原因。第三章用戶界面設(shè)計(jì)Pro/ENGINEER可以利用Pro/TOOLKIT提供的菜單UI對(duì)話框以及VC的可視化界面技術(shù),設(shè)計(jì)出方便實(shí)用的人機(jī)交互界面,從而大大提高系統(tǒng)的使用效率。在設(shè)計(jì)人機(jī)交互界面時(shí),要盡量能使操作自然簡(jiǎn)便快捷。3.1菜單的設(shè)計(jì)菜單是Pro/ENGINEER的主要用戶界面,Pro/TOOLKIT提供了一系列菜單操作函數(shù),允許應(yīng)用程序創(chuàng)建何管理菜單。在應(yīng)用Pro/TOOLKIT對(duì)Pro/ENGINEER進(jìn)行開發(fā)的過程中,添加用戶自定義菜單是最常用的技術(shù)。菜單在Pro/ENGINEER界面上的生成代表著動(dòng)態(tài)鏈接庫(kù)加載成功,這是進(jìn)行后續(xù)工作的基礎(chǔ)。3.1.1向菜單欄添加菜單條Pro/ENGINEER是一個(gè)不斷發(fā)展不斷更新的軟件,某個(gè)版本下有的菜單在另外一個(gè)版本下可能沒有,因此,如果用戶自定義菜單依賴某個(gè)菜單條,很有可能在另外一個(gè)版本中就不能正常使用。這樣只能修改應(yīng)用程序來(lái)適應(yīng)這種變化,其軟件的通用性較差。因此,決定在Pro/ENGINEER界面上添加新的菜單條。菜單條是Pro/ENGINEER菜單體系的最頂層菜單,其創(chuàng)建的方法是:直接調(diào)用ProMenubarMenuAdd()函數(shù)向Pro/ENGINEER添加所需的菜單,要實(shí)現(xiàn)函數(shù)的功能,就必須將改按鈕和命令捆綁在一起。該命令調(diào)用某個(gè)函數(shù)實(shí)現(xiàn)按鈕功能,在Pro/TOOLKIT中,完成命令添加的函數(shù)是ProCmdAction(),函數(shù)調(diào)用成功返回PRO_TK_NO_ERROR(0),否則返回PRO_TK_GENERAL_ERROR(-1)。3.1.2向菜單條下添加下級(jí)子菜單缸體分為嵌入新建、修改、幫助,不可能每個(gè)都建立一個(gè)菜單條。因此必須添加下級(jí)菜單以達(dá)到建立一個(gè)自然便捷的界面的目的。調(diào)用ProMenubarmenuMenuAdd()函數(shù),并在此菜單下添加菜單項(xiàng)。3.1.3缸體菜單設(shè)計(jì)在旁邊插入一個(gè)菜單條(UserMenu)“Pro/e二次開發(fā)(&E)”,在其下添加一個(gè)下級(jí)子菜單(SubMenu)“缸體”。在子菜單下建立三個(gè)菜單按鈕:"UsrPd_"新建,"UsrPd"修改,"Help"幫助。建立的程序清單如下:staticuiCmdAccessStateUsrAccessDefault(uiCmdAccessModeaccess_mode)//訪問控制函數(shù){ return(ACCESS_AVAILABLE);}staticuiCmdAccessStateUsrAccessDefault2(uiCmdAccessModeaccess_mode)//訪問控制函數(shù){ ProErrorerr; ProMdlmdl; err=ProMdlCurrentGet(&mdl); if(err!=PRO_TK_NO_ERROR) returnACCESS_UNAVAILABLE; return(ACCESS_AVAILABLE);}staticuiCmdAccessStateUsrAccessDefault3(uiCmdAccessModeaccess_mode)//訪問控制函數(shù){ ProErrorerr; ProMdlmdl; err=ProMdlCurrentGet(&mdl); if(err!=PRO_TK_NO_ERROR) returnACCESS_AVAILABLE; return(ACCESS_UNAVAILABLE);}ProErrorUsrActionTest();//該函數(shù)為按鈕調(diào)用的動(dòng)作函數(shù)ProErrorUsrActionRepair();ProErrorUsrActionHelp();extern"C"intuser_initialize(intargc,char*argv[]){ ProErrorerr; ProFileNameMsg; uiCmdCmdIduiCmdCmdIdUsrbom; uiCmdCmdIduiCmdCmdIdUsr2;// uiCmdCmdIduiCmdCmdIdUsr3; uiCmdCmdIduiCmdCmdIdUsr4; ProStringToWstring(Msg,"usrmenu.txt"); err=ProMenubarMenuAdd("UsrPd_","UsrPd","Help",PRO_B_TRUE,Msg);//添加菜單按鈕 err=ProCmdActionAdd("usr_test_button",(uiCmdCmdActFn)UsrActionTest,uiProeImmediate,UsrAccessDefault3,PRO_B_FALSE,PRO_B_FALSE,&uiCmdCmdIdUsrbom);//定義新建按鈕動(dòng)作函數(shù) err=ProMenubarmenuPushbuttonAdd("UsrPd_","UsrCreate_","UsrCreate","UsedtoCreate",NULL,PRO_B_TRUE,uiCmdCmdIdUsrbom,Msg);//添加新建按鈕 err=ProCmdActionAdd("usr_UsrRepair_button",(uiCmdCmdActFn)UsrActionRepair,uiProeImmediate,UsrAccessDefault2,PRO_B_FALSE,PRO_B_FALSE,&uiCmdCmdIdUsr2);//添加修改動(dòng)作函數(shù) err=ProMenubarmenuPushbuttonAdd("UsrPd_","UsrRepair_","UsrRepair","UsedtoRepair",NULL,PRO_B_TRUE,uiCmdCmdIdUsr2,Msg);//添加修改按鈕 err=ProCmdActionAdd("usr_UsrHelp_button",(uiCmdCmdActFn)UsrActionHelp,uiProeImmediate,UsrAccessDefault,PRO_B_FALSE,PRO_B_FALSE,&uiCmdCmdIdUsr4);//添加幫助動(dòng)作函數(shù) err=ProMenubarmenuPushbuttonAdd("UsrPd_","UsrHelp_","UsrHelp","Usedtohelp",NULL,PRO_B_TRUE,uiCmdCmdIdUsr4,Msg);//添加幫助按鈕 return0;}extern"C"voiduser_terminate(){}#include"UsrDlgTest.h"CUsrDlgTest*dlg;ProErrorUsrActionTest(){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); if(dlg!=NULL) delete(dlg); dlg=newCUsrDlgTest(); dlg->Create(IDD_DIALOG_TEST); dlg->ShowWindow(SW_SHOW); returnPRO_TK_NO_ERROR;}ProErrorUsrActionRepair(){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); if(dlg!=NULL) delete(dlg); dlg=newCUsrDlgTest(); dlg->Create(IDD_DIALOG_TEST); dlg->ShowWindow(SW_SHOW); returnPRO_TK_NO_ERROR;}ProErrorUsrActionHelp(){ AFX_MANAGE_STATE(AfxGetStaticModuleState()); ProErrorerr; //獲取text父路徑 ProPathtext_path; err=ProToolkitApplTextPathGet(text_path); if(err!=PRO_TK_NO_ERROR) returnerr; CStringCmdLine=_T("explorer.exefile://")+(CString)text_path+_T("\\help\\html\\index.htm");//網(wǎng)頁(yè)的路徑 LPTSTRCmd=(LPTSTR)(LPCTSTR)CmdLine;//類型轉(zhuǎn)換,詳見MSDN STARTUPINFOsi={sizeof(si)};//保存進(jìn)程的啟動(dòng)信息 PROCESS_INFORMATIONpi;//保存進(jìn)程的相關(guān)信息 si.dwFlags=STARTF_USESHOWWINDOW; si.wShowWindow=1;//1窗口顯示,0表示后臺(tái)運(yùn)行 BOOLbRet=::CreateProcess//調(diào)用創(chuàng)建進(jìn)程函數(shù) ( NULL, Cmd, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi ); if(bRet) { ::CloseHandle(pi.hProcess);//關(guān)閉進(jìn)程句柄 ::CloseHandle(pi.hThread);//關(guān)閉主線程句柄 } returnPRO_TK_NO_ERROR;}建立缸體的菜單信息文件如下:UsrPd設(shè)計(jì)缸體(&D)##UsrCreate新建(&U)##UsedtoCreate建立新的缸體##UsrRepair修改(&R)##UsedtoRepair修改當(dāng)前缸體##UsrHelp幫助(&H)##Usedtohelp幫助文件##菜單創(chuàng)建后效果圖圖3.1:圖3.1模型菜單圖3.2對(duì)話框的設(shè)計(jì)彈出式對(duì)話框是目前最先進(jìn)最流行的一種人機(jī)交互方式,它能提供圖形與文字共存的可視化環(huán)境,使操作更為自然快捷。在進(jìn)行Pro/TOOLKIT程序設(shè)計(jì)時(shí),有兩種方法建立對(duì)話框,一種是通過VC提供的MFC可視化對(duì)話框設(shè)計(jì)技術(shù),另一種是通過Pro/TOOLKIT提供的用戶界面對(duì)話框(UserInterfaceDialogBoxes,簡(jiǎn)稱UI對(duì)話框)。3.2.1MFC對(duì)話框MFC是VC++程序的一個(gè)重要的軟件資源,為開發(fā)Windows應(yīng)用程序提供了強(qiáng)大的支持,使用MFC可以實(shí)現(xiàn)程序界面的可視化設(shè)計(jì)。MFC對(duì)話框作為一種窗口,具有窗口的一切功能,與UI對(duì)話框相比,使用MFC對(duì)話框界面布局更加容易,設(shè)計(jì)﹑調(diào)試都比較容易。但它建立的對(duì)話框與Pro/ENGINEER的風(fēng)格不一樣,不利于用戶的操作。資源文件的結(jié)構(gòu)如下:(Dialog<對(duì)話框>(Componens……)(Resources……))Dialog<對(duì)話框>為頂層語(yǔ)句,下面主要包含兩段構(gòu)成,其中原件段(Components)聲明了該對(duì)話框的所有元件,資源段(Resource)分為定義了各元件的屬性及布局。資源文件僅僅是對(duì)UI對(duì)話框的描述,必須通過Pro/TOOLKIT應(yīng)用程序來(lái)裝入、顯示和控制對(duì)話框。分為創(chuàng)建和終止兩部分。本程序采用MFC來(lái)設(shè)計(jì)對(duì)話框,界面設(shè)計(jì)如圖3.2:圖3.2對(duì)話框圖這里變包含主要控件有:用于輸入模型名稱的EditBox,對(duì)應(yīng)變量為CStringm_edit_mdlname用于輸入大圓半徑的ComboBox對(duì)應(yīng)變量為CComboBoxm_combo_d用于輸入小圓半徑的EditBox對(duì)應(yīng)變量為doublem_edit_d2用于輸入高度的EditBox對(duì)應(yīng)變量為doublem_edit_h啟動(dòng)后效果如圖3.3:對(duì)話框效果圖3.3這四步是創(chuàng)建一個(gè)UI對(duì)話框的最基本步驟。其中第二步可實(shí)現(xiàn)數(shù)據(jù)的調(diào)用,它的動(dòng)作設(shè)置函數(shù)與元件類型有關(guān),其主要目的是設(shè)置用戶在對(duì)話框界面上對(duì)某一元素進(jìn)行操作時(shí),調(diào)用的動(dòng)作函數(shù)。在完成這四步的情況下,可以終止UI對(duì)話框,具體方法是調(diào)用ProUIDialogExit()函數(shù)。第四章缸體的開發(fā)4.1總體方案為了方便用戶的使用,擬采用在Pro/ENGINEER主菜單上添加菜單條,再按照零件的形式添加下級(jí)子菜單,分別在子菜單中添加菜單按鈕。點(diǎn)擊菜單按鈕彈出相應(yīng)的用戶界面,輸入主要參數(shù),生成所需的零件,具體結(jié)構(gòu)如圖所示采用三維模型與程序控制相結(jié)合的方式。三維模型不是由程序創(chuàng)建,而是利用交互方式生成。在已創(chuàng)建的零件三維模型基礎(chǔ)上,進(jìn)一步根據(jù)零件的設(shè)計(jì)要求建了一組可以完全控制三維模型形狀和大小的設(shè)計(jì)參數(shù)。參數(shù)化程序針對(duì)該零件的設(shè)計(jì)參數(shù)進(jìn)行編程,實(shí)現(xiàn)設(shè)計(jì)參數(shù)的檢索、修改和根據(jù)新的參數(shù)值生成新的三維模型的功能,其過程如圖4.1:圖4.1基于三維模型的參數(shù)化設(shè)計(jì)實(shí)現(xiàn)過程4.2基于三維模型的參數(shù)化程序設(shè)計(jì)分析對(duì)缸體的二次開發(fā),只需對(duì)同類產(chǎn)品的三維模型進(jìn)行參數(shù)化修改,派生出新的三維模型?;驹硎遣捎萌S模型與程序控制相結(jié)合的方式。三維模型不是由程序創(chuàng)建,而是利用交互方式生成。在已創(chuàng)建的零件三維模型基礎(chǔ)上,進(jìn)一步根據(jù)零件的設(shè)計(jì)要求建立以足可以完全控制三維模型形狀和大小的設(shè)計(jì)參數(shù)。參數(shù)化程序針對(duì)該零件的設(shè)計(jì)參數(shù)進(jìn)行編程,實(shí)現(xiàn)設(shè)計(jì)參數(shù)的檢索﹑修改和根據(jù)新的參數(shù)值生成新的模型的功能。也就是說,先建立參數(shù)化模型,再通過調(diào)整其參數(shù)來(lái)改變幾何形狀,從而實(shí)現(xiàn)產(chǎn)品的精確造型?;谌S模型的參數(shù)化程序設(shè)計(jì)方法,主要內(nèi)容包括三維模型的創(chuàng)建﹑設(shè)計(jì)參數(shù)的確定及參數(shù)化程序設(shè)計(jì)等。為了與一般三維模型相區(qū)別,下面將參數(shù)化模型設(shè)計(jì)成需要使用的模型稱為三維模型樣板,實(shí)現(xiàn)過程如圖4.2所示圖4.2基于三維模型的參數(shù)化設(shè)計(jì)實(shí)現(xiàn)過程4.2.1缸體三維模型的建立在Pro/ENGINEER環(huán)境用人機(jī)交互方式建立端蓋三維模型樣板。在對(duì)缸體樣板進(jìn)行特征造型時(shí),利用尺寸標(biāo)注和施加對(duì)稱等關(guān)系實(shí)現(xiàn)對(duì)幾何圖形的全約束。在創(chuàng)建或修改特征需要輸入數(shù)值時(shí),直接輸入?yún)?shù)名。如在草圖中標(biāo)注或修改尺寸值時(shí)用參數(shù)名代替具體數(shù)值。選取主菜單中的【工具】→【參數(shù)】命令,彈出“參數(shù)”對(duì)話框,如圖4.3圖4.3缸體模型參數(shù)圖4.3模型開發(fā)模型如圖4.4模型圖4.4本程序需要驅(qū)動(dòng)的尺寸有:d3,d1,d2,d0其中d1為大圓直徑,d2為小圓半徑,d0為高度,d3為小圓參考基準(zhǔn)圓的半徑,與d1成一定比例關(guān)系本程序是通過參數(shù)來(lái)驅(qū)動(dòng)尺寸,特建立如下關(guān)系式如圖4.5:關(guān)系圖4.54.4創(chuàng)建模型原理:復(fù)制模板到當(dāng)前工作路徑,通過程序界面輸入相關(guān)值到參數(shù)中.來(lái)驅(qū)動(dòng)尺寸代碼:對(duì)話框初始化,在OnInitDialog函數(shù)中添加如下代碼: UsrDlgInit();//初始化創(chuàng)建模型初始話UsrCreateInit內(nèi)添加代碼:m_combo_d.SetCurSel(0); m_creat.SetWindowText(_T("創(chuàng)建")); m_edit_mdlname=_T("prt_0"); m_edit_d2=6; m_edit_h=40;UpdateData(FALSE);創(chuàng)建模型,UsrPartCreate中添加:ProErrorerr; UpdateData(TRUE); if(m_edit_mdlname.IsEmpty()) { AfxMessageBox(_T("模型名稱不能為空")); return; } //獲取模板#if1 ProPathp_textpath; err=ProToolkitApplTextPathGet(p_textpath); if(err!=PRO_TK_NO_ERROR) return; CStringpart_temp_path=(CString)p_textpath+_T("\\template\\temp"); charc_part_temp_path[PRO_PATH_SIZE]=""; wsprintfA(c_part_temp_path,"%S",part_temp_path); ProPathp_temp_path; ProStringToWstring(p_temp_path,c_part_temp_path); ProMdltemp_mdl; err=ProMdlLoad(p_temp_path,PRO_MDL_PART,PRO_B_FALSE,&temp_mdl); if(err!=PRO_TK_NO_ERROR) return; ProPathcur_dir; err=ProDirectoryCurrentGet(cur_dir);//獲取當(dāng)前工作路徑 if(err!=PRO_TK_NO_ERROR) return; charc_mdl_name[PRO_NAME_SIZE]=""; wsprintfA(c_mdl_name,"%S",m_edit_mdlname); ProNamep_mdl_name; ProStringToWstring(p_mdl_name,c_mdl_name); ProMdlnew_mdl; err=ProMdlCopy(temp_mdl,p_mdl_name,&new_mdl); if(err!=PRO_TK_NO_ERROR) return;#endif //用參數(shù)驅(qū)動(dòng) UsrParamDriv(new_mdl); //顯示 intw_id; err=ProWindowCurrentGet(&w_id); if(err!=PRO_TK_NO_ERROR) return; err=ProWindowActivate(w_id); ProMdlDisplay(new_mdl); OnOK();創(chuàng)建圖形如圖4.6:創(chuàng)建圖4.64.5修改模型原理:程序啟動(dòng)起初獲取當(dāng)前模型,通過程序界面輸入?yún)?shù)響應(yīng)值,驅(qū)動(dòng)尺寸.初始化,在UsrRepairInit中添加CUsrParamcparam; ProErrorerr; m_creat.SetWindowText(_T("修改")); ProMdlmdl; err=ProMdlCurrentGet(&mdl); if(err!=PRO_TK_NO_ERROR) return; ProNamemdl_name; err=ProMdlNameGet(mdl,mdl_name); if(err!=PRO_TK_NO_ERROR) return; m_edit_mdlname=(CString)mdl_name; //獲取參數(shù) CUsrInicini; ProPathp_textpath; err=ProToolkitApplTextPathGet(p_textpath); if(err!=PRO_TK_NO_ERROR) return; CStringcs_ini_full_path=(CString)p_textpath+_T("\\text\\usrconfig.ini"); CStringArraycsa_keys; CStringArraycsa_values; inti_err; CStringcs_d1_param; i_err=cini.UsrKeyValueGet(cs_ini_full_path,_T("param"),_T("d1"),&cs_d1_param); doubled_d1=0; err=cparam.UsrParamRead(mdl,cs_d1_param,PRO_PARAM_DOUBLE,&d_d1); CStringcs_d1; cs_d1.Format(_T("%.2lf"),d_d1); m_combo_d.SetWindowText(cs_d1); CStringcs_d2_param; i_err=cini.UsrKeyValueGet(cs_ini_full_path,_T("param"),_T("d2"),&cs_d2_param); err=cparam.UsrParamRead(mdl,cs_d2_param,PRO_PARAM_DOUBLE,&m_edit_d2); CStringcs_h_param; i_err=cini.UsrKeyValueGet(cs_ini_full_path,_T("param"),_T("h"),&cs_h_param); err=cparam.UsrParamRead(mdl,cs_h_param,PRO_PARAM_DOUBLE,&m_edit_h); UpdateData(FALSE);修改模型,UsrPartRepair函數(shù)中添加:ProErrorerr; ProMdlmdl; err=ProMdlCurrentGet(&mdl); if(err!=PRO_TK_NO_ERROR) return; UsrParamDriv(mdl);圖4.7為修改后的圖:修改圖4.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廁所打掃勞務(wù)合同范本
- 合同范本 固定期限
- 個(gè)人拒簽合同范本
- 平面車位租賃合同范本
- 合伙店合作合同范本
- 單位出讓房屋合同范本
- 合伙門窗店合同范本
- 單位欠款合同范本
- 企業(yè)eap合同范本
- 印刷耗材采購(gòu)合同范本
- 硬質(zhì)合金混合及成形
- 高蛋白干酒糟飼料DDGS簡(jiǎn)介(課堂PPT)
- 60萬(wàn)噸年磷石膏綜合利用項(xiàng)目資金申請(qǐng)報(bào)告模板定制
- 硅酸鹽水泥熟料礦物組成及配料計(jì)算概述(共101頁(yè)).ppt
- 口腔診所器材清單
- 急診與災(zāi)難醫(yī)學(xué)第二版配套課件 02 急性發(fā)熱
- 部編版四年級(jí)道德與法治下冊(cè)4《買東西的學(xué)問》第1課時(shí)課件
- 外研版英語(yǔ)(新標(biāo)準(zhǔn))八年級(jí)下冊(cè)教案(全冊(cè))
- 教師聽課評(píng)分表
- 項(xiàng)目章程模板范文
- 泰山產(chǎn)業(yè)領(lǐng)軍人才工程系統(tǒng)
評(píng)論
0/150
提交評(píng)論