当前位置:首页 > 文章中心 > 正文内容

《ANSYS ACT宝典》带你快速上手仿真向导开发全流程SCDM脚本建模

dgx6664个月前 (04-09)文章中心22

《ANSYS ACT宝典》带你快速上手仿真向导开发全流程


作者 | 小田老师 仿真秀科普作者

首发 | 仿真秀公众号(ID:fangzhenxiu2018)

导语:ANSYS ACT作为ANSYS系列产品的统一二次开发平台,提供了强大的仿真功能及流程定制化能力,即使不是专业的编程人员,也能为仿真工作流程创建定制化的应用插件。

一、ANSYS ACT概述

ANSYS Application Customization Toolkit简称ACT,是ANSYS系列产品的统一二次开发平台,ACT使用易于学习但功能强大的XML标记语言和IronPython编程语言,即使不是专业的编程人员,也能为仿真工作流程创建定制化的应用插件。

ANSYS ACT官方宣传视频

1、ACT的功能介绍

针对业务特定需求或行业特定需求,通用的ANSYS产品可能无法满足,为了方便用户定制ANSYS产品,以满足这些需求,ANSYS提供了ACT定制开发功能,有以下三种形式:

(1)添加新功能(Feature Creation)

直接地、API驱动的ANSYS产品的二次开发,用户可定义自己的功能和操作。例如Mechanical中创建特定载荷、失效标准、自定义前后处理、求解器等。

自定义后处理

(2)仿真流程定制(Simulation Workflow Integration)

可以把外部知识,如应用软件、流程、脚本集成到ANSYS生态体系中,可以在Workbench Project管理页面中定制仿真流程。例如:用户自定义的系统(System)和组件(Component)。

仿真流程定制

(3)流程压缩(Process Compression)

实现ANSYS产品间的仿真流程的封装和自动化,其结果就是形成一个仿真向导(Simulation Wizard),用于仿真流程及经验的固化。

仿真向导界面

2、ACT支持的软件

ANSYS产品支持ACT开发的软件模块如下表所示,囊括电磁、结构、流体和多物理场仿真。

ACT支持软件

在实际工程应用开发过程中,由于ANSYS产品本身功能大而全,所以在功能添加和仿真流程定制上需求相对较少,而采用流程压缩进行仿真向导的开发占绝大多数。

因为仿真流程通常非常复杂,因此仿真使用往往会仅限于少数专家用户,从而会降低工作流程的整体效率。通过ACT向导开发,就可以利用成熟的仿真流程以及最佳实践,将特定的仿真流程压缩为简化、易于遵循的仿真步骤;这样即使是非专业用户可以使用向导逐步完成复杂的模拟,来快速生成所需的结果,提升整个企业的研发实力。

今天我们文章内容会主要介绍ACT仿真向导的开发技术,另外两种模式后续文章再做介绍。

二、ACT开发基础知识

在进行ACT开发之前,我们需要了解以下术语和知识。

1、ACT文件结构

一个脚本化的ACT插件至少包括:

① 一个XML文件

  • 定义UI内容、插件输入属性
  • 将应用程序事件与IronPython脚本函数绑定

② 一个IronPython脚本文件

  • 实现仿真功能,事件驱动:定义事件调用函数
  • 支持访问外部扩展库

同时我们可以使用其他文件和文件夹来更好地组织内容,比如创建文件夹存放图标、帮助文件等。

2、XML数据结构

XML是可扩展标记语言(EXtensible Markup Language)的简称;XML和常见HTML类似,也是一种标记语言;而且XML是可以用来携带数据,本身是自描述性的。

使用XML进行ACT开发前,我们需要知道如下的四个基本概念:

① 标签/标记(Tags)

  • 标签是左尖括号(<)和右尖括号(>)之间的文本
  • 有开始标记 (如 ) 和结束标记 (如 )

② 元素(Elements)

  • 元素是开始标记、结束标记以及两者之间的所有内容
  • 示例中: 元素包含三个子元素:,

③ 属性(Attributes)

  • 属性是元素开始标记中的名称-值对(name-value)
  • 示例中:名称(name)和图标(icon)是 元素的属性

④ 开始标记 ()之间是注释。

XML数据结构

XML标记(tags)不是预定义的,每个应用都有自己的标记,ACT有自己的XML标记。有关各种标记、元素和属性的详细信息,参见《ANSYS ACT XML Reference Guide》。

