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

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

[复制链接]

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

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

admin 楼主

2013-11-4 16:53:51

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

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

x
UG NX 二次开发源码分享:遍历所有的实体得到边面特征信息& {1 n* L  f7 z: `! p- R

, t/ P" c) P9 U& M# R% i  I% N' P3 c$ o# ~4 e) L. u1 N% Y% w
  theSession->ListingWindow()->Open();
1 w$ S& Z, o5 S- g2 l% n% u" f  theSession->ListingWindow()->WriteLine("Get information from all bodies\n");! y2 t! C6 a+ G! U& d" K. j
     std::vector<Body *> bodies;: f3 W3 q6 I* Z! e7 y4 T9 s
  BodyCollection *bodyColl = workPart->Bodies();
5 h" V* h4 r1 |& @* k7 p  for(it = bodyColl->begin();it!=bodyColl->end();++it)" F8 A3 O5 \+ b3 p/ M; a# y
  {" e+ }) r% h. K# R) Q4 t
   bodies.push_back(*it);
( P' t2 M5 R6 h2 T: K2 ^% j) F- n$ H$ }  }* A% b/ N$ Q$ s' c, u1 `* M8 ~4 e
  ss <<"Bodies count = " << bodies.size()<< "\n";
% z" `0 C9 H+ A$ ]/ v& q   std::vector <Edge *> edges;# ~- o  Y  p0 v* L
   std::vector <Edge *> totalEdges;
1 n5 q( p* h0 G: @- k( a, O   std::vector <Face *> faces;
& j5 P: p# P: j6 `" F7 H   std::vector <Face *> totalfaces;
2 `+ ?$ ^4 S; `+ u   std::vector <Features::Feature *> Features;# d9 Y: b# {7 |4 {
   std::vector <Features::Feature *> totalFeature;
9 K# `+ [! }7 R, @% [& o   Point3d vertex1,vertex2;
3 s( H/ H+ {" k& O. H   for (unsigned int i = 0; i< bodies.size();++i)
. M5 p1 E9 K1 Z   {
$ Y1 F) A* }9 V! T9 e    edges = bodies->GetEdges();: @+ D( L# k, _% u$ C
    faces = bodies->GetFaces();" s3 j7 X8 {" O1 B2 D1 u) t/ E- N+ \
    Features = bodies->GetFeatures();! T( O( w+ _/ @7 G
     for(unsigned int j =0;j < edges.size(); j++)( e! a) H- U  o- \6 y$ {
     {9 F8 M& {# J2 ], x' e
     totalEdges.push_back(edges[j]);
: E( ?$ D# X0 I* M     }
( w. O+ a0 r5 V4 J6 ^     for(unsigned int j =0;j < faces.size(); j++): Q- J: b, }) T" F! r  [4 X0 h* m
     {
# w# l8 B3 M  K9 b& |4 M     totalfaces.push_back(faces[j]);
: Q4 v' Z: r5 v: X: U     }1 x. N7 x; V" Q6 b) V- _, `
      for(unsigned int j =0;j < Features.size(); j++)7 s0 j7 Z% f9 F. k3 S* k  ~& |
     {
* V9 k2 I- T* u' O' m+ d     totalFeature.push_back(Features[j]);) F' l  `/ m( a+ J$ {
     }
! e0 d8 ]( ~8 ?1 q* k9 Y8 L" [      
! V* F( n( \  B1 A   }5 j, H* e$ o% f3 W
    ss <<"edges count = " << totalEdges.size()<< "\n";
. z- L' c8 i- F) x! s/ z   for(unsigned int j =0;j < totalEdges.size(); j++)) v. ]( N2 [6 ~+ N
     {   
& J: C, q' h6 ~      totalEdges[j]->GetVertices(&vertex1,&vertex2);9 J9 j( O4 C8 S2 P4 R0 H
       ss <<"edges tag: " <<  totalEdges[j]->GetBody()->GetTag()<<"\t";
8 X5 o7 w1 W3 R+ M5 o7 m" j" i4 `       ss <<"edges vertex 1: "<<"("<<vertex1.X<<","<<vertex1.Y<<","<<vertex1.Z<<")"<<"\t";; G# o3 F9 y0 s) t; [1 W: M: z
       ss <<"edges vertex 2: "<<"("<<vertex2.X<<","<<vertex2.Y<<","<<vertex2.Z<<")"<<"\n";6 L: P3 _9 D- Z: h; K, o
     }
3 c, X. w0 ?# }) W+ @, r   ss <<"faces count = " << totalfaces.size()<< "\n";
/ r: }5 L. T7 b1 j! p/ k    for(unsigned int j =0;j < totalfaces.size(); j++)
5 ^$ l0 ^6 W" G: G    {  ! n3 Q9 G7 k! z- X/ O
     ss <<"Face tag: " << totalfaces[j]->Tag()<<"\t";
" Y4 g3 g" O5 V  f% r1 h     ss <<"Face Type: " << totalfaces[j]->SolidFaceType()<<"\t";7 v- s7 L5 b; E( u
     ss <<"Face Name: " <<totalfaces[j]->Name().GetUTF8Text()<<"\n";( O; E9 v0 Z# H; H' n& n# p/ j
    }
; E; R1 X8 w+ Z5 _& n& _; k   ss <<"Features count = " << totalFeature.size()<< "\n";- b2 t* r& `8 ?+ C
     for(unsigned int j =0;j < totalFeature.size(); j++)
) L- E* g3 `+ X/ F    {  5 r% [; Z, i/ b) p
     ss <<"features tag : " << totalFeature[j]->Tag()<<"\t";5 A! G; s. E& I3 e: B, W
     ss <<"features Type: " << totalFeature[j]->FeatureType().GetUTF8Text()<<"\t";
4 T: W& ?8 h- ~: s/ V7 l     ss <<"features Name: " <<totalFeature[j]->GetFeatureName().GetUTF8Text()<<"\n";
. h$ y1 q! A/ J1 e    }3 `- O, e7 t* l1 n
  theSession->ListingWindow()->WriteLine(ss.str());
0 z8 d" Z& w5 A2 Y' P, g* B: J6 l2 @& e' x$ y
( M$ O7 N$ r! H2 q9 L3 ]
查询结果如下:
# |- u% l, d  ]' W& f, `; F2 K! t: C9 d

- B2 `' b& a  K8 G, kGet information from all bodies
* ^% `' o# Q- g; H. ~: MCYLINDERBodies count = 75 ?8 |& v* A& Z' n4 L
edges count = 22
# |- u- B; r& G# s0 ~3 A% y2 {edges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,0,100)# T0 |' N+ i' ]( P0 L
edges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,100,0)- J8 }; E7 Y( B! N' a* k8 z
edges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,100,100)
9 |- N  p, J! }3 h" _" zedges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (0,100,0)* j) s; C0 f# V" G# m9 Z" ]: N
edges tag: 41404 edges vertex 1: (100,0,100) edges vertex 2: (0,0,100)
* e: D* b+ O2 w/ p# R$ l' I; _3 S6 }edges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (100,0,0)
8 D/ k" K% q& c7 u0 H& Zedges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (100,100,100)
7 i' {+ y6 A2 X, |; F# [edges tag: 41404 edges vertex 1: (0,100,100) edges vertex 2: (100,100,100)
9 g' g  a1 E' yedges tag: 41404 edges vertex 1: (0,0,100) edges vertex 2: (0,100,100)
+ @- X1 m# P2 k; [9 Iedges tag: 41404 edges vertex 1: (100,100,100) edges vertex 2: (100,0,100)3 v( O1 k( L# c' W! b7 G
edges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (0,0,100), s+ K" V! l+ v6 R9 T1 T' A/ B% M
edges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,0,0), \( i: [, p& c2 _# `  H
edges tag: 40966 edges vertex 1: (50,0,100) edges vertex 2: (50,0,100)
) W: F$ y5 U! a" P* Q2 Ledges tag: 40966 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)) P/ ?. d7 ?& d; E/ x" G
edges tag: 40977 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)
) J+ r0 c$ _2 C7 t; V# g0 N* c4 k! {edges tag: 40977 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)" |7 F+ Q# s+ U( S% C( d
edges tag: 37824 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)
& F( G& l8 s/ |/ f  Y0 yedges tag: 37824 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)
8 y1 y( _) \  d& p" Z% yedges tag: 41200 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)
* Q5 k5 n1 P1 [: ]" [3 k! L/ Uedges tag: 41200 edges vertex 1: (50,0,500) edges vertex 2: (50,0,500)
9 x1 Y1 |* X3 i3 yedges tag: 41357 edges vertex 1: (150,100,200) edges vertex 2: (150,100,200)
4 \: v# S2 m+ u5 \1 b5 M; R8 v% a1 nedges tag: 41357 edges vertex 1: (150,100,100) edges vertex 2: (150,100,100)
, B' i. B  C( I' ]/ nfaces count = 229 Q  w2 U2 v% v+ [' P, @
Face tag: 41407 Face Type: 4 Face Name: 3 Y$ X6 l0 J2 T+ x, O: ^; s
Face tag: 41398 Face Type: 1 Face Name: 4 b3 ~- K3 g" e# S7 t
Face tag: 41376 Face Type: 1 Face Name: . c4 h  p+ M) N' s* X
Face tag: 41391 Face Type: 1 Face Name:
/ }. m/ G: T% J% dFace tag: 41380 Face Type: 1 Face Name: / O: }5 u; u/ @/ }5 V1 z+ m
Face tag: 41396 Face Type: 1 Face Name:
" O$ e9 m- m; i, ]7 f" E$ n$ d- CFace tag: 41397 Face Type: 1 Face Name: $ Y9 b1 D) Z2 @; U
Face tag: 40995 Face Type: 2 Face Name:
$ g* D2 [2 T4 ^, [Face tag: 40965 Face Type: 1 Face Name:
! Y3 f3 E/ J, }# qFace tag: 40997 Face Type: 1 Face Name: 1 f6 r' q  e5 Z: c) }
Face tag: 41351 Face Type: 1 Face Name: 1 I. R  c3 r% I, E; n. z
Face tag: 41352 Face Type: 1 Face Name: ( R! C& S& {: c1 G  _
Face tag: 41353 Face Type: 2 Face Name:
. c1 V! ^# }' R! sFace tag: 38479 Face Type: 1 Face Name:
7 k( C3 @& M1 Y' w0 {- KFace tag: 38480 Face Type: 1 Face Name:
1 R, c# F7 X" U+ HFace tag: 38481 Face Type: 2 Face Name:
; x( i: `" C) P5 x- ]9 J/ hFace tag: 41207 Face Type: 1 Face Name: 6 D' K$ Q/ f1 X+ u, R5 D& W. ^3 L
Face tag: 41203 Face Type: 1 Face Name: ; G; k1 ~# v+ F8 R$ A2 c9 s9 {
Face tag: 41158 Face Type: 2 Face Name: : N4 W( }( D7 V8 n
Face tag: 40987 Face Type: 2 Face Name: * y( `, d3 T( Z. z
Face tag: 41010 Face Type: 1 Face Name:
9 F; {  H2 A2 r% ZFace tag: 41001 Face Type: 1 Face Name: ' |) ~# ]% ~) M
Features count = 7
. f$ i7 Z# i3 Ofeatures tag : 41280 features Type: SPHERE features Name: Sphere(17)7 z* `- @8 o- \8 X' u& u
features tag : 41281 features Type: BLOCK features Name: Block(18)
; T1 r* q8 F# K# h: }features tag : 41307 features Type: CYLINDER features Name: Cylinder(19)! \2 e4 \5 ^& N* w
features tag : 41314 features Type: CYLINDER features Name: Cylinder(20)
+ u8 J% v* p& x( d. ^) K, Bfeatures tag : 41322 features Type: CYLINDER features Name: Cylinder(21)
# T# _, A$ w: @: Efeatures tag : 41330 features Type: CYLINDER features Name: Cylinder(22)
( @2 V9 y: b6 ?features tag : 41338 features Type: CYLINDER features Name: Cylinder(23)* {- T3 @' o5 C4 w5 H9 l% X! b" U

, s8 D/ b: H1 x- ?# |6 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二次开发专题模块培训报名开始啦

    我知道了