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