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);//拉伸

}

运行结果:

NX拉伸实体实例 UF_MODL_create_extruded