说明:NX中的所有对象都是通过唯一的tag_t值进行标识的,这些对象大致可以分为部件对象、UF对象、表达式、链表对象和属性对象等。

部件对象的操作:

基本操作函数:

1. UF_PART_new()  新建部件

2. UF_PART_open()  打开部件

3. UF_PART_close_all()  关闭所有部件

4. UF_PART_save()  保存部件

5. UF_PART_close()  关闭部件

部件对象查询函数:

1. UF_OBJ_cycle_objs_in_part()  在部件中查询对象

2. UF_ATTR_ask_part_attrs()  访问部件的属性

3. UF_PART_reopen()      重新加载部件

4. UF_PART_ask_part_name() 获取部件的文件名

5. UF_PART_ask_customer_area()   查询用户定义的数据

6. UF_PART_ask_description()  获取部件文件的描述信息

7. UF_PART_ask_status()    查询部件状态信息

8. UF_PART_ask_compression_flags()  查询部件文件的压缩标记

9. UF_PART_set_compression_flags()   设置部件文件的压缩标记

10. UF_PART_ask_part_history()    获取部件历史记录

UF对象的操作

UF对象包含几何对象和非几何对象。

几何对象包括:实体、点、线、面等; 非几何对象包括坐标系、尺寸、颜色、线型等。

NXOpen利用类型和子类型来区别不同的对象。每个对象都有一种类型,在头文件 UF_object_types.h中详细定义了这些对象的类型(type)和子类型(subtype),不是所有的对象都有子类型。

基本操作函数:

1. UF_OBJ_set_name()   指定对象的名称

2. UF_OBJ_ask_name()   查询对象的名称

3. UF_OBJ_delete_name()    删除对象的名称

4. UF_OBJ_cycle_objs_in_part()   查询遍历对象,可以在指定的部件中遍历对象

5. UF_OBJ_cycle_all()    在当前工作部件中遍历对象

6. UF_OBJ_cycle_by_name()    通过对象名称查询对象

7. UF_LAYER_cycle_by_layer()   通过图层遍历对象

8. UF_MODL_delete_exp()    删除表达式

9. UF_MODL_delete_feature() 删除特征

10. UF_OBJ_delete_object()  删除单个对象

11. UF_OBJ_delete_array_of_objects()  删除多个对象

12. UF_UI_select_single()   选择单个对象

13. UF_UI_select_by_class()  选择对象(后期版本淘汰)

14. UF_UI_select_with_class_dialog  选择对象

15. UF_UI_select_feature()  选择特征

1.5 UF_UI_select_sketch()   选择草图

对象状态:

1. UF_OBJ_DELETED  被删除状态

2. UF_OBJ_TEMPORARY      临时状态,例如临时坐标 UF_CSYS_creat_temp_csys()

3. UF_OBJ_CONDEMEND    不正常状态

4. UF_OBJ_ALIVE    激活状态

对象显示的函数:

1. UF_OBJ_ask_display_properties()  获取显示属性(层,颜色,隐藏状态,线宽,线型)

2. UF_OBJ_set_layer()  设置对象的图层

3. UF_OBJ_set_color()  设置颜色

4. UF_OBJ_set_blank_status()  隐藏对象、显示对象

5. UF_OBJ_set_line_width()  设置线宽

6. UF_OBJ_set_font()  设置线型

7. UF_OBJ_set_highlight()  设置高亮、取消高亮

表达式的操作

1. UF_MODL_creat_exp()  创建表达式

2. UF_MODL_creat_exp_tag()  创建表达式,并返回表达式的标识

3. UF_MODL_import_exp()  导入表达式,操作后必须使用 UF_MODL_update()更新

4. UF_MODL_dissect_exp_string() 分解名字和值返回名字、值和表达式的标识

5. UF_MODL_eval_exp()  输入表达式的名,获取表达式的值

6. UF_MODL_edit_exp()    修改表达式的值,操作后必须使用 UF_MODL_update()更新

7. UF_MODL_rename_exp()  给已有的表达式赋新的名称

8. UF_MODL_ask_exp()  返回表达式名和表达式完整字符串

9. UF_MODL_ask_exps_of_feature()  返回特征的表达式

10. UF_MODL_ask_exps_of_part()    返回部件的所有表达式

11. UF_MODL_ask_exp_tag_string()  输入吊打式标识,返回表达式串

12. UF_MODL_ask_exp_tag_value()  通过表达式标识获得表达式的值

链表对象的操作

1. UF_MODL_creat_list() 创建一个链表,并返回链表的头指针

2. UF_MODL_put_list_item() 将元素插入到链表的尾部

3. UF_MODL_ask_list_count() 获取链表的个数,从链表头到第一个NULL_TAG节点之间的节点个数

4. UF_MODL_ask_list_item() 通过元素的位置获取元素

5. UF_MODL_delete_list_item() 将指定的对象从链表中删除

6. UF_MODL_delete_list() 删除链表

属性对象的操作

1. UF_ATTR_ask_part_attribute() 获取工作部件的部件属性对象表示

2. UF_ATTR_ask_part_attrs() 从加载到NX中的抽取属性对象的属性

3. UF_ATTR_part_attrs_in_file()

4. UF_ATTR_assign() 给指定的部件属性或部件分派一个属性

5. UF_ATTR_count_attributes() 指定类型的属性的数量

6. UF_ATTR_cycle() 遍历对象的所有属性,返回下一个属性标题及属性值

7. UF_ATTR_delete() 删除指定类型的属性

