最新消息
NEWS
【SimLab自動化】一鍵生成高品質網格
2022.05.05

SimLab 一鍵生成高品質網格

 

SimLab 2020.1 版推出了期待已久的草繪功能,可以在 SimLab 中通過草繪創建幾何啦。

錄製巨集界面也發生了變化。下拉選單名稱由 Project 修改為 Scripting,在開始錄製代碼前,可通過 Set Working Folder工具設置工作目錄,可通過 Language工具設置代碼格式,目前支援Python、Java Script以及XML。

 

 一鍵生成高質量網格 

SimLab 介面本身可以通過 Mesh-3D-Tet 工具實現一鍵自動網格劃分,但僅限於基礎的網格劃分,無法自動添加必要的網格劃分控制參數來滿足不同行業的需求,比如常用的倒角、圓孔和washer 控制參數。

通過二次開發,可以實現一鍵自動劃分實體網格的同時添加相應的網格控制參數。

要實現一鍵網格劃分,同時施加相應的網格控制參數。需要分三步實現:手動網格劃分並錄製巨集代碼,修改巨集代碼增加通用性,通過 UI Customization 工具定制介面。

 

 錄製巨集代碼 

要基於 SimLab 進行二次開發,最快的方法就是先把想實現的功能通過手動操作一遍,通過 Scripting-Record 工具把操作過程的代碼錄製下來,然後基於巨集代碼進行修改,即可得到適用所有模型的實現特定功能的代碼。

我們的目標是實現一鍵網格劃分,同時自動添加一些網格控制參數。下面對目標進行分解細化:

  • 要進行網格劃分,必須要進行面網格劃分和實體網格劃分;
  • 要添加網格控制參數,必須要通過 Mesh-Controls-Mesh Controls 面板添加倒角、圓孔以及 washer 等控制參數;

另外,如果希望代碼適用於所有的模型,則網格平均尺寸、最大網格尺寸、最小網格尺寸、washer 寬度等參數需要根據網格尺寸進行調整。

最簡單的方法是通過 Parameters 面板定義一個名為 meshsize 的參數,然後將以上的尺寸都與 meshsize 參數進行關聯,那麼對於不同的模型或者不同的網格尺寸只需要修改 meshsize 參數即可。

綜上所述,手動操作錄製宏代碼步驟為:

  • 打開 SimLab2020.1
  • 導入幾何模型
  • 通過 Scripting-Record 工具開始錄製宏代碼
  • 創建網格平均尺寸 parameter 
  • 添加倒角、圓孔以及 washer 控制參數 
  • 面網格劃分
  • 體網格劃分
  • 結束錄製並保存宏代碼

■    注意

在劃分網格等操作中,請盡可能使用 parameter 賦予尺寸,這樣可以減少修改巨集代碼的工作量。

 

參數使用格式為 $meshsize,可在後方添加乘法符號進行運算;實際使用中,可長按 shift 鍵加單擊滑鼠左鍵點擊 parameter 面板定義好的參數,引用參數。

 

 修改巨集代碼 

 01  修改 Parameter 參數

需要將 Parameter 參數中的 Value 值修改為變量,需要將數值“2”修改為:三個英文輸入法下的單引號+加號+變量名+加號+三個英文輸入法下的單引號,即'''+size+'''。Size 是變量名,左右各三個英文狀態下的單引號,中間兩個加號,這是 Python 的語法規則。

修改前

修改後

 

 02  修改 SurfaceMesh 函數中的最大網格尺寸參數

介面中沒有自動將 SurfaceMesh 函數中的最大網格尺寸參數調整為參數相關的變量,我們將下圖中的2.828 修改為 $meshsize*1.414 即可。

SimLab 中默認最大尺寸為平均尺寸的根號2倍。修改好的代碼為 mesh_done.py 文件。

修改後,將代碼文件另存為 mesh_done.py 文件。

修改前

修改後

 

 03  使用 UI Customization 工具快速定制介面

由 Advanced-UI Customization - Dialog Designer 進入快速定制介面工具。

點擊 Controls 下方加號添加一個變量,Caption 為定制介面中顯示的變量名稱,Python Variable Name 為 mesh_done.py 文件中的 parameter 名稱,Control Type 為變量類型,後面還可以通過 Property 和 Value 設置單位制和默認值,在Script file(*.py) 欄選擇修改好的 mesh_done.py 文件,最後點擊 Create 即可快速創建定制介面。

創建好定制介面後,可由 Advanced-UI Customization - Custom Dialog List 找到定制的一鍵網格工具。點開後,輸入尺寸2mm,即可一鍵進行網格劃分。

如果你認為每次都要通過 Advanced-UI Customization - Custom Dialog List 這一系列點擊才能找到定制的介面太麻煩,可以將定制的介面工具固定在模型窗口右側方便使用。

另外一種方法,可通過如下圖所示方法將定制介面做成下拉選單。注意:需要一張 png 格式的圖片作為圖標。

 

使用 OneClickMesh 進行網格劃分,可以看到劃分好的模型有3層倒角網格,圓孔周向劃分為12份,圓孔添加了2層 washer,說明在劃分網格之前已經添加的相應的倒角、圓孔和 washer 控制參數。

調試一套通用的網格控制參數,不管多複雜的幾何模型都可以藉助 OneClickMesh 小工具一鍵生成高質量的四面體網格啦。

 

想了解更多 Altair SimLab多物理場平台,歡迎聯絡我們申請試用或產品展示。

  • 電話 : (02)2518-9060
  • 郵件 : info@agilesim.com.tw
LINE
TOP