首页
发现
课程
培训
文章
案例
问答
需求
服务
行家
赛事
热门搜索
发布
消息
注册
|
登录
首页
/
文章
/
详情
ACT开发指南|如何进行输入有效性验证
小田老师
4年前
浏览5347
关注
在仿真计算中,每个参数都是有界限或者满足既定规则的,比如说几何尺寸存在最大与最小值、零件的命名需按照规则等。所以,在使用进行流程封装时,就需要对用户输入进行判断,避免错误输入造成程序的异常终止。
今天,小田老师就以如下的简单案例,来给大家讲解
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
粉丝 3787
文章 62
课程 4
点赞
收藏
作者推荐
可试听
Python语言在ANSYS的应用10讲-掌握SCDM脚本封装及ACT向导开发
¥399
5.0
立即查看
0/200
清空
提交
1条评论
小恒
签名征集中
3年前
小田老师您好,请问您这篇文章里面涉及的反编译是针对pyd文件的么?方便告知下用什么方式实现的吗?
回复
2条回复
课程
培训
服务
行家
基于ANSYS WB平台的滑动轴承分析工具
数字化微课第二季 | 点阵结构设计与仿真优化及案例分享(第六讲)
Maxwell电子变压器电磁设计与EMI浅析
ABAQUS激光加热辅助车削仿真
相关推荐
LS-DYNA基于HJC本构的地应力下二维岩石爆破模拟
2023电机设计仿真技术交流月:油冷、永磁无刷、直线、盘式、三相感应 和新能源电机系列讲座
Python语言在ANSYS的应用52讲-掌握SCDM脚本建模及ANSYS二次开发能力
数字化微课第二季 | 基于正向设计的数字化制造(第一讲)
电子产品设计与仿真学习月:热管理、焊接仿真、二次开发和数字孪生
最新文章
3min创新点Get!| 基于可解释物理知识的跨机器迁移诊断领域自适应范式(附开源代码)
3min创新点Get!| 高速列车牵引电机跨机器诊断的一阶段可解释可微分STFT领域自适应网络
仿真学习 | Abaqus版本差异详解:哪版更适合你的仿真作业?
CPFD Barracuda流态化仿真软件使用教程
Q&A集合-第二十八期 | 你想要的答案都在这里!
热门文章
几种常见的热仿真软件
ABAQUS中Cohesive粘聚力模型的2种定义方式(附案例操作步骤)
Abaqus分析常见问题及解决方法(2):零主元和过约束
仿真工作者必须知道的15款开源软件!
Abaqus分析常见问题及解决方法(3):负特征值(Negative Eigenvalue)
其他人都在看
盘点·近十年来国外各公司推出的碳纤维产品
STAR CCM 案例|电池包散热
电磁场仿真 | ChatGPT请回答,我想和你聊聊
“卡脖子”的国产工业软件,现状如何?路又在何方?
仿真笔记——ANSYS APDL命令汇总(收藏备用)
VIP会员
学习
福利任务
兑换礼品
下载APP
联系我们
微信客服
联系客服
人工服务时间为周一至周五的9:30-19:30
非工作时间请在微信客服留言
客服热线:
4000-969-010
邮箱:
service@fangzhenxiu.com
地址:
北京市朝阳区莱锦创意园CN08座
帮助与反馈
返回顶部