Abaqus GUI程序开发指南(Python语言) 9787115416599
ABAQUS Python二次开发攻略 CAE分析大系 9787115414533
bm998828
Abaqus GUI程序开发指南 Python语言
Abaqus GUI程序开发实用教程,全彩印刷,提供配套程序源代码及CAE模型供读者下载学习使用
本书共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有限元软件有一定的认识和操作能力。
,章 概 述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
ABAQUS Python二次开发攻略 CAE分析大系
ABAQUS原厂推荐 实例解决工程实际问题 微信+QQ群+SimWe论坛 提供强势技术支持
本书是作者结合自己多年Abaqus 使用经验,在汲取国内外大量资料的基础上编写的一本Python 二次开发知识点笔记。内容涉及开发环境的搭建、Python 基础语法知识、Abaqus Python API 讲解,并以实例展示的方式详细阐明了二次开发的流程和方法。本书可以帮助正在使用Abaqus 进行仿真分析工作的工程师或者科研人员学习Abaqus Python 二次开发方法,同时对熟悉Abaqus 二次开发流程的读者也有一定的借鉴价值。
,部分 引言第1章 Abaqus二次开发简介 121.1 为什么是Python 121.2 Python、FORTRAN与Abaqus 131.3 基于Python二次开发 14第2章 Python能力确认 172.1 测试程序 172.2 程序运行结果 22第3章 脚本的运行与开发环境 233.1 Abaqus中脚本的运行 233.1.1 命令区KCLI(Kernel Command Line Interface) 233.1.2 CAE-Run Script 243.1.3 Abaqus Command 243.1.4 Abaqus PDE 253.2 选择自己的Python开发环境 263.2.1 Abaqus PDE 263.2.2 IDLE 273.2.3 Notepad++ 283.2.4 EditPlus 293.2.5 选择合适的编程环境 32第二部分 Python基础第4章 Python数据类型与操作符 344.1 基本数据类型 344.2 列表、元组和字符串 364.2.1 列表(list) 364.2.2 元组(tuple) 384.2.3 字符串(str) 404.2.4 列表、元组和字符串的关系 424.3 字典 434.4 集合 454.5 操作符 464.5.1 赋值操作符 464.5.2 数字类型的操作符 464.5.3 序列类型的操作符 484.5.4 字典和集合的操作符 50第5章 表达式和流程控制 515.1 表达式和程序执行流程 515.2 分支语句if-else 525.3 循环语句 545.3.1 while循环语句 545.3.2 for循环语句 555.4 中断和退出 585.4.1 break语句 585.4.2 continue语句 595.5 特殊语句pass 60第6章 函数 616.1 定义函数 616.2 函数中的参数传递与调用方法 636.3 几个特殊的函数关键字 646.3.1 Lambda关键字与匿名函数 646.3.2 Map关键字与批量化函数操作 666.3.3 Reduce关键字和求和 676.3.4 Filter关键字和条件选择 67第7章 对象和类 697.1 对象 697.2 类 707.2.1 如何定义类 707.2.2 如何使用类 717.2.3 子类、父类和继承 727.2.4 几个特殊的实例属性和类方法 747.3 模块和包 757.3.1 模块 757.3.2 模块的路径搜索 767.3.3 名称空间 777.3.4 包 78第8章 文件和目录 798.1 文件读写操作 798.2 目录操作 828.3 文件的压缩和备份 858.4 综合实例 87第9章 异常处理 899.1 Python中常见的异常 909.2 自定义异常 929.3 使用异常 939.4 再看异常处理的作用 95第10章 常用Python扩展模块介绍 9610.1 NumPy和高效数据处理 9710.1.1 创建数组 9810.1.2 数组操作 9910.1.3 数组运算 10010.1.4 线性代数 10010.2 SciPy与数值计算 10110.2.1 插值 10110.2.2 拟合 10110.2.3 极值问题 10210.3 Matplotlib和图表绘制 10310.3.1 二维点线数据绘制 10410.3.2 辅助散点和线图绘制 10510.3.3 简单三维数据可视化 10710.4 Xlrd/xlwt与读写Excel 10910.4.1 读取Excel文件 10910.4.2 写入Excel数据 10910.5 Reportlab和PDF 11010.6 联合使用类库 111第11章 Python编程中的效率问题 11411.1 时间成本优化 11411.1.1 使用内建函数(built-in Function) 11411.1.2 循环内部的变量创建 11511.1.3 循环内部避免不必要的函数调用 11711.1.4 使用列表解析 11811.1.5 尽量减少IO读写 11811.1.6 使用**的第三方库 11911.1.7 其他 12011.2 空间成本优化 12011.2.1 使用xrange处理长序列 12011.2.2 注意数据类型的使用 12111.2.3 使用iterator 122第三部分 Abaqus/Python基础第12章 Abaqus Script入门 12412.1 GUI操作Vs rpy脚本日志 12412.2 对脚本进行简单的二次开发 133第13章 Abaqus/Python基础 13513.1 Abaqus/Python中的数据类型 13513.1.1 符号常值(SymbolicConstants) 13513.1.2 布尔值(Booleans) 13513.1.3 特有的模型对象 13613.1.4 序列(Sequences) 13613.1.5 仓库(Repositories) 13713.2 Abaqus/Python的对象的访问和创建 13813.2.1 对象的访问 13913.2.2 对象数据的修改 14013.2.3 对象的创建 14013.3 Abaqus/Python中的主要对象概况 14113.3.1 Abaqus中的Session对象 14213.3.2 Abaqus中的Mdb对象 14313.3.3 Abaqus中的Odb对象 145第14章 Session对象的使用 14614.1 Viewport及其相关对象 14714.2 Path对象 15214.3 XYData对象 15314.4 XYCurve和XYPlot对象 15414.5 writeXYReport和writeFieldReport函数 157第15章 Mdb对象的使用 16015.1 Model类与有限元模型的建立 16115.1.1 Sketch和Part对象 16215.1.2 Material和Section对象 16615.1.3 Assembly对象 16715.1.4 Step对象 16915.1.5 Region对象 17015.1.6 Constraint和Interaction对象 17115.1.7 Mesh函数 17215.1.8 BoundaryCondition和Load对象 17315.2 Job命令 176第16章 Odb对象的使用 17716.1 Odb对象中模型数据 17816.1.1 Material对象 17816.1.2 孤立网格数据信息 17816.1.3 集合对象 18216.2 Odb对象中结果数据的读取 18416.2.1 场变量数据的处理 18616.2.2 历史变量数据的处理 18916.3 Odb数据文件的写入 19016.3.1 已有模型添加特定数据 19016.3.2 生成完整的Odb对象 192第17章 几个常见问题 19517.1 几何和网格元素的选择 19517.1.1 内置的选择函数 19517.1.2 基于特征的筛选方法 19717.2 几何元素的特征操作 19917.3 具有集合性质的对象 20117.4 监测任务运行过程和结果 20417.5 交互式输入与GUI插件 20617.5.1 交互输入 20717.5.2 GUI插件制作 208第四部分 应用实例第18章 悬链线问题 21818.1 悬链线的方程 21818.2 利用Abaqus分析悬链线曲线特征 22118.2.1 建立分析脚本 22118.2.2 确定合适的初始拉伸量 22318.2.3 拉伸刚度的影响 224第19章 扭力弹簧的刚度 22719.1 扭力弹簧的理论分析公式 22719.2 利用Abaqus分析扭力弹簧 22919.2.1 梁单元模拟扭力弹簧 22919.2.2 实体单元模拟扭力弹簧 23419.3 结果对比 236第20章 圆角处网格研究 23820.1 带孔薄板 23820.1.1 理论分析 23820.1.2 模型计算 23920.2 台阶板倒角处的应力 24420.2.1 理论分析 24420.2.2 有限元模拟 245第21章 优化问题 24921.1 水下圆筒的抗屈曲设计 24921.1.1 问题的描述 24921.1.2 参数化模型 25021.1.3 优化策略 25121.1.4 求解与结果 25421.2 过盈配合设计 25821.2.1 问题描述 25821.2.2 参数化模型建模 25821.2.3 优化策略与结果 26321.3 笔盖的插入力的确定 26821.3.1 问题描述 26821.3.2 参数化模型建模 26821.3.3 优化策略与结果 273