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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2013-11-4 16:53:51 | 显示全部楼层 |阅读模式

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

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

x
UG NX 二次开发源码分享:遍历所有的实体得到边面特征信息8 D" y. K0 W2 h/ s
/ D9 a+ f  j9 E6 R

" j1 b' x  S$ y3 M  theSession->ListingWindow()->Open();" y5 T3 F8 e1 n& C6 M9 ^5 f# O
  theSession->ListingWindow()->WriteLine("Get information from all bodies\n");
1 k- b* s; Y& p* J2 o6 P( R     std::vector<Body *> bodies;
1 i0 W: `6 ~$ z: ^0 U  BodyCollection *bodyColl = workPart->Bodies();+ d; `, B" e8 A2 l( G& H. ]
  for(it = bodyColl->begin();it!=bodyColl->end();++it)
3 g0 g5 J5 `8 U* f1 y: q  {
+ {) L: B# o) v& O0 C   bodies.push_back(*it);! _2 w) s) L$ `2 r9 W
  }
8 S* \4 C5 B5 x- ^& Z# Y  ss <<"Bodies count = " << bodies.size()<< "\n";; H  j% H) H" h) J$ i
   std::vector <Edge *> edges;9 a3 U4 n1 }6 V
   std::vector <Edge *> totalEdges;
