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

[二次开发源码] UG NX 二次开发源码分享:遍历所有的实体得到边面特征信息

[复制链接]

2013-11-4 16:53:51 6247 0

admin 发表于 2013-11-4 16:53:51 |阅读模式

admin 楼主

2013-11-4 16:53:51

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

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

x
UG NX 二次开发源码分享:遍历所有的实体得到边面特征信息3 X8 T. v9 Z0 Z

8 P1 q! N: F6 _% n# @! p' j" v- h( f
  theSession->ListingWindow()->Open();* _. u- I9 n, R3 g% Z* M% k; L
  theSession->ListingWindow()->WriteLine("Get information from all bodies\n");
  f0 V6 S* ^2 ~5 ]- q     std::vector<Body *> bodies;
+ i" `1 E3 Z$ T' |  BodyCollection *bodyColl = workPart->Bodies();) a" ?5 K- S( A/ }4 Y3 u
  for(it = bodyColl->begin();it!=bodyColl->end();++it), g! Z: H$ `% y) L* o
  {' J8 a2 o0 r- M8 X* b: A
   bodies.push_back(*it);0 i: G  o4 n% v. Z7 {6 B& `* q
  }, U: Q9 e0 D: m
  ss <<"Bodies count = " << bodies.size()<< "\n";
