PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

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

[复制链接]

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

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

admin 楼主

2013-11-4 16:53:51

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

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

x
UG NX 二次开发源码分享:遍历所有的实体得到边面特征信息. U) ]. c6 z4 f: a
  X  y3 C! B, Q9 K' [% `) J* a) ^/ u
& L* s, c: E0 ^
  theSession->ListingWindow()->Open();& r' e, e' z$ Q8 S7 h3 @
  theSession->ListingWindow()->WriteLine("Get information from all bodies\n");
0 U" U! Y0 t/ ]# l     std::vector<Body *> bodies;
. W& \  }$ X! [, }3 K5 @  BodyCollection *bodyColl = workPart->Bodies();
+ L% z: o. ~) o1 L  for(it = bodyColl->begin();it!=bodyColl->end();++it)
0 W( m4 q+ Q% ^' \- ?6 M  {: Y/ @- c, B4 |" y3 E
   bodies.push_back(*it);# y! K" R0 ]9 f
  }) b, ]' g$ L/ H) k
  ss <<"Bodies count = " << bodies.size()<< "\n";! [. W. R* f! I* z
   std::vector <Edge *> edges;% b0 a4 O5 ^+ P- k' A1 Z/ a7 E$ a
   std::vector <Edge *> totalEdges;
- j: ^* @! h" l9 {+ t; o+ C# Y  {9 g6 y   std::vector <Face *> faces;
/ q3 j6 k; E3 F9 f: l   std::vector <Face *> totalfaces;" g& w) `. x- J+ o4 K/ n
   std::vector <Features::Feature *> Features;  K. J' P# N) G# w
   std::vector <Features::Feature *> totalFeature;
( _" q  y) \3 W/ M! L5 n! W   Point3d vertex1,vertex2;; A- q* q# d! l  Y; C& u
   for (unsigned int i = 0; i< bodies.size();++i)1 M9 @% C/ @+ f1 I2 N; ]
   {
; q/ l+ S+ P# p* d2 Q    edges = bodies->GetEdges();( H6 j" V; q5 j" [
    faces = bodies->GetFaces();$ D* @% C6 Y  b$ V" i
    Features = bodies->GetFeatures();
2 h# g  f: s- {5 k3 S  r+ n) m     for(unsigned int j =0;j < edges.size(); j++)
0 O1 m0 e2 _5 s! ]     {
2 h* L" Y2 c5 Y3 O6 U     totalEdges.push_back(edges[j]);
6 K% d& K4 u- [2 S3 i$ ^     }1 G1 q6 a6 `% [- D& h9 r
     for(unsigned int j =0;j < faces.size(); j++)0 E7 b; g+ V! E, R
     {9 o" i4 K1 |' B5 J! \( D$ U7 S
     totalfaces.push_back(faces[j]);- D, B- p2 l. p. ]( T6 ?8 A
     }
4 ^# `$ s2 o( z7 |9 T7 g, o      for(unsigned int j =0;j < Features.size(); j++)$ O8 S. n0 m% A6 a6 O- q0 ?
     {/ c$ i$ y6 u& z$ e- `
     totalFeature.push_back(Features[j]);/ A; K7 m5 I& n( p* c' \/ p
     }
7 a* D9 z" H3 c) }% ^* o      9 z. b, ?& O. o5 c- X
   }
6 t$ j5 u. `% a9 F$ L' G. C    ss <<"edges count = " << totalEdges.size()<< "\n";8 u8 V6 y3 r7 P% v
   for(unsigned int j =0;j < totalEdges.size(); j++)2 h( u4 {# _! Q; ?1 M
     {   
6 b/ ?; K! \( k! t      totalEdges[j]->GetVertices(&vertex1,&vertex2);
% F4 `  @. A% b. f$ `       ss <<"edges tag: " <<  totalEdges[j]->GetBody()->GetTag()<<"\t";% f. ?: R0 e! Z" K& N) E
       ss <<"edges vertex 1: "<<"("<<vertex1.X<<","<<vertex1.Y<<","<<vertex1.Z<<")"<<"\t";
/ m! {1 x2 c/ E& ~/ z% y       ss <<"edges vertex 2: "<<"("<<vertex2.X<<","<<vertex2.Y<<","<<vertex2.Z<<")"<<"\n";
+ R3 K( `# _. c, a6 O     }% W5 S- U5 B& x2 T+ h& d9 B  h1 e
   ss <<"faces count = " << totalfaces.size()<< "\n";
  Z# c% G$ K+ G) _    for(unsigned int j =0;j < totalfaces.size(); j++)
8 T+ {/ m. S+ l) S. q6 R    {  $ {6 Q. ~+ J7 i" v
     ss <<"Face tag: " << totalfaces[j]->Tag()<<"\t";, K7 r7 ^8 |; X3 F2 ~5 W# c0 U
     ss <<"Face Type: " << totalfaces[j]->SolidFaceType()<<"\t";
1 M( P4 L' I5 p7 p* B2 U. s     ss <<"Face Name: " <<totalfaces[j]->Name().GetUTF8Text()<<"\n";
$ D5 _! w( j. M" J6 A+ |    }6 z" H* l5 [4 G
   ss <<"Features count = " << totalFeature.size()<< "\n";+ G1 A; e, j. t% x5 o" ?$ D
     for(unsigned int j =0;j < totalFeature.size(); j++)
% i3 R1 B/ m* R( Y    {  3 [) L  v" x6 w8 J
     ss <<"features tag : " << totalFeature[j]->Tag()<<"\t";' T6 ]4 S- b. \, w
     ss <<"features Type: " << totalFeature[j]->FeatureType().GetUTF8Text()<<"\t";# [1 D+ N& I( V  i
     ss <<"features Name: " <<totalFeature[j]->GetFeatureName().GetUTF8Text()<<"\n";
" s6 \/ S" r: }    }9 |$ p" [) _$ |! u
  theSession->ListingWindow()->WriteLine(ss.str());8 Z8 s/ `1 X4 o2 N/ h
/ t! L' G' M; ^' P  G, H
3 a  `5 e* h. {8 i2 _( X
查询结果如下:) `2 j0 f! p+ M0 h

) s. f% y5 }6 F  D  N0 V: o8 q! F. \  a8 w
' b4 ~; r6 \" [% b/ x3 H9 oGet information from all bodies$ K0 J! n! l5 p6 r! o) H3 Y3 }$ [1 M
CYLINDERBodies count = 7% D; R' E5 [: ?
edges count = 229 \# U5 [, E8 ]  ^" t5 L& o; ]8 z
edges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,0,100)! R* }  {* Y+ Q1 X) P; m
edges tag: 41404 edges vertex 1: (100,0,0) edges vertex 2: (100,100,0)# r  [# C8 I0 U7 k) J/ D
edges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,100,100)' ^6 v+ O) Z' Z# c* m* M
edges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (0,100,0)
" {/ V% S1 E0 D0 C  x$ d& bedges tag: 41404 edges vertex 1: (100,0,100) edges vertex 2: (0,0,100)
9 K+ l1 U+ r2 Vedges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (100,0,0)
) R4 A- P+ s  A$ iedges tag: 41404 edges vertex 1: (100,100,0) edges vertex 2: (100,100,100)
/ B  q' x6 z3 {+ `) sedges tag: 41404 edges vertex 1: (0,100,100) edges vertex 2: (100,100,100): W6 Z% m; L; b0 R9 _1 y- p
edges tag: 41404 edges vertex 1: (0,0,100) edges vertex 2: (0,100,100)4 C9 ]. c; d. T  _: ~8 o) a" ]- C
edges tag: 41404 edges vertex 1: (100,100,100) edges vertex 2: (100,0,100)
( l9 [5 k0 U* R% L" hedges tag: 41404 edges vertex 1: (0,0,0) edges vertex 2: (0,0,100)
5 k" ^7 E$ t) J# M: Xedges tag: 41404 edges vertex 1: (0,100,0) edges vertex 2: (0,0,0)- U- E, n; L3 u' ^2 u0 b* P9 G: N6 y
edges tag: 40966 edges vertex 1: (50,0,100) edges vertex 2: (50,0,100)
- ]8 ~5 ^4 K/ t. x) t+ U2 l$ Medges tag: 40966 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)
% m5 a/ M5 L* K9 l0 Fedges tag: 40977 edges vertex 1: (50,0,200) edges vertex 2: (50,0,200)
1 w# N: f& u. E& S% fedges tag: 40977 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)' `; i4 \2 H9 i5 M
edges tag: 37824 edges vertex 1: (50,0,300) edges vertex 2: (50,0,300)
2 @) }! [5 U! n/ W5 _4 C7 [edges tag: 37824 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)( B3 i3 e) K0 D  n6 Y+ V5 m5 Z% h2 w
edges tag: 41200 edges vertex 1: (50,0,400) edges vertex 2: (50,0,400)% i, ]# C) U% ~0 y
edges tag: 41200 edges vertex 1: (50,0,500) edges vertex 2: (50,0,500)
! C7 l3 v6 t# R1 U9 Q# g. }edges tag: 41357 edges vertex 1: (150,100,200) edges vertex 2: (150,100,200); O4 V5 g* [; }0 T2 M, ~# W
edges tag: 41357 edges vertex 1: (150,100,100) edges vertex 2: (150,100,100)' B* A" c$ j  n/ @7 ?+ ]9 ^* a
faces count = 22, M8 `# T% _, Q, n5 a3 \/ ]% d
Face tag: 41407 Face Type: 4 Face Name: # n4 ]" n& u; g$ C% g' z
Face tag: 41398 Face Type: 1 Face Name:
2 i4 _! U2 E; n; U: i- k) wFace tag: 41376 Face Type: 1 Face Name: 5 s% x( c, g5 v2 H4 X. E  B' `
Face tag: 41391 Face Type: 1 Face Name: ' r0 T- Q8 Q5 g: D
Face tag: 41380 Face Type: 1 Face Name:
2 |- a2 J0 \& J: s- dFace tag: 41396 Face Type: 1 Face Name:
" G! v9 m! X9 N$ iFace tag: 41397 Face Type: 1 Face Name:
5 o' N7 f9 }/ ^* ^" U, DFace tag: 40995 Face Type: 2 Face Name: ) J; O' v7 K6 o6 Y8 E
Face tag: 40965 Face Type: 1 Face Name:
2 e0 |/ c7 q+ J9 a; }* e  _Face tag: 40997 Face Type: 1 Face Name: 5 h( h  g7 Y) D5 q
Face tag: 41351 Face Type: 1 Face Name: ( g3 @; E( j- J
Face tag: 41352 Face Type: 1 Face Name:
  g7 ~0 Z4 ?+ D2 Q, ?) F9 ^1 j& i. mFace tag: 41353 Face Type: 2 Face Name:
  V1 z; a0 m* W7 qFace tag: 38479 Face Type: 1 Face Name: ( \0 {( d  X7 W$ N
Face tag: 38480 Face Type: 1 Face Name:
$ P4 f' [- w; e, A6 n' A1 _Face tag: 38481 Face Type: 2 Face Name:
' N* ^) e/ u& a/ [) D! VFace tag: 41207 Face Type: 1 Face Name:
, }; [' ^* {& z9 yFace tag: 41203 Face Type: 1 Face Name: 6 |4 J- O) x. b: J5 X1 r' _
Face tag: 41158 Face Type: 2 Face Name: , y1 ~' B/ Q7 u
Face tag: 40987 Face Type: 2 Face Name:
! x& K& h6 @- k4 d( ?5 GFace tag: 41010 Face Type: 1 Face Name: 1 p4 ~9 Q8 Z& [8 q. d- x
Face tag: 41001 Face Type: 1 Face Name:
# B  f* u8 U, B! K8 t5 b+ c& i( eFeatures count = 7
! a1 V. [+ B4 Y" L* [, E# q" Ifeatures tag : 41280 features Type: SPHERE features Name: Sphere(17)( B, o) V+ u9 S% E- V( |  x
features tag : 41281 features Type: BLOCK features Name: Block(18). w2 [7 j/ u0 _4 Z/ B
features tag : 41307 features Type: CYLINDER features Name: Cylinder(19)  |6 L/ \% Y0 g1 ^7 R& x
features tag : 41314 features Type: CYLINDER features Name: Cylinder(20)
; ?% p7 w1 u) D- u7 |features tag : 41322 features Type: CYLINDER features Name: Cylinder(21)
2 g! v% c: q" y9 B* Wfeatures tag : 41330 features Type: CYLINDER features Name: Cylinder(22)
6 I' u7 R  ^( `$ w5 y7 J3 A. N% b. ]; Dfeatures tag : 41338 features Type: CYLINDER features Name: Cylinder(23)
( s, ~# Z# ~& e6 y
9 }1 @. u" V" y9 r& G0 r4 `
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了