hypermesh 小工具之合并 多个类似component
在hypermesh 中导入几何模型之后,通常component 会比较多,用户通常需要进行对component 进行一些筛选,对相同的component进行合并,本人也常为此苦恼,通过编写一个工具,成功实现了将名称相近的component 部件进行合并的功能。该程序是基于相同类型的component 通常命名为 XXX ,XXX.1, XXX.2, XXX.n,利用名称之间的公共因子XXX,将所有含有该因子的component 移动到名称为XXX 的component中。
程序很简单,仅仅是我学习tcl 语言 的一个见证。
效果: 一个包含456个component的模型,程序运行之后仅存198个componnet 。
核心代码是" string last XXX XXX.1", 判断 一个component是否包含另一个compoent 的名称,然后依次分别将该XXX.1 中 Solid 和Surface 移动到 XXX, 然后删除 XXX.1。
此外,可以设定一个componnet Solid 体积的阈值,将所有小于该体积的component(通常是螺钉) 移动到一个一个component, 本文中命名为small part ,同样可以合并component。
分享component 体积的代码
proc getVolume {comps} {
*clearmarkall
*createmark solids 1 "by component" $comps
if { [hm_marklength solids 1] == 0 } {
set volume "no value"
} else {
hm_marktotable solids 1 table2
set solid_ID [hm_getmarkfromtable table2 ]
#puts [llength $solid_ID]
set volume 0
foreach id $solid_ID {
#puts $id
set volume [expr {$volume +[hm_getvolumeofsolid solids $id ]}]
#puts $volume
*clearmarkall
}
}
return $volume
}
该付费内容为:hypermesh 自动合并component
包含1个附件 9人购买
查看更多评论 >