詳解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)鍵字

第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)鍵字使用于特定的控件中,比如文本框控件:

參數(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)核腳本。

參數(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ā)三部曲:
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















