mildcat 发表于 2018-12-15 10:53:15

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

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

一个很好的方法是通过typeid去判断对应的类,直接方便。
另一个方法其实就是转换,使用dynamic_cast 如果转换成功,也能说明是对应的类型
void MyClass::do_it()
{
    BasePart* wp = theSession->Parts()->BaseWork();

    if (typeid(*wp) == typeid(NXOpen::CAE::SimPart))
    {
      print("SimPart");
    }
    else if (typeid(*wp) == typeid(NXOpen::CAE::FemPart))
    {
      print("FemPart");
    }
    else if (typeid(*wp) == typeid(NXOpen::Part))
    {
      print("Part");
    }
    else
      print("Something else");

}
页: [1]
查看完整版本: NX二次开发源码分享:判断当前工作部件是否为CAE的类型