返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何。
这个例程不返回表达式、指定对象、临时(系统创建的)对象或休眠对象。
休眠对象指的是从模型中删除的对象
例如,如果你混合了一条边,那么这条边就是休眠的。WCS将不会被返回,除非它已经被保存。
注意:当指定的类型为UF_feature_type时,这个例程循环部件中的特征。
在循环查找到的对象时,不要尝试删除对象。当前对象已被删除时,尝试读取下一个
对象时,可能会出现问题。
要删除对象,可以在循环时将对象保存到一个包含对象的数组,然后在完成循环后,
使用UF_OBJ_delete_array_of_objects删除保存的对象数组。

UF_OBJ_ask_display_properties函数可以获取对象所在层、获取对象颜色、获取对象是否隐
藏、获取对象是否高亮,获取对象线宽、字体大小

查找当前工作部件下,所有体 例子:

extern DllExport void ufusr(char *param, int *returnCode, int rlen)
{
UF_initialize(); vector<tag_t> vBodyTags;
tag_t object_tag = NULL_TAG;
UF_OBJ_cycle_objs_in_part(UF_ASSEM_ask_work_part(), UF_solid_type, &object_tag);
while (object_tag != NULL_TAG)
{
vector<tag_t>::iterator it = find(vBodyTags.begin(), vBodyTags.end(), object_tag);
if (it == vBodyTags.end())
{
int objType = 0, objsubType = 0;
UF_OBJ_ask_type_and_subtype(object_tag, &objType, &objsubType);
if (objType == UF_solid_type && objsubType == UF_solid_body_subtype)
{
vBodyTags.push_back(object_tag);
}
}
UF_OBJ_cycle_objs_in_part(UF_ASSEM_ask_work_part(), UF_solid_type, &object_tag);
} for (int i = 0; i < vBodyTags.size(); i++)
{
//vBodyTags[i]
}
UF_terminate();
}
extern int ufusr_ask_unload(void)
{
return (UF_UNLOAD_IMMEDIATELY);
}

【NX二次开发】按层查找工作部件中的对象 UF_LAYER_cycle_by_layer

【NX二次开发】查找部件中的对象 UF_OBJ_cycle_objs_in_part的更多相关文章

  1. NX二次开发-获得制图中对象的坐标点UF_DRF_ask_origin

    #include <uf.h> #include <uf_ui.h> #include <uf_drf.h> #include <uf_obj.h> # ...

  2. NX二次开发-UFUN求两个对象最短距离UF_MODL_ask_minimum_dist

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_ui.h> UF_initialize() ...

  3. NX二次开发-UF_MODL_intersect_objects获取两个对象的交点

    NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_modl.h> #include < ...

  4. 【NX二次开发】隐藏、显示对象UF_OBJ_set_blank_status

    隐藏.显示对象用UF_OBJ_set_blank_status() 查看对象显示情况用UF_OBJ_ask_display_properties() 效果: 源码: #include "Te ...

  5. 【NX二次开发】按层查找工作部件中的对象 UF_LAYER_cycle_by_layer

    第一次调用 :返回第一个启用层中的第一个对象. 第二次调用 :返回下一个已启用层中的下一个对象. 最后一次调用:当所有对象都被耗尽时,将返回object_tag = NULL_TAG. 在循环数据库时 ...

  6. NX二次开发-Block UI C++界面关于 在Block UI中UF_initialize();和UF_terminate();的使用

    关于 在Block UI中UF_initialize();和UF_terminate();的使用 用Block UI作NX二次开发的时候,不需要在使用UFUN函数的时候加UF_initialize() ...

  7. 【NX二次开发】NX内部函数,libuifw.dll文件中的内部函数

    本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: void U ...

  8. 【NX二次开发】NX内部函数,libugui.dll文件中的内部函数

    本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: bool A ...

  9. 【NX二次开发】NX内部函数,查找内部函数的方法

    [NX二次开发]NX内部函数,libufunx.dll文件中的内部函数 [NX二次开发]NX内部函数,libugui.dll文件中的内部函数 [NX二次开发]NX内部函数,libuifw.dll文件中 ...

随机推荐

  1. Swift系列三 - 函数

    函数在任何语言中都是存在的,Swift中函数更加灵活. 一.函数的定义 1.1. 有返回值(形参默认是let,也只能是let) func pi() -> Double { return 3.14 ...

  2. 一个或多个筛选器或者Listeners启动失败 的问题探索以及解决方案

    2020年10月9日更新 经过本人对SSM框架理解的加深和对IDEA工具使用的熟悉,现提出一种新的解决办法,以前的解决办法可能存在问题 1. 问题描述: 使用IDEA作为开发工具,使用Maven作为项 ...

  3. python-内置函数-文件操作

    文件操作 用的最多的就是r+,w+和a+都有局限性 w+是先清空,然后再写,之后再读 a+是无论如何调整指针位置,写时都在文件最后追加 而r+可以通过调整指针位置来确定写入的位置 文件操作之with处 ...

  4. .NET生成小程序码,并合自定义背景图生成推广小程序二维码

    前言: 对于小程序大家可能都非常熟悉了,随着小程序的不断普及越来越多的公司都开始推广使用起来了.今天接到一个需求就是生成小程序码,并且于运营给的推广图片合并在一起做成一张漂亮美观的推广二维码,扫码这种 ...

  5. 浅入浅出 MySQL 索引

    简单了解索引 首先,索引(Index)是什么?如果我直接告诉你索引是数据库管理系统中的一个有序的数据结构,你可能会有点懵逼. 为了避免这种情况,我打算举几个例子来帮助你更容易的认识索引. 我们查询字典 ...

  6. [bug] IDEA:application context not configured for this file

    参考 https://blog.csdn.net/a772304419/article/details/79680833

  7. [OS] 概述&学习资料

    计算机启动 启动自检 初始化启动 启动加载 内核装载 登录 中断 硬件中断 I/O设备 CPU Timer:时间片结束后,发中断给CPU Scheduler:将CPU合理分配任务使用 异常中断 内存: ...

  8. 039.Python使用TCP实现多用户并发

    使用TCP实现多用户并发 在前面的实验中,TCP建立连接时,只能允许一个用户连接,当第二个用户建立连接时,发送的信息,服务端是没有办法接受,只有当第一个用户退出时,才能接受到第二个用户的请求,并实现通 ...

  9. mysql3_pymysql

    python数据库编程 1.pyshon数据库接口(python DB-API) 1.为开发人员提供的数据库应用编程接口 2.python支持的数据库服务软件 mysql,oracle,sql_ser ...

  10. 树莓派 PICO基础教程(基于MicroPython)

    目录 1 树莓派 PICO 简介 1.1 简介 1.2 配置 [^2] 1.3 引脚图 1.4 尺寸 2 安装 2.1 烧录固件 2.2 安装IDE(Thonny IDE) 2.3 离线运行程序 3 ...