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

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

[复制链接]

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

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

admin 楼主

2013-11-26 15:12:52

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

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

x
, d. K. }7 G0 ]1 ?( M9 b; _0 ~1 _, b
循环查找所有打开零件的特征并输出特征列表
" b6 d- s9 B9 a

  1. ; x' p5 Z! i5 Z; j1 F8 y
  2. <p>static void do_UGopen_api(void)
    ! u( G) s: N3 q/ Z& i9 x2 C# @0 w! G
  3. {; U4 @6 o, M& f6 j( ?( l
  4. // create block 1, Z# G3 D4 i7 }7 s
  5. double coner[3] = {0,0,0};! R6 w; O3 N# Y/ T9 Q
  6. char *edges[3] = {"l=100","w=100","h=20"};, k! g$ R, m: o) L, B9 C" J' V
  7. tag_t blk_tag;
    6 n4 L( S2 o1 v+ c& }
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);1 [5 b$ p% [% ^) `
  9. // create a hole  D9 s  F; t8 \3 M; n7 D
  10. double dir[3] = {0,0,1};
    + A/ H  U, D& d+ h6 s
  11. double coner1[3] = {50,50,0};
    7 _/ g% F; G( H/ G
  12. tag_t cyl_tag;- W; y! l) A7 B( [/ ]# E1 }
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);. R/ L) Q) D! Q" H
  14. tag_t part;; @! c$ y2 u! P# D5 ^
  15. char msg[132],msg1[132];% w9 I9 V, M& J+ l
  16. char part_fspec[MAX_FSPEC_SIZE+1];% p, }: `- ]1 ^) I# c$ i/ k
  17. int num = UF_PART_ask_num_parts();( h: f; |' t) F% n$ `; B/ ]2 O
  18. sprintf(msg,"the part num is %d",num);# G& B! Y8 m0 A/ s  t9 G
  19. uc1601(msg,1);' w8 Q* H8 [8 B2 e
  20. for(int num_part=0;num_part<num;num_part++)7 r9 A# h: ^  f7 ]
  21. {
    9 e8 V" g' B+ W& g( j+ H! f
  22.   part = UF_PART_ask_nth_part(num_part);
    ) \1 U' _4 P0 s+ o7 I. q2 o
  23.   UF_PART_ask_part_name(part,part_fspec);
    4 O3 B; U: p: W; q1 T
  24.   uc1601(part_fspec,1);
    5 k2 [& Y. Q; `# F
  25.   int count = 0;
    3 n1 z$ w0 H% ^3 ~# _/ ]' ~3 |8 d6 S
  26.   int type = UF_feature_type;
    & O. v8 e1 W2 k
  27.   tag_t feature = NULL_TAG;
    & C3 |' }5 |- y" S) v# w
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);" q' ^7 Z, Y7 W* k1 Z7 u
  29.   char *name;+ N9 |9 w5 n$ C& w) ?% f! ]" A
  30.   while(feature!= NULL_TAG)# ?2 j9 \5 g6 m0 A+ K
  31.   {
    / s" b2 w; @6 `' z" [/ z) b% J, w2 Z
  32.     count++;
    2 F! G' o6 ?) s" ]. t2 ]2 K
  33.     UF_MODL_ask_feat_display_name(feature,&name);! L2 D0 j- B7 N& K  h% U$ q* w
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);
    + p9 U" s. ~5 r
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);
    ; ]& f* D0 F& H# v% I4 \
  36.     uc1601(msg1,1);( e  F6 _: a8 s
  37.   }  
    ' `6 l  n+ v4 @+ X6 F
  38.   3 i5 T/ S% b, O9 g7 V7 A4 H- y6 B6 w
  39. }
    , U6 {' Y# P: w) @
  40.   
    ; ]$ q6 y7 w7 r! d8 }, ]
  41. }</p>
复制代码

% U( m! c- H0 h# R: O% o
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了