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