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人购买
(8条)
默认 最新
评论 点赞 1
不错,很实用
评论 点赞 1

查看更多评论 >

点赞 3 评论 7 收藏 2
关注