3、仿真向导简介

向导(Wizard)用于启动和控制不同目标的应用程序,可以是Target Wizard;也可以是Project Wizard或Mixed Wizard。

① 目标应用向导 - Target Wizard

  • 只能在指定的ANSYS中目标应用中启动,如Mechanical、SpaceClaim、Fluent等;
  • 利用目标程序提供的脚本开发功能,在应用中仿真向导界面中提仿真流程的指导。

② 项目向导 - Project Wizard

  • 仅在ANSYS Workbench项目标签页中执行,通过后台调用组件模块,不会单独打开与之交互;
  • 通过Workbench脚本开发可以将任何数据集成应用程序集成到向导中,如Fluent、CFX、DM、SCDM、Mechanical等;

③ 混合向导 - Mixed Wizard

  • 在ANSYS Workbench项目标签页和一个或多个支持脚本功能的目标应用程序中执行;
  • 混合向导在Project标签页和目标应用程序中都提供了本地仿真向导,而且支持在目标应用中进行界面交互。
  • 结合了项目向导和目标应用向导的功能,提供全流程的仿真流程的封装与定制。

仿真向导也可同时用于Workbench和独立应用程序:

仅Workbench应用环境下:

  • DesignModeler
  • Mechanical

Workbench和独立应用程序:

  • SpaceClaim
  • Fluent、Fluent Meshing
  • Electronics Desktop

4、Wizard向导定义

Wizard完全是ACT插件的一部分,在定义Wizard时也需要定义构成插件的常用组件。

Wizard结构组成

Wizard需要的定义插件的XML文件和其引用的IronPython脚本:

① 与标准ACT插件所需相同,并使用相同的XML和IronPython语法;

② 可选的自定义帮助文件

  • 包含文本、图像、图标或其他控件类型的HTML文件,用于为Wizard提供详细使用说明;
  • 对于Wizard,帮助文件可以储存在插件目录中的任何文件夹中;
  • 执行向导时,文件内容将显示在向导的交互界面中。

5、XML文件定义

ACT有自己的XML标记,开发Wizard向导需要完成以下标签元素的定义。

(1)元素定义

为ACT中XML文件的根元素,包含以下的属性:name、version、icon、minorversion;

标记间可添加子元素(element):

  • :表示插件的唯一标识符;
  • 出现在摘要信息;
  • <script>:插件中使用的IronPython脚本文件;
  • :定义应用程序上下文,指定工具栏(toolbar)的位置,还能指定图像文件夹;
  • :自定义布局和向导面板;
  • :包含所有步骤(Step)的控制元素;
  • :可选的,如果除了向导本身之外还需要其他自定义功能,则使用该元素。

标签及其元素

(2)元素定义

元素中包含以下属性和子元素,包括如下:

① 强制性属性

  • name-向导名称、version-向导版本号、 context-向导上下文
  • context属性定义wizard启动的位置,如Project Wizard定义为Project;如果为Mixed Wizard定义为“Project”,然后在Step中再定义context

② 可选属性

  • caption:向导标题、layout:向导布局、icon:向导图标(.png,.bmp等格式)
  • 向导图标需提前指定所在地址,通过定义元素中属性

:描述Wizard功能,:定义仿真步骤,是向导中最核心部分

标签及其元素

(3)元素定义

元素包含以下属性:

  • 强制属性:name-步骤名称、version-步骤版本
  • 可选:caption-步骤标题、HelpFile-帮助文件

中包含以下子元素:

  • :步骤功能描述
  • :执行步骤时调用的回调函数
  • :定义实现回调函数时需输入的属性或属性组,是中的最关键的元素,提供外界与ACT插件交互的控件。

标签及其元素

元素中定义内容与向导显示效果的对应关系如下:

元素与界面对应关系

(4)Property元素定义

元素中插入元素来创建步骤的属性,输入类型由control属性定义,常用的control类型如下:

  • fileopen:选择文件
  • folderopen:选择文件夹
  • integer:整数输入框
  • text:文本输入框
  • float:数字输入框
  • select:属性选择框
  • scope:几何选择框
  • tabulardata:表格数据

property>元素及其属性

6、回调函数Callbacks

