利用Python实现ABAQUS批处理的GUI代码实践

“ 在使用python进行ABAQUS批处理-总体思路中, 我们梳理了插件开发需求与流程, 本篇将详细讲述该插件的Gui的设计。”

使用python进行ABAQUS批处理-Gui代码的图1



使用ABAQUS自带的RSG即可搭建简易的GUI操作界面, 这样可以避免书写大量的GUI代码, 只需针对其不符合使用需求的部分进行修改即可. 这样一来, 就要求在设计完成后, 保存GUI时应选择standard plug-in, 同时你还需要能够找到这个文件, 来进行修改.

使用python进行ABAQUS批处理-Gui代码的图2

   

如何使用RSG工具构造GUI并关联kernel程序的方法, 在本篇文章中不进行讨论.


在设计GUI的时候, 我们已经发现了两个问题:

  1. label标签内容不可以换行, 即使输入\n也不行;
  2. RSG没有提供选择文件夹的控件, 只提供了选择文件的控件.

以下, 将就这两个问题展开讨论


01—label标签内容可以换行


label标签如果不能换行, 那么在输入一些解释性的信息的时候会比较麻烦, 要么会拉宽对话框, 要么就得需要多个label.

其实label不是不能换行, 只是其不能在RSG页面进行换行, 想要换行的话, 需要自己手动编辑自动生成的带有DB字样的py文件.

使用python进行ABAQUS批处理-Gui代码的图3

   从上图可以发现, \n并没有达到换行的目的.

   通过查看上图所对应的带有DB的py文件可以发现:


l = FXLabel(p=GroupBox_1, text='000000000000000000000000000\\n00000000000000000000', opts=JUSTIFY_LEFT)

   我们设计的这个label文件的内容中的\n被禁止转义了, 相信我们主要取消这个禁止, 就可以实现换行:


l = FXLabel(p=GroupBox_1, text='000000000000000000000000000\n00000000000000000000',opts=JUSTIFY_LEFT)

然后重启ABAQUS:
使用python进行ABAQUS批处理-Gui代码的图4

   成功换行!    



02—文件夹的选择

RSG自动生成的file控件是无法选择文件夹的:

使用python进行ABAQUS批处理-Gui代码的图5

   如此一来我们就需要查阅帮助文档, 首先我们需要知道控件的名称, 打开对应的带有DB字样的python文件, 可以找到控件的类型为AFXFileSelectorDialog.


 fileDb = AFXFileSelectorDialog(getAFXApp().getAFXMainWindow(),     
  'Select a File',     
  self.fileNameKw, 
  self.readOnlyKw,     
  AFXSELECTFILE_ANY, 
  self.patterns, 
  self.patternTgt)

   在帮助文档中, 我们可以发现这个控件是通过mode参数来设定选择类型的:

File selection modes AFXSELECTFILE_ANY A single file, existing or not (to save to). AFXSELECTFILE_EXISTING An existing file (to load). AFXSELECTFILE_MULTIPLE Multiple existing files. AFXSELECTFILE_MULTIPLE_ALL Multiple existing files or directories. AFXSELECTFILE_DIRECTORY Existing directory. AFXSELECTFILE_REMOTE_HOST Enable opening files on a remote host.

作如下更改后, 重启ABAQUS:

 fileDb = AFXFileSelectorDialog(getAFXApp().getAFXMainWindow(),      
 'Select a Folder',    
 self.fileNameKw, 
 self.readOnlyKw,     
 AFXSELECTFILE_DIRECTORY, 
 self.patterns, 
 self.patternTgt)

使用python进行ABAQUS批处理-Gui代码的图6

OK, 可以选择文件夹了




03—总结


至此, 所有技术细节已经处理完毕, 在kernel代码设计完成后, 使用RSG工具设计GUI界面的初始样式, 并关联kernel,  然后自行修改带有DB字样的py文件, 已达到标签换行和选择文件夹的目的.




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空