本书共6章,主要讲解采用Python语言对Abaqus进行图形界面程序的开发,包括GUI插件程序(Plug-ins)的开发以及用户自定义GUI应用程序(Customized Applications)的开发。各章的主要内容是:第1章以简单的入门插件程序为例,介绍了Abaqus图形界面程序开发的意义。第2章简要介绍了Python语言的基本语法。第3章介绍了一些Abaqus中常用的Python内核指令。第4章详细介绍了Python语言中多种常用GUI控件的使用方法。第5章介绍了Abaqus中基于Python语言的GUI插件程序开发过程以及插件程序的管理,同时给出了多个完整的插件程序实例。第6章介绍了Abaqus中用户自定义GUI应用程序的开发过程,包括GUI工具条、工具箱、菜单、模块的创建方法及管理,同时给出了自定义GUI应用程序的开发实例,并对实例做了详细的注释。本书适合高校、研究所以及工程设计单位的Abaqus中高级用户学习使用,要求读者对Abaqus有限元软件有一定的认识和操作能力。
内容涉及Python语言的基本语法、常用内核脚本、Abaqus控件使用、插件开发到自定义应用平台开发等多个方面专注于Abaqus GUI程序开发,详细介绍了20多种GUI控件的使用,可满足各类复杂GUI程序的开发需求全彩印刷,书中所有代码均按照免费软件Notepad 中Python语言格式进行语法着色,方便读者阅读人民邮电出版社异步社区提供本书配套程序源代码及CAE模型供读者下载学习使用。
作者简介贾利勇,工程师,2008年毕业于西北工业大学航空学院飞行器设计与工程专业,2011年获中国航空研究院工学硕士学位,2015年至2016年于英国帝国理工学院做访问学者。现就职于中航工业第1飞机设计研究院结构设计研究所,主要从事飞机结构设计、复合材料失效分析工作,精通非线性商业有限元软件Abaqus复合材料子程序开发及图形界面程序开发。 富琛阳子,工程师,2009年毕业于西北工业大学材料科学与工程专业,现就职于中航工业第1飞机设计研究院结构设计研究所,主要从事飞机结构设计工作。 贺高,陕西安塞人,研究员,中国航空工业集团公司特级专家,现就职于中航工业第1飞机设计研究院结构设计研究所,主要从事飞机结构设计、复合材料结构设计工作。 周正光,高级工程师,硕士研究生,2007年毕业于北京航空航天大学飞行器设计专业,现就职于中航工业第1飞机设计研究院结构设计研究所,主要从事飞机结构设计工作。
序 言
前 言
及时章 概 述1
1.1 简单插件实例——创建带孔板有限元模型2
1.2 Abaqus图形界面程序开发的意义10
第二章 Python语言基础11
2.1 Python语言的特点12
2.2 Python与Abaqus13
2.3 Python的编码规则15
2.4 内置对象类型17
2.5 动态类型简介29
2.6 运算符35
2.7 if条件语句38
2.8 while和for循环39
2.9 函数42
2.10 模块44
2.11 包导入46
2.12 文件的操作48
第三章 常用Abaqus内核指令52
3.1 Abaqus/CAE中Python指令的执行方式53
3.2 内核脚本的快捷编辑方式53
3.3 高亮显示及取消高亮显示54
3.4 几何导入56
3.5 创建集合57
3.6 单元和节点重新编号58
3.7 更改草图平面59
3.8 创建基于单元的面62
3.9 统计零件或实例的单元和节点数量62
3.10 sendCommand()命令注意问题64
3.11 合并节点mergeNodes()65
3.12 elementFaces与elemFaces的区别66
3.13 by angle的选取方式67
3.14 使用findAt()选取对象68
3.15 有关系统日期和时间的指令69
3.16 .rpy及.jnl文件输出格式控制69
第四章 常用控件使用方法72
4.1 GUI图形界面的创建方式73
4.2 目标和消息74
4.3 按钮控件push button 使用方法76
4.4 单选按钮FXRadioButton使用方法83
4.5 复选框FXCheckButton使用方法86
4.6 文本框控件AFXTextField使用方法88
4.7 表格控件AFXTable使用方法90
4.8 文件选择控件中文件类型的设置103
4.9 控件提示语设置104
4.10 快捷键的设置104
4.11 如何创建并调用菜单106
4.12 颜色按钮AFXColorButton使用方法107
4.13 飞出按钮的使用方法107
4.14 列表控件AFXList使用方法108
4.15 树列表控件FXTreeList使用方法109
4.16 带复选框的树控件AFXOptionTreeList使用方法112
4.17 自定义下拉框控件AFXComboBox使用方法113
4.18 进度条的使用方法116
4.19 图标的创建及使用方法120
4.20 Pick Button的创建及使用方法123
4.21 提示框的使用方法125
4.22 单输入函数getInput()使用方法130
4.23 多输入函数getInputs()使用方法132
4.24 警告反馈函数getWarningReply()使用方法133
4.25 在自定义窗体中调用Abaqus/CAE内嵌功能133
4.26 工具条Toolbar 和工具箱toolbox的区别135
4.27 控件的格式及位置136
4.28 控制控件的使用状态139
4.29 调整对话框尺寸145
4.30 行列布局管理器145
第五章 插件程序开发指南148
5.1 插件的创建方法149
5.2 插件的保存方式149
5.3 插件的使用方法150
5.4 插件程序的组成150
5.5 插件程序的管理150
5.6 插件程序实例一:复合材料冲击损伤有限元模型自动建模程序154
5.7 插件程序实例二:六边形蜂窝自动建模程序184
第六章 用户自定义GUI应用程序开发指南196
6.1 用户自定义GUI应用程序与插件程序的区别197
6.2 用户自定义 GUI应用程序组成197
6.3 如何修改Abaqus/CAE标准应用程序203
6.4 自定义GUI工具包AFXToolsetGui205
6.5 自定义GUI模块AFXModuleGui208
6.6 自定义GUI树形工具条TreeToolsetGui211
6.7 用户自定义GUI应用程序实例详解213
参考文献231
附录A 本书中用到的对象及方法232