PLM之家PLMHome-国产软件践行者

[二次开发源码] NX二次开发源码分享:判断当前工作部件是否为CAE的类型

[复制链接]

2018-12-15 10:53:15 1696 0

mildcat 发表于 2018-12-15 10:53:15 |阅读模式

mildcat 楼主

2018-12-15 10:53:15

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
NX二次开发源码分享:判断当前工作部件是否为CAE的类型
* A+ B% E* C4 h$ l9 H% i7 L  g2 e! ~/ f7 n9 q
一个很好的方法是通过typeid去判断对应的类,直接方便。8 Y- [/ ^0 S1 Y1 r
另一个方法其实就是转换,使用dynamic_cast 如果转换成功,也能说明是对应的类型( ]4 `+ Q2 X' P( ^3 \
[mw_shl_code=cpp,true]void MyClass::do_it()
! G% ?. T, u+ C2 e" o2 U) z2 G: b{% P7 m/ ?8 k9 I+ z7 F$ K5 d
    BasePart* wp = theSession->Parts()->BaseWork();. a& O( K4 o; e4 r
! C6 E$ _) ]1 J4 V4 _0 c. V! j
    if (typeid(*wp) == typeid(NXOpen::CAE::SimPart))
! L7 `1 _7 U' a    {
) g$ a8 K; p  q9 T! `: m' O        print("SimPart");
' @2 @; V; m0 P0 \$ G, E" w2 s    }
6 ]0 c4 P" z- f" w$ J    else if (typeid(*wp) == typeid(NXOpen::CAE::FemPart))9 k/ x8 h( u1 m! R6 Z6 h  e  |
    {
% g% F+ V, O& M! N+ {. \        print("FemPart");! F( x$ i+ c% h' Y5 m+ f
    }2 e: t0 g% S7 _9 a! b7 e
    else if (typeid(*wp) == typeid(NXOpen::Part))" H3 a% M# }6 Z5 u" S3 V
    {/ \, k& e9 l" N. p& F1 d
        print("Part");% C, m3 N# Z  H% u) C4 x, L
    }; ~8 e6 t8 K# O# J& b' D
    else1 J0 {3 q) L+ I& s$ ~9 z& G& b2 p
        print("Something else");7 ^8 m' z: M8 T& Y) l' Y
, E5 a; S  E5 V& k1 @$ s
}[/mw_shl_code]
该会员没有填写今日想说内容.
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了