请选择 进入手机版 | 继续访问电脑版

NX二次开发

 找回密码
 立即注册
查看: 297|回复: 2

[技术分享] 创建基准面,并将其与实体关联起来

[复制链接]

0

主题

3

帖子

19

积分

潜龙勿用

Rank: 1

积分
19
QQ
发表于 2018-9-29 13:44:46 | 显示全部楼层 |阅读模式
  1. #include <uf.h>
  2. #include <uf_ui.h>
  3. #include <uf_modl.h>
  4. #include <uf_so.h>
  5. #include <uf_curve.h>
  6. #include <uf_assem.h>
  7. #include <uf_obj.h>
  8. #include <uf_part.h>
  9. #include <uf_csys.h>
  10. #include <uf_vec.h>
  11. #include <uf_curve.h>
  12. #include <uf_modl.h>
  13. #include <uf_sket.h>
  14.          
  15.                 double point[3];
  16.                 double direction[3];
  17.                 tag_t  dplane_tag;
  18.                 point[0] = 0.0;//参考点
  19.                 point[1] = 0.0;
  20.                 point[2] = 0.0;
  21.                 direction[0] =0.0;//法矢方向
  22.                 direction[1] =0.0;
  23.                 direction[2] =1.0;
  24.                 UF_MODL_create_fixed_dplane ( point, direction, &dplane_tag );//生成固定基准面
  25.                                                                                                                                          
  26.                 UF_FEATURE_SIGN sign = UF_NULLSIGN;
  27.                 double origin[3];
  28.                 char   *height = "25.0";
  29.                 char   *diam = "80.0";
  30.                 double direction_cyl[3];

  31.                 tag_t  cyl_tag1;
  32.                 origin[0] = 0.0;//圆柱基准点
  33.                 origin[1] = 0.0;
  34.                 origin[2] = 0.0;
  35.                 direction_cyl[0] = 0.0;//圆柱方向
  36.                 direction_cyl[1] = 0.0;
  37.                 direction_cyl[2] = 1.0;
  38.                 UF_MODL_create_cyl1 ( sign, origin, height, diam, direction_cyl, &cyl_tag1 );//生成圆柱
  39.                

  40.                
  41.                
  42.                 int    count, norm_dir, type;
  43.                 double center[3], dir[3], box[6], radius, rad_data;
  44.                 uf_list_p_t face_list;
  45.                 tag_t face_id0, face_id1, body, face;
  46.                
  47.                 //获取圆柱的圆柱面tag号
  48.                 UF_MODL_create_list(&face_list);
  49.                 UF_MODL_ask_feat_body( cyl_tag1, &body );
  50.                 UF_MODL_ask_body_faces( body, &face_list);
  51.                 UF_MODL_ask_list_count( face_list, &count );
  52.                 for(int i = 0; i < count; i++)
  53.                 {
  54.                         UF_MODL_ask_list_item(face_list, i, &face);
  55.                         UF_MODL_ask_face_data( face, &type, center, dir, box, &radius,
  56.                                 &rad_data, &norm_dir );
  57.                         if( type == UF_cylinder_type )
  58.                                 face_id0 = face;
  59.                 }
  60.                 UF_MODL_delete_list(&face_list);
  61.                
  62.                 int    num_refes = 2;
  63.                 tag_t  object_tags[3];
  64.                 int    point_select[3] = {0,0,0};
  65.                 int    which_plane = 1;
  66.                 char   angle_string = NULL;
  67.                 char   offset_string = NULL;
  68.                 int    num_dplanes;
  69.                 tag_t  dplane_tag_relative[2];
  70.                 object_tags[0] = face_id0;
  71.                 object_tags[1] = face_id1;
  72.                 UF_MODL_create_relative_dplane ( num_refes, object_tags, point_select, which_plane,
  73.                         NULL,&angle_string, &offset_string, &num_dplanes, dplane_tag_relative );//生成关联基准面
复制代码

               
               
        
回复

使用道具 举报

2

主题

40

帖子

261

积分

终日乾乾

Rank: 3Rank: 3

积分
261
发表于 2018-10-18 10:10:07 | 显示全部楼层
谢谢分享
回复

使用道具 举报

0

主题

116

帖子

1171

积分

飞龙在天

Rank: 6Rank: 6

积分
1171
发表于 2018-10-19 11:59:20 | 显示全部楼层
虚心学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| ( 蜀ICP备16014681号

GMT+8, 2018-12-19 04:52 , Processed in 0.083257 second(s), 24 queries .

Powered by www.nxopen.cn

© 2001-2013 nxopen.cn

快速回复 返回顶部 返回列表