【正文】
采用完全面向?qū)ο蟮木幊谭绞剑瑳]有對象指針,系統(tǒng)為用戶提供了大量的類和方法以供使用,使這些類和方法可以訪問Pro/E絕大多數(shù)的數(shù)據(jù)庫及內(nèi)部應(yīng)用函數(shù)。其中Regenerate()、Save()和Copy ()均是IpfcModel類的方法。2)三維模型的再生與保存。調(diào)用Parameter類的saveModelParam()方法更新參數(shù)表。主要步驟為:在VB.。再調(diào)用ListParams()方法獲得參數(shù)表,通過遍歷參數(shù)表按匹配的參數(shù)名賦予新值。1)打開布局文件更新參數(shù)表。這里的派生是指在原有三維模型樣板的基礎(chǔ)上,由于設(shè)計參數(shù)的變更而再生的三維模型。Pro/E的可執(zhí)行文件proe.exe位于Pro/E安裝路徑下的“\bin”文件夾,其安裝路徑可通過讀取注冊表的鍵值得到,如:Imports Dim ProE_InstallPath As StringDim getKey As RegistryKeygetKey=(″\SOFTWARE\\PTC\\Pro/ENGINEER\Wildfire \\2008310″,F(xiàn)alse)ProE_InstallPath=(″InstallDir″)獲得Pro/E 安裝路徑4. 三維模型的派生與工程圖輸出1)參數(shù)的更新與產(chǎn)品三維模型的派生參數(shù)的更新是用新的設(shè)計參數(shù)值替換布局文件參數(shù)表的舊值。2)Pro/VBAPI應(yīng)用程序與已啟動的Pro/E連接。通過該對象標識才能進一步調(diào)用該對象的方法(函數(shù)),獲得或設(shè)置其屬性值,從而實現(xiàn)對Pro/E內(nèi)部對象(如模型、特征、視圖及參數(shù)等)的控制。2)Pro/E對象的訪問方法。第二個變量之值為proeWildfire 。如下圖312所示:圖312添加引用庫在目標計算機上使用Pro/VBAPI應(yīng)用程序之前,必須設(shè)置名PRO_COMM_MSG_EXE和PRO_DIRECTORY兩個環(huán)境變量。需要Pro/E安裝VBAPI開發(fā)模塊才能對Pro/E中的對象進行訪問,Pro/E對象包括組件、零件、繪圖、草繪、布局以及各類特征,要實現(xiàn)對Pro/E對象的訪問和控制,在Pro/VBAPI應(yīng)用程序的開發(fā)項目中必須包含對Pro/E類型庫的引用。要以參數(shù)尺寸驅(qū)動實現(xiàn)三維模型,創(chuàng)建正確的參數(shù)化基本模型非常重要。采用這種形式,應(yīng)用程序與系列尺寸表沒有關(guān)聯(lián),在界面輸入或選擇的一組數(shù)據(jù)即是產(chǎn)品某一具體系列的設(shè)計參數(shù)。因此,實現(xiàn)系列化設(shè)計的第一步是如何獲得設(shè)計參數(shù)。由于這種方法不涉及對其他特征的依賴關(guān)系,在更新時出現(xiàn)參數(shù)取值邏輯錯誤不會造成特征生成的失敗和中斷,從而保證了三維模型生成過程的完整,有利于特征生成錯誤的發(fā)現(xiàn)、應(yīng)用程序的調(diào)試和維護。特征生成的中斷使錯誤的查找較為困難,給程序的調(diào)試和維護帶來麻煩。這種情形在選擇零件的形態(tài)特征作為參照時或直接從某一零件中提取輪廓線作為其他零件的截面特征時極易出現(xiàn)。由于設(shè)計參數(shù)是一組與系列尺寸相關(guān)的變量,取值會在一定范圍內(nèi)發(fā)生變化。這樣既減少了參數(shù)表的重復(fù)創(chuàng)建,又實現(xiàn)了參數(shù)表的共享,如圖311所示。由于在組件環(huán)境下創(chuàng)建的參數(shù)不能被下級零件或子裝配檢索,在零件或子裝配環(huán)境中創(chuàng)建的參數(shù)也不能為上級裝配環(huán)境檢索,因而不能采用僅對組件或零件有效的參數(shù)來控制三維模型。2)用布局功能實現(xiàn)參數(shù)共享。系列化設(shè)計的某一組尺寸是互相獨立的設(shè)計參數(shù),此參數(shù)作為用關(guān)系式約束的其他特征參數(shù)的自變量。1)用關(guān)系式約束特征參數(shù)。由于在Pro/E環(huán)境下構(gòu)建的三維模型已經(jīng)實現(xiàn)了組成特征的全約束,因而通過參數(shù)來控制三維模型的形態(tài)變化和生成是比較容易的。第二種方式由于不涉及具體特征,參數(shù)訪問的代碼設(shè)計簡單,程序與模型分離,程序不僅具有良好的可重用性,而且也便于維護。兩種三維模型生成方式如下圖310所示。前者不需要事先建立的三維模型樣板,直接由Pro/VBAPI應(yīng)用程序創(chuàng)建全新的三維模型。三維模型的生成方式利用Pro/VBAPI應(yīng)用程序進行系列化設(shè)計的三維模型主要有兩種生成方式:第一種是采用工具包中提供的特征創(chuàng)建函數(shù)在Pro/E環(huán)境下直接創(chuàng)建三維模型。: 圖39 基本開發(fā)步驟,而系列化和模塊化設(shè)計則是實現(xiàn)產(chǎn)品快速設(shè)計的重要技術(shù)手段,其目的是為了滿足“對產(chǎn)品多樣化、瞬變性等需求”。采用VB API進行二次開發(fā)的基本步驟和使用的主要類與方法如圖39所示。異步模式應(yīng)用程序的運行過程如圖38所示:圖38 異步模式開發(fā)模式在上圖可以看出,異步模式二次開發(fā)過程中一個重要的核心問題是基礎(chǔ)模型的正確建立,這也是二次開發(fā)的前提條件。利用Pro/VBAPI開發(fā)工具包和Pro/E參數(shù)化特征造型技術(shù)的支持,可以開發(fā)具有可重用性、可擴展性和靈活的應(yīng)用模塊,實現(xiàn)產(chǎn)品數(shù)字模型的系列化設(shè)計。【參數(shù)】對話框如圖3-7所示。軸的參數(shù)化設(shè)計主要是對二維圖形的基本尺寸中的各軸段長度及直徑(、倒角及鍵槽特征等的參數(shù)進行設(shè)定,參數(shù)之間用關(guān)系進行約束限定。其界面如下圖36所示:圖36按扭轉(zhuǎn)強度?!居嬎恪堪粹o程序代碼:Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim p, n, d As New Single Dim T As New Single Dim Wt As New Single Dim τt As New Single Dim τ As New Single p = Val() n = Val() d = Val() τ = Val() T = 9550000 * p / n Wt = * d * d * d τt = T / Wt If τt = τ Then = 安全 (強度滿足要求,設(shè)計完成 , , , ) Else = 安全 (強度滿足要求,設(shè)計完成 , , , ) End If End Sub Pro/E的參數(shù)化設(shè)計Pro/E系統(tǒng)最典型的特點是參數(shù)化,體現(xiàn)參數(shù)化除使用尺寸參數(shù)控制模型外,還在尺寸間建立數(shù)學關(guān)系式,使其保持始終相對的大小,位置或約束條件,在零件模式下,系統(tǒng)允許建立特征之間的關(guān)系式,使零件中的不同特征產(chǎn)生關(guān)聯(lián),此時創(chuàng)建的參數(shù)關(guān)系式或為零件關(guān)系式。對于不大重要的軸,也可作為最后計算結(jié)果。這種方法只是按軸所受的扭矩來計算軸的強度;如果還受不大的彎矩時,則用降低許用扭轉(zhuǎn)切應(yīng)力的辦法予以考慮。抗彎截面系數(shù) Wt = * d * d * d 39。在已知軸的外形、尺寸及載荷的基礎(chǔ)上,即可通過分析確定出一個或幾個危險截面(這時不僅要考慮彎曲應(yīng)力和扭轉(zhuǎn)切應(yīng)力的大小,而且要考慮應(yīng)力集中和絕對尺寸等因素影響的程度),按式33求出計算安全系數(shù) ,即 (32)僅有法向應(yīng)力時,應(yīng)滿足 (33)僅有扭轉(zhuǎn)切應(yīng)力時,應(yīng)滿足 (34)為了把繁瑣的校核計算簡化,開發(fā)出其校核界面,通過輸入需要的參數(shù)和圖標查詢即可得到校核結(jié)果。其計算界面如圖34所示:圖34按彎扭合成強度條件計算【計算】按鈕的程序代碼:Dim Fh, Fv, a, L2, B, L3, L4, Fh1, Fh2, Fv1, Fv2, la, lb, α, d, b2, t2 As New Single Dim Mh, Mv, M, p, n, T, W, σca, σ As New Single p = Val() n = Val() a = Val() Fh = Val() Fv = Val() σ = Val() α = Val() L2 = Val() B = Val() L3 = Val() L4 = Val() d = Val() b2 = Val() t2 = Val() T = 9550000 * p / n la = L2 + B + L3 / 2 a / 2 lb = L4 B / 2 + L3 / 2 Fh1 = Fh * lb / (la + lb) Fv1 = Fv * lb / (la + lb) Mh = Fh1 * la Mv = Fv1 * la M = (Mh + Mv) ^ W = PI * d * d * d / 32 b2 * t2 * (d t2) ^ / 2 / d σca = (M ^ 2 + (α * T) ^ 2) ^ / W If σca = σ Then = 安全 (強度滿足要求,設(shè)計完成 , , , ) Else = 不安全 (強度不滿足要求,請重新選擇參數(shù), , , ) End If End Sub對于精度要求較高的軸,我們還需對其進行疲勞強度進行校核。(4) 校核軸的強度軸的彎扭合成強度條件為: (31)式中:—軸的計算應(yīng)力,;—軸所受的彎矩,;—軸所受的轉(zhuǎn)矩,;—軸的抗彎截面系數(shù),;—對稱循環(huán)變應(yīng)力時軸的許用彎曲應(yīng)力,其值按機械設(shè)計手冊查得。(2) 做出彎矩圖。一般的軸用這種方法計算即可。(1)對于只承受彎矩的軸(心軸),應(yīng)按彎曲強度計算;對于及承受彎矩又承受扭矩的軸(轉(zhuǎn)軸)應(yīng)按彎扭合成強度條件進行計算。圖33軸結(jié)構(gòu)設(shè)計界面軸的計算通常都是在初步完成結(jié)構(gòu)設(shè)計后進行校核計算,計算準則是滿足軸的強度或剛度要求,必要時還應(yīng)校核軸的振動穩(wěn)定性。其界面如圖33所示。軸設(shè)計的參數(shù)較多,我們就要考慮到這些參數(shù)錄入、選擇界面布局合理、清晰、簡潔,使人從整體角度看,一目了然、條理清晰、分類明確、主次關(guān)系安排合理。因此軸的結(jié)構(gòu)設(shè)計是軸設(shè)計中的重要內(nèi)容。軸的結(jié)構(gòu)設(shè)計主要是根據(jù)軸上零件的安裝、定位及軸的制造工藝等方面的要求,合理地確定軸的結(jié)構(gòu)形式和尺寸。只承受扭矩而不承受彎矩的(或彎矩很?。┑妮S稱為傳動軸。工作中既承受彎矩又承受扭矩的軸稱為轉(zhuǎn)軸,這類軸在各種機械中最為常見,如減速器所用到的軸。登陸界面如圖31所示。3系統(tǒng)開發(fā)過程根據(jù)軸設(shè)計準則的要求,,要盡量做到界面直觀、友好、美觀。ActiveX所具備的絕大多數(shù)AutoCAD功能,均以方法和屬性的方式被封裝在ActiveX對象中,只要使用某種方式,使ActiveX對象得以“暴露”,那么就可以使用各種面向?qū)ο缶幊痰恼Z言對其中的方法、屬性進行引用,從而達到對AutoCAD實現(xiàn)編程的目的。AutoCAD ActiveX技術(shù)提供了一種機制,該機制可使編程者通過編程手段從AutoCAD的內(nèi)部或外部來操縱AutoCAD。從AutoCAD R14版開始,AutoCAD引入了ActiveX Automation技術(shù)。目前,ActiveX Automation技術(shù)已經(jīng)在Internet、Office系列辦公軟件的開發(fā)中得到了廣泛的應(yīng)用。 AutoCAD ActiveX/VBA的二次開發(fā)技術(shù)AutoCAD是目前全球使用最廣泛的一種工程圖形設(shè)計軟件。該異步模式又可分為兩種方法, 簡單異步模式與完全異步模式。然而使用Pro/toolkit進行二次開發(fā)需要精通C 語言的語法規(guī)則而且大量指針的使用常會使人摸不著頭腦, 對于不了解C語言而精通VB 語言的人可以使用AutomationGATEWAY工具對Pro /E 進行二次開發(fā), AutomationGATEWAY是Rand公司開發(fā)的針對Pro/E 的二次開發(fā)工具, 與Pro/E 自帶的二次開發(fā)工具Pro/toolkit相比, 具有簡單易用的特點, 但由于Automation GATEWAY 是第三方軟件, 只能訪問部分Pro /E的數(shù)據(jù)庫及內(nèi)部應(yīng)用函數(shù), 故其功能受到了很大的限制。傳統(tǒng)模式的Pro/E 二次開發(fā)多是采用Pro/toolkit進行的, 因為Pro/toolkit以C語言為依托, 向用戶提供了大量針對Pro/E 底層資源調(diào)用的庫函數(shù)和頭文件。利用數(shù)據(jù)庫訪問頁對象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。(5) Access支持ODBC(開發(fā)數(shù)據(jù)庫互連,Open Data Base Connectivity),利用Access強大的DDE(動態(tài)數(shù)據(jù)交換)和OLE(對象的聯(lián)接和嵌入)特性,可以在一個數(shù)據(jù)表中嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動態(tài)的數(shù)據(jù)庫報表和窗體等。系統(tǒng)還提供了表生成器、查詢生成器、報表設(shè)計器以及數(shù)據(jù)庫向?qū)А⒈硐驅(qū)?、查詢向?qū)?、窗體向?qū)А蟊硐驅(qū)У裙ぞ?,使得操作簡便,容易使用和掌握。同時,這種基于面向?qū)ο蟮拈_發(fā)方式,使得開發(fā)應(yīng)用程序更為簡便。它將一個應(yīng)用系統(tǒng)當作是由一系列對象組成的,對每個對象它都定義一組方法和屬性,以定義該對象的行為和外國,用戶還可以按需要給對象擴展方法和屬性。它的主要特點是:(1) 存儲方式單一 :Access管理的對象有表、查詢、窗體、報表、頁、宏和模塊