查看: 3641|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
" t* @- g& v4 T* `7 F
循环查找所有打开零件的特征并输出特征列表% m5 E$ [; I( G/ R! X3 A
  1. ) O  H" g1 M  O$ P( O. b% j0 u
  2. <p>static void do_UGopen_api(void)
      `) f- d2 `  s1 c
  3. {3 A  N9 L) C4 K8 [5 U0 ?
  4. // create block 1
    , L* i0 |4 F4 W# A' g* m
  5. double coner[3] = {0,0,0};4 N5 F9 d& I( D$ z
  6. char *edges[3] = {"l=100","w=100","h=20"};
    ! k! F7 ~0 ~1 U  q
  7. tag_t blk_tag;6 n9 f3 W9 [9 ]9 T# [/ M0 ]
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);1 e; T" S- O2 s# `1 T
  9. // create a hole6 u9 q, N$ b$ n) C8 z- ]
  10. double dir[3] = {0,0,1};
    6 C2 P: E' k: g6 }
  11. double coner1[3] = {50,50,0};6 S1 B; ?7 O4 x5 ?4 J2 X
  12. tag_t cyl_tag;, O0 I. k6 V2 X4 j0 N
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);
    1 _0 O+ J6 ]: a
  14. tag_t part;
    " K4 Q) ^7 W6 ~# j
  15. char msg[132],msg1[132];: T) l1 s& R2 s# y7 R
  16. char part_fspec[MAX_FSPEC_SIZE+1];! {  i+ V0 E& ]0 c
  17. int num = UF_PART_ask_num_parts();7 R; H, K+ ^5 [
  18. sprintf(msg,"the part num is %d",num);
    6 c; ^/ X8 ~& _3 x- K3 D* v
  19. uc1601(msg,1);
    - C- F, H. t; t) Z# z, T' n
  20. for(int num_part=0;num_part<num;num_part++)
    % o6 {# p2 B5 k3 T2 O  i& W# U1 m/ l
  21. {7 @5 k6 L! E+ |" M' w0 D
  22.   part = UF_PART_ask_nth_part(num_part);
    # e8 F) f2 M1 W* N6 g5 e  W
  23.   UF_PART_ask_part_name(part,part_fspec);3 g0 L# [2 `# T' X) }
  24.   uc1601(part_fspec,1);. `3 k  W1 s2 w5 V" S
  25.   int count = 0;: k* l3 k- w7 a- Q9 A% F
  26.   int type = UF_feature_type;
    " g$ p6 `( B6 P% Q/ R% a
  27.   tag_t feature = NULL_TAG;
    4 F& ]" M2 R' C' A0 Y" H! m, ?
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);
    0 Z, O4 s' ~5 @6 C
  29.   char *name;- j; F$ r+ J: G8 `) E: U; s
  30.   while(feature!= NULL_TAG)
    % T* w' F  M+ V/ X. B2 E
  31.   { ' Q, D5 I* o& ?6 l& e2 j  d
  32.     count++;
    2 _; V" F' i+ I5 w( q: j( N- u+ q
  33.     UF_MODL_ask_feat_display_name(feature,&name);
    # |4 @5 G) ]9 m7 Y; ~: d, B% e5 C
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);- p6 i' l; `% c8 _1 l( |
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);: H3 ^2 z# g3 a4 j6 @! v' O
  36.     uc1601(msg1,1);
    6 M2 J0 G" w5 W! G/ U7 G/ a( d$ N  V
  37.   }  - n: w& l- v3 r9 |$ E: V6 U
  38.   
    + _! [1 i0 R% A8 _! P5 {( M3 ?/ D
  39. }# ?- h1 j+ n# v2 S# g) |4 w
  40.   : _/ g  ~7 C) M# T/ n& M
  41. }</p>
复制代码

* m. p6 _7 X/ t0 ~9 k4 G. t
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部