Abaqus純內核腳本,添加到菜單欄的流程詳解
Abaqus二次開發做插件,往往是先開發出內核腳本,再用RSG做對話框,這樣在Plug-ins菜單下,就可以隨時調用這個插件了。
有時,腳本中并不需要輸入參數,這時一般通過File - Run Scrip... 就即可運行。
然而,時間一長,這樣的腳本越來越多,還都是英文名,可能會比較亂,不太好找。
能不能把一個內核腳本,也做成一個插件放在Plug-ins菜單欄中呢?
可以的。
思路:
和用RSG做出的對話框插件一樣,把內核腳本xxx.py放入到 “工作目錄-abaqus_plugins”中,建立一個xxx_plugin.py腳本,在該腳本中添加注冊語句。
過程:
我這里有個很簡單的內核腳本(createBeam1.py),函數為beam1(),其作用是創建一個梁,每次一運行該腳本,不用輸入參數,即可創建一個梁。
想要把這個腳本,作為插件,放置到Abaqus的Plug-ins菜單欄中,跟著以下步驟來操作:
step 1、在工作目錄 - abaqus_plugins中,新建一個英文名的文件夾(如createBeam1),把內核腳本拷貝進去
step 2、新建一個py腳本,起名為createBeam1_plugin.py
step 3、在新建的腳本中,輸入以下內容:
重啟,搞定
這兩個腳本在這里可以下載。
詳解:
toolset = getAFXApp().getAFXMainWindow().getPluginToolset(),可以理解為toolset獲得了Abaqus的主窗口的插件工具集的對象,它可以調用注冊內核或注冊Gui的方法。
注冊腳本的作用是把內核腳本注冊到主菜單中,它與帶對話框的注冊腳本類似,不過采用的方法不一樣,這里是registerKernelMenuButton,而有對話框的是registerGuiMenuButton。
在幫助文檔中,按照以下三個圖,可以找到registerKernelMenuButton方法的注解:


說說registerKernelMenuButton方法中,各個參數的意思。
必選參數有三個:
moduleName:腳本名稱,比如這里是createBeam1;
functionName:腳本中的函數名稱,比如這里是beam1();
buttonText:在菜單中顯示的名稱,可以為中文,如這里為“創建梁(無參數)”。如果我們希望把該插件,放在下拉菜單中的子菜單中,可以用“|”給隔開,比如”創建梁|創建梁(無參數)”,會有下圖的形式。
可選參數有6個:
icon:在下拉菜單中添加一個圖標,可以用afxCreateIcon()來創建;
applicableModules:有時我們希望插件只在某一個/幾個模塊中顯示,比如只在mesh模塊中出現,則可以使用這個參數。默認為ALL,可選的為“Part”、“Property”、“Assembly”、“Step”、“Interaction”、“Load”、“Mesh”、“Job”、“Visualization”和“Sketch”。要注意的是,在自定義模塊時候,需要用列表的形式,如這里的['Part', 'Assembly']
還有幾個參數,如version、author、description和helpUrl,則用的很少,就不細述了。
需要注意的是,腳本中這幾個參數是每個占一行,但它們之間是需要用“,”逗號隔開的,沒有的話會出錯。
如此一來,我們日常使用的腳本,無論是帶對話框的,還是無對話框的,都可以放入到Plug-ins菜單中,還可以在下拉菜單中創建子菜單項,非常利于我們對腳本的管理。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















