- 积分
- 0
- 注册时间
- 2009-11-19
- 仿真币
-
- 最后登录
- 1970-1-1
|
UF_MODL_create_curve_mesh
这个函数的边界一阶连续怎么使用
我编了个程序,就是出不来
tag_t c_face_id[4];
c_face_id[0]=qianyuan;//qianyuan是与第一主线串相邻的边界面
c_face_id[1]=NULL_TAG;
c_face_id[2]=NULL_TAG;
c_face_id[3]=NULL_TAG;
int c_flag[4];
c_flag[0]=1;
c_flag[1]=0;
c_flag[2]=0;
c_flag[3]=0;
UF_STRING_t s_prim;
UF_MODL_init_string_list(&s_prim);
UF_MODL_create_string_list(num_of_s_prim,num_of_s_prim,&s_prim);
s_prim.num=num_of_s_prim;
for(int i=0;i<s_prim.num;i++)
{
s_prim.string=1;
s_prim.dir=1;
s_prim.id=spline_prim;
}
//spline_prim是主线串数组,num_of_s_prim是主线串数
UF_STRING_t s_cross;
UF_MODL_init_string_list(&s_cross);
UF_MODL_create_string_list(num_of_s_cross,num_of_s_cross,&s_cross);
s_cross.num=num_of_s_cross;
for(i=0;i<s_cross.num;i++)
{
s_cross.string=1;
s_cross.dir=1;
s_cross.id=spline_cross;
}
//spline_cross是交叉串数组,num_of_s_cross是交叉线串数
UF_STRING_t s_spine;
UF_MODL_init_string_list(&s_spine);
UF_MODL_create_string_list(1,1,&s_spine);
s_spine.num=0;
int end_point=0;
int emphasis=3;
int spline_pts=0;
int body_type=0;
UF_FEATURE_SIGN boolean=UF_NULLSIGN;
double tols[]={0.001,0.5*PI/180,0.001};
tag_t body_obj_id;
int sign;
UF_CALL(sign=UF_MODL_create_curve_mesh(&s_prim,&s_cross,&s_spine,&end_point,&emphasis,&body_type,&spline_pts,boolean,tols,c_face_id,c_flag,&body_obj_id));
UF_MODL_free_string_list(&s_prim);
UF_MODL_free_string_list(&s_cross);
UF_MODL_free_string_list(&s_spine);
如果给定的边界条件如下就行了,不知是为什么,那样就达不到我要求的边界一阶连续了
tag_t c_face_id[4];
c_face_id[0]=NULL_TAG;
c_face_id[1]=NULL_TAG;
c_face_id[2]=NULL_TAG;
c_face_id[3]=NULL_TAG;
int c_flag[4];
c_flag[0]=0;
c_flag[1]=0;
c_flag[2]=0;
c_flag[3]=0;
|
|