首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
ACT开发指南|如何进行输入有效性验证
小田老师
3年前
浏览4727
关注
在仿真计算中,每个参数都是有界限或者满足既定规则的,比如说几何尺寸存在最大与最小值、零件的命名需按照规则等。所以,在使用进行流程封装时,就需要对用户输入进行判断,避免错误输入造成程序的异常终止。
今天,小田老师就以如下的简单案例,来给大家讲解
ACT
中进行输入有效性验证的方法。
针对如下
ACT
向导界面,我们考虑如下需求:
图
1
案例
XML
文件代码
NumberInput
为
float
输入控件,值需在区间
[10, 1000)
;
TextInput
为
text
输入控件,需以字符、数字和下划线组成,长度大于
6
。
当用户输入值不满足要求时,控件显示如下无效输入状态提示用户。
图
2 ACT Wizard
有效性验证
接下来,以上述开发需求为例,演示实现有效性验证的思路和具体步骤。
首先,啥都不了解时候,肯定是要去翻阅
ACT
帮助文档的;在《
ACT XML Reference
:
ACT XML Tags
》中,找到
<
property
>
标签下内容,我们会发现一个回调函数
<isvalid>
满足我们的要求,但是对于其使用的方法和示例,
ANSYS
并未提供,而是直接省略了.....
图
3 <IsValid>
回调函数帮助说明
这里忍不住吐槽下,帮助文档唯一的作用:就是让你觉得看帮助并没有什么卵用;希望官方多上点心,后续提高开发文档的可参考性。
既然官方没提供,就只好自助查找:通过反编译找到
<
IsValid
>
对应类的声明,可以发现回调函数需要传入
IUserObject
和
ISimProperty
参数,然后返回一个
bool
类型参数。
图
4 <IsValid>
对应类的声明
<
IsValid
>
对应回调函数模板如下,其中
step
代表
当前步骤
,
prop
代表
属性控件对
象,
valid_expression
表示输入
判断语句
。
图
5 <IsValid>
对应回调函数模板
然后,需要在
XML
文件中为
Number Input
和
Text Input
控件添加
<IsValid>
回调,并绑定事件函数
IsNumInputValid
和
IsTextInputValid
,如下:
图
6 property
定义
<IsValid>
回调
最后,在对应的
main.py
脚本中,我们需要实现
IsNumInputValid
和
IsTextInputValid
方法,即通过
prop.Value
获取用户输入值,进行值范围和规则判断,然后返回判断的真假,代码如下:
图
7
回调函数功能实现
完成以上几步操作,就可以实现有效性验证;但是从用户角度来看,交互并不友好,因为界面虽然显示输入无效,但是并没有提示什么数据是有效的。
解决办法
:可以在
XML
中为对应控件定义
<help>
子标签,给定标签对之间的帮助内容。
图
8
定义
property
帮助提示
这样定义之后,属性控件显示的时候,在其右边会多出帮助提示;用户体验也就上去了。
图
9 property
中帮助提示
以上,就是本期的所有内容!大家若有关于
ANSYS
二次开发相关的问题,欢迎下方留言参与讨论。
登录后免费查看全文
立即登录
代码&命令
二次开发
通用
流体基础
结构基础
Workbench
SpaceClaim
ACT
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-11-02
最近编辑:3年前
小田老师
硕士
|
仿真工程师
欢迎关注ANSYS仿真与开发!
关注
获赞 639
粉丝 3706
文章 62
课程 4
点赞
收藏
作者推荐
可试听
Python语言在ANSYS的应用10讲-掌握SCDM脚本封装及ACT向导开发
¥399
5.0
立即查看
0/200
清空
提交
1条评论
小恒
签名征集中
3年前
小田老师您好,请问您这篇文章里面涉及的反编译是针对pyd文件的么?方便告知下用什么方式实现的吗?
回复
2条回复
课程
培训
服务
行家
基于ANSYS WB平台的滑动轴承分析工具
数字化微课第二季 | 点阵结构设计与仿真优化及案例分享(第六讲)
SCDM CFD高效建模和ACT二次开发10讲:掌握SpaceClaim汽车行业9大高级应用
Simufact Forming钛合金热压成型分析
相关推荐
Python语言在ANSYS的应用52讲-掌握SCDM脚本建模及ANSYS二次开发能力
2022仿真知识周:聚惠大咖,科学充电,探索仿真人的知识体系(回放)
抗凹插件开发(压强法)ANSA二次开发工程实例应用12讲
394-弦流固耦合预应力模态仿真有声视频WORKBENCH2020R1
Python语言在ANSYS的应用10讲-掌握SCDM脚本封装及ACT向导开发
最新文章
多体动力学!运动副!升降机!
Fluent流体仿真三个月速成记,零基础也能成高手!
熬夜加班测应力!焊接残余应力场模拟,调控及影响知多少?
数字揭秘丨奥运项目背后的智能制造世界:如何助力赛场的每一次超越?
圆满结束 | 2024“仿真设计,AI赋能”东莞技术研讨会
热门文章
Abaqus分析常见问题及解决方法(2):零主元和过约束
ABAQUS中Cohesive粘聚力模型的2种定义方式(附案例操作步骤)
几种常见的热仿真软件
Abaqus分析常见问题及解决方法(3):负特征值(Negative Eigenvalue)
分不清楚中国动车组型号?看完本文秒懂(还有技术参数哦)
其他人都在看
某车型中高速工况热制动车身抖动分析与控制
STAR CCM 案例|电池包散热
工业互联网中数字孪生系统的机理+数据融合建模方法
盘点·近十年来国外各公司推出的碳纤维产品
ANSYS Mechanical非线性接触功能基础概述,了解一下下吗?
VIP会员
学习
福利任务
兑换礼品
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部