PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

积分
9784
发表于 2018-12-15 10:53:15 | 显示全部楼层 |阅读模式

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

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

x
NX二次开发源码分享:判断当前工作部件是否为CAE的类型% t6 |0 }9 V' i2 c/ _7 G
4 w' O1 m; V$ J1 @- O
一个很好的方法是通过typeid去判断对应的类,直接方便。$ p% l, w* N1 j; X! D' Y
另一个方法其实就是转换,使用dynamic_cast 如果转换成功,也能说明是对应的类型; I( p) ^/ }: O" e
[mw_shl_code=cpp,true]void MyClass::do_it()* k& {) v/ A/ J
{( b8 G" \- a+ `  K7 `- l; c1 x
    BasePart* wp = theSession->Parts()->BaseWork();
" v: ~# l' v: {( n0 m& \
# q3 f2 u- B5 ?2 Q$ G( o9 ?    if (typeid(*wp) == typeid(NXOpen::CAE::SimPart))& g- `' p0 W; c/ z# P6 v, g7 J
    {
, f' p# k2 v3 T+ f        print("SimPart");
, R, Q+ y) H( R. w2 E) U    }1 F* ^% v/ ~2 @8 |8 ]+ t
    else if (typeid(*wp) == typeid(NXOpen::CAE::FemPart))* ]4 J/ i6 h. h* g
    {- {! e/ b: |* h
        print("FemPart");
; W( T1 R0 C- v' D    }
2 {: F- m! ^# x0 m5 H7 A    else if (typeid(*wp) == typeid(NXOpen::Part))% T1 w7 k" U( |, V3 {% X
    {/ L# j  R. w& H8 E. k1 r1 y
        print("Part");
+ W& h8 }* J) H) P! m9 P+ p+ U    }& I9 @1 y( i4 N0 `6 F8 x. [
    else3 u4 z7 F6 j. W+ }: J
        print("Something else");
3 [1 x! r9 M2 s. A) m
6 j( y1 L8 r% u- W}[/mw_shl_code]
该会员没有填写今日想说内容.
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了