* n  m5 G" U) V0 I5 f# d0 R% v: W   std::vector <Edge *> edges;" f: D/ r( l! a; \7 n
   std::vector <Edge *> totalEdges;  b( v% J' _7 S
   std::vector <Face *> faces;
9 r# a4 f. P  y# B6 P; Q* m   std::vector <Face *> totalfaces;
# @8 c2 q! W* K0 v   std::vector <Features::Feature *> Features;% B8 ^3 ~% j( S) w$ M
   std::vector <Features::Feature *> totalFeature;
# u* x3 e6 E  I7 X; T6 L' B- x   Point3d vertex1,vertex2;! r( g/ \2 I! W) j  Q! m
   for (unsigned int i = 0; i< bodies.size();++i); m/ w' ^2 W, A  ~
   {
( m' k' x' K5 T    edges = bodies->GetEdges();3 c' X; l7 S+ P2 R
    faces = bodies->GetFaces();
2 x" g( i" o9 }( j3 D    Features = bodies->GetFeatures();
0 c1 E9 |$ R7 T4 f     for(unsigned int j =0;j < edges.size(); j++)
1 n* N; b& g" m     {) }6 [$ g" D5 \. s3 M4 c2 p% |' t
     totalEdges.push_back(edges[j]);
' I. `$ ?1 p2 r1 W7 L3 Z2 v     }4 o9 L. I  e& d! p. T0 v* X7 o9 H% W
     for(unsigned int j =0;j < faces.size(); j++)
/ R/ g1 b( s# A     {* V6 C( S2 l$ {: _6 p
     totalfaces.push_back(faces[j]);
; L1 \5 Z, |1 y8 @) ]     }
2 b0 h+ j. B( J1 s7 N! z0 M# f      for(unsigned int j =0;j < Features.size(); j++)
+ }8 r+ V  l1 w     {
! ^" u6 e& P% Q" y  d6 x) z7 t     totalFeature.push_back(Features[j]);0 y/ J& J" ^6 Q( G* a8 p3 f
     }
6 u* q6 L# W  m# |- w( O      9 @. q6 V- _( ], ?$ E
   }  r* G* C% L( i, i; U! J8 S
    ss <<"edges count = " << totalEdges.size()<< "\n";
! [  Q" O, S( P   for(unsigned int j =0;j < totalEdges.size(); j++)
- U% X0 O# g; n2 |* k     {   6 |. h/ a- v+ h! y+ |# |
      totalEdges[j]->GetVertices(&vertex1,&vertex2);$ _6 Y( M! l, v$ O) U" l& S' Y
       ss <<"edges tag: " <<  totalEdges[j]->GetBody()->GetTag()<<"\t";8 o+ h9 J0 I; l6 Y: o' F
       ss <<"edges vertex 1: "<<"("<<vertex1.X<<","<<vertex1.Y<<","<<vertex1.Z<<")"<<"\t";1 {" \& K! P8 C5 w/ ^
       ss <<"edges vertex 2: "<<"("<<vertex2.X<<","<<vertex2.Y<<","<<vertex2.Z<<")"<<"\n";
6 O; m% G6 ]  v  N" c     }
- O! x/ E- j. Z  y* X   ss <<"faces count = " << totalfaces.size()<< "\n";
' j6 Y7 Z) r( o6 `    for(unsigned int j =0;j < totalfaces.size(); j++)
$ u3 [) }& A% G    {  
9 w' \% V. k& h; k6 ~* X     ss <<"Face tag: " << totalfaces[j]->Tag()<<"\t";' J5 P. G( {  R# v4 M: ?
     ss <<"Face Type: " << totalfaces[j]->SolidFaceType()<<"\t";2 U  g) f7 F9 [
     ss <<"Face Name: " <<totalfaces[j]->Name().GetUTF8Text()<<"\n";
. U1 ~9 t4 M' g, w( I* w- |    }
/ m% j* q  l* d4 w/ I   ss <<"Features count = " << totalFeature.size()<< "\n";5 h8 b: n  O, {8 \1 a
     for(unsigned int j =0;j < totalFeature.size(); j++)( z1 w8 N7 [# _6 m7 @, p" y
    {  3 u. ^8 |% e6 k) c5 [
     ss <<"features tag : " << totalFeature[j]->Tag()<<"\t";
7 N+ I6 B/ |5 N! [( g. D! o& ^  i: Q5 D     ss <<"features Type: " << totalFeature[j]->FeatureType().GetUTF8Text()<<"\t";5 y7 w  s; J7 A& T& }
     ss <<"features Name: " <<totalFeature[j]->GetFeatureName().GetUTF8Text()<<"\n";5 G) F, ?5 d6 h8 I$ h6 U& |
    }
1 X8 w+ S: S6 \5 M  theSession->ListingWindow()->WriteLine(ss.str());
* t" u' M$ V9 y. `, K3 ~& j" w3 K. O* L9 V- o% m. V% a7 j2 y

" u* `- ^: E; j- l& f1 i查询结果如下:
; c0 D- z, u' {- U' d; F+ n  z/ T9 |7 o' K4 M% D0 s: b

) G9 R- R4 Z3 E1 TGet information from all bodies
, `0 c# Q' F9 T* j; ICYLINDERBodies count = 75 l/ ?( i. _, Z, c* U- M2 H. j
edges count = 22
# b2 L! [' b( C' @5 v" Vedges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,0,100)
* k% r, O' q# r2 B6 K# nedges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,100,0)5 Q6 Y% v5 C) T
edges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,100,100)" o5 G" F! }! F1 ^5 B* }+ x& f: N
edges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (0,100,0)
: t% C' O" z! E( ?' s4 N: {edges tag: 41404 edges vertex 1: (100,0,100) edges vertex 2: (0,0,100)% i4 t1 d* a: s* G) v  h
edges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (100,0,0)
. H4 e& w; R* t: O7 Z: V+ `edges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (100,100,100)
$ v' k& \; @, k0 Y! \edges tag: 41404 edges vertex 1: (0,100,100) edges vertex 2: (100,100,100)
  `0 l; {% @3 r4 J. oedges tag: 41404 edges vertex 1: (0,0,100) edges vertex 2: (0,100,100)& e# }4 m; l, `( S
edges tag: 41404 edges vertex 1: (100,100,100) edges vertex 2: (100,0,100)% ?% y; Z) d) Q
edges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (0,0,100)2 l1 [7 ?- w; q3 @) S
edges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,0,0)% S' J, P; g5 \7 H
edges tag: 40966 edges vertex 1: (50,0,100) edges vertex 2: (50,0,100)
# c$ O& @+ S% Q5 gedges tag: 40966 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)
6 X4 U6 g& P. r6 @edges tag: 40977 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)
+ ~, j5 [4 I- f4 v7 g! Bedges tag: 40977 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)
9 o3 h0 S  A" w3 X* M9 zedges tag: 37824 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300): O7 ]. i4 U( T) Y7 g; b
edges tag: 37824 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)
. }8 ~! Q" L4 T3 B7 L! X: ]2 P; Bedges tag: 41200 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)' X% q1 s. V6 M  |) J" B
edges tag: 41200 edges vertex 1: (50,0,500) edges vertex 2: (50,0,500)1 n( F. ~& T" g- X1 x; Y+ ~1 @
edges tag: 41357 edges vertex 1: (150,100,200) edges vertex 2: (150,100,200)
* e4 E# e  B4 f% f7 J. t) y# K3 x  y4 h3 xedges tag: 41357 edges vertex 1: (150,100,100) edges vertex 2: (150,100,100): T, Q& k! C8 B! ?, F7 A
faces count = 225 F  [1 j& T* g. T) `& Y, L1 Z, X1 w
Face tag: 41407 Face Type: 4 Face Name: " V: Y/ {( y6 U
Face tag: 41398 Face Type: 1 Face Name:
" q- O, o- F6 r6 ?8 M! g. f- XFace tag: 41376 Face Type: 1 Face Name: % ?7 X. p2 c9 J9 w% \3 I7 c
Face tag: 41391 Face Type: 1 Face Name: / h  H" p2 x  Y) C5 b
Face tag: 41380 Face Type: 1 Face Name:
1 P! K, c2 f* l: @! W+ V- PFace tag: 41396 Face Type: 1 Face Name: / _/ h- ?% i  q4 Q/ l+ F
Face tag: 41397 Face Type: 1 Face Name:
7 \3 A1 m  ]$ e2 }7 T! N/ nFace tag: 40995 Face Type: 2 Face Name: 6 [& l" o3 p7 t# E
Face tag: 40965 Face Type: 1 Face Name: & u" T0 j, `1 C' H9 V& i
Face tag: 40997 Face Type: 1 Face Name: 6 ]. D7 {1 A# x" v# H, O3 z: T
Face tag: 41351 Face Type: 1 Face Name:
4 E4 L- C( \% S9 t  X: d7 }$ FFace tag: 41352 Face Type: 1 Face Name: 4 f* V, \5 U5 N$ |- j( c
Face tag: 41353 Face Type: 2 Face Name: + t- \! f8 y- q/ N- ]
Face tag: 38479 Face Type: 1 Face Name:
, x! L2 b+ V& [1 L6 n7 DFace tag: 38480 Face Type: 1 Face Name: 6 c) C$ {  h8 {" }. Z
Face tag: 38481 Face Type: 2 Face Name:
- j: u/ O+ U( J7 u5 aFace tag: 41207 Face Type: 1 Face Name: 7 [4 h* B. _, p1 }" ~1 T
Face tag: 41203 Face Type: 1 Face Name: 7 S2 c+ m1 y5 X
Face tag: 41158 Face Type: 2 Face Name: # R9 F- I  P/ y1 T& T3 Q5 F! x
Face tag: 40987 Face Type: 2 Face Name: ( F6 k3 a0 P, n& m
Face tag: 41010 Face Type: 1 Face Name:
9 P0 t- U5 X  Q2 n$ u# j* T% IFace tag: 41001 Face Type: 1 Face Name:
3 G; z  o  a: Y: k! a$ }7 V% RFeatures count = 71 ~0 d/ \% k- \1 m; F
features tag : 41280 features Type: SPHERE features Name: Sphere(17)# \8 u+ c" h! s1 G& q. g7 k+ R
features tag : 41281 features Type: BLOCK features Name: Block(18)
) E7 F: m8 d1 p  b7 ]9 Yfeatures tag : 41307 features Type: CYLINDER features Name: Cylinder(19)
3 T! S; S3 X6 V! Z: |! e. J& z! pfeatures tag : 41314 features Type: CYLINDER features Name: Cylinder(20)- J# }  ]4 d: C
features tag : 41322 features Type: CYLINDER features Name: Cylinder(21). R' u) r) I" ~9 ~0 a7 |- B
features tag : 41330 features Type: CYLINDER features Name: Cylinder(22)$ y& N( ^- I& H( i
features tag : 41338 features Type: CYLINDER features Name: Cylinder(23)2 T) i- C# I, h( v- Y- o
# C1 U8 m1 e6 W3 B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了