本次分享主要内容:在HM中进行材料的创建并对comps赋予相应的材料属性。
在大型结构仿真中,前期会遇到很多需要处理的繁琐事情,比如:结构件的区分、检查几何模型是否存在问题、组份区分、材料赋予等等操作。当中材料的创建及赋予是比较单一繁琐的事情,是相当的耗时费精力的,若是通过脚本的处理方式可以极大提升我们的仿真工作效率。
当我们遇到组份比较多的时候就很需要根据一定的规则进行一种快速的处理方式。如下图中我们可以根据一定的命名规则进行材料的创建和赋予,创建默认材料或是其他材料,然后根据厚度进行其他力学属性参数的设置,再赋予相应组份的材料属性。
一个一个赋予总是麻烦且低效的,利用脚本的便捷性让我们的双手得到解放。
第一步:选择若干个comps
第二步:对选中的comps的名称进行拆分组合
第三步:建立默认的材料力学参数
第四步:根据comps的名称信息创建property并赋予相应的comps
# 对aa-4_50或aa-bb-3_00这类规则的组名赋予壳体中面材料属性
# 选择comps
*createmarkpanel comps 1 "c"
set c_comps [hm_getmark comps 1]
# 创建默认的材料
*createentity mats cardimage=MAT1 name=default_AL
set mat_id [hm_getvalue materials name=default_AL dataname=id]
*setvalue mats id=$mat_id STATUS=1 1=70000
*setvalue mats id=$mat_id STATUS=1 3=0.3
*setvalue mats id=$mat_id STATUS=1 4=2.75e-009
# 创建prop
foreach i $c_comps {
set t0 [hm_getvalue comps name=$i dataname=name]
set t1 [split $t0 -]
if {[llength $t1] > 1} {
# 提取厚度值
set t2 [lindex $t1 end]
set t3 [split $t2 _]
set t4 "[lindex $t3 0].[lindex $t3 1]"
# 创建同名prop
*createentity props cardimage=PSHELL name=$t0
set prop_id [hm_getvalue properties name=$t0 dataname=id]
*setvalue props id=$prop_id materialid={mats $mat_id}
*setvalue props id=$prop_id STATUS=1 95=$t4
# 赋予comps材料
*setvalue comps id=$i propertyid={props =$prop_id}
}
}
PS:本事例仅仅是提供一种解决问题的思路,小伙伴们可以根据自己的需求对脚本进行变换拓展,就可以好地适应自己的仿真需求,简单几句脚本的改变快拿去练练手吧。
希望小伙伴们在后台多多留言互动,可以一起探讨话题或者问题(可以是软件操作、理论知识、人生哲理、思想等),一起相互学习、共同进步,与优秀同行!看到消息后将第一时间予以回复,谢谢各位小伙伴的支持!!