詳解Abaqus插件腳本中的關鍵字(AFXKeyword)(下)
上一貼(詳解Abaqus插件腳本中的關鍵字(AFXKeyword)(上))中,我們談到了關鍵字的定義、共有8種類型,以及在不同腳本中的用法。
這一帖,我們來討論這8種類型關鍵字的創建方法,以及各用于何種控件。
1、整型關鍵字 AFXIntKeyword
構造方法:
AFXIntKeyword(command, name, isRequired=False, defaultValue=INT_DEFAULT, evalExpression=True)
參數解釋:
command:GUI命令,或None。
在注冊腳本中定義時,通常賦值為AFXGuiCommand的實例對象。
在對話框腳本中定義時,賦值為None。
name:關鍵字名稱。
此名稱為字符串,須與內核腳本中的參數同名。
isRequired:布爾值,是否為命令的必須參數。默認值為False,但使用時都改為True。
8種類型關鍵字都有以上三個參數。
defaultValue:默認值,在大多數類型的關鍵字中都有該參數。比如在文本框控件中,我們將defaultValue設為5,那么打開對話框時,默認則會出現5。


evalExpression:是否支持表達式,布爾值,默認為True。如果輸入的值是5+3,那么在文本框中,則會出現8。



使用整型關鍵字的典型控件有:文本框控件、單選框控件等。
這里需提到參數tgt和sel的設置。通常有三種設置方式,具體見我另一個帖子《Abaqus插件對話框二次開發,參數tgt和sel的設置方法》
本貼只討論第一種,tgt= 關鍵字,sel = 0 或非0
其中,tgt(消息目標)即為在注冊腳本中創建關鍵字的變量,通過form. 來調用。
sel(消息ID)則根據關鍵字的類型不同,而有不同的賦值。
如何選擇sel的賦值,需要看下表:

這里是AFXIntKeyword,則sel一般設為0。但如果是用于單選框控件,sel則采用大于0的整數
2、浮點型關鍵字 AFXFloatKeyword
構造方法:
AFXFloatKeyword(command, name, isRequired=False, defaultValue=FLOAT_DEFAULT, precision=6)
參數解釋:
前四個參數,與AFXIntKeyword中是一樣的,以下就不重復解釋了。
precision:將關鍵字的浮點值轉換為文本字符串的精度。

使用浮點型關鍵字的典型控件有:文本框控件、下拉列表控件、微調控件等。
使用浮點型關鍵字的控件,參數sel的賦值為0
3、字符串類型關鍵字 AFXStringKeyword
構造方法:
AFXStringKeyword(command, name, isRequired=False, defaultValue='')
使用字符串類型關鍵字的典型控件有:文本框控件、列表控件、下拉列表控件等。
使用字符串類型關鍵字的控件,參數sel的賦值為0
4、布爾類型關鍵字 AFXBoolKeyword
構造方法:
AFXBoolKeyword(command, name, booleanType=ON_OFF, isRequired=False, defaultValue=False)
參數解釋:
booleanType:布爾值,一般賦值為AFXBoolKeyword.TRUE_FALSE
使用布爾類型關鍵字的典型控件有:復選框控件。
使用布爾類型關鍵字的控件,參數sel的賦值為0
5、符號常數類型關鍵字 AFXSymConstKeyword
構造方法:
AFXSymConstKeyword(command, name, isRequired=False, defaultValue=0)
abaqus自帶有大量的符號常數,用from abaqusConstants import *導入后,可以使用。比如THREE_D、DEFORMABLE_BODY等
我們也可以人為定義一個符號常數,這樣使用起來很直觀。
使用符號常數類型關鍵字的典型控件有:列表控件和下拉列表,此時sel賦值為0;也可以用于單選框控件,此時sel賦值是大于0的整數。
6、元組類型關鍵字 AFXTupleKeyword
構造方法:
AFXTupleKeyword(command, name, isRequired=False, minLength=0, maxLength=-1, opts=0)
minLength:最小元組長度,默認為0
maxLength:最大元組長度,為-1表示無限制
這個關鍵字沒有默認值。
使用元組類型關鍵字的典型控件有:文本框控件。
當從一個文本框中收集大于1個數據時,比如一個坐標為(10,20,30),相當于收集了3個數據,則可以用元組類型關鍵字,等同于從三個文本框中分別收集。此時sel賦值為大于零的整數。如果只收集1個數據,sel則為0.
7、表格關鍵字 AFXTableKeyword
構造方法:
AFXTableKeyword(command, name, isRequired=False, minLength=0, maxLength=-1, opts=0)
minLength:表格中最小行數,默認為0
maxLength:表格中最大行數,為-1表示無限制
這個關鍵字沒有默認值。
使用表格類型關鍵字的典型控件有:表格控件。
使用表格類型關鍵字的控件,參數sel的賦值為0
8、對象類型關鍵字 AFXObjectKeyword
構造方法:
AFXObjectKeyword(command, name, isRequired=False, defaultValue='')
使用表格類型關鍵字的典型控件有:拾取控件。
使用表格類型關鍵字的控件,參數sel的賦值為0
雖然這些關鍵字可以用RSG自動創建出來,但它們本身也都有各自的方法和屬性。加以靈活運用,可以讓插件GUI具有更加方便和豐富的功能。
Abaqus GUI二次開發三部曲:
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















