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

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

[复制链接]

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

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

mildcat 楼主

2018-12-15 10:53:15

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

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

x
NX二次开发源码分享:判断当前工作部件是否为CAE的类型' d. F7 t$ `9 {- G& C' f4 Q
. q8 k: @" {5 j6 H: _! m
一个很好的方法是通过typeid去判断对应的类,直接方便。
. {4 I) T4 J' b; D  s7 v另一个方法其实就是转换,使用dynamic_cast 如果转换成功,也能说明是对应的类型/ M& M7 s) T/ h; u+ M
[mw_shl_code=cpp,true]void MyClass::do_it(), y# p4 [! l4 o4 i+ S: V9 W, m
{  B: f# N; C9 t- ?/ J1 b$ e& F7 V* z1 C
    BasePart* wp = theSession->Parts()->BaseWork();$ L3 i% s+ ?: U" w  Q2 E8 h
: B* t- m# j8 ]4 s* b3 k
    if (typeid(*wp) == typeid(NXOpen::CAE::SimPart))0 L9 n* Q0 s& L* u
    {
" r/ t5 ^0 V/ S: s7 p; x5 n        print("SimPart");: K- V5 [" Q; I& `+ f+ @
    }$ s* t1 Q' N5 Y+ |
    else if (typeid(*wp) == typeid(NXOpen::CAE::FemPart))  c. j- F0 J  N; g- u
    {
9 `- M% @, n& D1 A. R! ?5 O& G( A        print("FemPart");1 u2 W+ W, m# @
    }
9 @! k( L5 Y+ p4 m$ m* e" v* P    else if (typeid(*wp) == typeid(NXOpen::Part))
* k3 D2 ?: _; n& @8 U5 z! u5 j5 U    {
( m' S- [  V! _1 R* W) T% O        print("Part");
) C3 N# H. Q7 ^8 }" I    }& B3 Y+ q0 \( m# @
    else& K. A2 @) `8 s. T% S
        print("Something else");
4 I: T2 q0 f6 l/ p+ U0 I( y( }
. D% Y7 L$ I6 b( \* j}[/mw_shl_code]
该会员没有填写今日想说内容.
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了