查看: 3502|回复: 0

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

[复制链接]

4

主题

3

回帖

44

积分

管理员

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

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

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

×
3 K6 ^0 Z3 r0 t2 j$ z% b1 n! G
循环查找所有打开零件的特征并输出特征列表
" w7 m3 u* T9 ]' ?  O. J
  1. - e4 O1 q: P+ i5 J
  2. <p>static void do_UGopen_api(void)
      n& e! U: A1 J% ~' L  I
  3. {
    - [% B' Z3 e3 g- c6 G) j# g6 n1 D
  4. // create block 1
    ' l4 W* ~  t; k; L+ [
  5. double coner[3] = {0,0,0};
    / J) v0 j+ V' z: [# B5 ]. K/ o9 {# V
  6. char *edges[3] = {"l=100","w=100","h=20"};2 `# k/ [- R1 O& v
  7. tag_t blk_tag;( X7 y: p5 W. J6 n; L6 h
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);, o) q6 w8 B7 u+ X5 q$ B0 \) ]9 b
  9. // create a hole
    $ n. C1 D: k$ g# ?# L( c
  10. double dir[3] = {0,0,1};
    8 B( n- d# {' ?* E1 [! ]
  11. double coner1[3] = {50,50,0};
    4 q2 v6 a, X6 y( h" ]/ g
  12. tag_t cyl_tag;, Z( `* c1 O- ?2 Z
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);( m* C  ?; P4 e. ?: |0 `2 S7 |9 S
  14. tag_t part;
    0 K- s. E  q* o2 T* `% a! }7 @
  15. char msg[132],msg1[132];9 M( d2 `+ h& @8 P. T& Z4 U0 B
  16. char part_fspec[MAX_FSPEC_SIZE+1];
    + n0 F4 {- j! U; d  }: P
  17. int num = UF_PART_ask_num_parts();
    : D* C" y2 g, F& d: G2 ~; V
  18. sprintf(msg,"the part num is %d",num);( N. {3 G9 z8 [* I
  19. uc1601(msg,1);
      h" q1 d& ?9 I! g, j
  20. for(int num_part=0;num_part<num;num_part++)( D8 }! A" Z4 v( u! ^/ {) J
  21. {
    2 Q' W: v2 c0 l; {; O$ K# h
  22.   part = UF_PART_ask_nth_part(num_part);5 O+ \! {6 o! r4 t( k1 G$ s
  23.   UF_PART_ask_part_name(part,part_fspec);
    : g$ ~) V' n5 N& ^$ P: V/ k# h
  24.   uc1601(part_fspec,1);* I9 J. K# n  m6 ^$ r
  25.   int count = 0;3 o. L4 Y* C& S4 ^
  26.   int type = UF_feature_type;
    ) ^4 v, B' G& f: z% q; ?
  27.   tag_t feature = NULL_TAG;# t* m) w% a( e! {* O# r
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);
    8 O& a7 w$ D+ n
  29.   char *name;3 G5 z: e* I% H
  30.   while(feature!= NULL_TAG)
    9 K1 ?) O5 g) n; Z
  31.   {
    ( o3 V4 U6 Y; C" J" O' p: F
  32.     count++;
    : e3 i1 Z5 p7 q! t* X6 T% k, K
  33.     UF_MODL_ask_feat_display_name(feature,&name);' W8 K3 c' J% o: w# t/ [( }
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);
    , A& N  S0 A7 s0 `1 W
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);
    ) K8 b4 ]! @( u8 V9 i) I: G
  36.     uc1601(msg1,1);3 G( c  l9 e3 Z* v) ~+ H5 O
  37.   }  
    ( L! p! L1 ]1 P5 \. O. c
  38.   6 E+ _1 `* X& }% _$ u8 A9 i
  39. }
    * F2 Y6 `+ D# D  G7 \
  40.   
    8 C) ]0 ^$ ~% y; Z6 P
  41. }</p>
复制代码

0 @; |1 W, Q7 m1 s4 F  _& ^
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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