【NX二次开发】NX对象类型及基本操作

说明: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

 

posted @ 2019-11-18 21:39  王牌飞行员_里海  阅读(1716)  评论(0编辑  收藏  举报