首页/文章/ 详情

HyperMesh二次开发实例第一弹_基于nastran创建Shell类型属性

27天前浏览1152

Hello,大家晚上好

好久没有继续更新,今天下班回家写了一个简单的二次开发程序。

根据comps名字创建属性,包含材料以及厚度。

模型命名规则如下:

2800012-VC01_DC01_T1.8

2800022-VC01_DC04_T1.8

写了一部分注释信息,没有开发经验的同学可以跟着注释看着走。

主要用到了一个流程控制命令Foreach,以及Tcl针对字符串操作的命令{string range };列表操作命令{split 、index},其余用到的皆是HyperMesh的二次开发命令。

看明白后,大家可以根据自己的命名规则修改程序。亦可以在程序中把材料位置以及厚度位置固定,减少交互输入字符串的步骤。

今天下班回家时间太晚了,明天还要继续工作。后面几天会录制写代码的过程,并为大家讲解一个二次开发的流程,以及如何完善代码。

疫情当下,祝大家工作顺利

代码如下:

""

#零件名字 2800012-VC01_DC01_T1.8  输入2 1

#只能够赋类型为shell的属性

#AUTHOR : Jintian

#DATE : 2020.04.22

#用户指定材料以及厚度位置

set location [hm_getstring location "厚度位置  材料位置  以下划线区分从零计算  "]

#选择需要创建属性的Comps

*createmarkpanel comps 1 "select"

#获取CompsName

set CompName [hm_getmarkvalue comps 1 name 1]

#获取厚度位置

set Tlocation [lindex $location 0]

#获取材料位置

set Mlocation [lindex $location 1]

#全选所有材料

*createmark materials 1 "all"

#获取材料名字

set MATname [hm_getmarkvalue materials 1 name 1]

#对所选择comps创建属性

foreach q $CompName {

 set pp 0

 set compID [hm_getvalue comps name=$q  dataname=id]

 set t [string range [lindex [split $q "_"] $Tlocation] 1 end]

 set mat [lindex [split $q "_"] $Mlocation]

 if { [lsearch $MATname $mat]<=0} {

 catch {*createentity mats cardimage=MAT1 name=$mat}

 }

 set matid [hm_getvalue materials name=$mat  dataname=id]

 *createentity props cardimage=PSHELL name=$q

 set maxID [hm_entitymaxsolverid props]

 *setvalue props id=$maxID STATUS=1 95=$t 

 *setvalue props id=$maxID materialid= "mats $matid"

 *setvalue comps id=$compID propertyid={props $maxID}

}

""

        对于ansa的分享,前面分享的都是自己对于软件的一些看法,使用的技巧。写到现在不知道从何下笔,七零八落,东一榔头,西一锤子。这就是前面没有做好计划。

        最初豆豆的学习都是通过看帮助文档学习,不得不说软件的帮助文档写的一级棒,为了后面能够继续写下去(主要是懒不想写计划)。后面写的文章顺序主要是根据软件的帮助文档的顺序来写,相应的地方豆豆会提出自己在使用软件过程中的见解,供大家参考。

对了最近开通了广告,大家见谅

每日一语

愿以后的生活是:

不为难自己,不辜负岁月。

时光,浓淡相宜;

人心,远近相安。

来源:TodayCAEer
HyperMeshNastran二次开发ANSA材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-08-14
最近编辑:27天前
TodayCAEer
本科 签名征集中
获赞 16粉丝 8文章 163课程 0
点赞
收藏
作者推荐

HyperMesh二次开发实例第五弹_模型自动保存

岁末将至,敬颂冬绥,新年新气,万事胜意,祝大家新年快乐又有一段时间未更新了,今年最后一天补上。在使用ANSA的过程中,有一个很爽的功能,模型自动保存。特别是在软件崩溃的时候才知道这个功能的NB。设置模型自动保存时间,选择保存路径,并且把设置保存为xml文件,放到ANSA的启动目录,下次启动软件会自动载入所设置参数。但是hypermesh,没有直接提供该功能。但我们可以在hm自带的脚本库找到该功能。豆豆已经把该文件放到云端,大家自行下载。设置模型保存路径,间隔时间,备份数,备份文件后缀,即可。对于新尝试编写脚本的小伙伴,阅读自带脚本是个蛮不错路子。最后祝大家,新年快乐,事事顺心来源:TodayCAEer

有附件
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