|
Tag到NXObject的转换2 j6 N' i2 |" O8 j
% k3 V4 P# Y& i# W: Y' ]2 J+ s$ I
5 z+ t E U0 X+ E% J! ~ufun 里的Tag 转换成 NXOpen 里的实体对象/ Q6 B' S4 c" ^& s& B
" z7 h" }( @6 w3 f9 H! O, X6 [" QC++
" C5 A4 L" c5 \# K6 M. W8 \. {: I9 h0 m, @5 [
7 W9 p( o& L z @) o! U Ftag_t obj=NULL_TAG;
0 l% N8 e5 D1 |9 d
" g; F! G( w$ i/ h* XBody *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj)));
7 m2 ~4 g h/ n2 j4 V( B
, q) B2 I+ v% g& P+ k+ a$ s& R. |Assemblies::Component *component1=(Assemblies::Component *)NXObjectManager::Get(obj);
# g+ W- y8 @9 U; m7 U2 Y+ E& _* U: T$ B0 ]7 ~
2 h1 ?/ g0 m" _0 w6 x& q* {
. s# }. q/ ]7 e1 u
* W1 ?+ ~4 W7 ~; u: D6 w+ J
K* |4 F1 j4 ]! Q+ Q
=====================================================================
# U" K" f: X, w1 ^+ _( Y
4 a( a4 {4 g$ }, L2 ?5 X0 PC#2 o! b* b8 s; t- }
/// <summary>
; S! [ l6 T% ]7 C /// Tag到NXObject的转换
: B; N4 G8 X9 i8 d" Q- X /// </summary>% Z0 a* N8 P, W
/// <typeparam name="T">NXObject的类型</typeparam>. v r3 o0 V2 S; \
/// <param name="tag">tag号</param>
) c9 i: g% o4 R# Z /// <returns>NXObject</returns>9 D! d0 W) G" _3 `# q1 w
public T Tag2NXObject<T>(Tag tag)
! q) T, B( J& N9 n {
7 Q6 T8 X0 L+ g! m try: y/ G, b- z. W2 Y
{2 K9 b9 I) B/ i% l. ]
object to = NXOpen.Utilities.NXObjectManager.Get(tag);
1 u, ]+ Z# n3 n9 G return (T)to;* J& H( U6 I( ~; i& N! ^/ U
}
$ M0 ]' F* q+ n; Y, _ catch (System.Exception ex)
( D( n. p- w( c& b* h, S2 ] {
/ r# f1 p7 r5 R3 q* b( F. n' f UI.GetUI().NXMessageBox.Show("Message", NXMessageBox.DialogType.Error, ex.Message);
7 t3 ?" T3 O8 A1 g' a3 J" t return default(T);
6 s7 e1 q: n3 T( Q O }. u! v( H$ n/ D! C$ ^3 o
} M! c$ F& O: w9 z
* Z* \' |$ X/ ?. y& Q/ G& x" N$ T& l$ j5 P9 e2 h
|
|