4 V9 w8 D& V! Z8 o. N$ n   std::vector <Face *> faces;
* b. }; B9 q  N   std::vector <Face *> totalfaces;
# I1 ?& s. |3 c: Z- w7 s. O1 {3 _6 i   std::vector <Features::Feature *> Features;
' q0 c8 Z$ P) z! S, p6 @% e   std::vector <Features::Feature *> totalFeature;
, s; i. F7 Q- X) I1 {- L/ W* n   Point3d vertex1,vertex2;
- Q" L# f& a- w# ^1 {   for (unsigned int i = 0; i< bodies.size();++i)
8 d- H5 I, {5 J* I! ^   {$ }7 @) @* q- x- D7 Z
    edges = bodies->GetEdges();6 g1 `- f5 w6 e7 @$ Z
    faces = bodies->GetFaces();! j7 B7 s% C, h( s1 r0 |& E
    Features = bodies->GetFeatures();/ L# u) t& T6 i$ G8 w) ^% L
     for(unsigned int j =0;j < edges.size(); j++)6 o$ r. U% c8 P, r& H
     {
  v1 k+ d+ m7 z7 m- Y     totalEdges.push_back(edges[j]);5 L: ~; L! u" ]) ^! S, b& F
     }& R3 ~5 a# X. H7 L$ L
     for(unsigned int j =0;j < faces.size(); j++)
, v& ^8 |4 X: p3 ?     {
# P) t2 n; W; i" H     totalfaces.push_back(faces[j]);8 {% M$ m/ A  R5 u! T
     }
$ r; a* p+ B$ w, v( M      for(unsigned int j =0;j < Features.size(); j++)
$ x! U0 ?6 W$ |2 L6 Q     {
: U1 P* h2 ~0 s' {$ G     totalFeature.push_back(Features[j]);6 }& b. R! W/ L$ z) G  \* x
     }# L( l" f- s, T, V
      4 }8 _+ V) c- \. [
   }( @6 z# y) E3 l/ `
    ss <<"edges count = " << totalEdges.size()<< "\n";
  s1 c, K1 b) {& _   for(unsigned int j =0;j < totalEdges.size(); j++)
- W: j0 y% _% o/ h0 C6 p4 [$ h$ t     {   
) G$ ?1 a6 x% R; C: {# O      totalEdges[j]->GetVertices(&vertex1,&vertex2);' Q+ v% j6 R3 |# C
       ss <<"edges tag: " <<  totalEdges[j]->GetBody()->GetTag()<<"\t";
2 ?* f7 L8 q1 m       ss <<"edges vertex 1: "<<"("<<vertex1.X<<","<<vertex1.Y<<","<<vertex1.Z<<")"<<"\t";
1 p2 J5 b; S1 v# h       ss <<"edges vertex 2: "<<"("<<vertex2.X<<","<<vertex2.Y<<","<<vertex2.Z<<")"<<"\n";* F7 N; d. ?# K, N% Q; D1 b
     }; ~* Z( @, ]" j" {! L- r
   ss <<"faces count = " << totalfaces.size()<< "\n";
% U/ ]0 M+ |# E5 o8 N" o2 ?& l    for(unsigned int j =0;j < totalfaces.size(); j++)+ y8 P. e$ B/ T* B  X  w
    {  / C5 Y1 ~- `4 Q0 _, `" C& c
     ss <<"Face tag: " << totalfaces[j]->Tag()<<"\t";5 K% r7 h; h( u+ [# z( \4 r( c( F
     ss <<"Face Type: " << totalfaces[j]->SolidFaceType()<<"\t";
! ^& T# ~6 `9 v6 V5 ^     ss <<"Face Name: " <<totalfaces[j]->Name().GetUTF8Text()<<"\n";3 y/ N. h, C7 X+ h, t
    }$ p( e  U: h/ }
   ss <<"Features count = " << totalFeature.size()<< "\n";
; o: S+ C9 S6 r$ N     for(unsigned int j =0;j < totalFeature.size(); j++)) z2 [/ n! w- |4 g
    {  
" P+ n: B$ A% ^1 W& Q     ss <<"features tag : " << totalFeature[j]->Tag()<<"\t";
4 r" `) Q3 h8 a, R6 B     ss <<"features Type: " << totalFeature[j]->FeatureType().GetUTF8Text()<<"\t";
& \# A( Q$ p- p     ss <<"features Name: " <<totalFeature[j]->GetFeatureName().GetUTF8Text()<<"\n";
: [2 Z" P: t- E6 I" ]( r( Y    }1 n- V9 A2 V& x4 ?* _
  theSession->ListingWindow()->WriteLine(ss.str());
& |/ q  T9 H6 T" I1 R$ v* S
7 s  M9 Y# P2 j
6 c( f! w% e- C, q( L% C3 |$ i+ d+ p" Z查询结果如下:* X( s: e0 T3 `- w+ |0 R; T- X
7 t3 T6 a3 \9 u& n0 u: _" @

* p& ~  G  D7 b- hGet information from all bodies
' l5 {0 f3 h9 sCYLINDERBodies count = 7, E& n* E. T. M! v' a
edges count = 22
  _, [1 q5 _) W3 i1 G$ i  {edges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,0,100)
/ Y+ Z+ ~9 u' Z% E8 ?edges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,100,0)
$ f- o# `: v* [4 l; eedges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,100,100)
7 C9 {! X4 U' n( redges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (0,100,0)
8 m' t$ F% t) T  |edges tag: 41404 edges vertex 1: (100,0,100) edges vertex 2: (0,0,100)9 [5 |' k2 R4 a, H$ V
edges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (100,0,0)  o+ N# K& Z1 d+ n
edges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (100,100,100)
" I% k  Y+ K6 Gedges tag: 41404 edges vertex 1: (0,100,100) edges vertex 2: (100,100,100)$ A* \: b+ ~4 B0 ?- ?1 W; T
edges tag: 41404 edges vertex 1: (0,0,100) edges vertex 2: (0,100,100)0 k" h' d6 d" e$ `' s, e
edges tag: 41404 edges vertex 1: (100,100,100) edges vertex 2: (100,0,100)
3 `9 S/ M# p9 ?8 Xedges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (0,0,100)" {; _. `  H. t& g( l3 Y
edges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,0,0)1 ~; D+ V' F8 z5 U' g* A  S
edges tag: 40966 edges vertex 1: (50,0,100) edges vertex 2: (50,0,100)
4 p" |: z/ s  X9 Pedges tag: 40966 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)
5 j' N- A; c2 |2 t6 N  ^8 D6 h7 ?edges tag: 40977 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)( \* }" f- M) V5 N( n/ I! X8 ]
edges tag: 40977 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)( ~. ~! s$ r: q4 \$ ?; j
edges tag: 37824 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)
4 o) E1 r; P/ J6 R$ M* jedges tag: 37824 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)& N4 E0 I$ ]9 C3 T0 g
edges tag: 41200 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)
6 Q' C% \! \( Jedges tag: 41200 edges vertex 1: (50,0,500) edges vertex 2: (50,0,500)( O, Y% O$ i, z/ M* ~+ F
edges tag: 41357 edges vertex 1: (150,100,200) edges vertex 2: (150,100,200): n' J' e& d" U, K
edges tag: 41357 edges vertex 1: (150,100,100) edges vertex 2: (150,100,100)
; o2 H. k5 ^. ^: H$ y9 E0 ?faces count = 228 m! y: b6 @' O- [  T( \- i6 Y
Face tag: 41407 Face Type: 4 Face Name: " r9 A2 u' f9 l5 u% p( Z5 L# A
Face tag: 41398 Face Type: 1 Face Name: 5 g- b% Y$ E* I3 T) I# x8 J4 ?
Face tag: 41376 Face Type: 1 Face Name: : X& G1 H& j% R% v, D2 ^% I
Face tag: 41391 Face Type: 1 Face Name: & b. C2 {# q; l+ S" N* A5 i, `- y2 X
Face tag: 41380 Face Type: 1 Face Name: $ c1 M' _1 k7 c& k
Face tag: 41396 Face Type: 1 Face Name: ) b9 o! N8 A# I+ D+ }! e/ N
Face tag: 41397 Face Type: 1 Face Name:
* R3 L% H/ u6 ]4 i; b' u' {Face tag: 40995 Face Type: 2 Face Name:
8 D/ \& O% S, {% k: gFace tag: 40965 Face Type: 1 Face Name: - r3 R# @0 p7 @$ R3 D, s3 s
Face tag: 40997 Face Type: 1 Face Name:
$ I1 y1 S, Z" b1 Y0 z. uFace tag: 41351 Face Type: 1 Face Name: 3 w0 a: z: a; m7 v
Face tag: 41352 Face Type: 1 Face Name:
1 s" I4 z; {9 Z; \# MFace tag: 41353 Face Type: 2 Face Name: 8 ]" T' d! \# `7 }& j
Face tag: 38479 Face Type: 1 Face Name: 3 a: r7 Q' Z1 ]" y8 c
Face tag: 38480 Face Type: 1 Face Name: , X3 u( t5 v9 @( @1 [
Face tag: 38481 Face Type: 2 Face Name:
" Y% P) n/ V1 U+ j- L" rFace tag: 41207 Face Type: 1 Face Name: & _/ o. x8 P4 Q, F
Face tag: 41203 Face Type: 1 Face Name:
, ]2 q6 R2 U. xFace tag: 41158 Face Type: 2 Face Name: : Y; Q8 i6 o7 m
Face tag: 40987 Face Type: 2 Face Name:
! f; f6 X9 Z9 _' tFace tag: 41010 Face Type: 1 Face Name: 6 Z& e5 \6 ^/ w
Face tag: 41001 Face Type: 1 Face Name: 3 I3 c" |; P# @0 n; `# W+ d8 I
Features count = 7
* z: d; n- P# v; M! t9 g1 e) rfeatures tag : 41280 features Type: SPHERE features Name: Sphere(17)$ Z0 S& S9 p+ @$ n
features tag : 41281 features Type: BLOCK features Name: Block(18)
' H, T) z4 ~9 f% I8 ]: Dfeatures tag : 41307 features Type: CYLINDER features Name: Cylinder(19)
5 ~/ n) w% o* X& `2 l2 ]features tag : 41314 features Type: CYLINDER features Name: Cylinder(20)4 F( n- B2 o1 D5 ?' S
features tag : 41322 features Type: CYLINDER features Name: Cylinder(21)) i! N" Q% s/ T. P7 ?% j
features tag : 41330 features Type: CYLINDER features Name: Cylinder(22)5 G+ U$ O  |0 Z+ a/ z4 v* J8 F+ V; ?
features tag : 41338 features Type: CYLINDER features Name: Cylinder(23)& f* [) s! |  d1 }4 h7 i

2 ]+ {; O" e' m3 v# m' ^; s0 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了