查看: 3643|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
+ O" n! b( a8 u: p. w' O
循环查找所有打开零件的特征并输出特征列表& Z4 b; D7 q0 D$ F1 v& Y  }7 M

  1. 9 d' e9 V- X1 A3 x( V- ?. B$ A. a% P, P
  2. <p>static void do_UGopen_api(void)
    1 [# a' S3 K; Y% ?0 G  `( J% V( X$ {
  3. {
    3 i5 ?- Y4 s" T6 X1 d  F8 |5 b
  4. // create block 16 T; P" M, U% X6 i1 p% B8 E$ m6 B7 _& O
  5. double coner[3] = {0,0,0};
    & z/ @1 c& }8 D4 V5 ]  ~$ r0 [8 \
  6. char *edges[3] = {"l=100","w=100","h=20"};9 A6 q& r% p. I. I& A* `( F% P
  7. tag_t blk_tag;% e; T- a" r7 s* G' \, I
  8. UF_MODL_create_block1(UF_NULLSIGN,coner,edges,&blk_tag);+ }9 j; F' I1 C% x8 Q2 _9 x
  9. // create a hole
    - o: _7 m. S0 _2 w7 r
  10. double dir[3] = {0,0,1};
    * B- z' E' C5 L6 G0 z1 ^
  11. double coner1[3] = {50,50,0};
    4 g: V8 w' o7 e" k0 ]" w; X
  12. tag_t cyl_tag;7 f! @# K2 o5 G; V6 t
  13. UF_MODL_create_cyl1(UF_NEGATIVE,coner1,"h","20",dir,&cyl_tag);
    1 ?( ~' l  J; R  D5 V; Y  Y
  14. tag_t part;
    2 \& ]* `4 c4 ~
  15. char msg[132],msg1[132];
    3 G/ C0 h$ K3 j! c
  16. char part_fspec[MAX_FSPEC_SIZE+1];. x& w- ^% e1 b+ |1 P0 _
  17. int num = UF_PART_ask_num_parts();
    * p4 _: B+ M' z7 I0 R  a8 {
  18. sprintf(msg,"the part num is %d",num);5 F7 D4 |& W% u, ?/ \; ^
  19. uc1601(msg,1);1 e6 d" h6 q* f# G3 w$ H1 s
  20. for(int num_part=0;num_part<num;num_part++)# F) q9 L1 O, ~" A/ A0 O# ?
  21. {
    # b! y$ P& ^6 H( V% T" A& K) E% C
  22.   part = UF_PART_ask_nth_part(num_part);
    # h; S5 x, q. J
  23.   UF_PART_ask_part_name(part,part_fspec);
    - `* W$ A* r% ?* Y
  24.   uc1601(part_fspec,1);5 N- L: l1 [% M/ J9 i3 s, I( {
  25.   int count = 0;$ O; ^/ W  t/ M3 s: [% W7 `
  26.   int type = UF_feature_type;
    4 a# f# t+ G& s% o( X
  27.   tag_t feature = NULL_TAG;
    : P  X! ]/ |( b, |; n: n+ ?0 i
  28.   UF_OBJ_cycle_objs_in_part(part,type,&feature);
    * w2 ?6 I! H; W6 A6 c6 t, r- H$ A
  29.   char *name;- B0 h4 D) W8 G' Z0 o6 }
  30.   while(feature!= NULL_TAG)
    1 ]! t' T7 r( Y# o' W+ _" d
  31.   {
    & f% d5 W$ r/ p4 z1 w, A3 {1 G
  32.     count++;
    4 ~  Y) W" U: ?* u4 H0 \$ w
  33.     UF_MODL_ask_feat_display_name(feature,&name);
    9 x/ A; `& _. Y) o
  34.     UF_OBJ_cycle_objs_in_part(part,type,&feature);
    " ~. [4 D0 T2 `& S
  35.     sprintf(msg1,"the cyle result is the %d feature : %s",count,name);0 ~: P- G0 W! m% P( t
  36.     uc1601(msg1,1);
    7 d1 a9 W9 o4 t6 H
  37.   }  
    1 w( f' ~0 f1 I7 B: }6 s
  38.   
    7 B$ z( F7 u# m
  39. }
    1 C+ g* Z, R) d: W& C. A1 V1 y
  40.   
      S  e8 y5 ~; v# Q' U. [
  41. }</p>
复制代码

; E- _! i. \- v& r3 t3 [
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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