詳解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。

18.png

6.png

7.png

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

19.png

9.png

詳解Abaqus插件腳本中的關鍵字(AFXKeyword)(下)的圖6詳解Abaqus插件腳本中的關鍵字(AFXKeyword)(下)的圖7

使用整型關鍵字的典型控件有:文本框控件、單選框控件等。

 

這里需提到參數tgt和sel的設置。通常有三種設置方式,具體見我另一個帖子《Abaqus插件對話框二次開發,參數tgt和sel的設置方法

本貼只討論第一種,tgt= 關鍵字,sel = 0 或非0

其中,tgt(消息目標)即為在注冊腳本中創建關鍵字的變量,通過form. 來調用。

sel(消息ID)則根據關鍵字的類型不同,而有不同的賦值。

如何選擇sel的賦值,需要看下表:

10.png

詳解Abaqus插件腳本中的關鍵字(AFXKeyword)(下)的圖9

這里是AFXIntKeyword,則sel一般設為0。但如果是用于單選框控件,sel則采用大于0的整數

 

2、浮點型關鍵字 AFXFloatKeyword       

構造方法:

AFXFloatKeyword(command, name, isRequired=False, defaultValue=FLOAT_DEFAULT, precision=6)

參數解釋:

前四個參數,與AFXIntKeyword中是一樣的,以下就不重復解釋了。

precision:將關鍵字的浮點值轉換為文本字符串的精度。

11.png

使用浮點型關鍵字的典型控件有:文本框控件、下拉列表控件、微調控件等。

使用浮點型關鍵字的控件,參數sel的賦值為0

 

3、字符串類型關鍵字 AFXStringKeyword   

構造方法:

AFXStringKeyword(command, name, isRequired=False, defaultValue='')

12.png

使用字符串類型關鍵字的典型控件有:文本框控件、列表控件、下拉列表控件等。

使用字符串類型關鍵字的控件,參數sel的賦值為0

 

4、布爾類型關鍵字 AFXBoolKeyword    

構造方法:

AFXBoolKeyword(command, name, booleanType=ON_OFF, isRequired=False, defaultValue=False)

參數解釋:

booleanType:布爾值,一般賦值為AFXBoolKeyword.TRUE_FALSE

13.png

使用布爾類型關鍵字的典型控件有:復選框控件。

使用布爾類型關鍵字的控件,參數sel的賦值為0

 

5、符號常數類型關鍵字 AFXSymConstKeyword

構造方法:

AFXSymConstKeyword(command, name, isRequired=False, defaultValue=0)

abaqus自帶有大量的符號常數,用from abaqusConstants import *導入后,可以使用。比如THREE_D、DEFORMABLE_BODY等

我們也可以人為定義一個符號常數,這樣使用起來很直觀。

14.png

使用符號常數類型關鍵字的典型控件有:列表控件和下拉列表,此時sel賦值為0;也可以用于單選框控件,此時sel賦值是大于0的整數。

 

6、元組類型關鍵字 AFXTupleKeyword  

構造方法:

AFXTupleKeyword(command, name, isRequired=False, minLength=0, maxLength=-1, opts=0)

minLength:最小元組長度,默認為0

maxLength:最大元組長度,為-1表示無限制

這個關鍵字沒有默認值。

15.png

使用元組類型關鍵字的典型控件有:文本框控件。

當從一個文本框中收集大于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表示無限制

這個關鍵字沒有默認值。

16.png

使用表格類型關鍵字的典型控件有:表格控件。

使用表格類型關鍵字的控件,參數sel的賦值為0

 

8、對象類型關鍵字 AFXObjectKeyword 

構造方法:

AFXObjectKeyword(command, name, isRequired=False, defaultValue='')

17.png

使用表格類型關鍵字的典型控件有:拾取控件。

使用表格類型關鍵字的控件,參數sel的賦值為0

 

雖然這些關鍵字可以用RSG自動創建出來,但它們本身也都有各自的方法和屬性。加以靈活運用,可以讓插件GUI具有更加方便和豐富的功能。


Abaqus GUI二次開發三部曲:

Abaqus 主窗口GUI的二次開發

Abaqus插件程序GUI的二次開發 初、中級篇

Abaqus插件程序GUI的二次開發 高級篇

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

TOP

8
3
8