前言
Python具有以下特点。Python语言是一种动态解释型编程语言,其功能强大,简单易学,支持面向对象编程((object-oriented programming),虽然由于其动态性致使程序解释执行速度比编译语言慢,但是随着Python语言的不断优化以及计算机硬件的迅猛发展,Python语言将会受到越来越多用户的关注。Python具有开源、自由等特征。它的简洁性和易用性使程序的开发过程变得简单,特别适用于快速应用程序开发。以有效提高前后处理效率,节省建模及数据处理时间。
采用Python语言对 Abaqus进行二次开发具有以下优点。
1)可以通过图形交互界面,实现参数的统一管理。
2)可以避免大量重复性的建模工作,避免人为建模错误。对于具有典型共有特征的模型可以建立标准的建模模板,实现完全参数化或者快速建模。
3)可以通过执行内核指令实现Abaqus/CAE不具备的甚至是人工手动操作无法实现的复杂问题建模。
Abaqus 用户图形界面程序主要有两种:简单GUI插件程序和用户自定义GUI应用程序。插件程序可以辅助完成一个或者几个功能,自定义应用程序可集成多功能、多界面,将多个功能组件集成在统一的平台内进行管理,适合大型应用程序开发。上述两类图形界面程序均可以辅助用户提高有限元建模及数据处理效率。
今天就针对核心部分的内核程序和图形界面程序拆开讲讲,代码里面的结构是什么样,各个部分有什么作用。
1 图形界面程序
图形界面文件的主要作用是定义各类窗体、控件,关联控件的执行命令及对象。通过定义文本框、单复选按钮、表格等各类控件,用户可以方便地将所需参数集成到统一的图形界面下,形成友好的输入输出界面。其程序部分源代码如下。
1.1 类(class)的结构
举一个例子,正如一类工具有很多种功能一样,一个类里面包含很多种函数。就如下面所示这样。
1.2 引入相关的库
abaqusConstants,abaqusGui,kernelAccess,这三个库都是集成在abaqus中的,和 abaqus密切相关的库。
1.3 规定相应的功能
先观察案案例中的插件程序界面里面有什么东西。
首先是有一个大框把所有东西都装起来,还有标题,再加上注意事项,画面中间还有一些小的参数框和示意图,最下面还有两个按钮。所以在这个部分就要先设计一个自己的对话框,在往对话框中填东西。就往最简单的方向,先造一个够用的小对话框。对话框里首先是底部按钮,参数对话框,示意图。分别讲讲这三个函数。
按钮用.getActionButton()来定义,
参数对话框用AFXTextField(p=GroupBox_l, ncols=’, labelText='零件名:', tgt=form.partnameKw, sel=O)。值得注意,因为我们有四个参数,名字,宽度,高度,直径,所以参数对话框就需要四个。
示意图用afxCreatePNGIcon()函数创建。
2 内核程序
内核执行文件是插件程序的核心,其作用是驱动Abaqus/CAE执行内部命令,完成CAE建模以及数据处理等功能。内核文件接受,外部传进来的参数,进行运算和创建相应的模型。本插件程序中的内核执行文件,其程序部分源代码如下。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删