UG二次开发作业

发布时间 : 星期一 文章UG二次开发作业更新完毕开始阅读

tag_t diam_cover_id, diam_iset1_id, diam_iset2_id,feature_obj;//, part uf_list_p_t feature_list;

UF_CALL(UF_MODL_create_cyl1(create,origin,height,diam_cover,direction, &diam_cover_id));

UF_CALL(UF_MODL_create_cyl1(sub,orig_iset1,height,diam_iset1,direction, &diam_iset1_id));

UF_CALL(UF_MODL_create_cone1(sub,orig_iset2,height1,diam_iset2,direction, &diam_iset2_id));

UF_CALL(UF_MODL_create_list(&feature_list));//如果要阵列必须要创建链表

UF_CALL(UF_MODL_put_list_item(feature_list,diam_iset1_id));

UF_CALL(UF_MODL_put_list_item(feature_list,diam_iset2_id));//要把阵列的对象放入链表中

UF_CALL(UF_MODL_create_circular_iset(0,origin,direction,\feature_list,&feature_obj));//阵列所需要的函数

}

第五题螺帽

static void do_ugopen_api(void) //主函数 {

double pt1[3] = {17.32050808,0.0,0.0}; //三维空间XY平面求出正六边形点的坐标

double pt2[3] = { 8.660254038,15,0.0};

double pt3[3] = {-8.660254038,15,0.0};

double pt4[3] = { -17.32050808,0.0,0.0};

double pt5[3] = {-8.660254038,-15,0.0};

double pt6[3] = { 8.660254038,-15,0.0};

double direction[3] = {0.0,0.0,1.0}; //向Z轴正方向拉伸

double ref_pt[3];

double arc1_start_ang = (PI/180)*87.611984536731;

double arc1_end_ang = (PI/180)*272.38801546327;

double arc1_rad = 0.5625;

double arc2_start_ang = (PI/180)*272.38801546327;

double arc2_end_ang = (PI/180)*447.61198453673;

double arc2_rad = 0.4375;

char *taper_angle = \

char *limit1[2] = {\ //拉伸高度为10

int english_units = 2, i, count = 6;

tag_t objarray[6], part, wcs_tag, matrix_tag;

uf_list_p_t loop_list, features;

UF_FEATURE_SIGN create = UF_NULLSIGN; //布尔运算为创建新实体

UF_CURVE_line_t line1, line2, line3, line4, line5, line6;

line1.start_point[0] = pt1[0]; //直线由起点和终点连成 定义编号

line1.start_point[1] = pt1[1];

line1.start_point[2] = pt1[2];

line1.end_point[0] = pt2[0];

line1.end_point[1] = pt2[1];

line1.end_point[2] = pt2[2];

line2.start_point[0] = pt2[0];

line2.start_point[1] = pt2[1];

line2.start_point[2] = pt2[2];

line2.end_point[0] = pt3[0];

line2.end_point[1] = pt3[1];

line2.end_point[2] = pt3[2];

line3.start_point[0] = pt3[0];

line3.start_point[1] = pt3[1];

line3.start_point[2] = pt3[2];

line3.end_point[0] = pt4[0];

line3.end_point[1] = pt4[1];

line3.end_point[2] = pt4[2];

line4.start_point[0] = pt4[0];

line4.start_point[1] = pt4[1];

line4.start_point[2] = pt4[2];

line4.end_point[0] = pt5[0];

line4.end_point[1] = pt5[1];

line4.end_point[2] = pt5[2];

line5.start_point[0] = pt5[0];

line5.start_point[1] = pt5[1];

line5.start_point[2] = pt5[2];

line5.end_point[0] = pt6[0];

line5.end_point[1] = pt6[1];

line5.end_point[2] = pt6[2];

line6.start_point[0] = pt6[0];

line6.start_point[1] = pt6[1];

line6.start_point[2] = pt6[2];

line6.end_point[0] = pt1[0];

line6.end_point[1] = pt1[1];

line6.end_point[2] = pt1[2];

UF_CALL(UF_CURVE_create_line(&line1,&objarray[0]));//创建直线

UF_CALL(UF_CURVE_create_line(&line2,&objarray[1]));

UF_CALL(UF_CURVE_create_line(&line3,&objarray[2]));

UF_CALL(UF_CURVE_create_line(&line4,&objarray[3]));

UF_CALL(UF_CURVE_create_line(&line5,&objarray[4]));

UF_CALL(UF_CURVE_create_line(&line6,&objarray[5]));

UF_CALL(UF_MODL_create_list(&loop_list)); //把6条直线连起来

for(i = 0; i < count; i++)

{

UF_CALL(UF_MODL_put_list_item(loop_list, objarray[i]));

}

UF_CALL(UF_MODL_create_extruded(loop_list, taper_angle, limit1, ref_pt, direction, create, &features));

UF_PART_save(); //拉伸

UF_FEATURE_SIGN sign1 = UF_UNSIGNED; //布尔运算为求交

double cone_orig[3] = {0.0, 0.0, 0.0}; 锥体底面中心在原点

char *cone_height = \

char *cone_diam[2] = {\

double direction1[3] = {0, 0, 1};

tag_t cone_obj_id;

UF_CALL(UF_MODL_create_cone1(sign1, direction1, &cone_obj_id)); }

//cone参数设定 注意用字符型 圆 //螺帽高度为10 //下底径 上底径 //圆锥朝Z正向向 cone_orig, cone_height, cone_diam,

联系合同范文客服:xxxxx#qq.com(#替换为@)