NX二次开发——编程基础

在这里插入图片描述

NX与vS版本对应查询:
在这里插入图片描述
NX Open C函数名称约定:
标准的是:UF_<>_<>
以前版本:uf<> 和 uc<>
其中
参数输入方式有:
I 表示参数输入,参数在使用前必须赋值
O 表示参数输出方式,使用前无须赋值
OF 表示参数输出,且使用后需要释放内存,UF_free()、UF_free_string()、UF_STYLER_free_value()等


数据类型
主要介绍自定义类型:
tag_t类型
在uf_defs.h中,定义:typedet undigned int tag_t,tag_p_t;
tag_t是NX对象的句柄,NX应用程序只能访问句柄,不能直接访问句柄所指示的实际对象。应用程序通过API函数获取句柄,在通过其他函数使用句柄。NULL_TAG表示不标识任何对象。
结构类型 _s
struct UF_STYLER_item_value_type_s
{
int reason;
const char
item_id;
int subitem_index;
int count;
int item_attr;
int indicator;
UF_STYLER_value_t value;
}
Typedef struct UF_STYLER_item_value_type_s UF_STYLER_item_value_type_t, UF_STYLER_item_value_type_p_t;
枚举类型 _e

联合类型 _u


NX 对象类型及操作
所有对象都是通过唯一的tag_t值进行标识的。
部件对象
不仅包含了几何信息,还包含其他描述信息。
主要函数:
UF_PART_new
UF_PART_open
UF_PART_close_all
UF_PART_save
UF_PART_close
所有函数返回值是错误代码,利用UF_get_fail_message得到错误信息
部件对象查询函数:

函数名称函数功能
UF_OBJ_cycle_objs_in_part在部件中查询对象-
UF_ATTR_ask_part_atts访问部件的属性
UF_PART_reopen再打开部件
UF_PART_ask_part_name获取部件的文件名
UF_PJART_ask_customer_area查询其他信息
UF_PART_ask_description查询其他信息
UF_PART_ask_status查询其他信息
UF_PART_ask_part_history查询部件文件的历史
UF_PART_ask_compression_flags查询及设置部件文件的压缩标记
UF_PART_set_compression_flags查询及设置部件文件的压缩标记

UF对象
是哪些具有标识的NX对象,包括几何对象和非几何对象。利用类型与子类型来区别文件的不同对象。
下表是UF对象基本操作函数

函数名称函数功能
UF_OBJ_set_name指定查问删除单个对象的名称
UF_OBJ_ask_name指定查问删除单个对象的名称
UF_OBJ_delete_name指定查问删除单个对象的名称
UF_OBJ_cycle_objs_in_part
UF_OBJ_cycle_all
UF_OBJ_cycle_by_name
UF_LAYER_cycle_by_layer遍历
UF_MODL_delete_exp
UF_MODL_delete_feature
UF_MODL_delete_object
UF_MODL_delete_array_of_objects对象删除
UF_UI_select_single
UF_UI_select_by_class
UF_UI_select_feature
UF_UI_select_sketch对象选择

UF对象状态
可以使用函数UF_OBJ_ask_status()来查询

UF对象访问方法
创建对象时就可以直接得到对象标识,但是多数情况下需要访问已经在部件存在的对象,可使用一下方法:
循环法:

参数法
表达式
用函数UF_MODL_create_exp()创建表达式
链表对象
提高编程的灵活性,用来存放对象或特征的标识。链表的每一个节点保存一个对象或者特征标识。
uf_list_p_t表示一个NX对象链表的节点指针。
定义:
typedef struct uf_list_s *uf_list_p_t;
struct uf_list_s {tag_t eid;struct uf_list_s *next;};
链表操作函数:

函数名函数功能
UF_MODL_create_list创建一个链表,并返回链表的头指针
UF_MODL_put_list_item插入元素到链表中
UF_MODL_ask_list_count获取元素个数
UF_MODL_ask_list_item查询对象标识

属性对象
uf——attr.h中提供了与部件或对象属性的编程接口

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NX(Nexus)是一种二次开发环境,可以用于定制和扩展NX软件。而PK转换则是在NX开发中常用的一个功能。下面我将简要介绍NX二次开发PK转换的相关内容。 在NX二次开发中,PK转换可以理解为将NX软件中的原始数据(PK)转化为其他格式或者其他软件可以处理的形式。这个过程通常需要借助NX二次开发环境的API(Application Programming Interface,应用程序编程接口)来实现。 PK转换的具体实现方法各有差异,根据不同的需求可以选择不同的方式进行转换。一种常见的方式是通过NX软件提供的API来读取和解析PK数据,并将解析后的数据转化为所需的格式,例如Excel文档、CAD文件等。 另外,PK转换也可以用于将NX软件中的PK数据转化为其他软件所能识别的格式。比如,可以将NX软件中的3D模型数据转化为STEP或者IGES等格式,以便在其他CAD软件中进行进一步处理或者与其他系统进行数据交互。 需要注意的是,NX二次开发PK转换的实现需要具备相应的编程能力,熟悉NX二次开发环境和相应的编程语言,例如C++、Java等。此外,对于不同的转换需求,可能需要进一步了解相关的领域知识和数据格式规范。 总之,NX二次开发PK转换是一种将NX软件中的原始数据转化为其他格式或者与其他软件进行数据交互的功能。通过灵活运用NX二次开发环境的API,可以实现各种定制化的PK转换需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值