3分钟教会你ABAQUS二次开发之--界面数据合理性验证

前言:本文适用有一定ABAQUS插件开发的人员使用,话不多说,开始正题。

QQ截图20190223232407.jpg

以复合材料的材料属性“密度”一栏为例说明,我们输入一个负数,比如 -10,众所周知,一个材料的密度肯定不可能是负数,

QQ图片20190223232531.png

大家看到没有,立马弹出一个警告提示“复合材料密度必须为正数,请重新输入!”

这是怎么实现的呢?首先请小伙伴们创建一个这样的插件

(创建插件的办法网站见:https://blog.csdn.net/sinat_42856437/article/details/86703009)

QQ截图20190223233211.jpg

大家打开自己的插件目录,会看到生成这样3个.py文件,(.pyc文件在Python文件执行后生成的,假装看不到,不用管他)

QQ截图20190223233249.jpg

接下来我们打开“warning_plugin.py”文件,注意,大家如果给自己的插件名称名为为“xx”,那么就打开“xx_plugin.py”

QQ截图20190223233715.jpg

我们将第43行代码的“retrue True”删去,在“        pass”即第42行代码后面插入一串代码,,变成如下形式:

QQ截图20190223234115.jpg

这里需要注意两个点,首先“self.numKw”,中的num必须是在内核文件中定义的参数一样

QQ截图20190223234243.jpg

说白了,你想把哪个参数新增数据合法性验证,那就自动在这个参数后面加上个kw,然后照猫画虎,进行替换即可。

showAFXErrorDialog()----这是ABAQUS界面开发中的一个函数,其他参数不用管,重点在第二个参数,输入弹出的警告框提示内容,例如,你想弹出“ERROR!!!”,好,那就输入该字符串即可,但是要注意一点,你想显示汉字,必须首先汉化,汉化方法见其他教程,并且将汉字转换为GBK编码,才可以正常显示,有的脚本不转化也可以显示汉字,我也搞不懂,懂行的朋友可以教一下在下。

最终结果图如下:

QQ截图20190224000011.jpg

若输入正确数据,如“4E-005”

QQ截图20190224000106.jpg

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

最后总结一下:

  1. 首先创建一个插件

  2. 打开插件目录中的“XX_plugin.py”文件,找到doCustomChecks函数

  3. 删去最后一行的 return True

  4. 输入我刚刚写的代码

上述demo和GBK汉字互相转换代码已上传至GitHub,好用请星标哦~~

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

QQ截图20190224001441.jpg
登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

5
7
6