【正文】
基本步驟和使用的主要類與方法如圖 39 所示。下面以常用 階梯軸 為例說明使用 語言進行二次開發(fā)的步驟 如圖 39所示: 天津職業(yè)技術師范大學 2020屆本科生畢業(yè)設計 20 圖 39 基本開發(fā)步驟 ,而系列化和模塊化設計則是實現(xiàn)產(chǎn)品快速設計的重要 技術手段,其目的是為了滿足“對產(chǎn)品多樣化、瞬變性等需求”。 三維模型的生成方式利用 Pro/VBAPI 應用程序進行系列化設計的三維模型主要有兩種生成方式 :第一種是采用工具包中提供的特征創(chuàng)建函數(shù)在 Pro/E 環(huán)境下直接創(chuàng)建三維模型 。前者不需要事先建立的三維模型樣板,直接由 Pro/VBAPI 應用程序創(chuàng)建全新的三維模型 。兩種三維模型生成方式如 下 圖 310 所示。第二種方式由于不涉及具體特征,參數(shù)訪問的代碼設計簡單,程序與模型分離,程序不僅具有良好的可重用性,而且也便于維護。由于在 Pro/E 環(huán)境下構建的三維模型已經(jīng)實現(xiàn)了組成特征的全約 束,因而通過參數(shù)來控制三維模型的形態(tài)變化和生成是比較容易的。 1)用關系式約束特征參數(shù)。系列化設計的某一組尺寸是互相獨立的設計參數(shù),此參數(shù)作為用關系式約束的其他特征參數(shù)的自變量。 2)用布局功能實現(xiàn)參數(shù)共享。由于在組件環(huán)境下創(chuàng)建的參數(shù)不能被下級零件或子裝配檢索,在零件或子裝配環(huán)境中創(chuàng)建的參數(shù)也不能為上級裝配環(huán)境檢索,因而不能采用僅對組件或零件有效的參數(shù)來控制三維模型。這樣既減少了參數(shù)表的重復創(chuàng)建,又實現(xiàn)了參數(shù)表的共享,如圖 311 所示 。由于設計參數(shù)是一組與系列尺寸相關的變量,取值會在一定范圍內發(fā)生變化。這種情形在選擇零件的形態(tài)特征作為參照時或直接從某一零件中提取輪廓線作為其他零件的截面特征時極易出現(xiàn)。特征生成的中斷使錯誤的查找較為困難,給程序的調試和維護帶來麻煩。由于這種方法不涉及對其他特征的依賴關系,在更新時出現(xiàn)參數(shù)取值邏輯錯誤不會造成特征生成的失敗和中斷,從而保證了三維模型生成過程的完整,有利于特征生成錯誤的發(fā)現(xiàn)、應用程序的調試和維護。因此,實現(xiàn)系列化設計的第一步是如何獲得設計參數(shù)。采用這種形式,應用程序與系列尺寸表沒有關聯(lián),在界面輸入或選擇的一組數(shù)據(jù)即是產(chǎn)品某一具體系列的設計參數(shù)。要以參數(shù)尺寸驅動實現(xiàn)三維模型,創(chuàng)建正確的參數(shù)化基 本 模型非常重要。 Pro/E的設計過程中,需要 Pro/E安裝 VBAPI開發(fā)模塊才能對 Pro/E 中的對象進行訪問, Pro/E 對象包括組件、零件、繪圖、草繪、布局以及各類特征,要實現(xiàn)對 Pro/E 對象的訪問和控制,在 Pro/VBAPI 應用程序的開發(fā)項目中必須包含對 Pro/E 類型庫的引用。 如下 圖 312所示: 圖 312添加引用庫 在目標計算機上使用 Pro/VBAPI 應用程序之前,必須設置名 PRO_COMM_MSG_EXE和 PRO_DIRECTORY 兩個環(huán)境變量。第二個變量之值為 proeWildfire 的安裝天津職業(yè)技術師范大學 2020屆本科生畢業(yè)設計 23 路徑。 2) Pro/E 對象的訪問方法 。通過該對象標識才能進一步調用該對象的方法 (函數(shù) ),獲得或設置其屬性值,從而實現(xiàn)對 Pro/E 內部對象 (如模型、特征、視圖及參數(shù)等 )的控制。2)Pro/VBAPI 應用程序與已啟動的 Pro/E 連接。 Pro/E 的可執(zhí)行文件 proe. exe 位于 Pro/E 安裝路徑下的“ \bin”文件夾,其安裝 路徑可通過讀取注冊表的鍵值得到,如 : Imports Dim ProE_InstallPath As String Dim getKey As RegistryKey getKey=(″ \SOFTWARE\\PTC\\ Pro/ENGINEER\Wildfire \\2020310″, False) ProE_InstallPath=(″ InstallDir″ )獲得 Pro/E 安裝路徑 4. 三維模型的派生與工程圖輸出 1) 參數(shù)的更新與產(chǎn)品三維模型的派生參數(shù)的更新是用新的設計參數(shù)值替換布局文件參數(shù)表的舊值。這里的派生是指在原有三維模型樣板的基礎上,由于設計參數(shù)的變更而再生的三維模型。 1) 打 開 布 局 文 件 更 新 參 數(shù) 表 。再調用ListParams()方法獲得參數(shù)表,通過遍歷參數(shù)表按匹配的參數(shù)名賦予新值。主要步驟為 :在 VB. Net集成開發(fā)環(huán)境下將 文件添加到項目文件中 。調用天津職業(yè)技術師范大學 2020屆本科生畢業(yè)設計 24 Parameter 類的 saveModelParam()方法更新參數(shù)表。 2)三維模型的再生與保存。其中 Regenerate()、Save()和 Copy ()均是 IpfcModel 類的方法。 VB API 采用完全面向對象的編程方式,沒有對象指針,系統(tǒng)為用戶提供了大量的類和方法以供使用,使這些類和方法可以訪問 Pro/E 絕大多數(shù)的數(shù)據(jù)庫及 內部應用函數(shù)。 對應 代碼編寫: Imports pfcls Imports 【 鏈接 Pro/E 】按鈕程序代碼: Dim cac As CCpfcAsyncConnection cac = New CCpfcAsyncConnection asyncConnection = (d:\ptc\\bin\, .) Dim proeId As IpfcAsyncConnection proeId = (New CCpfcAsyncConnection).Connect(Nothing, Nothing, Nothing, Nothing) Button打開模型 .Enabled = True 【打開模型】按鈕程序代碼: descModel As IpfcModelDescriptor Dim options As IpfcRetrieveModelOptions Dim session As IpfcBaseSession Dim currentws As Object session = options = (New CCpfcRetrieveModelOptions).Create = False 天津職業(yè)技術師范大學 2020屆本科生畢業(yè)設計 25 (G:\畢業(yè)設計 黃登春 ) descModel = (New CCpfcModelDescriptor).Create(, Nothing, Nothing) = G:\畢業(yè)設計 黃登春 \軸 .prt model = (descModel, options) (model) currentws = () () Button更新模型 .Enabled = True 如圖 313所示 : 圖 313模型 【更新模型】按鈕程序代碼: Dim run As Parameter Dim paramTable As DataTable Dim i As Integer model = run = New Parameter() paramTable = () For i = 0 To 1 With (i) If .Item(name) = L1 Then 天津職業(yè)技術師范大學 2020屆本科生畢業(yè)設計 26 .Item(value) = End If If .Item(name) = L2 Then .Item(value) = End If If .Item(name) = B Then .Item(value) = End If If .Item(name) = L3 Then .Item(value) = End If If .Item(name) = L4 Then .Item(value) = End If If .Item(name) = L5 Then .Item(value) = End If If .Item(name) = C Then .Item(value) = End If If .Item(name) = A1 Then .Item(value) = End If If .Item(name) = A2 Then .Item(value) = End If If .Item(name) = DⅠ Then .Item(value) = End If If .Item(name) = DⅡ Then .Item(value) = End If If .Item(name) = DⅢ Then .Item(value) = 天津職業(yè)技術師范大學 2020屆本科生畢業(yè)設計 27 End If If .Item(name) = DⅣ Then .Item(value) = End If If .Item(name) = B1 Then .Item(value) = End If If .Item(name) = H1 Then .Item(value) = End If If .Item(name) = T1 Then .Item(value) = End If If .Item(name) = B2 Then .Item(value) = End If If .Item(name) = H2 Then .Item(value) = End If If .Item(name) = T2 Then .Item(value) = End If End With Next (, paramTable, False) (Nothing) = True 【精度設計】按鈕程序代碼: Private Sub Button3_Click_1(ByVal sender As , ByVal e As ) Handles Button精度設計 .Click () () d1 = Val() 天津職業(yè)技術師范大學 2020屆本科生畢業(yè)設計 28 d2 = Val() d4 = Val() End Sub 軸的 精度設計 概述 精度設計是否 合 理,將直接影響機械產(chǎn)品的質量、使用壽命及經(jīng)濟效益。精度設計的原則是在保證產(chǎn)品性能優(yōu)良的前提下 盡可能使產(chǎn)品的制造成本低,經(jīng)濟效益好。這三方面的內容并不是孤立的,而是相互關聯(lián)的。不同的工作性能,遵守不同 的