張文燕+許海霞+周茂軍
摘要:在模具成型件的檢測中,常常需要分析從成型件上測得的批量點與原設計模型間的偏差值,從而來判斷產品是否合格。而Pro/E系統只提供單個點的測量分析工具,測量效率低且容易遺漏待測點。經過對Pro/E系統中測量工具局限性的研究,通過Pro/E自帶的二次開發(fā)工具Pro/Toolkit,使用MFC可視對話框技術,編寫Visual C++程序,開發(fā)出集成化的分析測量工具。能夠根據允許公差值,快速、準確地判斷成型件是否符合要求。使得成品的測量分析效率提高,并且縮短了零部件產品的檢驗周期。
關鍵詞:Pro/Toolkit; 批量點; 公差 ;測量;分析
中圖分類號:TP20 文獻標識碼:A 文章編號:1009-3044(2017)26-0207-03
Abstract: During the detection of molding parts, we often need to analyse deviation between the mass points measured on the molding and the original design model ,According to the result ,we can determine whether the product is qualified. The Pro / E system only allows a single point to measure and analysis.By this way,It is slow to measure mass points,and it is easy to miss the measured points. This paper analyzes the limitations of present measurement tools.By development tool Pro/Toolkit, applying MFC visual dialog technology,and writing Visual C++ program. We develop an integrated tool of analysis and measurement. According to the values of allowable tolerance, it can rapidly and accurately determines whether the machined parts meet the production requirements. It improves the efficiency of analysis and measurement, and shortens the inspection cycle of parts.
Key words: Pro/Toolkit; batch points; tolerance; measurement; analysis
隨著計算機輔助設計技術的發(fā)展,UG、Solidworks、Pro/E等三維設計軟件被廣泛應用[1]。Pro/E作為一種參數化設計軟件,它功能強大,性能優(yōu)良,運用廣泛[2]?;赑ro/E的二次開發(fā)也受到人們廣泛關注。目前不少程序開發(fā)者已經開發(fā)一些有關Pro/E設計的輔助工具。例如基于Pro/E的工程圖設計輔助工具,基于Pro/E的零件尺寸標注輔助工具、基于Pro/E三維建模輔助工具等。但是在對批量點進行測量分析方面還沒有相關輔助工具的開發(fā)。PRO/E系統自帶的單個點距離測量,測量效率低,結果不直觀,后期誤差分析困難。如果能開發(fā)集成化的測量分析工具,將解決企業(yè)零部件檢驗測量中的實際問題,大大提高檢測效率。
1 批量點測量分析程序的總體設計及步驟
1.1 總體設計
元素,使用向量判斷測量點與設計模型面的法線方向是否一致,從而判斷出測量點位于設計模型面的內部還是外部。然后根據公差的允許值,用顏色區(qū)分點至曲面的距離是否在公差范圍之內,在公差范圍之內為綠色,超過公差上限為紅色,超過公差下限為藍色。本設計流程圖如圖1所示。
1.2 Pro/Toolkit開發(fā)步驟
Pro/Toolkit 應用程序體系是由 VC++應用程序設計向導自動創(chuàng)建的程序框架加上新的函數代碼、資源文件、和CPP 源文件構成。其開發(fā)步驟主要由如下7步組成:
1) 確定運行模式
Pro/Toolkit應用程序主要有兩種模式:同步模式和異步模式。其中同步模式又分為標準模式和多進程模式;異步模式又可分為簡單異步模式與完全異步模式[2]。本文采用Pro/Toolkit應用程序中同步模式下的標準模式。
2 )Pro/Toolkit程序菜單
菜單設計主要為程序的框架設計。圖2為本系統菜單。
3) 新建項目及設置相應的開發(fā)環(huán)境
VC開發(fā)環(huán)境設置是的作用是用于指定Pro/Toolkit函數庫的目錄位置。
4) 定義初始化及結束函數
Pro/E中進行Pro/Toolkit應用程序加載時,應首先調用User_initialize()函數。user_terminate()函數主要用來處理程序結束時需要進行處理的工作[3]。
5) 編寫代碼
源文件包括:C程序、菜單文件和窗口信息文件。在編寫應用程序的過程中經常會用到 Pro/Toolkit函數庫和MFC類庫中的相關函數。
6) 可視對話框的創(chuàng)建
①利用 AppWizard 建立基本的可視對話框結構。
②在對話框結構基礎上創(chuàng)建相同名稱文件并且添加初始函數user_initialize()以及結束函數user_terminate()。endprint
③用visualC ++語言創(chuàng)建對話框。
④資源類型設置為Dialog類型,然后鼠標操作調出菜單系統,在系統功能界面中進行特殊功能編輯工作。
⑤用Developer Studio實現可視對話框的設計;。
⑥創(chuàng)建可視對話框,在應用程序中對對話框進行相應調試。
⑦最后生成對話框程序。
7) 添加輔助應用程序
添加輔助應用程序時,需要將Pro/Toolkit 程序中的注冊文件注冊到 Pro/E系統中,本系統中的注冊文件如圖3所示。
2 Pro/Toolkit應用程序設計
在理解Pro/Toolkit函數的邏輯關系后,運用Pro/Toolkit中某些函數編寫代碼來解決批量點距離測量問題[4]。本文主要敘述程序中所涉及有關Pro/Toolkit的函數序列。
2.1 創(chuàng)建菜單
Pro/Toolkit應用程序的入口是初始化函數user_initialize()。一般在其中完成添加菜單功能。本課題在Pro/E系統菜單下進行菜單按鈕的添加,圖4為主要的 Pro/Toolkit函數序列。用 ProMdlCurrentGet()初始化當前的Pro/E對象。ProMenubarMenuAdd()的功能是添加新的菜單名稱,建立新的菜單信息文件。ProCmdActionAdd設置Pro/E的菜單動作。ProMenubarmenuPushbuttonAdd()添加菜單。菜單的位置與父菜單、子菜單相關聯。圖中的的父菜單是“零件測試”,子菜單是“遍歷所有的面”。
2.2 實體特征訪問
首先用UserDemoAxisAct()遍歷動作函數,用函數ProAxisIdGet()獲得軸線ID[5], ProModelitemInit()初始化模型句柄,ProGeomitemFeatureGet()獲得軸線所屬特征,如果獲得特征類型失敗,則跳過。用函數ProModelitemNameGet()獲得軸線的名稱,然后高亮顯示孔。
接下來訪問動作函數,對訪問特征進行過濾,第一步,ProSolidFailedFeatsList()判斷訪問實體特征是否成功。第二步,ProFeatureIsIncomplete()判斷指定特征是否完整。第三步,ProFeatureStatusGet()判斷特征有沒有被激活或隱藏。第四步,ProFeatureVisibilityGet()驗證特征可見。 圖5為主要函數序列。
2.3 遍歷所有點到面的距離
定義ProSelection用來在Pro/E數據庫中確定一個模型樹。第一步ProMdlNameGet獲得設計模型的名稱。第二步ProSolidFeatVisit訪問模型內的特征。第三步ProSelectionCopy把模型的特征添加到樹中。
ProFeatureGeomitemVisit()訪問指定特征的全部點特征,ProGeomitemDistanceEval()測量點與面組之間的距離,再根據允許公差值,用條件判斷語句判斷是否超差并變色。ProSelectionHighlight()高亮顯示,如果超過公差下限則高亮顯示藍色,超過公差上限則高亮顯示紅色,在公差允許范圍之內則高亮顯示綠色。ProSolidRegenerate()進行實體再生。ProMessageDisplay()將測量點的距離,寫入文本框[6]。如圖6所示:
3 軟件應用實例
3.1 注冊運行Pro/Toolkit應用程序
Pro/Toolkit應用程序的運行有自動注冊和手動注冊[7]。本程序選用手動注冊,首先打開Pro/E,選中標題欄中工具按鈕,點擊注冊,打開已經編輯好的輔助應用程序。
3.2 設定坐標系導入點云
打開設計模型設定坐標系,使得測量點云的坐標系與導入設計模型相一致,然后將測量好的點云數據按照設定好的坐標系進行導入。
3.3 公差設值與測量分析
1) 點擊零件測試模塊上的公差設值,根據要求設置正負公差值。如圖7所示:
2) 點擊標題欄零件測試下的子菜單遍歷所有點到面,經過程序運行即可以得到測量點到設計模型面的距離。如圖8所示:
3) 同時點的顏色如預期發(fā)生改變
4 結束語
1) 在VS2008環(huán)境下,利用Pro/Toolkit開發(fā)出批量點數據分析測量工具;
2) 本文分析了集成化的測量模塊,描述了響應實現功能的主要函數及關系;
3) 通過測試的方法驗測量程序的正確性。程序開發(fā)的實際過程為其他的類似工具的開發(fā)提供了參考。
參考文獻:
[1] 張海軍,吳晶華.Pro/Toolkit工程制圖功能開發(fā)方法[J].制造技術與機床,2008(11):79-81.
[2 陳積強,李春,周碧池.Pro/Toolkit同步與異步開發(fā)模式[J].上海理工大學學報,2008,30(1):99-102.
[3] 吳立軍. Pro/ENGINEER 二次開發(fā)技術基礎[M].北京:電子工業(yè)出版社,2006:37-41.
[4] 基于Pro/Toolkit的點坐標測量工具的開發(fā)[J].控制與檢測,2010(8):33-38.
[5] 王文波.Pro/E wildfire4.0二次開發(fā)實例解析[M].北京:清華大學出版社,2010:80-82.
[6] 張繼春.Pro/ENGINEER二次開發(fā)實用教程[M].北京:北京大學出版社,2003;52-54.
[7] 李世國.Pro/Toolkit程序設計[M].北京:機械工業(yè)出版社,2003:23-24.endprint