首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
ACT开发指南|如何进行输入有效性验证
小田老师
4年前
浏览5320
关注
在仿真计算中,每个参数都是有界限或者满足既定规则的,比如说几何尺寸存在最大与最小值、零件的命名需按照规则等。所以,在使用进行流程封装时,就需要对用户输入进行判断,避免错误输入造成程序的异常终止。
今天,小田老师就以如下的简单案例,来给大家讲解
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
最近编辑:4年前
小田老师
硕士
|
仿真工程师
欢迎关注ANSYS仿真与开发!
关注
获赞 650
粉丝 3786
文章 62
课程 4
点赞
收藏
作者推荐
可试听
Python语言在ANSYS的应用10讲-掌握SCDM脚本封装及ACT向导开发
¥399
5.0
立即查看
0/200
清空
提交
1条评论
小恒
签名征集中
3年前
小田老师您好,请问您这篇文章里面涉及的反编译是针对pyd文件的么?方便告知下用什么方式实现的吗?
回复
2条回复
课程
培训
服务
行家
基于ANSYS WB平台的滑动轴承分析工具
数字化微课第二季 | 点阵结构设计与仿真优化及案例分享(第六讲)
2023仿真知识周(二):学犀牛和Grasshopper年薪30到60万是如何练成的
大学本科课程 现代通信系统概论(上)
相关推荐
电机CAE-CFD仿真深水区-动力学
LS-DYNA基于HJC本构的地应力下二维岩石爆破模拟
中国力学学会计算力学专业委员会:2022计算力学青年沙龙系列报告(回放)
材料非线性问题matlab有限元编程求解
394-弦流固耦合预应力模态仿真有声视频WORKBENCH2020R1
最新文章
一款关于人体建模的仿真软件:AnyBody
综述 | 设备状态监测中处理工业数据分布不平衡的重采样技术(下)
储层裂缝研究方法
ANSYS SpaceClaim与Thermal Desktop直接耦合的环境设置方法
射频类公司汇总(苏州篇)
热门文章
几种常见的热仿真软件
ABAQUS中Cohesive粘聚力模型的2种定义方式(附案例操作步骤)
Abaqus分析常见问题及解决方法(2):零主元和过约束
仿真工作者必须知道的15款开源软件!
“卡脖子”的国产工业软件,现状如何?路又在何方?
其他人都在看
盘点·近十年来国外各公司推出的碳纤维产品
STAR CCM 案例|电池包散热
电磁场仿真 | ChatGPT请回答,我想和你聊聊
Abaqus分析常见问题及解决方法(3):负特征值(Negative Eigenvalue)
CFX进行共轭传热分析实例
VIP会员
学习
福利任务
兑换礼品
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部