上期介紹了在 Altair SimLab™ 中使用腳本讀取 csv 檔中的數據,快速創建 148 個載荷,非常快捷。 本期的主要內容是介紹如何快速創建 1D 預緊螺栓,文末有全文的演示視頻哦,千萬別錯過~

 

注意:本文所有內容都基於SimLab 2020.1,舊版本中缺少 simlab.deselect() 介面,無法運行無介面版代碼。

 

01。

 

程式碼效果展示

 

 

SimLab 中自帶強大的螺栓創建工具,支援創建 1D 和 3D 螺栓,並支援 1D 和 3D 預緊螺栓。 螺栓創建工具可由 Advanced-Bolt Modeling 進入。

 

image001.png

 

螺栓創建工具

 

使用 SimLab 自帶工具創建 1D 預緊螺栓,至少需要三步,分別創建螺頭、螺紋以及連接螺頭和螺紋,需要點擊 20-30 次滑鼠。

 

使用本文的二次開發介面只需點擊約 5 次滑鼠即可建立 10 個預緊螺栓! 快速螺栓工具介面如下圖所示。

 

image003.png

1D 預緊螺栓效果

 

02。

 

代碼使用說明

 

 

為了方便使用,本文末尾提供兩個版本的代碼,無介面版本以及有介面版本。

 

沒有介面版本代碼檔名為:

1D_Pretension_Bolt_manual.py;

 

有介面版本代碼檔名為:

1D_Pretension_Bolt_interface.py。

 

無介面版

 

沒有介面版本, 只要將程式碼複製到 SimLab 的 Python 視窗,回車執行即可。 Python 視窗可透過View下拉選單調出,也可透過F4快速鍵調出。

 

image005.png

Python 視窗

 


image008.png

Python 視窗啟動方法

 

將代碼貼上到 Python 視窗後,直接回車,系統會依次跳出兩個彈窗,提醒使用者選擇螺頭孔面和螺紋孔面。 選擇相應的面后,點擊 OK,彈窗自動關閉,然後自動創建 1D 預緊螺栓。

 

 

image009.png

image011.png

彈窗提示

 

有介面版

 

有介面版介面如下圖所示,介面中需輸入 bolt_head_hole_face、bolt_hole_face 以及 pretension_force 三個變數。

 

bolt_head_hole_face 欄選擇一個螺頭孔面,bolt_hole_face 欄選擇一個螺紋孔面,pretension_force 欄設置預緊力大小。 三個輸入變數設置好后,點擊 OK 即可開始 1D 預緊螺栓。

 

image015.png

快速螺栓工具介面

 

由 Advanced > UI Customization > Dialog Designer 進入介面定義視窗,按如下圖所示進行設置即可快速創建介面。 bolt_head_hole_face和 bolt_hole_face 變數類型為 Entity > Face,pretension_force 類型為 Text,Unit Type 選擇 force,可指定預設值。 在 Script file 欄指定代碼檔,然後點擊 Create 即可建立。

 

image017.jpg

2020.1 版介面定義視窗

 

image018.png

2020 版介面定義視窗

 

03

 

代碼撰寫思路

 

 

SimLab 中手動創建 1D 預緊螺栓需要三步,創建螺頭、創建螺紋以及連接螺頭螺紋,自動創建 1D 螺栓同樣需要分三步進行。 下面對手動創建螺栓過程以及代碼轉換過程進行說明。

 

手動創建螺栓過程

 

SimLab 中提供多種螺栓範本,本文中,螺頭使用 Top RBE Alone(5) 類型,如下圖所示,左上角類型選擇 Template,螺頭部分不需要設置其他參數。

 

image021.jpg

螺頭類型

 

螺紋類型為 Bottom RBE alone(6),左上角類型選擇 Template,如下圖所示,需指定 Pitch 和 Depth 兩個參數用於確定螺紋深度。

 

image023.jpg

螺紋類型

 

螺栓連接類型為 Pretension > Threaded,如下圖所示。 需指定預緊力和 Bar 單元直徑。 至此,螺栓範本創建完成。

 

image024.png

螺栓連接工具

 

image025.png

螺栓連接類型

 

下一步透過 Advanced > Bolt Modeling > 1D Bolt > Create Bolt 工具建立螺栓,需指定螺頭連接的 Body 名稱、螺紋連接的 Body 名稱以及搜索用的螺紋孔/螺頭孔直徑。

 

image026.png

創建螺栓工具

 

image028.png

創建螺栓

 

代碼轉換過程

 

根據上述手動創建螺栓過程,需要手動設置的參數有:螺紋深度相關參數 Depth 和 Pitch、預緊力大小、Bar 單元直徑、螺頭連接的 Body 名稱、螺紋連接的 Body 名稱以及搜索用的螺紋孔/螺頭孔直徑,一共 8 個參數。

 

這 8 個參數很多是相互關聯的,只需要一個螺頭孔面、一個螺紋孔面和預緊力大小 3 個參數即可得到所有 8 個參數。 各參數獲取過程如下:

 

根據螺頭和螺紋孔面,可使用 simlab.getCylindricalFace Attributes(modelname, 381880) 介面得到螺頭和螺紋孔半徑,根據半徑即得到 Bar 單元直徑、螺紋孔和螺頭孔搜索直徑;還可得到圓柱面上下圓弧的圓心點,根據兩個圓心點座標即可確定螺紋深度相關參數 Depth 和 Pitch 兩個參數。

 

image030.png

獲取圓柱面參數介面

 

選擇螺頭和螺紋孔面后,可使用 Associated Entities 工具將螺頭和螺紋連接的 Body 名稱分別放到 Group 中。

 

透過下面的介面可取得 Body 名稱:

simlab.getBodiesFromGroup('Bolt_Head_Group')

 

image033.png

右鍵選擇關聯物件

 

image035.jpg

將關聯Body保存到Group中

 

無介面版中設置了兩個彈窗,用於提示用戶選擇螺紋孔面和螺頭孔面,彈窗功能由 simlab.messageBox.popupmsg("請選擇一個螺紋孔面") 介面實現,彈窗可以非常方便地提示使用者選擇物件。

 

提示選擇物件的彈窗跳出後,選擇篩檢程式會自動切換為 Face 類型,該功能透過 simlab.setSelectionFilter("Face") 介面實現。

 

注意:2020.1 之前的版本中,沒有 simlab.deselect() 介面,若在舊版 SimLab 中使用無介面版代碼,需要將第 202 行和第 223 行代碼註釋掉或刪除。

 

04

 

代碼使用小視頻

 

 

文字版沒看懂? 實際操作遇到問題? 來看看下方小視頻查漏補缺吧~

 

 

05

 

模型及代碼下載

 

 

本文涉及到的模型及代碼下載連結:

https://nas.altair.com.cn:5001/fsdownload/2pRc5afmA/SimLab_session%205。

 

 

 

大家如果對螺栓感興趣,

可以自己試試下面兩個功能如何實現:

1、若不需要預緊力,如何修改?

2、如何快速創建3D預緊螺栓?

歡迎在評論區給我們留言討論或者實際操作後給我們分享心得~

 

 

arrow
arrow

    Altair Taiwan 發表在 痞客邦 留言(0) 人氣()