//此函数的功能是打印当前坐标系试图的所有坐标系名称
static void geom_list_name(tag_t group_tag)
{
//ask_member_list
int count=0;
tag_t *list=NULL;
//ask_name
char name[UF_OBJ_NAME_LEN+1];
//ask_type_and_subtype
int type=0;
int subtype=0;
UF_NCGROUP_ask_member_list(group_tag,&count,&list);
UF_UI_open_listing_window();
for (int i=0;i<count;i++)
{
UF_OBJ_ask_type_and_subtype(list[i],&type,&subtype);
if (type==UF_machining_geometry_grp_type && subtype==UF_mill_orient_subtype)
{
UF_OBJ_ask_name(list[i],name);
strcat_s(name,"
");
UF_UI_write_listing_window(name);
UF_UI_write_listing_window("
");
}
}
}
//此函数的功能是打印当前程序试图的所有程序组名称
static void programmer_list_name(tag_t group_tag)
{
//ask_member_list
int count=0;
tag_t *list=NULL;
//ask_name
char name[UF_OBJ_NAME_LEN+1];
//ask_type_and_subtype
int type=0;
int subtype=0;
UF_NCGROUP_ask_member_list(group_tag,&count,&list);
UF_UI_open_listing_window();
for (int i=0;i<count;i++)
{
UF_OBJ_ask_type_and_subtype(list[i],&type,&subtype);
if (type==UF_machining_task_type && subtype==UF_mach_order_task_subtype)
{
UF_OBJ_ask_name(list[i],name);
strcat_s(name,"
");
UF_UI_write_listing_window(name);
UF_UI_write_listing_window("
");
}
}
}
//此函数的功能是打印当前刀具试图的所有刀具名称
static void machine_list_name(tag_t group_tag)
{
//ask_member_list
int count=0;
tag_t *list=NULL;
//ask_name
char name[UF_OBJ_NAME_LEN+1];
//ask_type_and_subtype
int type=0;
int subtype=0;
UF_NCGROUP_ask_member_list(group_tag,&count,&list);
UF_UI_open_listing_window();
for (int i=0;i<count;i++)
{
UF_OBJ_ask_type_and_subtype(list[i],&type,&subtype);
if (type==UF_machining_tool_type && subtype==UF_mach_tool_subtype)
{
UF_OBJ_ask_name(list[i],name);
strcat_s(name,"
");
UF_UI_write_listing_window(name);
UF_UI_write_listing_window("
");
}
}
}
//此函数的功能是打印当前方法试图的所有工艺名称
static void method_list_name(tag_t group_tag)
{
//ask_member_list
int count=0;
tag_t *list=NULL;
//ask_name
char name[UF_OBJ_NAME_LEN+1];
//ask_type_and_subtype
int type=0;
int subtype=0;
UF_NCGROUP_ask_member_list(group_tag,&count,&list);
UF_UI_open_listing_window();
for (int i=0;i<count;i++)
{
UF_OBJ_ask_type_and_subtype(list[i],&type,&subtype);
if (type==UF_machining_mthd_type && subtype==UF_mach_mill_mthd_subtype)
{
UF_OBJ_ask_name(list[i],name);
strcat_s(name,"
");
UF_UI_write_listing_window(name);
UF_UI_write_listing_window("
");
}
}
}
extern DllExport void ufsta( char *param, int *returnCode, int rlen )
{
/* Initialize the API environment */
if( UF_CALL(UF_initialize()) )
{
/* Failed to initialize */
return;
}
/* TODO: Add your application code here */
UF_initialize();
//根
tag_t setup_tag=NULL_TAG;
tag_t geom_group=NULL_TAG;
tag_t mct_group=NULL_TAG;
tag_t mthd_group=NULL_TAG;
tag_t program_group=NULL_TAG;
UF_SETUP_ask_setup (&setup_tag);
//几何试图
UF_SETUP_ask_geom_root (setup_tag,&geom_group);
//机床试图
UF_SETUP_ask_mct_root (setup_tag,&mct_group);
//方法试图
UF_SETUP_ask_mthd_root (setup_tag,&mthd_group);
//程序试图
UF_SETUP_ask_program_root (setup_tag,&program_group);
//打印
geom_list_name(geom_group);
programmer_list_name(program_group);
machine_list_name(mct_group);
method_list_name(mthd_group);
UF_terminate();
/* Terminate the API environment */
UF_CALL(UF_terminate());
}
本文转自https://www.cnblogs.com/zzyfym/p/12108176.html