詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(下)

上一貼(詳解Abaqus插件腳本中的關(guān)鍵字(AFXKeyword)(上))中,我們談到了關(guān)鍵字的定義、共有8種類型,以及在不同腳本中的用法。

 

這一帖,我們來討論這8種類型關(guān)鍵字的創(chuàng)建方法,以及各用于何種控件。

 

1、整型關(guān)鍵字 AFXIntKeyword    

構(gòu)造方法:

AFXIntKeyword(command, name, isRequired=False, defaultValue=INT_DEFAULT, evalExpression=True)

參數(shù)解釋:

command:GUI命令,或None。

在注冊腳本中定義時,通常賦值為AFXGuiCommand的實例對象。

在對話框腳本中定義時,賦值為None。

name:關(guān)鍵字名稱。

此名稱為字符串,須與內(nèi)核腳本中的參數(shù)同名。

isRequired:布爾值,是否為命令的必須參數(shù)。默認值為False,但使用時都改為True。

8種類型關(guān)鍵字都有以上三個參數(shù)。

defaultValue:默認值,在大多數(shù)類型的關(guān)鍵字中都有該參數(shù)。比如在文本框控件中,我們將defaultValue設(shè)為5,那么打開對話框時,默認則會出現(xiàn)5。

18.png

6.png

7.png

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

19.png

9.png

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

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

 

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

本貼只討論第一種,tgt= 關(guān)鍵字,sel = 0 或非0

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

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

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

10.png

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

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

 

2、浮點型關(guān)鍵字 AFXFloatKeyword       

構(gòu)造方法:

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

參數(shù)解釋:

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

precision:將關(guān)鍵字的浮點值轉(zhuǎn)換為文本字符串的精度。

11.png

使用浮點型關(guān)鍵字的典型控件有:文本框控件、下拉列表控件、微調(diào)控件等。

使用浮點型關(guān)鍵字的控件,參數(shù)sel的賦值為0

 

3、字符串類型關(guān)鍵字 AFXStringKeyword   

構(gòu)造方法:

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

12.png

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

使用字符串類型關(guān)鍵字的控件,參數(shù)sel的賦值為0

 

4、布爾類型關(guān)鍵字 AFXBoolKeyword    

構(gòu)造方法:

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

參數(shù)解釋:

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

13.png

使用布爾類型關(guān)鍵字的典型控件有:復選框控件。

使用布爾類型關(guān)鍵字的控件,參數(shù)sel的賦值為0

 

5、符號常數(shù)類型關(guān)鍵字 AFXSymConstKeyword

構(gòu)造方法:

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

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

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

14.png

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

 

6、元組類型關(guān)鍵字 AFXTupleKeyword  

構(gòu)造方法:

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

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

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

這個關(guān)鍵字沒有默認值。

15.png

使用元組類型關(guān)鍵字的典型控件有:文本框控件。

當從一個文本框中收集大于1個數(shù)據(jù)時,比如一個坐標為(10,20,30),相當于收集了3個數(shù)據(jù),則可以用元組類型關(guān)鍵字,等同于從三個文本框中分別收集。此時sel賦值為大于零的整數(shù)。如果只收集1個數(shù)據(jù),sel則為0.

 

7、表格關(guān)鍵字 AFXTableKeyword     

構(gòu)造方法:

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

minLength:表格中最小行數(shù),默認為0

maxLength:表格中最大行數(shù),為-1表示無限制

這個關(guān)鍵字沒有默認值。

16.png

使用表格類型關(guān)鍵字的典型控件有:表格控件。

使用表格類型關(guān)鍵字的控件,參數(shù)sel的賦值為0

 

8、對象類型關(guān)鍵字 AFXObjectKeyword 

構(gòu)造方法:

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

17.png

使用表格類型關(guān)鍵字的典型控件有:拾取控件。

使用表格類型關(guān)鍵字的控件,參數(shù)sel的賦值為0

 

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


Abaqus GUI二次開發(fā)三部曲:

Abaqus 主窗口GUI的二次開發(fā)

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

Abaqus插件程序GUI的二次開發(fā) 高級篇

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

TOP

8
3
8