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