快捷导航 上传作品

[c++] NX二次开发创建关联性基准平面C++源码

  [复制链接]
ug9.0发表于 2016-6-8 19:38:31 | 显示全部楼层 |阅读模式
学UG二次开发就上UG网:
关联性基准平面开发思路:先创建点,生成基准平面,然后创建圆柱,创建与圆柱相切的基准平面,然后由第一个圆柱来生成第二个圆柱的基准轴,基准是使用UG绘图的基础,二次开发人员要精通基准的开发应用。

基准平面二次开发

基准平面二次开发

基准平面二次开发C++源代码:
  1. /*中磊国际模具培训-创建关联性基准平面*/
  2.    
  3.         double point[3];
  4.         double direction[3];
  5.         tag_t  dplane_tag;
  6.         point[0] = 0.0;//参考点
  7.         point[1] = 0.0;
  8.         point[2] = 0.0;
  9.         direction[0] = 1.0;//法矢方向
  10.         direction[1] = 0.0;
  11.         direction[2] = 0.0;
  12.         UF_MODL_create_fixed_dplane(point, direction, &dplane_tag);//生成固定基准面

  13.         UF_FEATURE_SIGN sign = UF_NULLSIGN;
  14.         double origin[3];
  15.         char   *height = "50.0";
  16.         char   *diam = "10.0";
  17.         double direction_cyl[3];
  18.         tag_t  cyl_tag1;
  19.         origin[0] = 20.0;//圆柱基准点
  20.         origin[1] = 0.0;
  21.         origin[2] = 0.0;
  22.         direction_cyl[0] = 0.0;//圆柱方向
  23.         direction_cyl[1] = 0.0;
  24.         direction_cyl[2] = 1.0;
  25.         UF_MODL_create_cyl1(sign, origin, height, diam, direction_cyl, &cyl_tag1);//生成第一个圆柱

  26.         tag_t  cyl_tag2;
  27.         height = "50.0";
  28.         diam = "30.0";
  29.         origin[0] = 80.0;//圆柱基准点
  30.         origin[1] = 0.0;
  31.         origin[2] = 0.0;
  32.         direction_cyl[0] = 0.0;//圆柱方向
  33.         direction_cyl[1] = 0.0;
  34.         direction_cyl[2] = 1.0;
  35.         UF_MODL_create_cyl1(sign, origin, height, diam, direction_cyl, &cyl_tag2);//生成第二个圆柱


  36.         int    count, norm_dir, type;
  37.         double center[3], dir[3], box[6], radius, rad_data;
  38.         uf_list_p_t face_list;
  39.         tag_t face_id0, face_id1, body, face;
复制代码
游客,如果您要查看本帖隐藏内容请回复


  1.         int    num_refes = 2;
  2.         tag_t  object_tags[3];
  3.         int    point_select[3] = { 0, 0, 0 };
  4.         int    which_plane = 2;
  5.         char   angle_string = NULL;
  6.         char   offset_string = NULL;
  7.         int    num_dplanes;
  8.         tag_t  dplane_tag_relative[2];
  9.         object_tags[0] = face_id0;
  10.         object_tags[1] = face_id1;
  11.         UF_MODL_create_relative_dplane(num_refes, object_tags, point_select, which_plane, NULL,
  12.             &angle_string, &offset_string, &num_dplanes, dplane_tag_relative);//生成关联基准面


  13.         int    num_refs_daxis = 1;
  14.         tag_t  obj_eids[3];
  15.         int    point_select_daxis[3] = { 90, 0, 0 };
  16.         tag_t  daxis_feid;
  17.         obj_eids[0] = face_id1;
  18.         UF_MODL_create_relative_daxis(num_refs_daxis, obj_eids, point_select_daxis, &daxis_feid);//生成关联基准轴
复制代码



就上UG网淘宝直营店
回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 注册UG网

本版积分规则