在ACT开发中,我们通过指定XML中的回调函数来绑定界面事件,回调函数需定义在对应的IronPython脚本中。向导(Wizard)中每个步骤(Step)中可以包含3种类型的回调函数;

  • onupdate:单击Next按钮时调用此回调函数;在最后一步时,单击Finish按钮也会调用它。例如,创建项目组件系统,执行组件中IronPython脚本命令等。
  • onrefresh:每次刷新向导面板的UI时都会调用此回调函数。例如,用来绘制图形。
  • onreset:用于在一个步骤中删除和重置操作时。用于在一个步骤中删除和重置操作,单击Back按钮时调用它;回调需要在步骤N中定义,并且单击步骤N+1的Back按钮时将调用它。

上述三个回调函数中:onupdate回调是必需的,其他两个是可选的。

每个回调函数中都只使用一个参数step:表示当前步骤;我们可以通过访问step对象的Properties属性访问输入控件属性值,如下。

回调函数定义

7、ACT插件加载


定义好XML文件、IronPython脚本以及其他帮助和图标文件后,需要将脚本文件通常放在与XML文件同名的文件夹中,如下结构。

然后在Workbench或者是目标应用中打开ACT Start Page,首先点击按钮,然后点击设置按钮,激活Debug模型,选中插件文件所在文件夹,这样脚本化的插件就会导入插件管理面板。

接下来点中插件图标加载,然后回到ACT Start Page后,点击按钮后,选中向导加载。

8、ACT插件编译

插件加载运行无误后,就可以对脚本化插件进行编译生成二进制文件,生成的.wbex文件我们可以用于安装、传播或者是上传到ANSYS App Store售卖。

三、如何上手ACT插件开发

1、开发实施路线

以ACT仿真向导的开发为例,整体可以分为IronPython脚本开发和XML界面开发两个阶段;实际上所有的ANSYS产品的仿真向导开发都是遵循相同的路线流程。此外,另外两种类型的ACT插件开发路线亦是如此。

2、核心能力要求

对于ACT插件开发来说,我们需要掌握XML界面开发和IronPython脚本开发技术;XML界面开发相对简单,主要的难度和工作量都集中在IronPython脚本开发。

因为即使不太熟悉XML数据结构,我们也能通过ANSYS提供的App Builder或者是Workflow Designer工具来进行可视化的ACT界面设计。当然熟悉ACT中XML数据结构能更好帮助我们快速去自定义界面。

ANSYS APP Builder 工具

只有界面是不行的,还需要实现仿真功能,不然插件就只是一个空壳子,中看不中用。在ACT开发中,脚本负责实现ACT插件的仿真功能、界面交互、流程封装,是整个开发环节中最核心的部分。

部分ANSYS产品虽然支持脚本或者宏录制,如Fluent、Workbench、SCDM等,但是其录制的基础脚本存在诸多局限性,无法进行后续的插件开发,这就需要我们要熟悉脚本语言相关知识,了解其数据结构,理解软件API,才能通过脚本开发去实现我们所需的仿真功能。所以进行ACT插件开发的关键是需要熟练掌握ANSYS软件脚本开发的知识。

3、如何去学习

脚本开发是ACT插件开发的关键,建议把主要精力放在此部分的学习上,需要做到以下几个方面:

(1)首先,如何你不熟悉ANSYS脚本的话,建议先了解软件脚本相关知识,可以参照本人在仿真秀专栏发布的文章(识别文末二维码即可关注我的专栏)

  • SCDM脚本开发:《SCDM二次开发快速入门|应用+技巧》
  • Mechanical脚本开发:《学好ANSYS ACT,轻松上手Mechanical脚本自动化》
  • Fluent脚本开发:《重用脚本方法,快速入门和上手Fluent脚本自动化开发》
  • Workbench脚本开发:《基于Python的Workbench开发指南+案例解析》与《Workbench开发指南:仿真流程集成》
  • 其他产品模块的脚本开发方法正在整理,陆续会进行发布

(2)如果你已具备脚本语言基础,可以多阅读相关API开发文档,多将理论知识付诸于实践中。

  • 如帮助文档中《Customization Suite》部分包含DesignModeler、Mechanical、Workbench等脚本开发帮助,也包含ACT开发的API文档;
  • Fluent的脚本可以参考文档中的《Text Command List》部分内容;
  • SCDM的API开发文档可以参照其安装目录下:《API_Combined_Class_Library》中内容

