Hyperworks/Hypermesh二次开发:节点和几何元素的拓扑关系查询
在Hyperworks/Hypermesh中进行二次开发时,可以通过命令hm_getgeometrynodes 和 hm_getnodegeometry来查询节点和几何特征之间的依附关系。
1、查找几何元素所关联的节点
通过命令hm_getgeometrynodes查找与几何元素(点、线或面)相关联的节点,此命令的格式如下:
hm_getgeometrynodes geometry_list
其中geometry_list通过一个列表给出,列表的样式如下:
entityType1 ID1_1 ID1_2 ... entityType2 ID2_1 ID2_2 .. entityType1, entityType2
entityType可以是surfs、lines或points,后面的ID是前面对应元素的ID。如果未指定第一个entityType则默认第一个entityType为surfs.
返回值为所找到的相应元素所关联节点的ID列表。
例1:查找ID为1494的曲面所关联的节点。
hm_getgeometrynodes 1494
例2:查找ID为4521、4477的线和ID为1092的面所关联的节点。
hm_getgeometrynodes [list lines 4521 4477 surfs 1092]
在输入中几何元素的ID编码可以重复,但返回的列表中节点的ID不会重复。
例3:如下语句返回的结果和例2中的语句返回的结果是一样的。
hm_getgeometrynodes [list lines 4521 4477 surfs 1092 1092]
使用此命令进行查询时节点和几何元素之间的对应关系具有唯一性,而且节点优先关联较低维度的几何元素。例如,曲面边上的节点属于曲面的边线而不属于曲面,同样曲线端头的节点属于曲线的顶点而不属于曲线。
例4:如下图所示,查询ID 316线上的节点,如下:
hm_getgeometrynodes [list lines 316]
返回值为:6460 6461,如果查询的结果希望包含直线两端的节点,则需要在查询几何元素列表中包含直线的顶点,如下:
hm_getgeometrynodes [concat lines 316 points [hm_getverticesfromedge 316]]
返回值为:6450 6459 6460 6461
2、查询节点所关联的几何元素
在hyperworks/Hypermesh中通过命令hm_getnodegeometry查询节点所关联的几何元素(点、线或面),命令格式如下:
hm_getnodegeometry nodeID