周程+鄭松林
摘 要:在碰撞仿真分析中,整車建模過程繁瑣。導入整車幾何模型后,運用HyperMesh建立有限元網格模型時,需要判斷零件是否需要劃分網格并進行分類,應用規范統一的命名規則并賦予相應的材料厚度信息。對于整車級的零件來說,手動操作工作量大。介紹了基于HyperMesh二次開發的整車自動化建模系統,利用Tcl(Tool command language)腳本語言開發了其中的零件重命名與信息賦予工具。最后通過實例驗證該工具相比手動操作的時間效率提高近100倍,對減少重復性操作,保證建模準確性,節約開發時間具有重要意義。
關鍵詞:HyperMesh;二次開發;Tcl語言;自動化
DOIDOI:10.11907/rjdk.171242
中圖分類號:TP319
文獻標識碼:A 文章編號:1672-7800(2017)007-0070-03
0 引言
安全性能是汽車的一項重要評價指標。通過搭建有限元整車模型進行碰撞仿真分析來縮短研發周期和節約成本是目前主流車企的開發手段。有限元分析分為前處理、求解計算、后處理3個環節。通常前后處理環節占據80%的工作量,直接影響了仿真分析的效率和產品的設計周期[1] 。Altair HyperMesh是世界領先的針對有限元主流求解器的高性能前后處理器軟件,但其強大的通用性也使其操作流程分散瑣碎,與企業標準化的設計研發流程有一定差異。根據需求對HyperMesh進行定制化的二次開發,將軟件與企業產品開發流程深度匹配,已成為行業內的一種潮流。
本文針對整車仿真碰撞分析前處理過程,基于HyperMesh軟件的二次開發,重點設計了針對零件自動重命名以及材料厚度信息賦予的功能模塊,以適應企業快速、準確開發需求。
1 二次開發關鍵技術
1.1 Tcl語言簡介
Tcl語言是一種用于控制和擴展應用程序的腳本語言,適用于包括Windows,Unix,Macintosh等各種平臺[2]。Tcl的語法很簡單,而且可以通過創建新的過程擴展其功能。
Tcl語言具有快速開發、無需編譯、功能強大且簡單易學的特點,所以廣泛用于腳本編程、原型開發和軟件二次開發等方面。
1.2 命令流獲取
HyperMesh軟件的操作實際上是通過調用內置API(Application Programming Interface)函數實現的,所有對模型的操作都被記錄在command file文件中[3],工程師可以訪問command文件獲取相應的命令流,并通過TCL語言對獲取的命令進行整合重寫,定制自己需要的腳本。
1.3 人機交互界面創建
Tk是Tcl語言的用于開發圖形用戶界面GUI(Graphical User Interface)應用程序的工具集,可以快速建立方便用戶使用的自定義用戶界面。用戶也可以選擇使用HyperMesh內置的HWTK GUI Toolkit實現相同的功能,且創建的界面與HyperMesh整體風格更為一致。
使用自定義面板的優勢在于可以將實現某一項功能的所有按鈕集成進行個性化集成,快速實現該功能,既避免了面板切換的繁瑣操作,也杜絕了一些操作上的失誤,極大地提高工作效率。
2 整車自動化建模基本流程
整車建模環節在碰撞仿真分析中屬于前處理環節,零件具有數量龐大、種類繁多、位置關系復雜、連接方式多樣的特點。工程師在進行手動整車建模時存在操作繁瑣、重復性大、耗費工時長、誤操作率高等問題,針對這些問題開發基于HyperMesh的整車基礎建模自動化系統。
整車基礎建模自動化系統的開發要求如下:
①建模參數化,建模輸入為BOM(Bill of Material)表等標準參數文件;
②建模標準化,統一建模標準,保證模型質量一致性,提高建模精度;
③建模流程化,對建模的每個階段進行封裝,便于企業固化工程師的經驗;
④建模簡易化,只需要一定的CAE基礎,就能夠勝任建模工作,對于使用者的門檻較低。自動化建?;玖鞒倘鐖D1所示。
從模型庫下載CATIA三維模型后,首先判斷零件是否為仿真分析所需零件(是否需要劃分網格),輸出擬劃分網格的零件列表及其負面清單。然后,為了確保仿真分析時操作規范、結果清晰,需要對擬劃分網格零件進行重命名,格式為零件號_版本號_材料名_厚度,同時對重命名后的零件賦予材料和厚度信息。
待完成所有擬劃分網格零件重命名后,調用Batchmesher對其進行批量網格劃分。將得到的有限元網格零件裝配,完成接觸設置,整車配重和模型設置后,用于碰撞仿真分析的整車模型即搭建完成。整個流程都通過基于HyperMesh的二次開發實現自動化操作,本文主要對其中的零件自動重命名與信息賦予工具進行介紹。
3 零件重命名與信息賦予工具介紹
3.1 常規操作
在HyperMesh中對零件進行重命名操作如下:
操作界面左側的標簽頁區域選Model標簽,打開模型樹,找到需要重命名的零件,并查看其所屬的assembly,選中并右擊rename選項,復制assembly的名字,然后選中需要重命名的零件,右鍵選擇rename選項,將復制的內容粘貼到輸入框中。這樣就完成一次對單個零件的重命名操作,需要對鼠標操作8次,對鍵盤操作2次。
對零件賦予材料以及厚度信息操作如下:
新建Property, 在prop name的輸入框中輸入對應零件名稱,然后點擊鼠標選擇相應的type ,card image選項,并在thickness輸入框中輸入厚度信息,完成Property的創建。新建Material,在mat name輸入框中輸入材料名稱,然后點擊鼠標選擇相應的type, card image選項,隨后進入card edit界面,輸入 E(彈性模量)、 Nu(泊松比)、Rho(密度)信息,完成材料創建。
點擊component按鈕,勾選update選項,點擊comps選項,選擇要賦予信息的component,點擊 property按鈕選擇上文創建的property,點擊material按鈕選擇對應的材料,完成一次將材料與厚度信息賦予零件操作,需要操作鼠標30次,鍵盤6次,切換面板3次。
3.2 開發目的
將CATIA模型導入HyperMesh后,兩款軟件的數據結構差異,造成component名稱并不是該零件的件號,而component對應的assembly名稱中包含零件號與版本號,如圖2所示。因此需要將每個component嚴格按照規范命名為“零件號+版本號+材料+厚度”的格式。
而由上文得知,通過手動實現上述功能操作步驟繁瑣,面板切換頻繁,導致整車建模周期冗長,誤操作率高,糾錯難度大,對仿真結果容易造成負面影響,所以對HyperMesh進行零件重命名與信息賦予批處理的二次開發非常有必要。
3.3 主要功能
(1)對hm文件中零件對照擬劃分網格零件總表進行自動篩選,輸出該車型擬劃分網格零件列表。
(2)對不規范的零件名稱按照標準格式進行批量重命名,并對重復零件進行編號處理。
(3)對零件進行賦予材料信息與厚度信息操作。
3.4 主要流程
零件自動重命名與信息賦予工具的設計流程如圖3所示。
在HyperMesh中導入hm整車結構后,首先得到component列表與assembly列表,遍歷component列表,找出每一個component對應符合零件名稱特征的assembly級,例如component的名稱為partbody1,其對應底層assembly級的名稱則為C0012345,調用擬劃分網格零件總表與零件名稱進行匹配并記錄在系統中。隨即搜索匹配成功項在系統中的數量,據此賦予匹配項一個編號,例如C0012345_1表示C0012345號零件在整車中的第一個零件,C0012345_2為第二個零件,它們幾何特征完全一致,但在空間位置和連接關系上存在區別,故需要進行編號處理。編號之后的component將根據其對應的assembly級名稱進行重命名,根據新的名稱對照BOM表搜索其對應的材料和厚度信息,直接將厚度信息賦予零件,并根據材料信息搜索材料庫,將對應的材料賦予零件。遍歷所有component之后,完成所有零件重命名以及賦材料厚度信息的操作。
4 自動重命名與信息賦予工具實例
選用碰撞仿真分析的某車型,在有限元建模過程中需要對車身部分的零件(總計514個)進行批量重命名,并賦予零件材料厚度信息。運行重命名工具,操作界面如圖4。
4.1 自動化操作流程
進行零件重命名準備工作,設置重命名所需的材料文件:①“選擇文件”選擇需要重命名的hm文件;
②“選擇BOM”選擇車身對應的BOM表;
③“材料名表”選擇車身對應的材料名表;
④“選擇HM”選擇HyperMesh的安裝路徑,調用HyperMesh。
進行重命名操作步驟:
①“初始化”安裝零件重命名工具;
②“打開HyperMesh” 運行HyperMesh主程序;
③ “檢查BOM信息” 檢查BOM表的材料和厚度信息,確保BOM表的完整和正確性。如果BOM表信息缺失,會自動對缺失項標紅并提醒工程師對BOM表修改和完善直至符合要求;
④ “打開hm文件” HyperMesh中開始導入hm文件;
⑤ “重命名”按鈕,自動完成零件的批量重命名工作。
經統計,在BOM表正確的條件下,整個自動重命名賦予信息流程僅需6分鐘,操作鼠標15次。
4.2 自動化流程與常規方法比較
通過與人工常規操作比較的方式,以操作與耗時兩個指標,驗證自動重命名與信息賦予工具的高效性。選取一名具有兩年整車建模經驗的汽車安全工程師,并提供完整BOM表與材料庫信息,對上述某車型車身零件(共514個零件)進行重命名,賦予材料厚度信息操作并統計時間,累計耗時10小時,完成所有操作需要點擊鼠標接近5000次(取10次樣本零件點擊260次,乘以50得到),如表1所示。
由統計數據得出使用自動重命名與信息賦予工具和人工操作相比,時間效率提升了約100倍,并極大地減輕了操作強度。
5 結語
本文闡述了基于HyperMesh二次開發的整車自動化建模系統,著重介紹了零件重命名與信息賦予模塊的開發過程與關鍵技術。將繁瑣的零件重命名與賦予零件材料厚度信息的操作步驟進行封裝,并以引導式的流程呈現給工程師[4],降低了工作門檻。將重復性高、效率低的手工操作轉化為高效的自動化處理,極大地減少了工程師的工作量,避免錯誤,同時也有助于固化資深熟練工程師的經驗。對于企業提高仿真分析的標準化程度,節約產品研發時間,提高產品競爭力具有重要意義。
參考文獻:
[1]米小珍,李惠萍,王楓.仿真分析中材料定義與重用工具的設計與開發[J].機械設計與制造,2012(12):106-108.
[2]奧斯德奧特·瓊斯.入門經典 [M].第二版.北京:清華大學出版社,2010.
[3]丁濤,胡銘旭,朱鏡齊.基于HyperMesh的客車側翻分析自動化流程開發[J].客車技術與研究,2016:10-12.
[4]陸天宇,孔嘯.基于TCL語言的CAE 流程自動化系統設計[J].制造業自動化,2012(1):3-6.
[5]陳文娟,魏躍遠. Hyperworks 在電動汽車正碰仿真分析中的應用[C].上海:Altair2012技術大會,2012.
[6]丁濤,彭旺,紀緒北.HyperMesh二次開發在客車CAE分析前處理上的應用 [J].客車技術與研究,2015(6):47-56.
[7]范超.基于Tcl/Tk的HyperMesh CAE流程自動化系統的研究與開發[D].合肥:合肥工業大學,2010.
[8]王超.面向汽車設計的CAE流程自動化系統開發及結構優化研究[D].長沙:湖南大學,2013.
[9]米小珍,張漢冰,王楓.螺栓接觸分析中前處理技術的研究與開發[J].機械工程師,2014(1):1-3.
[10]孫靜.基于HyperWorks的流程自動化系統開發與應用[J].鐵路計算機應用,2012,21(12):30-33.
[11]盧晨霞,張立.基于HyperMesh二次開發的汽車CAE建模與分析流程自動化[C].北京:Altair2015技術大會,2015.
[12]楊恒杰.基于HyperMesh二次開發的中面模型建模方法[C].上海:Altair2014技術大會,2014.
[13]李鵬程,趙靜.HyperMesh二次開發技術在葉片有限元建模中應用[C].上海:Altair2014技術大會,2014.