首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
ACT开发指南|如何进行输入有效性验证
小田老师
5年前
浏览6485
关注
在仿真计算中,每个参数都是有界限或者满足既定规则的,比如说几何尺寸存在最大与最小值、零件的命名需按照规则等。所以,在使用进行流程封装时,就需要对用户输入进行判断,避免错误输入造成程序的异常终止。
今天,小田老师就以如下的简单案例,来给大家讲解
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
最近编辑:5年前
小田老师
硕士
|
仿真工程师
欢迎关注ANSYS仿真与开发!
关注
获赞 706
粉丝 4016
文章 62
课程 4
点赞
收藏
作者推荐
可试听
Python语言在ANSYS的应用10讲-掌握SCDM脚本封装及ACT向导开发
¥399
5.0
立即查看
0/200
清空
提交
1条评论
小恒
签名征集中
4年前
小田老师您好,请问您这篇文章里面涉及的反编译是针对pyd文件的么?方便告知下用什么方式实现的吗?
回复
2条回复
课程
培训
服务
行家
基于ANSYS WB平台的滑动轴承分析工具
ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶
ASNYS WORKBENCH基于UP耦合算法和非线性自适应网格的齿轮锻造挤压仿真
计算流体力学从3到4,多相流算法
相关推荐
结构仿真技术进阶(一): Ansys Workbench振动试验与螺纹联接分析评估案例讲解
仿真秀2022名企工程师招聘云讲堂8讲,对话HR、技术经理和企业负责人
LS-DYNA的FEM-SPH自适应耦合法模拟SHPB霍普金森压杆动态压缩
数字化微课第二季 | 点阵结构设计与仿真优化及案例分享(第六讲)
最新文章
【荐读】工业软件十二大领域进化论:12个领域全球600+家企业清单
【仿真万物14期】ABAQUS输出帧频率如何设置?
【机械设计】机械设计中常用材料的性能及选择
两机叶片丨空工大:基于数据增强与多尺度融合的航空发动机叶片服役损伤研究
基于DEM的非均质岩层水力压裂模拟:声发射与主动波传播联合验证
热门文章
通用/泛亚/蔚来/弗迪/上海电驱动等百位新能源专家确认发言,易贸三电活动6月苏州见
湍流与涡流的区别
ABAQUS小技巧!
python3+oauth2发微博遇到的问题
伏图芯片应力仿真功能介绍
其他人都在看
Lumerical FDTD设计超透镜产生涡旋光束
【知识】一文快速掌握位错运动及交割!附动图
使用PSD应力进行随机疲劳分析
【仿真万物15期】iSight在高分辨率屏幕下显示过小问题解决方法
微带线计算中等效介电常数 ε_eff 的计算公式及其物理意义
VIP会员
学习计划
福利任务
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部