1 前言
在汽車研發的CAE性能分析工作中,汽車有限元網格的建立占用分析的大部分時間。汽車的數模一般采用CATIA等三維建模軟件進行建模的。對于完成的汽車模型,需要在HyperMesh等有限元軟件中進行有限元分析前處理。對于零件管理方面,每個公司都有不同的規范。在將設計汽車數字模型導入到HyperMesh中后,使用midsurface(抽中面命令)命令對每一個零件進行抽中面處理,然后手工修改中面comps(Components)的名稱為企業標準名稱,如“零件號厚度材料號”。由于一個汽車的零部件有成百上千個,對于這些基礎的抽中面,改名,賦comps及props等操作便成了非常繁瑣且重復的體力勞動。有時候一個誤操作,或者斷電,將是災難性的損失,因此軟件的自動保存或者定時自動保存也是工程師迫切需要的功能。當然,對于一些其他功能,諸如:一次導入多個輸入文件,一次清除模型中沒有用的comps、props及mats等功能,也需要通過對軟件的二次開發來完成。本文利用TCL/TK語言,對HyperMesh進行二次開發,將建模分析規范集成到HyperMesh當中,最大程度地減少人工干預,大大提高了工作效率。
2 HyperMesh二次開發介紹
一般采用HyperMesh-次開發,都是基于TCL腳本語言完成的,我們可以在記事本中編輯TCL的命令代碼,并將文件保存成TCL格式文件,就可以在HyperMesh中正常運行了。
HyperMesh命令文件
在HyperMesh的工作目錄中,有一個command.cmf,記錄了日常操作HyperMesh的各種命令,我們可以通過修改該文件下的命令,來快速完成腳本代碼。
TCL/TK語言
TCL(Tool Command Language)語言是一種類似于JAVA腳本和VB腳本的語言,用戶可以方便的在記事本中編寫該腳本,并調用系統的各種命令,使用非常方便。為了增加腳本的用戶交互性,我們還可以使用TK(Tool kit)。
3 程序功能介紹
批量抽中面功能:
將CATIA設計的數字模型導入HyperMesh中,如下圖所示:
圖1 導入HyperMesh后的comps圖
運行該腳本程序可以自動完成如下腳本功能:
★
選擇多個comps,自動批量抽中面;★
抽中面后,模型的comps名稱按照規范要求自動重命名為對應的零件號;★
抽中面后,自動生成對應名稱的props屬性,并自動關聯到中面comps中;★
創建的props屬性card自動設置料厚值;★BOM文件讀入并按規定重新命名comps及props名稱。
自動將材料號名稱從結果如圖2所示:
圖2 程序運行后效果圖
4 程序設計流程
圖3是主程序的流程示意圖:首先采用Excel打開零件BOM表,僅保留文件名及材料號,并將該BOM表保存成.txt文件,導入需要中面建模的3D數字模型;選擇需要抽取中面的零件的comps;輸入步驟1導出的“.txt”文件路徑;獲得所選零件comps數量,計算所選零件的solids判讀是否為最后一個comps;執行抽中面的執行子程序。
圖3 主程序流程示意圖
執行子程序流程如圖4所示:首先先獲得當前選擇的comp,并計算對應的assem及points,然后得到points中的一個point,執行抽中面命令,并計算中面模型厚度;之后打開BOM文件,查找并記錄當前材料編號;隨后根據規范要求對新的中面comp重命名;然后根據當前comp名稱新建一個props,并將props與當前comp進行關聯;最后調用模板,設置prop屬性并返回主程序。
圖4 執行子程序流程示意圖
5 結論
通過TCL語言對HyperMesh軟件進行適當二次開發,用戶可以結合自己的工作需要定制滿足用戶特定需求的功能,體現了HyperMesh軟件良好的可擴展性和開放性。TCL語言易學易用,結合Tk可以定制更加方便實用的界面工具。本文以批量抽中面為案例介紹了利用TCL語言對HyperMesh進行二次開發的流程,二次開發方法的介紹,并詳細的介紹了實現該功能的腳本工作流程。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文網址:http://www.guhuozai8.cn/html/solutions/14019316480.html