购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
函数结构:UF_UGMGR_ask_new_part_rev( UF_UGMGR_new_part_rev_fn_t * func) 函数说明:
发现用户的,用于产生一个新的部分修订版名方法。所提供的回调响应“指定”按钮,在新的对话的一部分执行在NX经理。如果使用NULL,则程序将未注册。在注册的回调,到UF_UI_lock_ug_access通话之前是必要的调用任何交互式API函数。还 - 这不是必要调用UF_initialize回调。如果调用,则会引发错误。注:此例程,如果登记,将被优先打电话到现有团队中心工程用户出口程序。
函数参数:
第1个参数为输入:
func代表参数变量,UF_UGMGR_new_part_rev_fn_t * 为输入参数类型,指向注册的函数来调用。
UF_UGMGR_ask_new_part_rev函数实例代码演示:
下面是一个用户程序的一个例子,写为一个用户出口在Unigraphics的启动要执行,检查当前指针指向注册程序并注册一个新的。
[quote]
#include <uf.h>
#include <uf_exit.h>
#include <uf_ugmgr.h>
#include <string.h>
#include <stdio.h>
/*
/***************************************************************/
static int my_new_partrev_func
(
UF_UGMGR_new_part_rev_p_t appl_data
)
{
int ifail = 0;
const char* item = appl_data->item;
const char* item_type = appl_data->item_type;
char partrev[132], *ptr = partrev;
/* <AGD> 24-Mar-98
Just return for now...
*/
strcpy(appl_data->new_revision, "");
appl_data->part_revision_modifiable = TRUE;
appl_data->ifail = ifail;
partrev[0] = '\0';
if (item != NULL) strcpy(ptr, item);
if (item_type != NULL) strcat(ptr, item_type);
appl_data->ifail = ifail;
return ifail;
}
/***************************************************************/
extern void ufsta(char *name, int *rtcode, int rtlen)
{
int irc = 0, argc = 1;
const char* argv[] = {"new_partrev"};
UF_UGMGR_new_part_rev_fn_t old_one;
/**************************beginning ofexecutable*******************/
printf("\nstarting partrev v1.0\n");
/*********************************************/
irc=UF_UGMGR_initialize(argc, argv);/* get licence*/
if (irc != 0)
{
printf("Unable to get a UG/Open API/ugmanager license!\n");
return;
}
printf("got UG/Open API license!\n");
/*********************************************/
/* <AGD> 24-Mar-98
Make sure we do not have one already.
*/
old_one = UF_UGMGR_get_new_part_rev();
if (old_one != NULL)
{
printf("Already registered partrev method! &%p\n",old_one);
return;
}
/* <AGD> 24-Mar-98
Try and register the routine as supplied.
*/
irc = UF_UGMGR_reg_new_part_rev(my_new_partrev_func);
if (irc != 0)
{
printf("Unable to register partrev method!\n");
return;
}
printf("Setting routines all finished, bye bye\n");
UF_UGMGR_terminate();
return;
}
[/quote]