上述帮助文档虽然囊括了ANSYS产品二次开发所需知识储备,但是API文档接口基于.NET框架编写,而脚本是基于Python语言编写,二者在语法和数据结构上有很大不同;而且帮助文档内容比较零散,API方法介绍比较简单,又没有针对案例练习,很难系统去学习掌握,对于初学者来说使用开发文档难度非常大。

(3)如果你已经掌握ACT开发的技术,可以打开软件中ACT启动界面,然后下载官方提供的案例文件,直接阅读源码去学习是最好的方式。如果你还没有掌握,推荐您关注我在仿真秀独家发布的系列精品课程,带你快速上手ACT仿真向导开发全流程。

四、我的精品课《SCDM脚本建模和二次开发20讲》

为了大家更好掌握SCDM脚本建模及ANSYS产品的二次开发,自2019年12月25号起,我已在仿真秀平台独家首发《Python语言在ANSYS的应用20讲-掌握SCDM脚本建模及ACT二次开发能力》以下是课程体系:

课程已经更新到第18期,预计本周更新完结,感兴趣的朋友可以关注和订阅。以下是课程具体安排



作者:小田老师,仿真秀专栏作者

声明:原创文章,首发仿真秀公众号(ID:fangzhenxiu2018),部分图片源自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。

体验小田老师主讲的《SCDM脚本建模和二次开发金牌课20讲》


扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/891.html

标签: ansys下载
分享给朋友:

“《ANSYS ACT宝典》带你快速上手仿真向导开发全流程SCDM脚本建模” 的相关文章

怎么解决CAD安全系统不起作用或未正确安装?

CAD激活完后打开弹出显示安全系统(软件锁许可管理器)不起作用或未正确安装?很多人表示一头雾水,那下面就跟小编一起来解决吧!1、首先,打开电脑C盘目录。2、第二,我们要找出隐藏的文件夹ProgramData,选择 工具-文件夹选项。3、第三,弹出“文件夹选项”对话框,选择“查看”,在高级设置找到并选...

CAD绘图如何做优化设置,这样设置让你绘图速度快十倍

CAD刚安装后,我们必须要做优化设置,这样可以让你绘图的速度提高十倍。现在我就教你如何设置。首先输入快捷键命令O P空格,打开“选项”对话框然后点击“显示”按钮,出现下面的对话框在该对话框中我们将“十字光标”改为合适大小,这个大小根据自己习惯调节,我调的是22然后再点击“打开和保存”按钮。在这里我们...

为什么用CAD软件绘图,鼠标会一直抖动?你关掉这两个设置就好了

CAD软件应该是绘制平面图类软件的霸主了,可是大部分人使用的时候不注意一些细节,导致绘图的时候遇到许多问题,没有及时处理,大大影响绘图效率。例如在绘图时,鼠标总是出现抖动状态,很多小伙伴都对此视而不见,以为是软件自身问题或显卡的问题,其实并不是。我们一起来看看是什么问题吧~一、鼠标为什么会抖动看下你...

DirectX修复工具-拯救你的游戏无法打开报错等问题-附使用教程

使用此工具可以帮您解决运行游戏中出现的未知错误,使您可以顺利的启动游戏软件下载地址:DirectX修复工具-DirectX_RepairV4.3 - 对岸网说明:这款软件有三种版本,分别是标准版、增强版、在线修复版,三款区别如下图所示软件简介:DirectX修复工具(DirectX Repair)是...

电脑桌面便签在哪设置?备忘录软件哪个好?

好记性不如烂笔头!相信很多打工族在电脑面前办公的时候,都需要随时记录工作中的事项,有的用TXT记录,有的手写笔记,还有一些用电脑桌面便签类软件。而当我们待办事项繁多的时候,手写或文本记录并不能有效帮我们分好轻重缓急以及到点提醒我们。这种情况下,如果有一款可以设置提醒的电脑桌面便签软件来帮助我们,就可...

看尚CANTV 42吋智能电视:618特惠999元 看球首选

2016体育大年已经步入巅峰,欧洲杯、美洲杯激战正酣,马上,里约奥运会也将盛大开幕,如此丰盛的赛事大餐,没有一台超清大电视岂不是辜负。随着6月18日的临近,电商年中大促亟待爆发,其中电视的促销力度非常大,各大厂商纷纷出招,看尚CANTV更将42吋智能电视(C42S)压到了千元以内,十分划算。美·航空...