适用版本:NX6以上版本
我们在进行二次开发时,需要找到我们所需要指定类型的对象进行后续操作,其中有些对象,比如edge、line等等,可以直接由工作部件获取,但是表面粗糙度或者非当前工作视图的对象等等无法直接获得,在UF中,我们使用UF_OBJ_cycle_all来遍历部件中的所有对象,如图1:
图1
功能说明
该方法是在NX中通过传入一个NULL_TAG值来开始该方法的遍历,我们只需要注意输出的参数即可。
其中各参数的含义如下:
part_tag:需要去遍历的部件Tag值;
object:用于开始遍历和结束遍历的标识;
该方法是需要返回值的,返回值即为该方法遍历的下一个对象Tag值;
获取到Tag值后,我们接着获取该对象的Type看是不是我们所需要的对象,遍历结束后,该Tag值最终返回NULL_TAG,遍历结束。
代码如图2:
图2
如图3,我们可以看见我们所获取到的所有对象,我们只需过滤以下挑,我们所需的对象类型即可;
图3
总 结
这是最直接的方法,在碰到一些棘手的对象类型时非常建议使用这个方法,UF函数中还有很多其他的遍历方法,比如UF_VIEW_cycle_objects是用来遍历视图中的对象等等。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删