NX二次开发 UFUN开始计时 UF_begin_timer
//NX8.0+VS2010
#include <uf_obj.h>
#include <uf_modl.h>
#include <uf_disp.h>
extern DllExport void ufsta(char* param, int* returnCode, int rlen)
{
if (UF_initialize())
return;
//抑制显示后创建对象然后在显示对象这种方法 用户看不到创建过程所以创建的速度会变快很多
char msg[133] = "";
UF_timer_t timer;
UF_timer_values_t values;
UF_begin_timer(&timer); //开始计时
tag_t bodys[100];
UF_DISP_set_display(UF_DISP_SUPPRESS_DISPLAY);//设置抑制显示
for (int i = 0; i < 100; i++)
{
//创建块
double point[3] = { i * 110, 0.0, 0.0 };//设置原点
char* str_edge_len[3] = { "100", "200", "300" };//设置长宽高
tag_t tag = NULL_TAG;
UF_MODL_create_block1(UF_NULLSIGN, point, str_edge_len, &tag);
UF_MODL_ask_feat_body(tag, &bodys[i]);
UF_OBJ_set_color(bodys[i], 186);//设置颜色
}
//UF_DISP_regenerate_display();//重新显示,比较卡(模型越多卡)
UF_DISP_set_display(UF_DISP_UNSUPPRESS_DISPLAY);//设置不抑制显示
for (int i = 0; i < 100; i++)
{
UF_DISP_add_item_to_display(bodys[i]);//对象添加到显示
}
UF_end_timer(timer, &values);//结束计时
sprintf(msg, "计时:%.3f", values.real_time);
uc1601(msg, 1);//弹出提示
UF_terminate();
}