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

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

[复制链接]

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

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

admin 楼主

2013-11-26 15:12:52

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

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

x

( a0 o  P4 ]/ t* J循环查找所有打开零件的特征并输出特征列表
* j6 l$ E  d6 G: S
  1. 6 G0 M- Z" x6 O3 M& ~2 r# `8 r( m5 _
  2. <p>static void do_UGopen_api(void)
    : a! p8 ^1 d/ K2 M
  3. {+ U( B- E$ l7 L
  4. // create block 1
    9 y" Q7 [5 N& ~1 o3 M& ]) S
  5. double coner[3] = {0,0,0};
    # ^5 x$ u# m/ H. X
  6. char *edges[3] = {"l=100","w=100","h=20"};
    " _" `0 Z1 I* s$ s, \+ c) l
  7. tag_t blk_tag;& N$ k& X2 V2 l' ^5 h" e
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);
    ' u; @% T, S5 \3 |
  9. // create a hole
    ' l/ p0 V5 d6 i; q8 ^" H/ w( k
  10. double dir[3] = {0,0,1};' R2 y% g" m: d
  11. double coner1[3] = {50,50,0};0 g5 F9 ~9 F4 Q% d- }
  12. tag_t cyl_tag;
    ! E* w0 m8 _9 R" p: y6 A
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);
    ) k1 B2 m1 T- t! _" @0 @4 O6 s
  14. tag_t part;4 y( v) T0 r( g8 Q" a
  15. char msg[132],msg1[132];
    + J' ?% H/ D8 N2 j3 g" ]
  16. char part_fspec[MAX_FSPEC_SIZE+1];
    4 Z. K* Q# ?; n# h2 z& ~
  17. int num = UF_PART_ask_num_parts();
    6 `3 D) {9 M+ Q2 ?0 m& A3 ~8 g& M
  18. sprintf(msg,"the part num is %d",num);: g; F+ `) [6 u& T  N- L
  19. uc1601(msg,1);
    9 O% i, q+ s3 T: J$ l0 S1 ?
  20. for(int num_part=0;num_part<num;num_part++)+ j- ]' d- E8 Q6 i- R
  21. {
    # o) c8 {- O! t' ^4 |( M
  22.   part = UF_PART_ask_nth_part(num_part);
    2 M1 a5 m* J+ Z3 v
  23.   UF_PART_ask_part_name(part,part_fspec);
    - |+ X6 y: _# m8 A& N/ d$ q  u# e
  24.   uc1601(part_fspec,1);! B1 E0 E6 _3 w' T
  25.   int count = 0;, \0 A/ {$ p- X0 w! Q! [& }% o
  26.   int type = UF_feature_type;+ R8 ^( a, Q- f7 J/ P
  27.   tag_t feature = NULL_TAG;* I2 d# A$ R  {) p& {' `$ Z
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);0 s7 P9 U5 b( q, ]; x) Y' k7 V
  29.   char *name;! f/ |! a& Z$ Z
  30.   while(feature!= NULL_TAG)4 _1 `! B( s# b! \& @- A. H
  31.   { 3 U- |+ g$ S- V: c5 d1 [. v+ ~
  32.     count++;
    5 E, \4 K# \- O) Y# }+ Y! D% S( U
  33.     UF_MODL_ask_feat_display_name(feature,&name);7 w& j) p& @/ q: N- @5 K4 t' }
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);' O! i; l" l) }7 |
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);
    # Q2 H- E- b5 p
  36.     uc1601(msg1,1);3 {0 X& o0 M  O
  37.   }  
    : g3 T: m2 h4 `# L6 H7 _& ?- T
  38.   1 w. p# h1 S; l+ p: i( k
  39. }
    0 B) u: m7 ~0 s5 i( D" r( v
  40.   
    % D  v) v. S, y  X6 L- T
  41. }</p>
复制代码
2 A* d8 K8 X) p. g  y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了