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

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

[复制链接]

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

320

主题

226

回帖

9784

积分

管理员

PLM之家NX|TC专家

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

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

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

x
NX二次开发源码分享:判断当前工作部件是否为CAE的类型7 V$ u! ~' A# V5 _/ ]
( V; O& Q- w3 Z$ @& v
一个很好的方法是通过typeid去判断对应的类,直接方便。4 {  i1 P) ?2 U$ @! O; ~
另一个方法其实就是转换,使用dynamic_cast 如果转换成功,也能说明是对应的类型
" \( |6 S/ I! O; a, J) y[mw_shl_code=cpp,true]void MyClass::do_it()
& m- B0 a: Z3 O& p0 {8 G+ @{* C% D5 Q1 x/ q  {# @$ N' Q& N$ _
    BasePart* wp = theSession->Parts()->BaseWork();
0 K( R8 l& d+ U0 K/ @. I1 w+ F7 n0 v/ _
    if (typeid(*wp) == typeid(NXOpen::CAE::SimPart))) y: J5 o8 d: f4 A) K9 M) C
    {$ `5 L0 r% S8 d& m7 ~/ r
        print("SimPart");: Q5 w, w7 D2 V* ~+ O
    }# u( X1 U* Z  V1 f" G& u0 x
    else if (typeid(*wp) == typeid(NXOpen::CAE::FemPart))* h" B4 D% y9 c! N
    {" y, L. i  }; U- H7 O5 K
        print("FemPart");
! q' u8 z& Z" J0 D0 R* s    }; W* Q; _( R3 K( p; x3 v; a2 a& T
    else if (typeid(*wp) == typeid(NXOpen::Part))1 _5 i- A+ @+ O9 Y: V/ a
    {! D( X9 W1 s6 Y/ ~5 F& ]
        print("Part");
: r5 @8 E6 ^. x: m6 R% g: L3 K    }- G+ E+ K+ s. ?% ~9 U
    else
( Z* m% x) n! s6 p4 {) z' i        print("Something else");
& P" }# Z. O. N( C/ _& T9 F$ f3 \8 A- j. i7 P: s
}[/mw_shl_code]
该会员没有填写今日想说内容.
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了