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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
0 j; M/ m; Z" a3 G( E( s' s/ b
循环查找所有打开零件的特征并输出特征列表
0 c8 l; ~4 L9 |$ r  ^2 v  F) L5 q

  1. . o# ]6 S# \% `: v; O- ~: b# U
  2. <p>static void do_UGopen_api(void)
    : ^2 b8 C7 I+ U
  3. {; m4 J$ C* x) q( {4 n& K; |
  4. // create block 1
    + x3 t6 b0 p! e! l8 F! x
  5. double coner[3] = {0,0,0};
    6 e- H5 r- V% B, H1 Z! E3 j
  6. char *edges[3] = {"l=100","w=100","h=20"};
    6 h, b' r. M% W4 u
  7. tag_t blk_tag;5 z: N) D) K7 d) J8 l3 \
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);
    3 j% S6 Z' v: W! D) h9 c
  9. // create a hole) ~6 A8 {/ L% [4 X' J
  10. double dir[3] = {0,0,1};! |4 {. E7 U& {. _) e/ T
  11. double coner1[3] = {50,50,0};
    2 o# `5 P7 y6 _( z$ R4 K! |
  12. tag_t cyl_tag;
    + R. T. U3 Q0 O8 j' K3 X
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);
    , r0 Z9 [; m5 ^$ k3 }- q
  14. tag_t part;$ q  q8 R- ?# j3 y, o8 t
  15. char msg[132],msg1[132];& x% }. w8 J, Y: X
  16. char part_fspec[MAX_FSPEC_SIZE+1];
    - r% P6 o3 Q) ^, P
  17. int num = UF_PART_ask_num_parts();: c) I4 _% F. s  h6 U) h5 p
  18. sprintf(msg,"the part num is %d",num);
    & k8 V. t& T  c+ `
  19. uc1601(msg,1);# s' `9 D' J4 p* N
  20. for(int num_part=0;num_part<num;num_part++)5 Q$ C* s7 |* f0 \9 g# R' B
  21. {- w& _% \# L7 l+ t7 u& {/ j; U
  22.   part = UF_PART_ask_nth_part(num_part);" a- e  ~' r  d& O: _2 t" c
  23.   UF_PART_ask_part_name(part,part_fspec);
    7 A: m- p( r  ~3 M
  24.   uc1601(part_fspec,1);0 o3 l* G0 R2 y/ c; p, v/ q; {
  25.   int count = 0;+ p3 u% B( G& x; h4 q! g5 w3 `
  26.   int type = UF_feature_type;
    # v. N/ E/ V0 l. P0 W+ E0 t6 i
  27.   tag_t feature = NULL_TAG;- {) D8 G& p0 J
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);
    1 U7 B+ f  J( P, g' z
  29.   char *name;
    5 q" |0 S4 |' E9 l, X# m6 ?& X; _. b
  30.   while(feature!= NULL_TAG)
    - t0 L1 @% }2 |% }1 t8 ?
  31.   { 7 W/ _# \3 Q8 B" @' G
  32.     count++;
    " @( ]9 q3 l& S8 F, g
  33.     UF_MODL_ask_feat_display_name(feature,&name);/ ^4 I* `7 g# f% L5 F/ b' u, D1 ?
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);5 ?) z$ D' v) i
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);3 N. }# B! S/ M8 c7 R: x
  36.     uc1601(msg1,1);, R% G/ p7 F$ }# a; X
  37.   }  
    , L8 h6 `; k2 {
  38.   
    - S9 w/ c' c3 c7 q8 y+ R' _
  39. }
    4 t: W, W- r6 ?, I1 R6 q
  40.   ; r7 [+ {0 v2 ~
  41. }</p>
复制代码

; G! N; m2 x: t$ q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了