陳 坤,黃美華,張 俊,高彥超,蔣成約
(重慶理工大學(xué), 重慶 400054)
汽車座椅的設(shè)計與研發(fā)是一項復(fù)雜的系統(tǒng)工程,從開始設(shè)計到批量生產(chǎn)通常需要24~36個月的時間[1-3]。應(yīng)用仿真分析指導(dǎo)產(chǎn)品的設(shè)計和改進(jìn),可以提高產(chǎn)品的設(shè)計效率,減少試驗次數(shù),降低設(shè)計成本[4-5]。通過二次開發(fā),可以將工程師的專業(yè)知識轉(zhuǎn)化成企業(yè) CAE 流程并進(jìn)行固化,實現(xiàn)分析流程標(biāo)準(zhǔn)化和自動化,提高企業(yè) CAE 分析的質(zhì)量和效率[6]。
本文基于HyperMesh軟件的前、后處理平臺,運用TCL語言和其自帶的功能函數(shù)和GUI函數(shù)編寫了一系列用于創(chuàng)建按鈕的腳本程序,點擊按鈕便可調(diào)用程序?qū)崿F(xiàn)汽車座椅安全帶固定點強度分析的前、后處理過程,并自動生成PPT形式的分析報告。
汽車座椅在設(shè)計研發(fā)階段,進(jìn)行的模擬仿真分析主要有汽車座椅安全帶固定點強度分析、汽車后排座椅行李箱沖擊分析、汽車前排副駕駛座椅下潛分析及鞭打試驗分析[7-8]。其中安全帶固定點強度是汽車被動安全的一個重要指標(biāo),是車輛《公告》試驗的強制檢查項目[9]。在HyperMesh中,汽車座椅安全帶固定點強度分析前處理的步驟通常包括幾何數(shù)據(jù)模型導(dǎo)入,幾何清理(刪除重復(fù)曲面、修補曲面、模型簡化),網(wǎng)格劃分,導(dǎo)入并準(zhǔn)確安裝模擬假人(根據(jù)座椅大小縮放假人),創(chuàng)建安全帶(能夠自動預(yù)緊、與假人良好貼合),賦予材料屬性,定義連接(剛性單元模擬、剛性片模擬、運動副),定義接觸,邊界載荷設(shè)置等[10-11]。圖1是汽車座椅安全帶固定點強度分析前處理流程。
HyperMesh二次開發(fā)有2種基本形式:一種是直接在其面板上創(chuàng)建功能按鈕,另一種是通過Process Manager創(chuàng)建流程樹。但是歸根結(jié)底它們的底層工作模塊都是由TCL語言和內(nèi)置函數(shù)命令(功能函數(shù)和GUI函數(shù)命令)所編寫的程序。
圖1 汽車座椅安全帶固定點強度分析前處理流程
創(chuàng)建功能按鈕,按鈕可以通過修改userpage.mac文件來創(chuàng)建。TCL腳本是由TCL語言把內(nèi)置函數(shù)命令按一定的邏輯連接起來構(gòu)成的,需要實現(xiàn)功能的按鈕就是將已調(diào)試好的腳本文件與按鈕通過宏命令聯(lián)系起來。
流程樹的創(chuàng)建是通過Process Studio來實現(xiàn),由Process Manager來調(diào)試和運行的。流程模板文件的擴展名為.pmt,它由Process Studio提供的頁(HWPM Page)構(gòu)成,頁上能夠布置平臺所提供的3種不同類型的控件[6],并且可以添加TCL腳本在控件上來實現(xiàn)特定的功能,頁與頁之間的轉(zhuǎn)換可以通過The Framework所提供的命令實現(xiàn),如::hw::pmgr::PmgrGotoTask命令可以實現(xiàn)從當(dāng)前任務(wù)到指定任務(wù)的功能。
材料的本構(gòu)是有限元計算中一個重要的參數(shù),只有輸入正確的材料參數(shù)才能得到準(zhǔn)確的結(jié)果[12]。建模時component材料和屬性的準(zhǔn)確賦予是CAE分析的前提[13],但是因零件數(shù)目較多、創(chuàng)建和賦予材料屬性的操作繁瑣,需要頻繁切換面板、點擊鼠標(biāo),導(dǎo)致花費較多時間、誤操作率高且糾錯難度大。因此非常有必要編寫腳本程序自動化實現(xiàn)這個功能。腳本程序邏輯流程如圖2所示。
圖2 零件命名以及材料賦予程序邏輯流程
此程序邏輯流程對應(yīng)的腳本程序能實現(xiàn)的功能有:
1) 根據(jù)BOM表自動規(guī)則化命名所有component;
2) 切取材料信息,并自動與材料庫匹配賦予component;
3) 獲取幾何屬性信息,自動創(chuàng)建屬性并賦值。
根據(jù)所編寫的腳本程序運行的結(jié)果如圖3所示,所有component的自動化重命名及材料屬性的賦予由原來的30 min縮短至2 min,工作效率提高93%,也大大地降低了錯誤率和人工操作強度。
安全帶的建模是此CAE分析項目的重點和難點,其中的主要建模工作為建立卷收器、織帶(1D、2D)、滑環(huán)(D環(huán))、鎖扣等模型,安全帶卷收器中還包含預(yù)緊器和限力器以及相應(yīng)傳感器的建模[14]。傳統(tǒng)建模操作繁多,出錯率高,通過程序簡化了此操作步驟,提高了建模效率。其二次開發(fā)的腳本程序邏輯流程如圖4所示。
圖3 自動化賦予材料和屬性結(jié)果對比
圖4 自動創(chuàng)建安全帶程序邏輯流程
此腳本程序運行之前需提前創(chuàng)建安全帶特征位置坐標(biāo)點和加載曲線的.csv文件,在程序運行時需要選擇讀入的.csv文件和手動標(biāo)記一個后續(xù)作為傳感器檢測對象的節(jié)點。特征位置節(jié)點及單個單元的創(chuàng)建分別采用以下2條命令(它可以返回創(chuàng)建節(jié)點、單元的id號):
::hwat::utils::CreateTempNode
::hwat::utils::CreateElement
圖5為自動創(chuàng)建安全帶的實例。圖5(a)為創(chuàng)建前的座椅模型,傳統(tǒng)的創(chuàng)建方法需要12步才能全部完成,采用本文開發(fā)的腳本只需2步就能快速、高效的創(chuàng)建并定義完安全帶,減少了83%的操作步驟,效果如圖5(b)所示。
圖5 安全帶自動創(chuàng)建實例
在結(jié)果文件生成后,通過直接在HyperMesh界面中點擊按鈕運行程序生成批處理文件調(diào)用HyperView軟件。以下是生成批處理文件的程序以及此文件的調(diào)用命令:
set call_hw "call $hw _path-client config hwpost.dat -tcl ";
set file_path[open[file join $dir "batchmode.bat"] w];
puts -nonewline $file_path $call_hw;
puts $file_path $tcl_path;
close $file_path;
#調(diào)用程序
exec[eval $file_path];
其中$hw_path為hw.exe文件路徑(…HyperMeshhwinwin64hw.exe);$dir為任意文件路徑,本程序為腳本程序所在路徑;$tcl_path為后處理所需要調(diào)用的程序路徑。
輸出關(guān)鍵零部件的應(yīng)力云圖以及相應(yīng)零件的應(yīng)力最值,并將應(yīng)力云圖保存為jpg格式,將應(yīng)力最值存stressvalue.txt文件中。并在后處理程序中嵌入由VisualBasic for Applications(簡稱VBA)語言編寫的程序代碼,在后處理程序運行時,會自動生成的.vbs文件。生成.vbs文件及其調(diào)用關(guān)鍵程序如下:
proc CreateVBS { vbs_path str } {
set fp_chan[open $vbs_path w]
puts $fp_chan $str
close $fp_chan
}
CreateVBS[file join $dir "creat_result_ppt.vbs"] $str
exec cmd.exe /K[ file join $dir "creat_result_ppt.vbs" ] &
其中$str中存儲著由VBA語言編寫的字符串。
通過上面生成的.vbs文件自動調(diào)用應(yīng)力云圖以及stressvalue.txt文件和PPT模板生成分析報告,如圖6所示。
圖6 后處理程序生成的分析報告
本文以某款車型的座椅為例,闡述了HyperMesh二次開發(fā)在汽車座椅安全帶固定點開發(fā)的應(yīng)用,并著重介紹了零件重命名、材料賦予以及安全帶創(chuàng)建的模塊以及后處理的二次開發(fā)過程?;贖yperMesh 軟件平臺下的二次開發(fā)可以很方便地將操作復(fù)雜的步驟化簡,不僅減小分析人員的勞動強度,還保證了正確率,并且最終能按照固定的模板生成分析報告,提高了分析效率及計算結(jié)果的一致性,有助于縮短開發(fā)周期和提升CAE分析質(zhì)量。