|
Tag到NXObject的转换
4 C0 s r' G5 A& I2 B) u# y) p0 u5 i0 o- W* W
8 J! l# V' r1 K' Z' w( V. |ufun 里的Tag 转换成 NXOpen 里的实体对象
$ {; b- r' ~/ W/ r g+ \+ o) u, b1 S' s+ g3 z+ T* u
C++5 U3 t6 ~/ z U+ I4 g8 @3 g7 N
/ V+ i0 r" t+ ?9 _0 a5 y0 P
% R4 |8 R o6 ctag_t obj=NULL_TAG; {: d% ?% [3 N0 k
9 n$ R/ z' l6 wBody *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj)));
7 Y0 G0 _% N* m* d# O: c' x9 w5 X. _
Assemblies::Component *component1=(Assemblies::Component *)NXObjectManager::Get(obj);' O9 _$ j v/ I8 L& i- x
9 Q1 L2 y- \+ E( R4 ]9 B$ s' i0 C+ ?( f* q9 k s: ~" N% q2 I
5 B( w! t Z2 P9 u& }: u: p
3 M e( u0 _, A
* v4 e2 f* A/ E% U% y; L=====================================================================& u- i, Y3 @2 H% [
8 `) Z# T7 z. \, qC#
" X9 t! s& ]# S" X0 B8 M9 C) ^ /// <summary>
3 y. f: A' @1 o) Y: b% \0 X /// Tag到NXObject的转换
# M2 F* D$ @1 x( G1 t /// </summary>* Z$ z6 N$ F: b ?1 f' G
/// <typeparam name="T">NXObject的类型</typeparam>
: x5 f" ?* p7 i9 _* j6 \4 t /// <param name="tag">tag号</param>
9 o* l6 C: D% F2 N0 S9 V /// <returns>NXObject</returns>
, Z; B: S: G0 `( g public T Tag2NXObject<T>(Tag tag)' a9 O% B6 P9 [1 a( A( M( X
{( H8 z/ M% ]9 p! G) G. s4 S5 [
try
; Z9 u1 W/ e, b {
0 L. u6 H, @& H. ]0 C object to = NXOpen.Utilities.NXObjectManager.Get(tag);
+ a0 u3 Q/ k1 ?$ H7 S$ V return (T)to;
+ ]! J! L2 Z) {) N+ \ W9 x }
! [" P2 w: K7 b I9 ~2 `* _ catch (System.Exception ex)8 c# h5 e/ m/ y: d# ~; c" w
{
; f& F) k8 H4 S0 d+ k5 C! Z UI.GetUI().NXMessageBox.Show("Message", NXMessageBox.DialogType.Error, ex.Message);
/ |6 r3 }# Q+ b% u% } return default(T);9 v, ?; a# Y! \. A# i, U2 W
}' |' m; U6 l0 t3 ?/ R
}- D N" b1 b7 n; S# e. r; { R5 u8 ^
1 P% w( s7 M0 t
: [3 D" c1 j: f, }* N- M: l% | |
|