8. UF_ATTR_delete_all() 删除所有属性

9. UF_ATTR_find_attribute() 查找某一属性的类型

10. UF_ATTR_read_value() 读取给定类型和标题的属性的值

属性类型:
       UF_ATTR_bool
       UF_ATTR_integer
       UF_ATTR_real
       UF_ATTR_time
       UF_ATTR_null
       UF_ATTR_string
       UF_ATTR_any
       UF_ATTR_reference

【NX二次开发】NX对象类型及基本操作的更多相关文章

  1. NX二次开发-NX+VS写代码设断点调试技巧

    在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对. ...

  2. NX二次开发-隐藏对象UF_OBJ_set_blank_status

    NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_obj.h> UF_initialize ...

  3. NX二次开发-设置对象名称函数UF_OBJ_set_name

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

  4. NX二次开发-UFUN按类型遍历名字获取Tag函数UF_OBJ_cycle_by_name_and_type

    NX9+VS2012 #include <uf.h> #include <uf_draw.h> #include <uf_obj.h> #include <u ...

  5. NX二次开发-将对象移动到图层UF_OBJ_set_layer

    #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <uf_layer.h&g ...

  6. NX二次开发-NX访问SqlServer数据库(增删改查)C#版

    版本:NX9+VS2012+SqlServer2008r2 以前我写过一个NX访问MySQL数据库(增删改查)的文章https://www.cnblogs.com/nxopen2018/p/12297 ...

  7. NX二次开发-NX访问MySQL数据库(增删改查)

    版本:NX11+VS2013+MySQL5.6(x64)+SQLyog 1.新建一个NX项目(多字节) 2.设置VC++目录(调用MySQL的头文件,dll和lib库文件) 3.设置番茄助手 然后重启 ...

  8. 【NX二次开发】查找部件中的对象 UF_OBJ_cycle_objs_in_part

    返回所有层上指定类型部件中的所有对象,不管它们的当前显示状态如何.这个例程不返回表达式.指定对象.临时(系统创建的)对象或休眠对象.休眠对象指的是从模型中删除的对象例如,如果你混合了一条边,那么这条边 ...

  9. NX二次开发-UDO用户自定义对象(UFUN)【持续完善】

    每当提起UDO总是会让我想起大专毕业那会失业找工作,后来有个宝贵机会去了软件公司上班,拿到了我人生中的第一个NX二次开发项目,一个关于测量汽车前后左右摄像头的项目.当时那个项目就用到了UDO,对于只看 ...

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

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

随机推荐

  1. 将大量ASCII码值转换成字符函数CHR()的小技巧

    一.在学习命令执行漏洞的过程中,遇到以下情况: 当服务器上传不了马或者马被过滤的时候,我们可以迂回一下,通过执行写马命令到服务器,在服务器里面写马,该命令是通过ascii编码过的命令,防止被过滤. 1 ...

  2. ArrayList初步使用

    ️Practice the usage of ArrayList all of String with a exampe of NoteBook. ArrayList all of String的部分 ...

  3. 异常检测算法Robust Random Cut Forest(RRCF)关键定理引理证明

    摘要:RRCF是亚马逊发表的一篇异常检测算法,是对周志华孤立森林的改进.但是相比孤立森林,具有更为扎实的理论基础.文章的理论论证相对较为晦涩,且没给出详细的证明过程.本文不对该算法进行详尽的描述,仅对 ...

  4. 分布式事务与Seate框架(2)——Seata实践

    前言 在上一篇博文(分布式事务与Seate框架(1)--分布式事务理论)中了解了足够的分布式事务的理论知识后,到了实践部分,在工作中虽然用到了Seata,但是自己却并没有完全实践过,所以自己私下花点时 ...

  5. 发布 .NET 5 带运行时单文件应用时优化文件体积的方法

    自 .NET 发布起,.NET Framework 运行环境就是其摆脱不掉的桎梏.后来有了 .NET Core ,微软终于将自带运行时和单文件程序带给了我们.即便如此,大部分情况下开发者仍然不太满意: ...

  6. 射线与空间内三角形的相交检测算法(Möller-Trumbore)的推导与实践

    背景介绍(学习算法之前需要先了解) 射线与空间内三角形的相交检测是游戏程序设计中一个常见的问题,最典型的应用就是拾取(Picking),本文介绍一个最常见的方法,这个方法也是DirectX中采用的方法 ...

  7. python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统

    python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统 引子 python是什么? 什么是编程语言?为何要有编程语言? 什么是编程?什么是程序?什么是进程?为何要编程? 计算机基础 ...

  8. 如何实现一个简易版的 Spring - 如何实现 AOP(上)

    前言 本文是「如何实现一个简易版的 Spring 系列」的第五篇,在之前介绍了 Spring 中的核心技术之一 IoC,从这篇开始我们再来看看 Spring 的另一个重要的技术--AOP.用过 Spr ...

  9. Gateway导航

    简介 最近都在弄微服务的东西,现在来记录下收获.我从一知半解到现在能从0搭建使用最大的感触有两点 1.微服务各大组件的版本很多,网上很多博客内容不一定适合你的版本,很多时候苦苦琢磨都是无用功 2.网上 ...

  10. 笔记本用HDMI转VGA 使用双屏办公 听语音

    笔记本用HDMI转VGA 使用双屏办公 听语音 原创 | 浏览:1212 | 更新:2019-11-12 12:16 1 2 3 4 5 6 7 分步阅读 笔记本使用 转接头扩展出一块屏幕.使用多屏办 ...