PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2013-11-4 16:53:51

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

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

x
UG NX 二次开发源码分享:遍历所有的实体得到边面特征信息4 o0 ^7 }4 \: J! [' `* ~, k
1 Z( ]( f9 o8 j8 D

( S0 ~- n$ g6 U% O  theSession->ListingWindow()->Open();5 w1 S- a1 D2 e! f
  theSession->ListingWindow()->WriteLine("Get information from all bodies\n");
+ q/ Y5 s$ ?9 U# l; e  e  @  o     std::vector<Body *> bodies;
) v) p2 l0 G8 [1 l  BodyCollection *bodyColl = workPart->Bodies();
0 q* R; a% ]" U4 J4 n) {  for(it = bodyColl->begin();it!=bodyColl->end();++it)
' n  _5 v! Z. }) y' C5 O  {( ?4 r1 @; A' w
   bodies.push_back(*it);" m6 r0 H. x- Z8 L0 [3 g# `7 o" \7 K( I
  }# ?3 L8 |% w; w/ z( }+ m; F
  ss <<"Bodies count = " << bodies.size()<< "\n";$ B# B4 i0 v3 s4 ^$ B' [3 B
   std::vector <Edge *> edges;
$ |0 G; ]0 Q( ~% h5 w   std::vector <Edge *> totalEdges;
2 n) r, U; G. {6 n9 g( s   std::vector <Face *> faces;+ m( k; f+ m3 O+ B) q
   std::vector <Face *> totalfaces;2 O8 Y) S" C6 F
   std::vector <Features::Feature *> Features;+ M) `3 [) I; r( o5 q
   std::vector <Features::Feature *> totalFeature;  w" C3 _0 g$ n$ X" j& I
   Point3d vertex1,vertex2;. S: P+ K/ g+ u
   for (unsigned int i = 0; i< bodies.size();++i)
5 |# M- B0 z1 [- Y7 o   {
; X" c) E0 B( z8 ~1 _2 ?    edges = bodies->GetEdges();5 ~4 T/ c2 T0 J( A& k
    faces = bodies->GetFaces();
' v3 \& `* V: X1 c8 S6 @) F5 I    Features = bodies->GetFeatures();
* K/ `1 z7 h3 y% C" y  s     for(unsigned int j =0;j < edges.size(); j++), m9 ~! j$ r  n" D" W
     {
  M. D( ?  c$ Q* D% W: [! T2 b" C! J* U     totalEdges.push_back(edges[j]);  T# n  Z' z) k6 L: c  |0 K
     }
; F4 Q* E9 ~5 u7 T     for(unsigned int j =0;j < faces.size(); j++)
9 u2 _" o5 }" m' c6 P5 |     {4 W8 _$ J& i% q
     totalfaces.push_back(faces[j]);7 f/ Q! n: J$ O! _0 i
     }' T8 `! T. g$ h, p9 z4 U+ J% k
      for(unsigned int j =0;j < Features.size(); j++): Q4 z. {8 l! Q8 d: d- G
     {
) c& H. K: R& d% Y/ a+ S     totalFeature.push_back(Features[j]);
* S$ t8 |/ c& ?) u. v9 k! b9 N9 C     }2 s6 m1 E4 [! Z- @
      ' y! P$ _* R' E8 d0 i" r' j' V9 v8 ^
   }3 z$ T' A3 n; |0 I# p* j' C
    ss <<"edges count = " << totalEdges.size()<< "\n";* w% Z; B* K# R1 @5 o: z8 h7 {
   for(unsigned int j =0;j < totalEdges.size(); j++)
& N+ [, ]" n; O6 w' g9 U5 Q: M; {     {   
/ U9 c  G& _' M: b) y- o6 ^  q      totalEdges[j]->GetVertices(&vertex1,&vertex2);
: t, A# t0 t- C1 T6 b5 n6 k7 J       ss <<"edges tag: " <<  totalEdges[j]->GetBody()->GetTag()<<"\t";
# x, V+ i  a; X5 v1 q+ A) k       ss <<"edges vertex 1: "<<"("<<vertex1.X<<","<<vertex1.Y<<","<<vertex1.Z<<")"<<"\t";
' ?5 M4 v& t  Z1 K9 u       ss <<"edges vertex 2: "<<"("<<vertex2.X<<","<<vertex2.Y<<","<<vertex2.Z<<")"<<"\n";1 Z2 z, j% K3 m# a* q% z1 ^
     }
