购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
函数结构:UF_UGMGR_ask_part_tag( char * part_number, UF_UGMGR_tag_t * database_part_tag) 函数说明:
找到对应于指定的部分的数据库中的标签部件号(团队中心工程项目ID)。如果函数成功,则输出参数包含零件的数据库标签。如果功能不成功,则输出参数为UF_UGMGR_null_tag。
函数参数:
第1个参数为输入:
输入char * 字符类型的参数,参数的变量格式为part_number,零件号。
第2个参数为输出:
database_part_tag代表参数变量,UF_UGMGR_tag_t * 为输出参数类型,对应于指定零件号码的零件的数据库标签。
UF_UGMGR_ask_part_tag函数实例代码演示:
下面的NX Open API的程序会询问你的零件号,并显示指定部分的配置版本。它打印出您的系统并告诉可用的所有配置的规则列表您当前的配置规则。最后,它会尝试设置配置规则为“工作”。
[quote]
#include <stdio.h>
#include <stdlib.h>
#include <uf_ugmgr.h>
#include <uf.h>
#define CHECK( func_ ) \
{ int ifail_ = 0; \
char message[133]; \
ifail_ = (func_); \
if ( ifail_ != 0 ) { \
UF_get_fail_message( ifail_, message ); \
printf("ERROR: %s returned from %s\n", message, # func_); \
return ifail_; } }
int main(int argc, char *argv[])
{
int ifail = 0;
int num_rules;
char** config_rules;
char current_rule[UF_UGMGR_NAME_SIZE+1];
int i;
UF_UGMGR_tag_t part_tag;
UF_UGMGR_tag_t config_part_rev_tag;
char part_number[UF_UGMGR_NAME_SIZE+1];
char rev_id[UF_UGMGR_NAME_SIZE+1];
ifail = UF_UGMGR_initialize(argc,(const char**)argv);
if (ifail != 0)
{
printf("ERROR: Failed to initialize with error code %d",
ifail);
exit(1);
}
printf("Enter part number :\n");
scanf("%s", part_number );
CHECK( UF_UGMGR_list_config_rules( &num_rules, &config_rules ) );
printf("AVAILABLE CONFIGURATION RULES:\n\n");
for ( i = 0; i < num_rules; i++ )
{
printf("%s\n", config_rules[i]);
}
CHECK( UF_UGMGR_ask_config_rule( current_rule ) );
printf("\nCURRENT CONFIGURATION RULE: %s\n", current_rule );
CHECK( UF_UGMGR_ask_part_tag( part_number, &part_tag ) );
CHECK( UF_UGMGR_ask_configured_rev( part_tag, &config_part_rev_tag ) );
CHECK( UF_UGMGR_ask_part_revision_id( config_part_rev_tag, rev_id ) );
printf("\nCONFIGURED REVISION OF PART %s: %s\n", part_number,
rev_id );
CHECK( UF_UGMGR_set_config_rule( "Working" ) );
CHECK( UF_UGMGR_ask_config_rule( current_rule ) );
printf("\nCURRENT CONFIGURATION RULE: %s\n", current_rule );
UF_UGMGR_terminate();
return 0;
}
[/quote]