NX二次开发 UFUN恢复显示 UF_DISP_regenerate_display

NX二次开发 UFUN对象添加到显示 UF_DISP_add_item_to_display

//NX8.0+VS2010
#include 
#include 
#include 

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();
}

你可能感兴趣的:(2丶UFUN,c++,开源)