|
Tag到NXObject的转换+ [# E& }0 h; n5 k j$ y
, v) Z" l4 M6 b+ i+ |( ?
9 a0 w8 I6 A) M( U9 x% x* \$ }
ufun 里的Tag 转换成 NXOpen 里的实体对象 H$ g5 |8 q' U. J: \3 r
5 B7 b! ? @. t7 K1 m
C++
1 U$ `2 O2 t6 @" w6 Q7 ?4 [" N
B' g3 t8 R" S' ]6 J% D- v& R+ k Y( X+ t1 Q% i
tag_t obj=NULL_TAG;1 j, X0 F. Q1 B% j0 ^
( S5 y. k# M. R( ?: j* V6 `( S
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj)));
! F ^! ^: N ?
+ B, j8 r |: M$ K7 y0 Y* Y! QAssemblies::Component *component1=(Assemblies::Component *)NXObjectManager::Get(obj);
D0 h+ ^* e7 j3 T8 w" c! H- w- ~& x4 R$ {, a, V( V
; b4 R7 L! \, q3 S
2 n6 e* T9 N! |
% A0 I$ W4 P( w- p* G5 E6 u. q) H7 `/ G, x( Z$ j8 ^* ], B5 \! G6 r% e
=====================================================================& @; K9 V1 U2 ?5 x: a- Q6 P# L' [
$ j6 N; g9 O* v: C7 w
C# J( m- W1 ?3 o0 c" n- u) B
/// <summary>: K4 a* u6 k5 q( D4 C( u
/// Tag到NXObject的转换
: M6 R. @0 N/ x* R; [8 |" } /// </summary>0 X7 C0 l) G, c; r4 @: m, v% L
/// <typeparam name="T">NXObject的类型</typeparam>: \6 |$ G: ~2 w k5 Y
/// <param name="tag">tag号</param>. J6 l- E8 I# {0 M
/// <returns>NXObject</returns>
4 j; W( W( Z" v: `0 L public T Tag2NXObject<T>(Tag tag)
7 a; e" y! a9 Q7 G- }3 X( `. q {) |2 ?: Z$ e9 V) H
try& `9 }: K x7 b) N0 ?, N
{" [, r* p7 U8 T% }6 `
object to = NXOpen.Utilities.NXObjectManager.Get(tag);
6 e+ Q# v q) |/ [9 Z& Q# w5 A& y. j return (T)to;' E% T3 E8 t+ V, m2 h! f. o& q/ i) X
}
5 [# m" ]2 c, H) q6 O) b/ D( y3 J catch (System.Exception ex)
: E7 C+ V0 C8 r. N' T, h {8 M" |" |+ h* X, U! e8 S7 P
UI.GetUI().NXMessageBox.Show("Message", NXMessageBox.DialogType.Error, ex.Message); k+ U6 B0 @5 P% U4 O5 n
return default(T);+ v, m- y' e2 _
}2 Y' }# o' N, Q' k$ ~
}
6 j" R9 s* s' j
1 u) t: ?- b6 H$ B9 T1 i1 w/ Z$ L, s) Y& |, t, b7 W
|
|