返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何。
这个例程不返回表达式、指定对象、临时(系统创建的)对象或休眠对象。
休眠对象指的是从模型中删除的对象
例如,如果你混合了一条边,那么这条边就是休眠的。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. Kafka源码分析(一) - 概述

    系列文章目录 https://zhuanlan.zhihu.com/p/367683572 目录 系列文章目录 一. 实际问题 二. 什么是Kafka, 如何解决这些问题的 三. 基本原理 1. 基本 ...

  2. SwiftUI 简明教程之自定义 Modifier

    本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容. Eul 是一款 SwiftUI & Combine 教程 App(iOS.macOS),以文章(文字.图片. ...

  3. 关于window匿名通道的使用以及所遇到的问题

    前言 学习windows通道时,用他去完成自己的cmd小工具时遇到了一些问题总结一下. ① 关于STARTUPINFO结构:因为为了在cmd程序中通过通道与我们的程序交互,我们需要把cmd的输入输出变 ...

  4. Android面试必问!View 事件分发机制,看这一篇就够了!

    在 Android 开发当中,View 的事件分发机制是一块很重要的知识.不仅在开发当中经常需要用到,面试的时候也经常被问到. 如果你在面试的时候,能把这块讲清楚,对于校招生或者实习生来说,算是一块不 ...

  5. 2Spring对象创建小结

    Spring的对象创建 Spring学习笔记 周芋杉2021/5/15 原理:工厂设计模式,通过反射创建对象. Spring工厂分类 非web环境:ClassPathXmlApplicationCon ...

  6. DOM0和DOM2事件的应用和区别详细对比

    1.触发次数 零级事件只能注册一次,如果注册多次,后面的会覆盖前面的 btn.onclick = function () { alert(1) } btn.onclick = function () ...

  7. Linux 用 ps 與 top 指令找出最耗費 CPU 與記憶體資源的程式最占cpu的进程

    Linux 用 ps 與 top 指令找出最耗費 CPU 與記憶體資源的程式 2016/12/220 Comments  ######### ps -eo pid,ppid,%mem,%cpu,cmd ...

  8. pgrep cron

    # pgrep cron947[root@localhost cron]# pgrep --help Usage: pgrep [options] <pattern> Options: - ...

  9. Linux进阶之正则,shell三剑客(grep,awk,sed),cut,sort,uniq

    一.正则表达式:Regular Expression 正则表达式:正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式 ...

  10. 设置添加SSH-(转自破男孩)

    很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地.然而,为什么绝大多数人会使用https url克隆呢? 这是因为,使用 ...