PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2013-11-26 15:12:52

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

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

x
6 C  M. h/ v5 L# e
循环查找所有打开零件的特征并输出特征列表
9 o  l" W; f; A2 C
  1. 6 Y/ w/ [) \5 p2 p9 {  }
  2. <p>static void do_UGopen_api(void)
    " S, o9 z, k5 T3 q2 f, _
  3. {
    9 ^- g8 B& J( n2 D: q, t. R* `9 k) g
  4. // create block 1
    ! P/ H# \. J+ G: B; K% i5 f
  5. double coner[3] = {0,0,0};5 D3 d/ {" a. n& d( a; f2 \
  6. char *edges[3] = {"l=100","w=100","h=20"};
    1 O" G; q$ X4 _' N
  7. tag_t blk_tag;- [8 c8 }+ a7 d! `. J  {0 L2 j1 n
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);
    + C0 P) o/ A- k) \, D6 Z1 E
  9. // create a hole; U' o) n2 u- K, L0 Q1 O
  10. double dir[3] = {0,0,1};
    ! w# ^' {8 \& h( P' C
  11. double coner1[3] = {50,50,0};
    ' Y) E0 J: X6 s% f# @( {
  12. tag_t cyl_tag;
    : v6 K. Z% q) L( w" S
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);
    7 f4 _3 l& R- X( q8 z" O
  14. tag_t part;
    ; }% ?& _1 ]* f. g7 Y# L( K% R
  15. char msg[132],msg1[132];
    : J) n( j4 i  m
  16. char part_fspec[MAX_FSPEC_SIZE+1];( H) c& r3 f$ s) c" g2 f
  17. int num = UF_PART_ask_num_parts();, l2 m1 [5 [  D0 F- x; D& q+ h
  18. sprintf(msg,"the part num is %d",num);6 E6 e4 Y: m5 k) B4 O8 K
  19. uc1601(msg,1);
    + P6 @2 V- z- S, M9 E% a9 i4 h
  20. for(int num_part=0;num_part<num;num_part++)$ M% ^7 k7 Y3 ~& b8 a  m
  21. {( }; M, s# E- m; l/ X
  22.   part = UF_PART_ask_nth_part(num_part);# s# i7 _9 {+ k# c
  23.   UF_PART_ask_part_name(part,part_fspec);; a' g# n+ @6 s9 T+ I9 A$ w
  24.   uc1601(part_fspec,1);
    ( S( o6 r+ \1 q1 R* Q$ W  c
  25.   int count = 0;0 ~& G- Z3 z2 e" O
  26.   int type = UF_feature_type;
    - u4 q4 d$ S0 s) Y3 M" E
  27.   tag_t feature = NULL_TAG;, b* k1 P, y1 _
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);
    + w- _5 F$ Y5 c! `1 _
  29.   char *name;
    5 A3 r, V4 s* |
  30.   while(feature!= NULL_TAG)
      Z+ Z" ~4 M& X/ z6 f$ I: Y
  31.   {
    ) Q) ?2 k& l2 [/ O5 z
  32.     count++;2 h2 p: {, G) l* L2 o
  33.     UF_MODL_ask_feat_display_name(feature,&name);  J( K/ {3 @! K
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);
    & H0 K8 H- I" \' L$ U; j
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);5 S; ^! K& P; b! |, R, d
  36.     uc1601(msg1,1);
    ' X4 L& Y, F- |( ~- M
  37.   }  
    & e- P; E5 T" k. ?
  38.   ' N& `. a' Q  ?9 S  }9 W
  39. }3 h5 h% j, e* {2 l- e+ Q5 \5 j
  40.   
    8 h/ \) m; Q( h, m* N
  41. }</p>
复制代码
1 t( T- |# H; m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了