在Hypermesh中自動化CAE工作流 - 從初學者的角度來看。

 一下內容來自Deepak Sreedhar K在HyperWork中做的工作。


   

  一般的CAE工作流程可能容易出現冗余,因為涉及工程師的大多數操作仍然耗時且重復。這主要是在預處理階段實現的,在這一階段中,必須手動建模組件,并將其集成以形成一個完整的包,然后解算器可以運行以提供有意義的結果。與流行的看法相反,CAE的自動化并不總是通過大型的獨立工具來實現的,這些獨立的工具可以單獨處理復雜的過程并減輕工程師瘋狂的工作量。沒有。

      減輕自己的努力的力量應該由工程師自己決定 - 因此,選擇相應軟件的能力至關重要。

      過程自動化中最重要的事情就是擁有一個可靠的過程本身。如果所遵循的過程本身就存在缺陷,那么沒有任何自動化可以使其效率更高。它實際上會產生相反的效果!

      “在企業中使用的任何技術的第一條規則是自動化應用于有效的操作會擴大效率。第二個是自動化適用于低效率的操作會擴大效率低下。“ - 比爾蓋茨

   現在已經解決了,

   如何開始制作自己的腳本?

   我們將專注于Hypermesh中的腳本,Hypermesh是CAE中使用最廣泛的預處理軟件,幾乎在任何地方。(Tcl / tk嵌入到大多數Hyperworks應用程序中,這就是我們將用于腳本編寫的內容。)

1.    工作流分析 -列出完成某項任務所需執行的手動步驟。別擔心,一個案例研究即將到來!

2.    定義您的問題 -分析您的傳統工作流程(列出手動步驟)以確定積累時間。一旦你選擇了這些“耗時的步驟”,你就可以將它們從你的手動工作流程中永久刪除!

3.    獲取命令 -如果您知道,Hypermesh會生成一個命令文件,用戶在與Hypermesh交互時執行的大多數命令都會反映出來。在HM 14.0中,該命令文件直接作為.tcl文件生成。在較早的版本中,您會得到一個.cmf文件,在這種情況下,這些命令需要轉換為適當的tcl格式。記下生成的命令,這些將有所幫助。

4.    編碼時間! -幫助頁面中提供的Hypermesh參考指南現在可以為您提供幫助。使用命令文件中提供的命令,填寫指南中缺失的鏈接,然后使用tcl完成代碼。在編寫代碼時,最好使用Hypermesh窗口內部可用的命令窗口(tcl wish console)保存調試語句。這是最容易混淆的部分,他差點飛過它。該死的!再次,耐心 - 見后立即案例研究。

5.    愚蠢的用戶,或愚蠢的代碼。 - 拋出一些錯誤處理,以確保一切運行平穩。

案例研究 - 使用分配的部分卡的厚度信息追加部件收集器名稱。

這是我相信每個人都會遇到的基本情況。讓我們完成上面討論的步驟。

1.你在做什么來完成超網格窗口中的給定任務?

  • 要查找分配給收集器的厚度/截面,我們通過“卡片編輯”選項轉到分配給收集器的屬性卡,并查看厚度值。

  • 用這個值重命名我們找到厚度的收集器。(例如,如果原始收集器名稱是“Reinforcement_bracket_01”,并且我們發現厚度被指定為2.50mm,我們現在已將收集器重命名為“Reinforcement_bracket_01_2.50mm”)。

  • 對所有現有收集器重復相同的操作。

2.提前交貨時間的原因是:

  • 重復

  • 查找分配的厚度

3.手動完成這些操作后,請參閱命令文件以獲取信息。

640.webp.jpg

    僅反映重命名命令。猜猜我們將不得不填寫“找到厚度”部分。

編碼!基本上,我們必須列出所有“顯示”收集器的列表,找出每個收集器的厚度,然后逐個重命名它們。在瀏覽Altair參考指南(在hypermesh窗口中按F1 / H)后,我們看到可以使用此查詢命令查找組件收集器的厚度:

hm_getthickness <實體類型> <實體id>

我們可以使用以下查詢命令從它的ID中找到組件的名稱:

hm_getcollectorname <實體類型> <實體id>

現在我們擁有所有的命令。最終的代碼如下所示:

640.webp (1).jpg

    劇本非常簡單!首先制作一個“標記”以存儲所有顯示的組件信息。從這個臨時標記中,我們可以查詢組件ID,并將它們設置為列表變量Next,使用foreach循環,考慮列表中的每個ID,找到相應的收集器名稱,并找到厚度。現在使用此信息通過字符串的簡單串聯創建新的收集器名稱,并使用命令文件hm命令重命名收集器。

PS:regsub命令有助于用空字符替換空格。

5.如果屏幕上沒有顯示什么內容?彈出一條消息,警告用戶沒有顯示任何內容!

640.webp (2).jpg

    我們已經把整個事情包裝在一個程序中。當它遇到一個錯誤(沒有組件被顯示,因此被查詢的ID列表的長度是0),程序在返回一個0值后停止。

    正如您在下面看到的,當我們運行腳本時,所有收集器名稱都成功添加了新名稱(來自其分配的部分卡片的厚度信息)。

640.webp (3).jpg

     這是Hyper Works套件中腳本編寫非常基本的用例。



登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1
2
1