隨著航空制造技術(shù)的不斷發(fā)展,國際航空市場的競爭將日趨激烈。當(dāng)今,產(chǎn)品質(zhì)量已從競爭的“獲勝標(biāo)準(zhǔn)”演變?yōu)楦偁幍?ldquo;資格標(biāo)準(zhǔn)”,而且,飛機具有高安全、高可靠性的要求,因此,航空產(chǎn)品的質(zhì)量異常重要。三坐標(biāo)測量機作為現(xiàn)代化先進檢測設(shè)備之一,被廣泛地應(yīng)用到飛機零部件及其工裝的檢測中。需要使用CMM檢測的零部件數(shù)量正在急劇增加,以上海飛機制造有限公司的工裝零部件的檢測為例,2010~2012年期間用CMM檢測的零部件數(shù)量多達2000多件(不包括飛機本體件的測量數(shù)量)。
每件產(chǎn)品的測量都需要編制坐標(biāo)測量機測量計劃,其中包括產(chǎn)品被測點的坐標(biāo)值及方向矢量值的提取工作。當(dāng)被測點數(shù)量眾多的時候,數(shù)值的提取將花費很多時間,通常提取100點的數(shù)值需要1h左右。數(shù)值提取工作在CATIA操作平臺中進行,提取過程是一系列的反復(fù)重復(fù)操作,而CATIA為用戶提供了Visual Basic、VC++二次開發(fā)接口(Automation API),其中VC++就包含2種方法,這使點數(shù)值的自動提取成為可能。點數(shù)值自動提取可以提高工作效率,在生產(chǎn)任務(wù)緊迫的情況下其效果尤為顯著,可以縮短零部件的交付周期。
本文對點數(shù)據(jù)的提取過程及CATIA的相關(guān)操作命令進行了細致的分析,整理出了數(shù)據(jù)自動提取的構(gòu)思。文中對CATIA提供的關(guān)于點數(shù)據(jù)提取的二次開發(fā)接口函數(shù)的功能進行了探索,找出了數(shù)據(jù)提取的最佳函數(shù)及途徑,最終,通過VB完成了數(shù)據(jù)提取程序的編制。
數(shù)據(jù)提取的第一個關(guān)鍵點:獲取被提取數(shù)據(jù)點的關(guān)聯(lián)面、關(guān)聯(lián)線/軸線。手動采集方向矢量時,可以目視并選取被測點的關(guān)聯(lián)元素(線、面),但計算機如何判斷被測點的關(guān)聯(lián)元素呢?文中分析了獲得面點的方向矢量關(guān)聯(lián)面的方法及獲取孔點的方向矢量關(guān)聯(lián)線/軸線的方法,從而為點數(shù)據(jù)的自動提取奠定了基礎(chǔ)。
數(shù)據(jù)提取的第二個關(guān)鍵點:自動尋找、判斷點的測量矢量方向(即三坐標(biāo)測量機的測量方向)。點沿直線可以有相反的2個矢量方向,文中提出了判斷正確矢量方向的方法。
本文還敘述了數(shù)據(jù)提取過程中輔助設(shè)置被測點的方法以實現(xiàn)被測點的快速、準(zhǔn)確、方便的設(shè)置,也對通過VB語言實現(xiàn)坐標(biāo)轉(zhuǎn)換的方法進行了說明,這些方法都來自于工作實踐中的摸索與思考。
CMM檢測點數(shù)據(jù)常規(guī)獲取方法介紹
點數(shù)據(jù)常規(guī)獲取方法(需要CATIA具有高級機械加工模塊)流程如圖1所示。
圖1 常規(guī)點數(shù)據(jù)獲取方法流程圖
1.設(shè)置被測點
使用CATIA的“點”命令,選取孔、曲面、平面、軸線等,在數(shù)模上建立需要測量的點。重復(fù)上述操作,完成所有點的設(shè)置。
2.打孔點
(1)切換到CATIA的高級機械平臺,雙擊CATIA結(jié)構(gòu)樹上的“Part Operation”以彈出窗口。點擊彈窗按鈕“Machine”,然后點擊按鈕“5-axis Machine”,點“確定”。點擊按鈕“Reference Machining Axis System”,并確定原點及X、Y、Z軸的方向(點彈窗中的原點/軸,再在數(shù)模中選擇元素作為原點/軸),點“確定”關(guān)閉彈窗。
(2)點CATIA的工具條按鈕“Spot Drilling”,點數(shù)模,彈出點鉆窗口。點彈窗圖形上的“Click to Select a Part Surface”,然后在數(shù)模上選取確定方向矢量的支撐面,點按鈕“OK”返回(或鼠標(biāo)雙擊數(shù)?臻g空白處返回)。點彈窗圖形上的“Click to Add Position”,并在數(shù)模中選取上述中設(shè)置的點,雙擊數(shù)模空間空白處返回。右鍵點擊“Fixed Axis”,在彈出菜單中點選“Normal To PS Axis”,以使方向矢量垂直于支撐面。點擊彈窗圖形上的方向箭頭“Click to Invert the Tool Axis”,并觀察數(shù)模窗口中的矢量方向指示箭頭,確保矢量方向指向產(chǎn)品內(nèi)部。在彈窗中切換第1個復(fù)合窗口,然后取消選擇框“Output CYCLE syntax”中的勾選,并將“ApprOAch clearance”設(shè)置為0。
(3)重復(fù)步驟(2),逐個完成所有點的方向矢量的設(shè)置。
3.數(shù)據(jù)輸出及選取
點擊CATIA工具條命令“Generate NC Code in Batch Mode”以輸出文本文件,然后用記事本打開輸出的文本文件,并從中挑選出需要的坐標(biāo)、矢量數(shù)據(jù)。
總之,手工采點的整個過程有很多重復(fù)、繁瑣的工作,特別是當(dāng)采點數(shù)量多時,工作量很大。
CMM檢測點數(shù)據(jù)自動提取技術(shù)的實現(xiàn)
1.檢測點數(shù)據(jù)自動提取流程分析
讀取/識別數(shù)模幾何圖形集上設(shè)置的被測點,分析點并找出其關(guān)聯(lián)元素(支撐元素),根據(jù)屬性判斷關(guān)聯(lián)元素的類型(面、圓、橢圓)。根據(jù)面、圓、橢圓的性質(zhì),分別繪制確定點方向矢量的直線。通過相關(guān)接口函數(shù)得到原始坐標(biāo)系下點的坐標(biāo)值及方向矢量值,通過坐標(biāo)轉(zhuǎn)換運算,獲得指定坐標(biāo)系下的坐標(biāo)值及方向矢量值。按CMM需求的格式輸出文本。以上過程由計算機自動完成。流程見圖2。
圖2 數(shù)據(jù)提取流程圖
2.點數(shù)據(jù)自動提取關(guān)鍵功能的實現(xiàn)
(1)提高設(shè)置被測點的效率。
通過Catia.StartCommand(“點”)、 Catia.StartCommand(“軸線... ”)、Catia.StartCommand(“填充”)語句,實現(xiàn)建立被測點時,智能打開CATIA的建面點及孔點窗口,輔助被測點的建立,以快速完成被測點的設(shè)置。此外,可以增加點距限制功能,在設(shè)置面點時,通過HybridShapes.Item(i).Offset.Value自動限制新設(shè)置點與上一個設(shè)置點的距離,從而確保設(shè)置的點距滿足相關(guān)規(guī)范的要求。“點”、“軸線...”、“填充”等來源于CATIA的“自定義”窗口中的“命令”中的“所有命令”,當(dāng)然,在此窗口中自定義的別名也同樣有效。
(2)確定提取程序能識別的確定被測點方向矢量的關(guān)聯(lián)元素。
讓程序識別出被測點的確定點方向矢量的關(guān)聯(lián)元素是提取技術(shù)的關(guān)鍵之一。CATIA建點有如下特點:被建點與數(shù)模零件不屬于同一零件時,建點時CATIA會自動提取點的關(guān)聯(lián)面、線等到被建點所在的零件中。利用此特性,在數(shù)模產(chǎn)品中新建零件clsj.CATPart(程序自動完成),將所有被測點全部建立在此零件中(即在建點時激活該零件),如圖3所示,“點.1”是手工建立的,“曲面.1”是CATIA自動產(chǎn)生的輔助元素。
圖3 建立新零件讓CATIA自動建立關(guān)聯(lián)面
(3)使程序在CATIA或DELMIA下都能運行。
使用下列語句,實現(xiàn)程序在CATIA或DELMIA環(huán)境下都能運行。其中“If”語句很關(guān)鍵,當(dāng)你沒打開CATIA,而打開DELMIA時,“If”語句的條件的判斷將為真,此后,將執(zhí)行“Set catia=GetObject(, “DELMIA.Application”)”語句,而使程序與DELMIA建立通信聯(lián)系。
Dim catia As Object
Set catia=GetObject(,“CATIA.Application”)
If catia Is Nothing Or Len(catia.Caption)=0 Then
On Error Resume Next
Set catia=GetObject(,“DELMIA.Application”)
End If
Set GetCATIA=catia
(4)確定方向向量。
首先,要建立確定方向向量的直線,相關(guān)接口的函數(shù)
為AddNewPointOnPlane、AddNewPointOnSurface、AddNew PointOnCurveWithReferenceFrom Distance及AddNewLinePtPt、AddNewLinePtDir等。
其次,進行方向向量方向的判斷。通過方向指引線末端點到數(shù)模實體的距離判斷方向向量的方向。實現(xiàn)方式:通過端點繪制半徑為0.0005mm的球面,然后通過函數(shù)cat DistanceComputationTypeAgainstAll計算球到數(shù)模的距離,此距離與指引線長度進行比較后可確定被測點方向向量的正確方向;此外,也可以利用孔軸線的開始點、中點、結(jié)束點判斷方向,使用接口函數(shù)GetPointsOnCurve可以得到軸線的上述3個點的坐標(biāo)值,計算被判斷點到軸線開始點的距離,距離大者為需要的確定方向向量的點。
最后,可以通過接口函數(shù)GetXVal、GetYVal、GetZVal分別獲取指引線相對于原始坐標(biāo)系的方向向量的X、Y、Z方向的雙精度分向量值,此方向代表坐標(biāo)測量機測針的運行方向,但其坐標(biāo)系是原始坐標(biāo)值。
(5)進行坐標(biāo)轉(zhuǎn)換。
使用CATIA的接口函數(shù)“GetPoint”、“GetAxisSystem”及“GetXVal”、“GetYVal”、“GetZVal”可以讓程序自動得到點的坐標(biāo)值及方向矢量值。由于使用接口函數(shù)得到的點坐標(biāo)/方向向量值都是相對于原始坐標(biāo)系的,因此,需要對坐標(biāo)進行轉(zhuǎn)換,將原始坐標(biāo)系坐標(biāo)值轉(zhuǎn)換為指定坐標(biāo)系下的坐標(biāo)值。
坐標(biāo)轉(zhuǎn)換方法:針對數(shù)模零件“Part1”,設(shè)O軸系統(tǒng)為零件“Part1”的原始坐標(biāo)系,O1軸系統(tǒng)為零件“Part1”的軸系統(tǒng)1,X0、Y0、Z0與X1、Y1、Z1分別為O1軸系統(tǒng)的原點Q1、空間點P在原始坐標(biāo)系下的坐標(biāo)值,目標(biāo)是求點P在軸系統(tǒng)1下的坐標(biāo)值X、Y、Z。
通過VXx=CATIA.ActiveDocument. Part.Parameters.Item(“Part1\軸系統(tǒng).1\X 軸\X”).Value語句(注:“Part1\軸系統(tǒng).1\X 軸\X”是根據(jù)CATIA中樹結(jié)構(gòu)中的軸系統(tǒng)參數(shù)構(gòu)建的,需與CAITA的用戶界面語言相符,當(dāng)CATIA的用戶界面語言選擇英語時,則應(yīng)為“Part1\ AxisSystem.1\XAxis\X”)可以得到零件“Part1”的“軸系統(tǒng).1”的X′軸方向的單位向量沿原始坐標(biāo)系X軸的分向量VXx。同理可得Y′軸方向的單位向量沿原始坐標(biāo)系X軸的分向量VYx。從而可求出“軸系統(tǒng).1”各軸方向的單位向量在原始坐標(biāo)系上的各分向量為:VXx、VXy、VXz、VYx、VYy、VYz、VZx、VZy、VZz。Xo、Yo、Zo與X1、Y1、Z1可通過CATIA接口函數(shù)直接獲取。分別求向量O1P在原始坐標(biāo)系下的各分向量,可得下列方程組:
求解上述方程組,可以得到P點從原始坐標(biāo)系轉(zhuǎn)換到軸系統(tǒng)1后的坐標(biāo)值X、Y、Z。將坐標(biāo)轉(zhuǎn)換編制成子函數(shù),以便于坐標(biāo)轉(zhuǎn)換時調(diào)用。
(6)點的方向、取點路徑方向及方向向量的調(diào)整。
通過Catia.StartCommand(“ACA Invert”),實現(xiàn)點的方向向量(如圖4左圖所示,圖中的箭頭方向即為點的方向向量的方向)及取點路徑順序方向的顯示,這種顯示便于截取形象的示意圖。方向向量的調(diào)整:通過Set hybridShapeInverse1=hybridShapeFactory1.AddNewInverse(reference1,1)及 hybridBody1.AppendHybridShape hybridShapeInverse1實現(xiàn)給方向線(reference1)添加反轉(zhuǎn)線,然后,使用Timer過程監(jiān)控反轉(zhuǎn)線的方向,當(dāng)發(fā)現(xiàn)方向變化時,使程序控制數(shù)模做相應(yīng)的變化,并重新提出該點的方向向量,對孔點同時提取新的點坐標(biāo),從而實現(xiàn)對已提取數(shù)據(jù)的點的方向向量的正反調(diào)整。
圖4 方向的顯示(左)及方向向量正反調(diào)整(右)
點數(shù)據(jù)自動提取程序介紹
程序界面及最終輸出數(shù)據(jù)(點坐標(biāo)、方向矢量、對于孔還將輸出孔半徑)如圖5所示。
圖5 界面及輸出數(shù)據(jù)文件
自動提取被測點坐標(biāo)、方向矢量的操作說明:點“創(chuàng)建”;通過“取點軸系統(tǒng)”選擇測量坐標(biāo)系;點“提示”(包含輔助設(shè)置點的功能),并按提示信息在數(shù)模上設(shè)置面或孔的被測點;使用“捕獲”自動生成被測點的坐標(biāo)值及方向矢量;觀察方向向量箭頭,看測點的方向向量是否正確,然后關(guān)閉Invert窗口,對可能不正確的方向向量進行雙擊激活并取反;點“隱藏引線”以隱藏指引線并顯示取點的順序箭頭;最后點“輸出”得到需要的點坐標(biāo)及方向矢量數(shù)據(jù)文本文件。
點數(shù)據(jù)自動提取程序的3個顯著優(yōu)點是:第一,它能夠輔助計劃人員設(shè)置被測點,程序?qū)⒆詣诱{(diào)出設(shè)置面點、孔點的對話窗口,按需自動限制所取面點的點距,很大程序上提高了點的設(shè)置效率,并增加了“確定”按鈕快捷鍵,進一步方便了操作;第二,它優(yōu)化了孔點的操作,手動操作時,需要設(shè)置孔點的下沉量及輔助平面,當(dāng)需要測量垂直度時,還需要設(shè)置2個下沉點及輔助平面,使用自動提取程序則只需要設(shè)置1個點且不需要輔助平面,計劃員按程序提示選擇需要提取1個或2個孔點;第三,它能夠根據(jù)設(shè)置的點自動提取點坐標(biāo)和方向矢量,避免了繁瑣的“打孔點”操作和數(shù)據(jù)的篩選工作。這些優(yōu)點實現(xiàn)了點坐標(biāo)及矢量值的快速提取,避免了人為的操作失誤,極大提高了采集數(shù)據(jù)的效率和準(zhǔn)確性。
結(jié)束語
隨著飛機設(shè)計水平、制造技術(shù)水平的提高,飛機零部件的制造精度要求也將越來越高,需要進行坐標(biāo)測量機測量的零部件數(shù)量也將不斷增多。三坐標(biāo)測量機以其高精度、高柔性及優(yōu)異的數(shù)字化能力,成為現(xiàn)代制造業(yè)尤其是模具工業(yè)設(shè)計、開發(fā)、加工制造和質(zhì)量保證的重要手段。充分分析各數(shù)字化檢測系統(tǒng)的性質(zhì)及各應(yīng)用軟件的功能,結(jié)合應(yīng)用程序提供的二次開發(fā)接口進行開發(fā),可以定制符合使用需求的便捷功能,還可以將統(tǒng)計過程控制SPC數(shù)據(jù)分析技術(shù)結(jié)合進來,并有利于生產(chǎn)效率的提升。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:CATIA模型中測量數(shù)據(jù)的提取技術(shù)
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/14019315436.html