查看: 3739|回复: 0

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

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

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

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

×
; I( M7 T/ X6 d( i" N9 [5 @, v! D
循环查找所有打开零件的特征并输出特征列表: K% n7 s1 I2 N9 ~2 a* F% x, H

  1. * [; b% I) e+ p' u* v8 r" \1 d
  2. <p>static void do_UGopen_api(void)8 v: n- l5 d; H8 x- [9 h( ~" l
  3. {9 L2 A0 B5 f0 c6 o, l. C% a
  4. // create block 1
    5 M# G* c; @& P4 v* B2 o4 }
  5. double coner[3] = {0,0,0};
    ' \' X% f3 @5 g3 i) a
  6. char *edges[3] = {"l=100","w=100","h=20"};8 }7 Z* f  D- M2 x, i
  7. tag_t blk_tag;% _5 @* J% J" Z) ]+ M& J  p  @6 B
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);4 f0 c5 \. ~6 I/ X! P, x
  9. // create a hole5 K; Y9 @/ U$ ^& t, g
  10. double dir[3] = {0,0,1};, r$ I/ s6 B3 a& A
  11. double coner1[3] = {50,50,0};2 t( E! l8 N2 u. U( [! O0 M0 F
  12. tag_t cyl_tag;
    % f# `0 q# E, C" f- e1 t$ J
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);6 n9 }$ D; g. t1 b
  14. tag_t part;
    ' V7 Q. s+ u3 C6 M6 \
  15. char msg[132],msg1[132];
    7 S) x% i- n8 ^
  16. char part_fspec[MAX_FSPEC_SIZE+1];
    2 q1 d0 o" O5 T* w. ~
  17. int num = UF_PART_ask_num_parts();% x; A3 ?: y' E) K0 `/ \
  18. sprintf(msg,"the part num is %d",num);
    6 H' F' S7 u/ H, L3 z$ V. @$ N
  19. uc1601(msg,1);% R4 l7 R5 `! T% d7 l
  20. for(int num_part=0;num_part<num;num_part++)
    ( G. ~# p$ K! e4 r: V$ c
  21. {
    + x7 G/ d- ~* x4 @* u
  22.   part = UF_PART_ask_nth_part(num_part);8 K5 u) V1 {- [) L7 }5 ?
  23.   UF_PART_ask_part_name(part,part_fspec);
    $ {: @4 ^) P" P; q
  24.   uc1601(part_fspec,1);
    " C% ~6 c; c' ~
  25.   int count = 0;( s* b6 C9 p1 {1 Z
  26.   int type = UF_feature_type;4 D& C) P! d1 z8 W6 V
  27.   tag_t feature = NULL_TAG;- Y' i+ H9 u' d; |' l5 j# ?
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);
      Z- m7 Y6 u; Z2 ^# h/ {
  29.   char *name;( _0 y3 p! ^' Y  R) r6 y6 f. I
  30.   while(feature!= NULL_TAG)
    8 X- D. y  C; u- a6 g, }
  31.   { - X, _8 ^! r3 L. k3 r
  32.     count++;7 C3 E! q7 N4 }+ H/ E1 I
  33.     UF_MODL_ask_feat_display_name(feature,&name);
    : T5 \% N# n" H  K
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);
    : s6 n5 a! s7 F4 g4 P
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);
    4 n3 S% G/ ^2 W6 {; {& n& X) Z
  36.     uc1601(msg1,1);$ e; O2 I( T/ o4 v; a2 B
  37.   }  
    * d/ A4 u: @, `; p# S" H5 H
  38.   
    " r' V; X( `8 v1 F+ X  R' O& W. w
  39. }
    $ @( K% ]# K, J' Z; B
  40.   
    3 d" }! u9 `2 p& E- ~+ U4 X
  41. }</p>
复制代码

- |4 M5 e. z) G8 N' I, x
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

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