PLM之家PLMHome-工业软件与AI结合践行者

[二次开发源码] 循环查找所有打开零件的特征并输出特征列表

[复制链接]

2013-11-26 15:12:52 3400 0

admin 发表于 2013-11-26 15:12:52 |阅读模式

admin 楼主

2013-11-26 15:12:52

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
/ T. @: S! f) n6 _" a* P) c3 E
循环查找所有打开零件的特征并输出特征列表
. E2 q; j$ b& s8 i/ [  W  x( R2 V5 `! g

  1. 0 S9 [& F: v  D! H# Y) B
  2. <p>static void do_UGopen_api(void)
    3 X9 e4 P/ J* E9 a
  3. {* f, V' Q1 o7 c  ?* ?& w" K
  4. // create block 1
    1 X% y) \1 H7 {% O1 _5 N
  5. double coner[3] = {0,0,0};
    ! ]: O" J/ s/ R% [( |5 Q6 U
  6. char *edges[3] = {"l=100","w=100","h=20"};; i3 g6 b7 G4 F: b) J3 R
  7. tag_t blk_tag;2 F. x. U; A5 `9 }, r
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);1 v, W+ D; C5 n8 N
  9. // create a hole5 O2 i( c$ J6 P& T
  10. double dir[3] = {0,0,1};
    ) e- O! V( b' V4 V3 D# }
  11. double coner1[3] = {50,50,0};
    7 }/ |9 u# j" Y
  12. tag_t cyl_tag;/ k! S$ ^6 ~. I6 j* B- M8 _
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);
    # V1 J; E5 r% R/ C3 R
  14. tag_t part;+ j0 J1 u  V* H
  15. char msg[132],msg1[132];
    ' q6 D+ \! y; _# k" }) \! _  [$ y
  16. char part_fspec[MAX_FSPEC_SIZE+1];- ~; J9 s' Z2 B* a( G; u
  17. int num = UF_PART_ask_num_parts();
    7 |5 L. ]3 {3 ~" V
  18. sprintf(msg,"the part num is %d",num);2 o" M$ Q& s; q3 L! a' |
  19. uc1601(msg,1);' w, U8 Z1 q  k' Z) O
  20. for(int num_part=0;num_part<num;num_part++)8 Z+ P- ]8 V8 ?0 W$ u# j/ B
  21. {
    7 H' A4 |8 c' o0 O
  22.   part = UF_PART_ask_nth_part(num_part);
    ; P  W$ }6 ~& l. ?* b# v9 g; E. D
  23.   UF_PART_ask_part_name(part,part_fspec);
      W' v) L% z" L4 a" \2 M7 y! Y
  24.   uc1601(part_fspec,1);0 C# t6 f" \. ~6 O# @9 a( n
  25.   int count = 0;8 u  ]% d7 r: b; N& E5 d& T& ^* I
  26.   int type = UF_feature_type;
    4 v) W$ N4 G  [) \! f& d
  27.   tag_t feature = NULL_TAG;* o  ?+ A$ ^& S; }  c; g
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);
    9 h" d5 X& x9 h
  29.   char *name;
    # r- n& e, l% C
  30.   while(feature!= NULL_TAG)
    # P9 L1 U. k" k2 Q  @" M
  31.   { 6 n* X& _9 x5 F) M8 M
  32.     count++;
    : Y; L* l/ [7 t" ?* B
  33.     UF_MODL_ask_feat_display_name(feature,&name);
    # e) ]9 w! x6 K2 Y7 t8 `6 e
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);
    1 m' T- Q" O$ T3 M; C5 ?
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);2 x9 ^- Z1 D( }- @1 @( `1 d
  36.     uc1601(msg1,1);
    0 @! b& v9 l" d# V6 n, |2 k
  37.   }  9 ?% N5 ^7 q; s5 z) t: @
  38.   
    3 |$ ~" d" ]) r# y& P' e9 @
  39. }; b6 h4 W% d$ @# l! E- n6 r
  40.   ) L+ O+ Z, |3 d
  41. }</p>
复制代码
. C5 D, z) u% }% j0 O, ^7 f) W
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了