NX拉伸实体实例 UF_MODL_create_extruded
拉伸实例代码:
static void do_ugopen_api(void)
{
//例2:创建7条直线形成封闭区域做拉伸操作生成实体
uf_list_p_t objects,features;
char * taper_angle="0.0";
char * limit[2]={"10.0","20.0"};
double point[3]={0.0,0.0,0.0}; //无效可以不写
double direction[ 3 ]={0.0,0.0,1.0}; //拉伸方向
UF_FEATURE_SIGN sign=UF_NULLSIGN; //布尔运算
tag_t object_tag[7];
UF_CURVE_line_t line_coords;
line_coords.start_point[0]=0;
line_coords.start_point[1]=0;
line_coords.start_point[2]=0;
line_coords.end_point[0]=10;
line_coords.end_point[1]=0;
line_coords.end_point[2]=0;
UF_CURVE_create_line(&line_coords,&object_tag[0]);
line_coords.start_point[0]=0;
line_coords.start_point[1]=0;
line_coords.start_point[2]=0;
line_coords.end_point[0]=0;
line_coords.end_point[1]=10;
line_coords.end_point[2]=0;
UF_CURVE_create_line(&line_coords,&object_tag[1]);
line_coords.start_point[0]=0;
line_coords.start_point[1]=10;
line_coords.start_point[2]=0;
line_coords.end_point[0]=10;
line_coords.end_point[1]=10;
line_coords.end_point[2]=0;
UF_CURVE_create_line(&line_coords,&object_tag[2]);
line_coords.start_point[0]=10;
line_coords.start_point[1]=10;
line_coords.start_point[2]=0;
line_coords.end_point[0]=10;
line_coords.end_point[1]=0;
line_coords.end_point[2]=0;
UF_CURVE_create_line(&line_coords,&object_tag[3]);
line_coords.start_point[0]=2;
line_coords.start_point[1]=2;
line_coords.start_point[2]=0;
line_coords.end_point[0]=5;
line_coords.end_point[1]=2;
line_coords.end_point[2]=0;
UF_CURVE_create_line(&line_coords,&object_tag[4]);
line_coords.start_point[0]=5;
line_coords.start_point[1]=2;
line_coords.start_point[2]=0;
line_coords.end_point[0]=2;
line_coords.end_point[1]=5;
line_coords.end_point[2]=0;
UF_CURVE_create_line(&line_coords,&object_tag[5]);
line_coords.start_point[0]=2;
line_coords.start_point[1]=5;
line_coords.start_point[2]=0;
line_coords.end_point[0]=2;
line_coords.end_point[1]=2;
line_coords.end_point[2]=0;
UF_CURVE_create_line(&line_coords,&object_tag[6]);
// 对象加入到对象列表尾部
UF_MODL_create_list(&objects);
for (int i=0;i<=6;i++)
{
UF_MODL_put_list_item(objects,object_tag[i]);
}
UF_MODL_create_extruded (objects, taper_angle,limit, point,direction,sign,&features);//拉伸
}
运行结果: