【问题标题】:How can I convert a tag to an NXObject in NX Open?如何在 NX Open 中将标签转换为 NXObject?
【发布时间】:2021-10-30 21:13:15
【问题描述】:

我有一个从旧版 NX UF(用户函数,基于古老的原始 C API)API 调用返回的标签,我想将它表示的对象传递给 NX Open API 调用。但是 NX Open 调用使用 NX Open 类(例如 NXObjectPart)而不是标签。

如何将此标签转换为NXObject

【问题讨论】:

    标签: nxopen


    【解决方案1】:

    C++

    NXOpen::NXObjectManager::Get 是专门为此设计的。它返回一个NXOpen::TaggedObject*,需要将dynamic_cast<> 编辑为适当的类型。

    #include <NXOpen/NXObjectManager.hxx>
    #include <NXOpen/Part.hxx>
    
    tag_t myTag = ...;
    NXOpen::TaggedObject *myObj = NXOpen::NXObjectManager::Get(myTag);
    
    // Cast it to the appropriate type:
    NXOpen::Part* myPart = dynamic_cast<NXOpen::Part*>(myObj);
    // Do something with myPart...
    

    C#

    NXObjectManagerNXOpen.Utilities 命名空间中:

    using NXOpen.Part;
    using NXOpen.Tag;
    using NXOpen.TaggedObject;
    using NXOpen.Utilities;
    
    Tag myTag = ...;
    TaggedObject myObj = Utilities.NXObjectManager.Get(myTag);
    
    Part myPart = (Part)myObj;
    // Do something with myPart...
    

    Java

    在 Java 中使用 nxopen.TaggedObjectManager。您必须从 nxopen.Session 类中获取它的实例:

    using nxopen.Part;
    using nxopen.Session;
    using nxopen.SessionFactory;
    using nxopen.Tag;
    using nxopen.TaggedObject;
    
    Tag myTag = ...;
    
    Session session = (Session)SessionFactory.get("Session");
    TaggedObject myObj = session.taggedObjectManager().get(myTag);
    
    Part myPart = (Part)myObj;
    // Do something with myPart...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-06
      • 2011-10-28
      • 2021-09-16
      • 2013-06-14
      • 2020-04-27
      • 2012-12-06
      • 1970-01-01
      • 2017-05-07
      相关资源
      最近更新 更多