段 維
(威馬汽車技術(shù)有限公司成都研究院,四川 成都 610100)
在驅(qū)動軸的滑移率校核時,主要關(guān)注驅(qū)動軸內(nèi)、外球籠在隨懸架運動過程中的最大擺動角度,以及內(nèi)球籠鉸接點的滑移量。在懸架的DMU運動模型當中,首先測量外球籠的擺動角度、內(nèi)球籠的擺動角度以及內(nèi)球籠鉸接點與參考點的距離,再在命令驅(qū)動窗口當中激活上述外球籠角度、內(nèi)球籠角度、內(nèi)球籠滑移點距離共三個測量的傳感器。然后,在我們按需將驅(qū)動命令拖動到各個極限位置時,上述角度與距離會按步變化,同時,每一步的具體值將被記錄,最終可通過Excel表格進行輸出,再進行后續(xù)的處理與分析。在獲取數(shù)據(jù)表格的過程中,上述方式需要進行多步的操作,十分繁瑣。若考慮左、右驅(qū)動軸,動力總成的28工況,工作量將成倍增加。
本文以VB為開發(fā)工具,基于CATIA的自動化接口,對CATIA進行二次開發(fā),將上述驅(qū)動軸的滑移率校核的操作以程序進行打包,用戶僅需要選擇并輸入簡單的參數(shù),即可得到內(nèi)、外球籠夾角及滑移隨懸架運動的變化的Excel表格。同時,可以快速獲得最大夾角與最大滑移量。
CATIA是法國達索公司開發(fā)的CAD/CAE/CAM一體化軟件,它不僅僅是一款優(yōu)秀的計算機輔助設(shè)計軟件,用戶可以直接使用它內(nèi)部的豐富的命令,同時,它還為用戶提供了多種二次開發(fā)的接口,如自動化對象編程(V5 Automation)和開放的基于組件的應(yīng)用程序編程(CAA),使得用戶可以自定義更符合自己習慣與專業(yè)的工具。
本文主要是用VB進行自動化對象編程。在CATIA的安裝目錄下可以很輕松找到 V5Automation.chm文件。在該文件中,我們可查詢到CATIA各個自動化對象的名稱以及其對應(yīng)的屬性及方法。本文涉及到的自動化對象主要有:ProductDocument對象,Selection 對象(圖 1), SPAWorkbench(圖2)對象以及AnyObject對象中的Mechanism(圖3)對象。
圖1 CATIA自動化對象樹結(jié)構(gòu)
圖2 CATIA自動化對象SPAWorkbench對象樹結(jié)構(gòu)
用Item的方法遍歷集合下的所有子元素;使用Selection對象中的 SelectElement3方法進行人機的交互選擇;使用SPAWorkbench工作臺中的GetMeasurable方法獲取點坐標、直線間的角度等;在 Mechanism對象中使用 PutCommand Values方法給懸架DMU運動模型的驅(qū)動命令賦值。具體的自動化對象結(jié)構(gòu)樹見圖。
在運行程序之前,需要對懸架DMU運動模型進行預(yù)處理。以前驅(qū)車,前轉(zhuǎn)向為例:
(1)DMU運動模型中驅(qū)動命令須有且僅有3個,即:轉(zhuǎn)向驅(qū)動,左側(cè)跳動驅(qū)動,右側(cè)跳動驅(qū)動,且三個驅(qū)動命令的順序依次為轉(zhuǎn)向驅(qū)動、左側(cè)驅(qū)動、右側(cè)驅(qū)動;
(2)驅(qū)動軸內(nèi)球籠中心線應(yīng)為左、右球籠鉸接點的連線的延長線,延長的距離為定長即可,這將作為程序的輸入。
以上預(yù)處理為二次開發(fā)的程序結(jié)構(gòu)所要求,并不是在每次運行程序時都需要進行處理。而是在每一個項目的 DMU運動模型的搭建時形成以上的規(guī)范,這在公司的規(guī)范化建設(shè)上是非常容易實現(xiàn)的。
驅(qū)動軸運動分析主要需要獲取驅(qū)動軸在各個極限狀態(tài)下的內(nèi)、外球籠夾角以及內(nèi)球籠的滑移量。通過依次做出懸架運動的極限狀態(tài):內(nèi)轉(zhuǎn)極限、下極限→外轉(zhuǎn)極限、下極限→外轉(zhuǎn)極限、上極限→內(nèi)轉(zhuǎn)極限、上極限→內(nèi)轉(zhuǎn)極限、下極限,達到一個循環(huán),再在其中選取若干個分步點,具體點的數(shù)量視分析的精度而定,進而得到各個分步點下對應(yīng)的外球籠夾角、內(nèi)球籠夾角以及內(nèi)球籠的滑移量。
首先,在程序的輸入 UI界面中,我們需要用戶判斷進行分析的是左側(cè)驅(qū)動軸還是右側(cè)驅(qū)動軸,另外,需要用戶輸入如2中(2)所述的延長線的距離。如圖4所示。
圖4 程序輸入界面
程序運行后,進入設(shè)計模式,程序?qū)⑻崾居脩粢来芜x擇懸架DMU運動模型中的外球籠中心線、驅(qū)動軸軸桿中心線、內(nèi)球籠中心線。程序會按設(shè)定的分步依次對懸架DMU施加驅(qū)動命令,并分別測量當前驅(qū)動命令下的外球籠中心線與軸桿中心線的夾角(即外球籠夾角),軸桿中心線與內(nèi)球籠中心線夾角(即內(nèi)球籠夾角),以及軸桿中心線內(nèi)側(cè)端點坐標和內(nèi)球籠中心線端點的坐標。內(nèi)球籠中心線端點與軸桿內(nèi)側(cè)端點的距離即為當前狀態(tài)下的滑移狀態(tài),再用上文所述延長線的距離減去此距離,即為當前狀態(tài)下的內(nèi)球籠滑移量,其中滑出為正值,滑入為負值。再將各個結(jié)果與對應(yīng)的最大值進行比較,若最大值比該結(jié)果小,則將該結(jié)果重新賦值給最大值。同時,將各個分步的各個結(jié)果存放于Excel中。程序輸出的界面如圖5。
圖5 程序輸出界面
程序的主流程圖如圖6。
圖6 主程序流程圖
將程序參數(shù)關(guān)聯(lián)用戶輸入?yún)?shù):
獲取當前的product文件對象:
獲取機械裝置對象并獲取轉(zhuǎn)向齒條行程及輪跳上、下極限行程:
進行人機交互選擇并賦值:
創(chuàng)建所選擇軸線的參考,由于在 product文件對象中,需要區(qū)別于part文件對象中的參考的創(chuàng)建:
給懸架DMU運動模型進行賦值:
獲取文件對象下的測量工具,測量角度與點的坐標:
將坐標點轉(zhuǎn)換為滑移量:
最大值的判斷并輸出到用戶UI輸出界面:
表1 輸出Excel部分結(jié)果
在利用VB進行CATIA的二次開發(fā)后,利用程序?qū)︱?qū)動軸的運動分析便變得異常簡單。設(shè)計人員僅需向程序輸入兩個值:驅(qū)動軸位置及驅(qū)動軸內(nèi)球籠中心線延長線的延長量;并在程序開始后選擇外球籠中心線、驅(qū)動軸軸桿中心線以及內(nèi)球籠中心線,其余的分析過程均由程序來完成。校核過程簡單,工作效率顯著提高。設(shè)計人員可以將更多的精力專注于驅(qū)動軸運動的結(jié)果分析上,在現(xiàn)實工作中有較大的應(yīng)用價值。
此外,將原來復雜的分析校核過程用程序進行固化,不僅使得整個過程更加規(guī)范,也使得人為犯錯率大大的下降。即使是對CATIA數(shù)字樣機不熟悉的設(shè)計人員,也可以通過此程序順利地完成驅(qū)動軸的運動分析,具有較大的實際價值。