NX二次开发-Handle与Tag实际应用价值

NX二次开发-Handle与Tag实际应用价值

作者:倪海   审校:徐涛

适用版本:NX所有版本

NX二次开发-Handle与Tag实际应用价值

在我们分析NX三维设计软件的架构时以及针对业务需求进行二次开发时,不可避免地会涉及使用到内核对象。在NX中,内核对象的唯一标识有两种系统,一种唯一标识简称为Handle,另一种唯一标识简称为Tag。

功能说明

上述内核的两种唯一标识的区别:

Tag:在当前会话中,即在当前NX进程中,NX内核系统分配的一串唯一标记的数字代号。NX重新打开同一文件,同一对象的Tag会出现不一样的情况。

Handle:由文件中记录的对象ID以及NX版本等信息组合成一串唯一字符串代号。NX重新打开同一文件,同一对象的Handle一直会保持一样的。

上述内核的两种唯一标识的联系:

通过如下图所示的两个UF函数可以互相进行查询:

UF_TAG_ask_tag_of_handle函数通过Handle标识可以获取Tag标识:

NX二次开发-Handle与Tag实际应用价值

图1

UF_TAG_ask_handle_of_tag函数通过Tag标识获取Handle标识:

NX二次开发-Handle与Tag实际应用价值

图2

Handle与Tag实际应用价值:两者都是唯一标识,为啥NX要引入两套唯一标识系统呢?

在实际应用过程中,我们存在这样的一种业务场景:同一文件存在多个副本,副本中对象都是一样的,所以Handle值都是一样的,但是我们在同一个NX中,打开这些文件,NX为了能够区分这些相同对象,引入了Tag标识系统,临时为每种对象生成一个唯一标识,以作识别区分。

总    结

NX内核中存在两套唯一标识系统,是为了解决一些特殊应用场景,两者之间既有联系,也有区别。

来源:上海联宏创能信息科技有限公司

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月27日
下一篇 2022年10月27日

相关推荐

发表回复

登录后才能评论