|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
NX二次开发源码分享:判断当前工作部件是否为CAE的类型" y- H+ M3 x& ]/ b+ J
3 b& ]! I' {9 P# l2 N7 }
一个很好的方法是通过typeid去判断对应的类,直接方便。
" ]; e0 N) V g0 D/ U2 a- S另一个方法其实就是转换,使用dynamic_cast 如果转换成功,也能说明是对应的类型7 k( H6 q1 G4 z
[mw_shl_code=cpp,true]void MyClass::do_it()3 T; A, \+ N$ R; X. e X) W
{
9 ^. l* v U2 l, V BasePart* wp = theSession->Parts()->BaseWork();
6 x. R* H$ V9 B4 x+ ?, O9 @% o& \4 K/ J1 |) t
if (typeid(*wp) == typeid(NXOpen::CAE::SimPart))
/ C5 f* B3 r1 ^ {
6 j8 N r& ?- q1 s0 _( ~ print("SimPart");
: _! r/ [/ K, F1 E _* [# s! K }- {+ U- m1 K2 S& L
else if (typeid(*wp) == typeid(NXOpen::CAE::FemPart))0 S) F: L n: t# I- h. U3 _
{% _/ W+ k% n- r. R J
print("FemPart");
+ |+ p. ~8 X, k& m+ T5 t& L8 I" s }/ r6 K4 l' D7 ]1 u
else if (typeid(*wp) == typeid(NXOpen::Part))" n% V! Q6 p5 _/ ~( n
{
5 r8 ]0 i) G3 `3 j* Z9 \ print("Part");4 r1 {9 G8 R0 H! D" D
}
t* e2 ` D/ |- k* O" D else
- X# f* A5 O Q' g+ `2 L print("Something else");
2 e: K. R+ w# \
$ W$ @' \! ]( n4 m5 z* @$ p}[/mw_shl_code] |
|