3分鐘教會你ABAQUS二次開發(fā)之--界面數(shù)據(jù)合理性驗(yàn)證

前言:本文適用有一定ABAQUS插件開發(fā)的人員使用,話不多說,開始正題。

QQ截圖20190223232407.jpg

以復(fù)合材料的材料屬性“密度”一欄為例說明,我們輸入一個(gè)負(fù)數(shù),比如 -10,眾所周知,一個(gè)材料的密度肯定不可能是負(fù)數(shù),

QQ圖片20190223232531.png

大家看到?jīng)]有,立馬彈出一個(gè)警告提示“復(fù)合材料密度必須為正數(shù),請重新輸入!”

這是怎么實(shí)現(xiàn)的呢?首先請小伙伴們創(chuàng)建一個(gè)這樣的插件

(創(chuàng)建插件的辦法網(wǎng)站見:https://blog.csdn.net/sinat_42856437/article/details/86703009)

QQ截圖20190223233211.jpg

大家打開自己的插件目錄,會看到生成這樣3個(gè).py文件,(.pyc文件在Python文件執(zhí)行后生成的,假裝看不到,不用管他)

QQ截圖20190223233249.jpg

接下來我們打開“warning_plugin.py”文件,注意,大家如果給自己的插件名稱名為為“xx”,那么就打開“xx_plugin.py”

QQ截圖20190223233715.jpg

我們將第43行代碼的“retrue True”刪去,在“        pass”即第42行代碼后面插入一串代碼,,變成如下形式:

QQ截圖20190223234115.jpg

這里需要注意兩個(gè)點(diǎn),首先“self.numKw”,中的num必須是在內(nèi)核文件中定義的參數(shù)一樣

QQ截圖20190223234243.jpg

說白了,你想把哪個(gè)參數(shù)新增數(shù)據(jù)合法性驗(yàn)證,那就自動(dòng)在這個(gè)參數(shù)后面加上個(gè)kw,然后照貓畫虎,進(jìn)行替換即可。

showAFXErrorDialog()----這是ABAQUS界面開發(fā)中的一個(gè)函數(shù),其他參數(shù)不用管,重點(diǎn)在第二個(gè)參數(shù),輸入彈出的警告框提示內(nèi)容,例如,你想彈出“ERROR!!!”,好,那就輸入該字符串即可,但是要注意一點(diǎn),你想顯示漢字,必須首先漢化,漢化方法見其他教程,并且將漢字轉(zhuǎn)換為GBK編碼,才可以正常顯示,有的腳本不轉(zhuǎn)化也可以顯示漢字,我也搞不懂,懂行的朋友可以教一下在下。

最終結(jié)果圖如下:

QQ截圖20190224000011.jpg

若輸入正確數(shù)據(jù),如“4E-005”

QQ截圖20190224000106.jpg

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

最后總結(jié)一下:

  1. 首先創(chuàng)建一個(gè)插件

  2. 打開插件目錄中的“XX_plugin.py”文件,找到doCustomChecks函數(shù)

  3. 刪去最后一行的 return True

  4. 輸入我剛剛寫的代碼

上述demo和GBK漢字互相轉(zhuǎn)換代碼已上傳至GitHub,好用請星標(biāo)哦~~

https://github.com/yechong316/ABAQUS-plugin.git

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

TOP

5
7
6