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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2013-11-26 15:12:52 | 显示全部楼层 |阅读模式

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

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

x
0 R! j0 E# W" f: i/ i9 p
循环查找所有打开零件的特征并输出特征列表
4 S7 X2 t* a. s: c

  1. / W- }& F/ H5 Y- K8 D
  2. <p>static void do_UGopen_api(void)
    + \  X; ]3 O7 v! s
  3. {
    " r/ d, f0 f# [& j7 v9 d
  4. // create block 1! h) H3 m: k8 \2 M- t+ J+ _
  5. double coner[3] = {0,0,0};
    " D1 d- r) W3 p/ @1 I$ O! o
  6. char *edges[3] = {"l=100","w=100","h=20"};
    0 h: ~: Z! U- d+ ^! `4 O
  7. tag_t blk_tag;
    . P, B3 r% F- _" W9 Z) A
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);
    & `! ?  x. N# R% B2 U3 f: A
  9. // create a hole& H0 O7 _- t. [/ P6 |! b! |" a
  10. double dir[3] = {0,0,1};! j% D$ i' V; B* }
  11. double coner1[3] = {50,50,0};
    6 r: W5 W4 D( M8 D7 G! E
  12. tag_t cyl_tag;3 N* b  M7 }( A5 Y5 o# S! Z
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);  K* c- B6 x/ w$ c8 ~
  14. tag_t part;2 |* M9 z7 f2 M! D
  15. char msg[132],msg1[132];
    , G% T" M" |1 B$ b2 E9 R
  16. char part_fspec[MAX_FSPEC_SIZE+1];
      X( v7 q1 S7 D3 X+ W# ^3 @% ?5 P- L
  17. int num = UF_PART_ask_num_parts();6 S. _& h. z$ B' Q! c
  18. sprintf(msg,"the part num is %d",num);
    " a4 W! F9 m" B1 E& }! s( n  G4 Z# G5 X
  19. uc1601(msg,1);
    * m1 f: {( J' R
  20. for(int num_part=0;num_part<num;num_part++)/ b3 y6 c* c( V$ ~+ v
  21. {; a8 K- c# g: ]- {
  22.   part = UF_PART_ask_nth_part(num_part);8 k3 e2 f& Q$ G0 q) I
  23.   UF_PART_ask_part_name(part,part_fspec);4 }' U' h* r. \7 H% T* j/ ]
  24.   uc1601(part_fspec,1);
    ' S/ E& L! Q4 i/ B- L
  25.   int count = 0;
    3 h6 u: S0 t- ~3 i7 u* ^* g1 T) s) `- z
  26.   int type = UF_feature_type;
    6 W4 O+ e- y! N3 P  @( Q% ?9 `
  27.   tag_t feature = NULL_TAG;6 h& y1 [8 i* P2 c
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);3 }2 B2 q; F+ z/ H5 k
  29.   char *name;" b3 p/ k1 v; ?' X5 j6 \
  30.   while(feature!= NULL_TAG)
    0 ?0 Q. h* e; W% T% Z7 f( I9 O- z) i
  31.   { ; O8 u' F9 X$ R+ q2 y5 J0 ~
  32.     count++;
    2 B7 K- @8 g2 O1 W
  33.     UF_MODL_ask_feat_display_name(feature,&name);
    / b" M* p" T8 j9 Q$ @; e
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);9 b: ?5 y1 }( j4 r5 M2 S  ?' B# S6 k
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);
    $ T0 b% w( R# Z) T: @% M
  36.     uc1601(msg1,1);# @  c' f* E/ F  M( ~9 Z9 w& L
  37.   }  
    : ?" f5 W  o: r; s( }; ]
  38.   : A1 E0 i* x, c6 `
  39. }
    ) x2 J3 s. h: v2 q2 z9 `
  40.   7 q# V. t/ h$ Y# R/ m9 H8 ]$ {
  41. }</p>
复制代码
! z  d# d+ G1 D( L* @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了