|
Tag到NXObject的转换4 ]8 o0 S Q- r! q$ L
4 W$ l- [( O3 {* ?" g
$ {6 J& W7 e l
ufun 里的Tag 转换成 NXOpen 里的实体对象( G* V% m, s8 E) {
* p: t! U5 P j1 J! B# c& jC++
7 b4 w- I: q! M! _- i1 l
+ W8 ]1 I2 r6 a4 Q! }2 W
6 J3 ~9 A% B, X" X- c4 b7 A5 Rtag_t obj=NULL_TAG;7 [8 }7 l& `' L" E- ?5 _: x% k
& V! f" K: [4 S
Body *body1(dynamic_cast<Body *>(NXObjectManager::Get(obj))); G1 b2 F7 @$ [2 b/ F w( _8 w
" u- \7 \! M5 g0 q; A2 i6 L4 j U
Assemblies::Component *component1=(Assemblies::Component *)NXObjectManager::Get(obj);
: Y3 h' r9 ?5 k2 G! E5 c) h% a4 ?& k
7 t J3 w1 @. L ], T. d; ^- e4 d4 q
5 }+ z7 a; u, V8 t3 c% S9 {
0 Z6 v2 J% a1 M: H( b$ R6 s9 D+ ~: ]
5 \3 Q/ Q( c) Q2 i===================================================================== N) W9 @* _- h0 z, N
) O/ P$ u: i; U+ N" k
C#
" R- Q& y9 o! T$ E9 g5 @* F- L /// <summary>9 y' N7 I2 O& A4 i
/// Tag到NXObject的转换: V( ?$ S& H1 @5 j
/// </summary>3 M6 [' F, a" P5 m2 X, _+ `2 N
/// <typeparam name="T">NXObject的类型</typeparam>
/ s6 O; f) i/ c5 L# H1 W /// <param name="tag">tag号</param>3 l* F5 t" n. L. j
/// <returns>NXObject</returns>
; V/ e7 y) t1 _ m0 r: s public T Tag2NXObject<T>(Tag tag)
' ~# P3 D! R" f) G9 z" h6 b4 b+ G" h {: C4 k" g( R! j3 M+ y
try
5 r% W% m- I8 n {2 F3 K7 _( {0 T" K% U( f$ C& o) R( a
object to = NXOpen.Utilities.NXObjectManager.Get(tag);/ E. n7 p7 e R/ I! Z) @# @
return (T)to;
2 p" r3 Q! n9 F }: j9 V& R5 a# ?! j. T: k1 T+ E0 C
catch (System.Exception ex)
1 n/ k& c% K; ^1 D) g {+ R3 ~+ \3 k) ^6 P$ d* n# `+ \8 k
UI.GetUI().NXMessageBox.Show("Message", NXMessageBox.DialogType.Error, ex.Message);! l6 m, Y! I/ q0 V& I
return default(T);
& o* r q3 y$ n/ `' M+ S% I }
/ v2 W; w' ^ ?: [+ h4 x! ] G }
. D% t' \% d' `$ L7 p" |* M8 d7 E$ Z# q5 T8 w# J$ J4 L, Q! i
; n& n# H' W% A0 N: B3 G4 z
|
|