- 积分
- 0
- 注册时间
- 2007-7-29
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2007-7-31 13:43:15
|
显示全部楼层
来自 湖北武汉
请问一下关于UF_MODL_ask_extrusion的问题,下面是我写的函数,想输出拉伸特征的参数:
void out_extrusion_feature_parm(tag_t extrude_tag)
{
int num_objects=0;
tag_t objects[4];
tag_t* p_objects=&objects[1];
UF_MODL_SWEEP_TRIM_object_t trim_object;
tag_t trim_objects[4];
trim_object.trim_objects=trim_objects;
trim_object.trim_count=0;
trim_object.sign=UF_MODL_SWEEP_TRIM_NONE;
trim_object.thru_bodies=NULL;
trim_object.num_thru_bodies=0;
UF_MODL_SWEEP_TRIM_object_p_t trim_ptr=&trim_object;
char* taper_angle="0.0";
char* limits[2]={"0","0"};
char* offsets[2]={"0.0","0.0"};
double region_point[3]={0,0,0};
logical region_specified=true;
logical solid_creation=true;
double direction[3]={0.0,0.0,0.0};
int error=UF_MODL_ask_extrusion(extrude_tag,&num_objects,&p_objects,&trim_ptr,&taper_angle,limits,offsets,region_point,®ion_specified,&solid_creation,direction);
FILE* fp=fopen("D:\\out_extrusion_feature_parm.txt","w");
fprintf(fp,"%d",error);
fclose(fp);
}
然后我在这个函数中调用:
void check_feature()
{
tag_t disp_part_tag,next_tag=NULL_TAG;
//UF_free(limits[1]);
int num=0;
char* feat_type;
FILE* fp=fopen("D:\\特征编号与对应名称.txt","w");
if (fp==NULL)
return;
disp_part_tag=UF_PART_ask_display_part();
UF_OBJ_cycle_objs_in_part(disp_part_tag,UF_feature_type,&next_tag);
while(next_tag!=NULL)
{
num++;
UF_MODL_ask_feat_type(next_tag,&feat_type);
fprintf(fp,"\n特征%d的id=%u,其类型为%s\n",num,next_tag,feat_type);
if(strcmp(feat_type,c1)==0)
{
out_extrusion_feature_parm(next_tag);
MessageBox(NULL,"当前特征类型为拉伸!","特征类型",MB_OK);
}
else if(strcmp(feat_type,c2)==0)
{
MessageBox(NULL,"当前特征类型为扫描!","特征类型",MB_OK);
}
else if(strcmp(feat_type,c3)==0)
{
MessageBox(NULL,"当前特征类型为边界表示!","特征类型",MB_OK);
}
else if(strcmp(feat_type,c4)==0)
{
int test1=UF_MODL_ask_points_parms(next_tag,&num_points,p_p_points);
MessageBox(NULL,"当前特征类型为点!","特征类型",MB_OK);
}
else if(strcmp(feat_type,c5)==0)
{
MessageBox(NULL,"当前特征类型为凸起!","特征类型",MB_OK);
}
UF_OBJ_cycle_objs_in_part(disp_part_tag,UF_feature_type,&next_tag);
}
fclose(fp);
}
为何总是失败?UF_MODL_ask_extrusion返回值非零。
也就是说,我用UG直接新建一个拉伸特征,然后Crl+U打开DLL载入,写的函数可以判明是拉伸特征,但是UF_MODL_create_extruded返回值总是非0。
[ 本帖最后由 日曜の雨 于 2007-7-31 13:46 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|