(沈陽航空航天大學(xué)航空制造工藝數(shù)字化國防重點學(xué)科實驗室,沈陽 110136)
隨著MBD技術(shù)的不斷發(fā)展,我國航空企業(yè)已逐步實現(xiàn)了設(shè)計和制造的數(shù)字化,如何打通檢測環(huán)節(jié)的數(shù)字化,實現(xiàn)設(shè)計-制造-檢測的閉環(huán)控制日益成為人們研究的熱點[1]?;贛BD的數(shù)字化檢測技術(shù),以產(chǎn)品設(shè)計、制造過程中的MBD檢測模型為數(shù)據(jù)基礎(chǔ),制定合理的檢測工藝規(guī)劃,通過離線編程驅(qū)動數(shù)字化測量設(shè)備進行檢測,并將測量數(shù)據(jù)實時反饋至質(zhì)量管理系統(tǒng),分析產(chǎn)品質(zhì)量并指導(dǎo)設(shè)計、加工部門改進產(chǎn)品[2]。檢測模型作為數(shù)字化檢測的唯一依據(jù),需要包含零件所有的檢測信息,但是在實際應(yīng)用過程中,上游工藝部門提供的檢測模型只對有裝配要求的尺寸和某些重要尺寸進行公差標注,而對功能上無特殊要求的尺寸和要素按照一般公差處理,在檢測模型上不做標注。檢測人員在測量這些未注公差的尺寸和要素時需要人工查閱一般公差標準,然后在檢測模型上對未注公差進行手工完善,加大了檢測人員的工作量,嚴重影響了檢測效率。本文通過分析一般公差標準的數(shù)據(jù)結(jié)構(gòu),在Access中建立一般公差數(shù)據(jù)庫,利用UG/Open API在UG中開發(fā)未注公差處理模塊,實現(xiàn)了檢測模型線性尺寸未注公差的自動完善。
一般公差指的是在車間普通工藝條件下,機床設(shè)備正常加工能力可以保證的公差,主要用于零件上對功能無特殊要求的要素以及精度較低的非配合尺寸,通常在二維圖樣或三維模型中不做具體標注,只給出統(tǒng)一的未注公差等級[3]。本文研究對象是以生產(chǎn)航空切削加工件為主的某航空企業(yè),其檢測模型中未注公差主要為線性尺寸公差,依據(jù)的標準是《中華人民共和國航空工業(yè)標準HB5800-1999》,通過分析該標準中切削加工件線性尺寸一般公差的數(shù)據(jù)結(jié)構(gòu),建立一般公差數(shù)據(jù)庫。
切削加工件線性尺寸一般公差的數(shù)據(jù)結(jié)構(gòu)如表1所示,已知基本尺寸L0,通過判斷基本尺寸類型可以得到長度類型尺寸L的中差值,如果是孔或軸類尺寸還需要根據(jù)公差等級確定出孔直徑D或軸直徑d的上下偏差。
UG平臺可以方便地通過ODBC接口訪問Access數(shù)據(jù)庫[4],在Access2010中將線性尺寸一般公差的多維數(shù)據(jù)離散為二維表,表的字段名稱、類型及含義如表2所示。這樣通過基本尺寸值、尺寸類型和公差等級就可以唯一確定出尺寸的公差值[5]。
本方案采用典型的4層系統(tǒng)架構(gòu)[6],如圖1所示。
(1)MFC基礎(chǔ)類系與UG/Open API主要實現(xiàn)對UG模型的操作和對數(shù)據(jù)庫的訪問,包括提取并記錄模型的幾何特征類型和標注信息;修改完善標注信息和改變顯示顏色;以VC++為工具,通過MFC ODBC類訪問一般公差數(shù)據(jù)庫。
(2)對象層主要實現(xiàn)對信息的分類和儲存,包括對標注信息尺寸類型的分類和儲存;對公差數(shù)據(jù)的分類和儲存;對標注信息顯示顏色的分類和儲存。
(3)功能層主要通過功能函數(shù)調(diào)用基礎(chǔ)類系及API實現(xiàn)與對象層的數(shù)據(jù)交互和管理,包括未注公差檢索;公差數(shù)據(jù)庫訪問與提?。晃醋⒐铑伾怀鲲@示;未注公差完善;處理結(jié)果導(dǎo)出。
(4)系統(tǒng)界面層主要通過可視化界面實現(xiàn)用戶交互,包括在UG平臺中利用UG/Open Menuscript腳本語言建立功能菜單;調(diào)用MFC基礎(chǔ)類庫建立對話框。
系統(tǒng)架構(gòu)各層之間為請求服務(wù)與提供服務(wù)的關(guān)系。系統(tǒng)界面層提供的命令由功能層來實現(xiàn),功能層通過調(diào)用對象層的對象和方法實現(xiàn)具體流程,MFC基礎(chǔ)類系與UG/Open API負責(zé)對象層、三維模型和數(shù)據(jù)庫之間的數(shù)據(jù)交互。各個層次之間結(jié)構(gòu)清晰,功能分配合理,有利于組織開發(fā)和源代碼管理。
表1 線性尺寸一般公差數(shù)據(jù)結(jié)構(gòu)
表2 數(shù)據(jù)表結(jié)構(gòu)
圖1 系統(tǒng)結(jié)構(gòu)Fig.1 System structure
系統(tǒng)采用自動的方式,用戶只需根據(jù)檢測模型精度要求選擇孔、軸類尺寸的公差等級,便可自動提取檢測模型尺寸信息。篩選出未注公差并將未注公差尺寸標注用紅色突出顯示,根據(jù)尺寸類型對未注公差進行分類,然后訪問公差數(shù)據(jù)庫提取對應(yīng)的公差值,在模型中對未注公差進行完善,最后輸出處理結(jié)果,流程如圖2所示。
圖2 系統(tǒng)流程Fig.2 System process
(1)尺寸對象提取與分類。
首先,利用UF_PART_ask_display_part()函數(shù)獲取當前顯示的部件,設(shè)置函數(shù)UF_OBJ_cycle_objs_in_part()的篩選類型為UF_dimension_type,得到該部件中所有的尺寸類型對象并存入容器vecDimensionTag中。然后,通過UF_OBJ_ask_type_and_subtype()函數(shù)得到對象的subtype屬性,根據(jù)subtype的不同類型對尺寸對象進行分類并存入相應(yīng)的容器中。
(2)尺寸數(shù)據(jù)和公差數(shù)據(jù)的提取與分類。
通過UF_DRF_ask_dimension_text()函數(shù)獲取尺寸對象的基本尺寸值,然后利用UF_DRF_ask_object_preferences()函數(shù)提取尺寸標注的MPI與MPR參數(shù)。MPI是一個由100個整型數(shù)組成的數(shù)組,其中第7個元素表示尺寸的公差類型,若MPI[6]=1,則該尺寸屬于未注公差類型;MPR是一個由70個雙精度實型數(shù)組成的數(shù)組,其中第25、26個元素便是尺寸對象的上、下公差值[7]。最后利用UF_OBJ_set_color()函數(shù)將未注公差尺寸對象設(shè)置為紅色,可以更直觀顯示出未注公差尺寸信息。
(3)公差數(shù)據(jù)庫訪問與公差值提取。
通過MFC ODBC類建立與公差數(shù)據(jù)庫的連接,根據(jù)未注公差尺寸對象的類型和基本尺寸值,以及孔、軸類尺寸的公差等級通過SQL語句從數(shù)據(jù)庫中提取出對應(yīng)尺寸的公差值,存入相應(yīng)變量中。
(4)檢測模型未注公差完善。
利用命名空間Annotations中LinearTolerance的SetTolerance方法將公差數(shù)據(jù)庫提取的公差數(shù)據(jù)賦值到對應(yīng)的尺寸對象上,并設(shè)置為對應(yīng)的公差類型。然后,通過UF_DISP_refresh()函數(shù)刷新當前模型顯示,在對話框列表控件中顯示處理后的尺寸公差數(shù)據(jù)。
(5)處理結(jié)果導(dǎo)出。
通過UF_UI_open_listing_window()函數(shù)打開Unigraphics信息窗口,利用UF_UI_write_listing_window()函數(shù)將前面幾個過程記錄的未注公差尺寸對象信息、尺寸數(shù)據(jù)和完善后的公差數(shù)據(jù)寫入信息窗口,用戶可以根據(jù)需要對處理結(jié)果進行輸出和保存。
原始檢測模型如圖3所示。在傳統(tǒng)的檢測模式中,檢測人員需要逐條檢查模型中的尺寸公差信息,篩選出需要檢測但是未注公差的尺寸標注,手工查閱一般公差標準,對檢測模型的未注公差進行完善,并將修改信息記錄歸檔。根據(jù)現(xiàn)場測試,普通操作水平的檢測員完成整個過程耗時115.19s。
通過未注公差處理模塊,在對話框中點擊“檢索”按鈕,從顯示列表中可以得到該模型所有的尺寸公差信息,包括3個長度類尺寸、2個軸類尺寸和2個孔類尺寸,其中有3個尺寸屬于未注公差類型,分別為軸類尺寸φ20mm、孔類尺寸φ15mm和長度尺寸80mm,在模型中已用紅色突出顯示。根據(jù)設(shè)計要求選用公差等級為“Ⅱ”,點擊“處理”按鈕,程序從公差數(shù)據(jù)庫中提取對應(yīng)的公差數(shù)據(jù),分別為單向下偏差-0.33mm、單向上偏差0.27mm和極限偏差±0.37mm,并對模型中對應(yīng)的未注公差進行自動完善,最后通過“導(dǎo)出”按鈕將修改信息導(dǎo)出歸檔,處理后的檢測模型如圖4所示。根據(jù)現(xiàn)場測試,普通操作水平的操作員完成整個過程耗時12.35s。
圖3 原始檢測模型Fig.3 Original inspection model
圖4 處理后的檢測模型Fig.4 Processed inspection model
經(jīng)過驗證,基于UG的檢測模型未注公差自動完善方案可以快速、準確地提取檢測模型的線性尺寸未注公差,并根據(jù)數(shù)據(jù)庫中的一般公差標準對未注公差進行自動完善,有效解決了檢測模型線性尺寸未注公差問題,大大減少了檢測人員的手工勞動,也避免了手工操作可能產(chǎn)生的失誤,有效縮短了零件檢測的輔助時間。同時,本文提出的檢測模型未注公差研究方案可以用于解決其他尺寸類型的未注公差問題,對數(shù)字化檢測技術(shù)的發(fā)展具有一定意義。
[1]張少擎.基于MBD的數(shù)字化零件檢測技術(shù)研究[J].航空制造技術(shù) , 2014(21):89-92.
ZHANG Shaoqing.Research on digital part inspection based on MBD[J].Aeronautical Manufacturing Technology, 2014(21):89-92.
[2]梁勤,張浩波,王強.基于MBD的數(shù)字化檢測平臺集成與應(yīng)用研究[J].航空精密制造技術(shù), 2014(1):43-45.
LIANG Qin, ZHANG Haobo, WANG Qiang.Digital inspection platform integration and application research base on MBD[J].Aviation Precision Manufacturing Technology, 2014(1):43-45.
[3]王乃成.尺寸公差的一般公差新國標實施簡介[J].航天標準化 , 2002(2):15-16.
WANG Naicheng.Implementation of new national general tolerance standards[J].Space Standardization, 2002(2):15-16.
[4]黃勇,張博林,薛運峰.UG二次開發(fā)與數(shù)據(jù)庫應(yīng)用基礎(chǔ)與典型范例[M].北京:電子工業(yè)出版社, 2008.
HUANG Yong, ZHANG Bolin, XUE Yunfeng.UG secondary development and foundation of database application with typical examples[M].Beijing: Electronic Industry Press, 2008.
[5]甘永立.幾何量公差與檢測[M].上海: 上??茖W(xué)技術(shù)出版社, 2010.
GAN Yongli.Geometric tolerance and detection[M].Shanghai:Shanghai Science and Technology Press, 2010.
[6]龐廣智,任家駿,吳鳳林,等.基于UG/Drafting的公差標注系統(tǒng)開發(fā)研究[J].機械管理開發(fā), 2009, 24(3):148-149.
PANG Guangzhi, REN Jiajun, WU Fenglin, et al.Development on tolerance marking system based on UG/drafting [J].Mechanical Management and Development, 2009, 24(3):148-149.
[7]董正衛(wèi),田立中,付宜利.UG/OPEN API 編程基礎(chǔ)[M].北京:清華大學(xué)出版社,2002.
DONG Zhengwei, TIAN Lizhong, FU Yili.UG/OPEN API programming basis[M].Beijing: Tsinghua University Press, 2002.