A-A+
Hyperworks/Hypermesh二次开发:获取点的最近节点
在Hyperworks/Hypermesh中进行二次开发时,可以通过命令hm_getclosestnode获取距离给定点最近节点的ID,命令格式如下:
hm_getclosestnode x y z ?elem_mark? ?node_mark?
此命令返回距离给定点 (x,y,z)最近的节点ID,如果待查询的数据库中没有节点则返回0.其中:
x,y,z为给定点的x,y,z坐标;
elem_mark,单元选择集。当给定elem_mark单元选择集时,仅搜索与elem_mark单元选择集相关联的节点,如果elem_mark为0,则忽略此选项,搜索所有满足要求的节点;
node_mark,节点选择。当给定node_mark节点选择集时,搜索最近节点时将忽略node_mark节点选择集中的节点。
例1 查找距离点(0,0,0) 最近的属于quad4单元的节点。
hm_createmark elems 1 "by config" quad4
set id [hm_getclosestnode 0 0 0 1]
例2 在所有的可见单元中查找距离点(0,0,0) 最近的节点。
hm_createmark elems 1 advanced displayed
set id [hm_getclosestnode 0 0 0 1]
如果没有指定elem_mark和node_mark将搜索模型中所有的节点,包括独立的临时节点temp nodes。如果要在搜索中去掉temp nodes临时节点,可通过如下语句实现:
此文章为微信公众号原创文章,查看全部文章内容请关注微信公众号“数字化设计CAX联盟”,回复数字:8519查看。