首页/文章/ 详情

ACT开发指南|如何实现交互选择

4年前浏览4617
在结构仿真分析中,需要将载荷加载到几何实体上;但是对于复杂的几何体,若使用脚本自动加载需要复杂算法识别,难度大且通用性差。

ABAQUS插件开发中,用户可使用Pick Button工具,实现几何实体(体、面、边、点等)的交互选择。
那么,朋友们肯定会有疑问:在ANSYS ACT插件开发中,能不能实现类似的效果呢?
Absolutely Yes
今天,小田老师就给大家讲解在ACT开发中实现交互选择的方法。
在前期文章ANSYS中使用Python实现高效结构仿真中:我们使用SCDM识别悬臂梁边界位置创建命名;然后,在Mechanical中将载荷自动加载到相应的命名选择上。
本期文章中,我们玩些不一样的花样:使用ACT开发对悬臂梁载荷加载过程进行封装,提供固定约束加载和压力加载位置的交互选择,最后施加相应载荷和进行计算求解。
最终实现的效果如下:
交互选择效果展示
Mechanical中的ACT中,提供了一个模板控件(controltemplate)类型geometry_selection,可以将property控件的属性control定义为geometry_selectionproperty的返回值(Value)类型为ISelectionInfo对象,直接对应各载荷对象中的Location属性。
模板控件类型属性不支持在App Builder中可视化定义,只能在XML文件中手动创建,对应XML代码如下:
交互属性控件定义
然后,在XML中为stepLoad定义<onupdate>回调函数:stepLoad_onupdate,并在main.py文件中实现功能,代码和功能说明如下:
1)通过step.Properties属性获得控件输入值;
2)添加固定约束和压力载荷,并给定Location属性和数值;
3)计算求解,并添加等效应力云图。

回调函数定义

如果,我们想限制几何实体选择的类型,可以通过为property添加一个<attributes>标签,并给定selection_filter属性,支持值类型有vertexedgefacebodynode
比如说,在固定约束选择时,只允许用户选择几何面或者边,可以将property定义更改如下:
交互选择过滤选择
完成以上几步操作,我们就可以实现交互式的加载施加过程。通过交互式选择方式,能极大提升ACT仿真流程封装的效率和通用性。
以上,就是本期的所有内容!大家若有关于ANSYS二次开发相关的问题,欢迎下方参与读者讨论。
上次朋友们的留言讨论,小田老师都有仔细查看,感谢大家的支持和建议
ANSYS二次开发的书籍我会提上日程,但是考虑到工作量实在巨大,欢迎有志同道合朋友一起合作整理,争取尽快和大家见面。

二次开发代码&命令通用SpaceClaimMechanicalACT
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-11-09
最近编辑:4年前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 650粉丝 3788文章 62课程 4
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