楊洪云,萬剛,陳琪,施正生
(上汽依維柯紅巖商用車有限公司技術中心,重慶 401122)
商用車DMU工具研究與開發(fā)
楊洪云,萬剛,陳琪,施正生
(上汽依維柯紅巖商用車有限公司技術中心,重慶 401122)
通過研究CATIA的二次開發(fā)功能,結合Visual Basic 6.0開發(fā)工具,編寫DMU工具,并利用其實現對各種結構平衡懸架的自動化裝配和運動分析,從而使設計效率和開發(fā)周期都大幅縮短,降低開發(fā)成本。
二次開發(fā);裝配;CATIA;Visual Basic;Publication
10.16638/j.cnki.1671-7988.2016.01.028
CLC NO.:TG156 Document Code:A Article ID:1671-7988(2016)01-79-04
在當今汽車產品的設計開發(fā)中,有很多模塊已逐漸地發(fā)展成為成熟的結構,如商用車領域的平衡懸架、乘用車領域的麥佛遜懸架等。由于現今汽車產品配置的發(fā)展呈現出多樣化的趨勢,使得在產品的設計開發(fā)過程中,設計人員不可避免地需要做大量重復性的工作,例如對于同一種平衡懸架匹配不同類型的驅動橋時,就需要反復地對平衡懸架進行裝配、運動分析和裝車驗證。鑒于如今大部分汽車廠都采用CATIA軟件作為主要的設計開發(fā)工具,因此,如何利用CATIA實現產品的智能化裝配功能,成為解決這些問題的關鍵點。
CATIA的二次開發(fā)接口是一個COM服務器,利用VB中的對象作為客戶端與CATIA進程進行進程間的通信,操作CATIA進程中的函數,訪問其中的數據。而VB提供的一組具有相關關系的對象形成一個抽象層,使得用戶可以在不了解COM底層通信方法的情況下,方便地對CATIA進程進行操作。
CATIA.Application對象:該對象實例是系統(tǒng)中CATIA進程的代表,所有其他的對象都依賴于該對象的相關方法返回。在CATIA進程已經 啟動的情況下,CATIA.Application對象的實例可以以“CATIA.Application”字符串調用全局工廠函數CetObject獲 得,可以將獲得的對象付給一個變量Set CATIA= GetObject(“CATIA.Application”)。當CATIA進程沒有啟動時,可以調用全局工廠函數CreateObject函數帶“CATIA.Application”字符串獲得,并把其賦給變量Set CATIA=CreateObject(“CATIA.Application”)。最終,獲得的CATIA.Application對象存在CATIA 變量中。
Document對象:Document類的對象代表進程中打開的CATIA文檔,Document類是其他文檔類的基類,從CATIA.Application對象的ActiveDocument方法獲得當前激活的文檔,本次主要使用的到其子類ProductDocument 的對象,并將其賦值給一個變量以便以后使用。Set product Document=CATIA.ActiveDocument。后續(xù)的對象都要從該ProductDocument對象中獲取。
ActiveX Automation是一套微軟標準,以前通常稱為OLE Automation,該標準允許通過外顯(exposed)的對象,由一個Windows應用程序控制另一個Windows應用程序。Windows自身允許在同一時間內執(zhí)行多個應用程序,ActiveX Automation則主要處理它們之間的通信問題,每一個應用程序都可以訪問其他應用程序所暴露的信息。
ActiveX Automation所涉及的一個主要問題是兩個應用程序之間的對話問題,但兩個應用程序之間并不是一種對等的關系。ActiveX Automation和每個部分所涉及到的兩個應用程序所起的作用是不同的。客戶機是對話的發(fā)起端,而服務器則是對話的響應端,對客戶機作出響應。ActiveX Automation代碼主要在客戶機上運行,但其功能是在服務器實現的。
每個ActiveX Automation操作過程都分3步:當有一個應用程序耍進行ActiveX Automation操作時,該程序就以客戶機模式進行對話呼叫,而另一個被它所訪問的應用程序以服務器的模式響應。對話開始后,客戶機模式應用程序運行一些包括服務器命令的代碼。在使用時,則由客戶機應用程序決定具體使用哪個命令。于是ActiveX Automation的相應命令被傳送到服務器模式應用程序,服務器模式應用程序按照客戶機模式應用程序的要求完成特定的任務??蛻魴C模式應用程序可以繼 續(xù)發(fā)出其他的執(zhí)行命令,直到整個任務完成為止。
CATIA支持ActiveX Automation標準,可完全實現ActiveX Automation自動化。
Visual Basic 6.0是Microsoft公司推出的面向對象的可視化編程工具。VB具有快速的程序開發(fā)環(huán)境,界面設計操作簡單,代碼編寫量小,用戶可以很方便地直接改動界面。由于CATIA加人了ActiveX自動化服務功能,而VB又是最為常用的支持ActiveX技術的開發(fā)工_具,以它作為開發(fā)工具,可使 CATIA與其他Windows程序的數據共享變得非常容易。
4.1 引用CATIA庫文件
在Visual Basic 6.0環(huán)境下對CATIA進行二次開發(fā)之前,需要引用CATIA的全部庫文件(圖1)。
圖1 引用CATIA庫文件
4.2 發(fā)布參考元素
利用CATIA的Publication技術,將零件上需要創(chuàng)建約束的點、線、面參考元素進行發(fā)布,方便在創(chuàng)建裝配約束時調用(圖2)。
圖2 發(fā)布參考元素
4.3 程序設計思路
首先需要檢測CATIA對象是否存在,若不存在則需要創(chuàng)建CATIA對象,在獲得CATIA對象后,再獲取當前工作區(qū)的Product文檔對象,定義零部件產品對象,對零部件產品對象實例化,再定義參考元素對象,對參考元素實例化,最后以Publication發(fā)布元素作為參考元素,利用庫文件中的裝配函數對參考元素創(chuàng)建相應的裝配約束(圖3)。
圖3 程序流程圖
4.4 程序UI界面設計
利用Visual Basic 6.0編程工具編寫用戶UI界面,在程序界面上放置若干Textbox控件,用以接受用戶的輸入,這些輸入信息包括:零部件在裝配中的實例名稱、發(fā)布元素的名稱、懸架高度等。在裝配環(huán)境下的運動仿真中,還需要提供運動步數、單步延時的設置選項,以此實現運動仿真精確性和連續(xù)性的調節(jié),并且在運動仿真的過程中,需要隨時觀察某一個狀態(tài)的間隙、干涉情況,因此有必要增加程序的暫停和停止功能(圖4)。
圖4 程序UI界面
4.5 編寫程序代碼
4.5.1 獲取CATIA對象
4.5.2 獲取當前CATIA工作區(qū)的裝配文檔
4.5.3 定義零部件產品對象并對其實例化
4.5.5 對參考元素創(chuàng)建裝配約束
4.5.6 釋放對象,清理內存
程序運行結束后裝配約束已自動創(chuàng)建好,更新約束后,所有零部件均會裝配到正確位置上(圖5)。
圖5 平衡懸架自動裝配結果
裝配約束創(chuàng)建完成后,可以通過設定驅動命令名稱、最小值、最大值、步數和單步延時來對產品進行運動仿真,比如設置驅動命令為驅動橋軸線到車架下平面的懸架高度值來模擬驅動橋的跳動過程,在此過程中,可以清晰的觀察到橋上零部件、穩(wěn)定桿的運動狀態(tài)和軌跡,直觀的進行仿真。
模擬車輛通過地面凸起物的跳動運動(圖6):
圖6 平衡懸架跳動仿真
模擬車輛通過地面凸起物的對扭運動(圖7):
圖7 平衡懸架對扭仿真
針對汽車設計開發(fā)過程中DMU的重復性工作,通過研究的CATIA二次開發(fā)功能并結合Visual Basic 6.0開發(fā)工具,成功的開發(fā)出一款DMU自動化裝配軟件,實現了平衡懸架快速裝配和運動仿真的目的,有效提高產品開發(fā)效率、降低開發(fā)成本。
[1] 彭歡. 基于V5 Automation的CATIA二次開發(fā)技術研究[J]. 電子機械工程,2012,02:61-64.
[2] 李維學,王仲奇,康永剛,殷俊清. 基于CATIA V5二次開發(fā)的產品自動裝配[J]. 機械制造,2010,01:40-43.
[3] 陳振藝. 用VB對Catia軟件進行簡單的二次開發(fā)[J]. 輪胎工業(yè), 2010,12:746-750.
[4] 趙禮東. 重型汽車多軸平衡懸架運動分析及仿真[D].武漢理工大學,2004.
DMU software research and development on commercial vehicle
Yang Hongyun, Wan Gang, Chen Qi, Shi Zhengsheng
( Saic-iveco Hongyan Commercial Vehicle Co., Ltd., Technical Center, Chongqing 401122 )
This article introduces the process of designing and developing a DMU application software by studying the CATIA re-development function and utilizing the Visual Basic 6.0 programming tool to realize the automatically assembly method and kinematic analysis of variants of balanced shaft suspension so as to improve the designing efficiency, to shorten the product development cycle and to reduce the developing costs.
Re-development; Assembly; CATIA; Visual Basic; Publication
TG156
A
1671-7988(2016)01-79-04
楊洪云,就職于上汽依維柯紅巖商用車有限公司技術中心,DMU工程師。主要研究方向為商用車DMU。