|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
NX二次开发源码分享:判断当前工作部件是否为CAE的类型 b$ b) {8 p/ N5 {- F: O
$ n: A1 q% `- l. R, }- |( b9 o
一个很好的方法是通过typeid去判断对应的类,直接方便。/ y0 x/ k- y/ A: W
另一个方法其实就是转换,使用dynamic_cast 如果转换成功,也能说明是对应的类型
% K' X& \) J5 y6 }# Z[mw_shl_code=cpp,true]void MyClass::do_it()
0 s r7 ^3 f. y6 ]+ | }' w. i{
5 C0 `8 u/ N9 V2 q% p: g( v( w* I BasePart* wp = theSession->Parts()->BaseWork();5 l( L, ]2 R/ I# c
% N: V6 W/ E2 F2 Q3 X
if (typeid(*wp) == typeid(NXOpen::CAE::SimPart))7 U% t4 e! e+ W8 H! u
{& F+ p/ [" ?, J0 j* U8 q
print("SimPart");
5 y& q6 [% h5 D" r9 |: K6 x1 y1 E }
" o1 R4 w! J, F( o else if (typeid(*wp) == typeid(NXOpen::CAE::FemPart))+ c9 K1 D8 o5 ^3 g
{
; c* q! B" V) \5 b3 r' J print("FemPart");
8 a( {/ U9 m% I }
- U" B! A# ~6 U7 a/ O else if (typeid(*wp) == typeid(NXOpen::Part))
7 N+ k1 G Z$ C- q& [ {& ]% q4 I9 c2 w4 d0 E3 g" Z
print("Part");+ r8 N9 b! U2 ~# u
}
- l" o" L+ Z# @ else" S V* S% C+ Y6 @1 N& U
print("Something else");
1 y' {+ ~) U; L1 O3 m- Z- v$ U' a7 k% F% T& M! n
}[/mw_shl_code] |
|