|
马上注册,结交更多同行朋友,交流,分享,学习。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本人是个新手,不知UF_MODL_create_taper_from_faces()的使用,以下是本人写的原代码,想对Z轴正方向的面进行拔锥,编译没错但在UG中不出结果啊!恳请赐教!十分感激!
//---1. 创建block-----
double top_block_orig[3] = {0,0,0};
char *top_block_len[3] = {"100","100","100"};
tag_t top_block_tag;
UF_MODL_create_block1(UF_NULLSIGN,
top_block_orig,
top_block_len,
&top_block_tag);
//---创建面的链表---
double point[3], dir[3], box[6], radius, rad;
int i, num, type, sen;
tag_t face, Z0_face, Z1_face;
uf_list_p_t face_list;
UF_MODL_create_list(&face_list);
UF_MODL_ask_feat_faces(top_block_tag,&face_list);
UF_MODL_ask_list_count(face_list,&num);
//----获取面的数据---
for (i=0; i<num; i++)
{
UF_MODL_ask_list_item(face_list,i,&face);
UF_MODL_ask_face_data(face,&type,point,
dir,box,&radius,&rad,&sen);
if(type==22)
{
if(fabs(dir[2]+1.0)<10e-7)
Z0_face=face;
else if(fabs(dir[2]-1.0)<10e-7)
Z1_face=face; //Z的正方向面
};
}
//---为拔模创建放置的点----
double taper_point[3]={0,0,100};
tag_t taper_point_tag;
UF_CURVE_create_point (taper_point, &taper_point_tag);
//---6.创建拔模---???
double daxis_point1[3]={0,0,0};
double daxis_point2[3]={0,50,0};
tag_t daxis_tag;
UF_MODL_create_fixed_daxis (daxis_point1,
daxis_point2,
&daxis_tag );
tag_t direction_tag;
UF_MODL_ask_object_feat (daxis_tag, &direction_tag);
char * taper_angle="6";
logical taper_all_instances=1;
int num_faces=1;
tag_t taper_faces[1]={Z1_face};
tag_t taper_tag;
UF_MODL_create_taper_from_faces (taper_point_tag,
direction_tag,
taper_angle,
taper_all_instances,
num_faces,
taper_faces,
&taper_tag ); |
|