使用PK函数对NX模型信息获取速度相对UFUN快很多,但在做相对坐标系获取模型最大外形时,在PK帮助文档中没有找打。通过IDA查看UF_MODL_ask_bounding_box_exact,发现内部是通过PK_BODY_transform变换模型之后再用PK_TOPOL_find_box进行计算,如下图:

NX/UG二次开发—UF_MODL_ask_bounding_box_exact浅析-LMLPHP

通过变通的方式也可以使用获取单方向最大极值的函数,来计算相对坐标系最小包围盒:

PK_FACE_find_extreme

PK_BODY_find_extreme

PK_EDGE_find_extreme

每个方向正反计算两次,然后获取长宽高和中心点即可。

对于曲线可以使用PK_CURVE_make_wire_body_2,创建成wire_body之后再进行计算。

11-22 03:35