概述
/* TODO: Add your application code here */
char length[256]="100";
char width[256]="50";
char higth[256]="20";
double tolerance_mold;
UF_MODL_ask_distance_tolerance(&tolerance_mold);//获取系统设置中的公差
char char_radius[256]="5";
double double_length=atof(length);
double double_width=atof(width);
double double_higth=atof(higth);
double corner_pt[3]={0,0,0}; //定位原点
char * edge_len[3]={length,width,higth}; //大小(x,y,z)
tag_t blk_tag;
UF_MODL_create_block1(UF_NULLSIGN,corner_pt,edge_len,&blk_tag); //创建方体
tag_t face1,face2;
tag_t obj=NULL_TAG;
uf_list_p_t face_list;
UF_MODL_create_list(&face_list);//创建链表
UF_MODL_ask_feat_faces(blk_tag,&face_list);//将所有面的tag值放入链表中。
int count=0;
UF_MODL_ask_list_count(face_list,&count);//查询链表中的面的数量
for(int i=0;i<count;i++)
{
UF_MODL_ask_list_item(face_list,i,&obj);//查询列表中的对象 上面的facelist
int type;
double point [3] ;
double dir [3] ;
double box [6] ;
double radius;
double rad_data;
int norm_dir ;
UF_MODL_ask_face_data(obj,&type,point,dir,box,&radius,&rad_data,&norm_dir);//查询与面有关的数据,输入obj,输出type
if(type==22)//“22”代表有界平面
{
if(fabs(point[2]-double_higth)<tolerance_mold)
{
face1=obj;
}
if(fabs(point[0]-double_length)<tolerance_mold)
{
face2=obj;
}
int typel;
UF_MODL_ask_face_type(obj,&typel);
if(typel==UF_MODL_PLANAR_FACE )
{
uf_list_p_t blend_face;
UF_MODL_create_list(&blend_face);
UF_MODL_ask_shared_edges(face1,face2,&blend_face);//查新面的交线
const char * radius=char_radius;
int smooth_overflow=0;
int cliff_overflow=0;
int notch_overflow=0;
double vrb_tool=3;
tag_t feature_obj_id;
UF_MODL_create_blend(radius, blend_face, smooth_overflow, cliff_overflow, notch_overflow, vrb_tool, &feature_obj_id );
}
}
}
/* Terminate the API environment */
最后
以上就是欢喜小兔子为你收集整理的创建块并且指定一条边倒圆角的全部内容,希望文章能够帮你解决创建块并且指定一条边倒圆角所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复