PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2013-11-26 15:12:52

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

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

x

& T, f9 Q. O8 V9 P! i* V循环查找所有打开零件的特征并输出特征列表" n: s- g  P1 d& R; c9 A1 s' v
  1. ( c$ w3 f% R( l* j, d8 y
  2. <p>static void do_UGopen_api(void)3 C$ @$ |; ^% Q9 g# s; M1 J) I' |7 Z9 t
  3. {
    ' y( s  \) j. V9 p( ~+ W; U3 Z3 w+ D
  4. // create block 17 f2 D3 l; Z/ `+ N, x5 p; x
  5. double coner[3] = {0,0,0};" j  W8 |) \' O# e6 ]4 F" u. J, h
  6. char *edges[3] = {"l=100","w=100","h=20"};
    . x& |# u! u# \; W
  7. tag_t blk_tag;
    4 l, l+ y5 |6 i$ ~* k
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);' ^% r* h3 m! Y- n! m; T$ ?
  9. // create a hole
    ( G  b( e/ x  Y% ^# c/ S! j+ J  H2 x
  10. double dir[3] = {0,0,1};
    : Y* x* m, s" e' ]
  11. double coner1[3] = {50,50,0};; s# m$ r) {4 N, Q8 Z% C4 i
  12. tag_t cyl_tag;
    1 R! P. T5 D7 m8 T0 ^' O+ {
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);: H; S6 s6 m5 t: c4 U# n
  14. tag_t part;3 _6 ~0 ?; T" \8 r0 E. B
  15. char msg[132],msg1[132];' R  {6 _0 p! v0 m
  16. char part_fspec[MAX_FSPEC_SIZE+1];' R4 o1 Q" E6 ~* @. D7 f- t
  17. int num = UF_PART_ask_num_parts();
    7 ~( q. `" o* ]/ C& C, n5 |
  18. sprintf(msg,"the part num is %d",num);0 i* n5 U" }8 j! L
  19. uc1601(msg,1);2 r/ C9 y( ~/ F$ y1 z! B) H* d1 a
  20. for(int num_part=0;num_part<num;num_part++)
    ! i! Y, ^) d& o/ s! W
  21. {. i' F$ y% _2 z( Y; H
  22.   part = UF_PART_ask_nth_part(num_part);
    5 B5 g% B9 |" ^; s% j
  23.   UF_PART_ask_part_name(part,part_fspec);( J+ L" N- w8 @3 J5 y
  24.   uc1601(part_fspec,1);+ |. A+ v' H; a1 H- V
  25.   int count = 0;
    : p! Z2 }0 w0 O% i" L: N
  26.   int type = UF_feature_type;
    8 B+ G  _3 {' n& K4 R' p
  27.   tag_t feature = NULL_TAG;
    , k" k6 k7 E! B% t) _/ s
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);
    ; [' y- I# T; y" N
  29.   char *name;
    ; W- u8 w: \' N: H* R: p' O
  30.   while(feature!= NULL_TAG)( O8 y5 [- ?% g6 w4 c" d( O
  31.   {
    * r- G# ^, A! s. c; l3 W3 u9 O  h
  32.     count++;4 v$ C- }) e0 g
  33.     UF_MODL_ask_feat_display_name(feature,&name);
    * n" u; c: @9 D) i: Z
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);- z" [/ Y# W+ t, t+ f$ F( k
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);1 P- T4 V0 n8 O& z: A/ J, y
  36.     uc1601(msg1,1);
    , @2 z" g# s8 Z8 i
  37.   }  0 v- q" p/ \$ i. v
  38.   
    ) {& x2 v% }4 N( I) z* j+ F
  39. }6 |  Z) c5 W: D2 {! V0 Z
  40.   3 p/ Z  Z: f. @& E3 Q4 x
  41. }</p>
复制代码

" d  ]$ S' n/ \  J+ K! M9 T9 I
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了