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

Abaqus插件的腳本往往有3個(gè),內(nèi)核腳本(xxx.py)、對(duì)話框腳本(xxxDB.py)和注冊(cè)腳本(xxx_plugin.py)。打開(kāi)注冊(cè)腳本(xxx_plugin.py)后,經(jīng)常可以發(fā)現(xiàn)諸如AFXStringKeyword、AFXIntKeyword、AFXBoolKeyword等構(gòu)造方法。

 

從名稱看,我們知道它們是某某類型的關(guān)鍵字。那它們是什么意思?不同類型的關(guān)鍵字的區(qū)別是什么?怎么使用?用在何處?

 

今天,我們來(lái)聊聊Abaqus GUI二次開(kāi)發(fā)中的關(guān)鍵字(AFXKeyword)。

 

在幫助文檔(6.14)Abaqus GUI Toolkit User's Guide中6.5.8,有關(guān)于AFXKeyword的定義。但說(shuō)實(shí)話,說(shuō)的不清楚,不好理解。

 

說(shuō)大白話,關(guān)鍵字大多創(chuàng)建在注冊(cè)腳本,而用于對(duì)話框腳本中。關(guān)鍵字對(duì)象賦值給tgt參數(shù),專門收集用戶的數(shù)據(jù),作為參數(shù)發(fā)送給內(nèi)核腳本。

 

關(guān)鍵字(AFXKeyword)的構(gòu)造方法為:

AFXKeyword(command, name, isRequired=False)

參數(shù)解釋:

command:GUI命令,或None。

在注冊(cè)腳本中定義時(shí),通常賦值為AFXGuiCommand的實(shí)例對(duì)象。

在對(duì)話框腳本中定義時(shí),通常賦值為None。

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

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

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

 

實(shí)際使用時(shí),我們并不會(huì)用AFXKeyword()創(chuàng)建關(guān)鍵字對(duì)象,因?yàn)殛P(guān)鍵字一共有8種類型,分別是:

整型關(guān)鍵字:              AFXIntKeyword    

浮點(diǎn)型關(guān)鍵字:           AFXFloatKeyword      

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

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

符號(hào)常數(shù)類型關(guān)鍵字: AFXSymConstKeyword

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

表格關(guān)鍵字:                AFXTableKeyword    

對(duì)象類型關(guān)鍵字:         AFXObjectKeyword 

 

對(duì)話框中,不同的控件,對(duì)應(yīng)的關(guān)鍵字類型是不一樣的。所以要依照控件,來(lái)創(chuàng)建相應(yīng)類型的關(guān)鍵字。

 

這8種關(guān)鍵字在創(chuàng)建時(shí),都具備以上三個(gè)參數(shù),不同類型的關(guān)鍵字還都有自己的參數(shù)。

 

剛才說(shuō)了,關(guān)鍵字在注冊(cè)腳本創(chuàng)建,而應(yīng)用于對(duì)話框腳本中,我們分開(kāi)討論。

 

注冊(cè)腳本:

創(chuàng)建一個(gè)字符串類型的關(guān)鍵字

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

4.png

第23行,需要以AFXGuiCommand創(chuàng)建一個(gè)GUI命令,以它作為關(guān)鍵字的第一個(gè)參數(shù)。這個(gè)參數(shù)可以給所有關(guān)鍵字共用。

第26行,構(gòu)造方法AFXStringKeyword(),創(chuàng)建關(guān)鍵字對(duì)象,賦值給self.keyword01Kw

 

對(duì)話框腳本:

字符串類型關(guān)鍵字使用于特定的控件中,比如文本框控件:

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

2.png

參數(shù)tgt的賦值,即為剛才創(chuàng)建的關(guān)鍵字對(duì)象。因?yàn)樘幱诓煌哪_本,需要用form來(lái)調(diào)用該關(guān)鍵字。

由于關(guān)鍵字的類型是字符串,所以sel的賦值為0,這是固定格式。

 

如此一來(lái),文本框控件創(chuàng)建好了。文本框中輸入的字符串(Part-1),會(huì)被賦值給參數(shù) keyword01,傳遞給內(nèi)核腳本。

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

3.png

參數(shù)tgt和sel通常有三種設(shè)置方式,在《Abaqus插件對(duì)話框二次開(kāi)發(fā),參數(shù)tgt和sel的設(shè)置方法》帖子中有詳細(xì)闡述,這里使用的是第一種方式。

在下一貼中,我們繼續(xù)討論8種關(guān)鍵字的具體創(chuàng)建方法,以及用于何種控件: 

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


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

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

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

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

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

30
5
31