|
Tag到NXObject的转换
& v7 ?( o7 l, ~7 S' c; U* X6 q. T3 h$ z/ x9 {/ k0 z
9 y; e# d2 ~& H T2 \ufun 里的Tag 转换成 NXOpen 里的实体对象
. S' C9 C# b& H. @& s/ X# x3 R3 {2 q
C++
7 c$ K7 W0 Y, |, F _5 I1 c$ y A8 n) d. `8 ~( U2 ~/ w. X6 Y
3 _3 _- i+ z/ b+ Ftag_t obj=NULL_TAG;) F2 w$ ~4 a. m e8 k5 P$ r2 s
D" F1 y& W7 ]; B( c) VBody *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj)));4 o! k6 R3 W( K) \$ `! |6 a
; y( p" r/ }5 x+ C
Assemblies::Component *component1=(Assemblies::Component *)NXObjectManager::Get(obj);
+ p2 t% A7 \. A- E, y" C; ?5 i, f
( z0 s5 m5 p; I' P2 ^
6 k j Q5 T" X+ n
3 E# u9 L! d) ], X: W) |6 Q" J8 j. S# n7 d0 j( e
=====================================================================
) J) q; ]1 G8 P7 Y! y" [! S
$ K0 b+ ~% @' j, qC#* G/ ?! ^& F" C& o; q& o9 }
/// <summary>
* J% Q2 F: C1 S9 A8 r6 J) u3 q. y$ o /// Tag到NXObject的转换3 _, t" H4 ~5 s: [8 x8 j( W' {0 K
/// </summary>' C2 Q! g5 ?1 s+ F; F4 _+ n
/// <typeparam name="T">NXObject的类型</typeparam>
! K1 k9 \& w b! {8 D) X. r6 R /// <param name="tag">tag号</param>/ g- v$ R& b& m# R3 W+ C
/// <returns>NXObject</returns># k" B8 Q0 K: V0 x: j# A
public T Tag2NXObject<T>(Tag tag)/ Q/ P3 ^, K. H! G0 v) \( L
{
% L* T& D4 o1 f s* z7 F" v3 L try Q3 a6 N, E& @2 W' ~
{! ?( ^0 @% J5 g: h3 a/ P
object to = NXOpen.Utilities.NXObjectManager.Get(tag);" V: n( ^. S4 T/ X/ O3 A* ^
return (T)to;% H/ S# k9 Y: N w/ c7 D
}
; y4 u! Z* y# l' T" B catch (System.Exception ex)
* W$ I/ `: x- h {7 b9 b8 k, O. }
UI.GetUI().NXMessageBox.Show("Message", NXMessageBox.DialogType.Error, ex.Message);
`* K/ g9 F, `/ p+ D( p6 H return default(T);/ f" u* M2 E* H
}
& } ^4 b% e+ u# R+ D- } }
6 m3 u6 J: H4 o
d+ ]7 @" U& H. u5 K" o% A$ }* h' L! w0 s
|
|