6 L3 T8 W" ~" U5 C$ z   ss <<"faces count = " << totalfaces.size()<< "\n";
9 w3 C0 x2 g# R* \: J# E    for(unsigned int j =0;j < totalfaces.size(); j++)
" r! X7 e3 L" v/ J+ k, O' _    {  
8 @% |) @+ p* Y     ss <<"Face tag: " << totalfaces[j]->Tag()<<"\t";
3 E- W6 e, w3 Y( m9 `: S     ss <<"Face Type: " << totalfaces[j]->SolidFaceType()<<"\t";
" x0 c" \$ g- C! R: m  n) W9 V4 j: |     ss <<"Face Name: " <<totalfaces[j]->Name().GetUTF8Text()<<"\n";0 P9 s. B  D' \  p4 G
    }5 x* v, G5 i$ A+ M
   ss <<"Features count = " << totalFeature.size()<< "\n";
0 h% T7 }3 a  p# r     for(unsigned int j =0;j < totalFeature.size(); j++)
4 G( W+ d9 n  A4 d- Y    {  
+ ?- h/ A5 p: o) k: c     ss <<"features tag : " << totalFeature[j]->Tag()<<"\t";
9 N! [- A6 U( y4 o     ss <<"features Type: " << totalFeature[j]->FeatureType().GetUTF8Text()<<"\t";
2 f. _, q8 ^8 @8 A     ss <<"features Name: " <<totalFeature[j]->GetFeatureName().GetUTF8Text()<<"\n";
% N) l2 L3 t5 o+ O) e& d    }  l% r& y7 _1 ]
  theSession->ListingWindow()->WriteLine(ss.str());. r- d3 M8 V8 T" r3 r( ^
: i4 [4 |2 L' t9 _7 Q4 \

6 f' R7 O) m# L' k2 N查询结果如下:
1 i+ Y9 J+ d6 D8 |, L( F. K! a; b  q4 g. ^
& Q6 ]' r- {# C+ S% ?, s8 e% a, l$ g4 t
Get information from all bodies# B3 Z% r9 J6 y8 {/ w7 `% d! E
CYLINDERBodies count = 7
: I4 M. U: s+ oedges count = 22
- o8 L. w* I2 Cedges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,0,100)* @. [- \" ]" C
edges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,100,0)/ L1 Y  z- `: M0 w
edges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,100,100)/ h$ }2 b0 K# G9 R' \' t; N
edges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (0,100,0)
9 D, j6 i1 J' ]1 Wedges tag: 41404 edges vertex 1: (100,0,100) edges vertex 2: (0,0,100)& q4 T) K" _% n; o" _  J
edges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (100,0,0)% [4 c# c9 H5 M& L
edges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (100,100,100)
# k. G% E% ^+ Kedges tag: 41404 edges vertex 1: (0,100,100) edges vertex 2: (100,100,100)4 h; i, }! \1 v
edges tag: 41404 edges vertex 1: (0,0,100) edges vertex 2: (0,100,100)
: m' L! Y- i4 k8 z8 b4 nedges tag: 41404 edges vertex 1: (100,100,100) edges vertex 2: (100,0,100)
1 C8 i- S! i- gedges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (0,0,100)
& m# |9 Y8 X; s2 c6 O8 pedges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,0,0)
, q3 N) A7 o- {edges tag: 40966 edges vertex 1: (50,0,100) edges vertex 2: (50,0,100)
4 R7 _( N4 R& a! Q  Ledges tag: 40966 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)' E9 G) ^0 E( j+ [; Q  T
edges tag: 40977 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)
5 b3 e; }; u2 v7 s; W8 nedges tag: 40977 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)# X9 T% K, ]9 Q9 R) q
edges tag: 37824 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)" D' O! T6 ]; o* Z2 j' ]% C* y
edges tag: 37824 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)
9 R8 X% P4 {. y- eedges tag: 41200 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)
/ Z  c( R/ f: F% F" |edges tag: 41200 edges vertex 1: (50,0,500) edges vertex 2: (50,0,500)5 R( {. y0 R) k& n8 B; L4 g
edges tag: 41357 edges vertex 1: (150,100,200) edges vertex 2: (150,100,200)8 X$ G5 a  g% ^3 [3 E
edges tag: 41357 edges vertex 1: (150,100,100) edges vertex 2: (150,100,100), A$ E+ m+ k6 F, u( |
faces count = 22
* w0 j) C/ E" S, B* }( VFace tag: 41407 Face Type: 4 Face Name:
8 I  i3 |  B8 i7 E2 f" O/ @Face tag: 41398 Face Type: 1 Face Name:
2 v  Z9 s) w  Y. v& p7 `' `" nFace tag: 41376 Face Type: 1 Face Name:
( `3 H( a8 o- n3 |* XFace tag: 41391 Face Type: 1 Face Name: & b& N0 z9 A, ?! E, C" K- \9 R
Face tag: 41380 Face Type: 1 Face Name:
3 r2 y7 u7 ^. u6 F/ T( R" @Face tag: 41396 Face Type: 1 Face Name:
' u9 r# A  N9 Y) r3 }" ~/ y# EFace tag: 41397 Face Type: 1 Face Name: ; g) Z" k6 S% J! d
Face tag: 40995 Face Type: 2 Face Name: : f3 E1 s3 R# f: W5 @3 c6 [
Face tag: 40965 Face Type: 1 Face Name:
5 ^; F- Z) D% MFace tag: 40997 Face Type: 1 Face Name:
, K; m1 p) n0 xFace tag: 41351 Face Type: 1 Face Name:
& Z/ y+ F/ `4 o) `6 r7 ~5 AFace tag: 41352 Face Type: 1 Face Name: ) Y! |1 q9 t; |; T( `( z
Face tag: 41353 Face Type: 2 Face Name:
, J9 d) d  n5 j, h6 u9 fFace tag: 38479 Face Type: 1 Face Name:
' U/ }) _' y! s' JFace tag: 38480 Face Type: 1 Face Name:
2 A7 a) w3 v/ u2 E8 @Face tag: 38481 Face Type: 2 Face Name: : K; I& i% \, _1 A
Face tag: 41207 Face Type: 1 Face Name: 1 e( u, p9 e5 A. v4 g  Z6 u' Y
Face tag: 41203 Face Type: 1 Face Name: & P; E, B5 ?  k& g2 U0 U. e7 t) Y
Face tag: 41158 Face Type: 2 Face Name:
5 Q2 r1 n# E. o( P, `; W5 GFace tag: 40987 Face Type: 2 Face Name:
  |4 a4 f& x; o2 Y/ DFace tag: 41010 Face Type: 1 Face Name:
( T- K& @! L  g* z4 C) PFace tag: 41001 Face Type: 1 Face Name:
4 g% Y  a4 J0 F& QFeatures count = 7
4 I1 Q; Q2 X0 h1 h7 x0 F" V. F4 afeatures tag : 41280 features Type: SPHERE features Name: Sphere(17)+ A& R* Q$ T4 `4 e! k
features tag : 41281 features Type: BLOCK features Name: Block(18)4 H$ S6 ^1 I% y  p8 c2 B
features tag : 41307 features Type: CYLINDER features Name: Cylinder(19); N- I4 V  o' @5 I- \5 X7 h0 t
features tag : 41314 features Type: CYLINDER features Name: Cylinder(20), m# D% T' M3 p! O# ?5 |. k2 d
features tag : 41322 features Type: CYLINDER features Name: Cylinder(21)
' O3 t* W3 Z& j5 Ffeatures tag : 41330 features Type: CYLINDER features Name: Cylinder(22)
3 [. v" s6 c5 ifeatures tag : 41338 features Type: CYLINDER features Name: Cylinder(23)7 z4 I3 F6 i9 z- L
/ R# K# f1 r# d! F
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了