点击查看详细介绍

NXOpen和UFUN结合开发时,TaggedObject对象与Tag_t标签的转换方法 精华帖

王牌飞行员 VIP会员 6年前 14054 167

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


说明:

UFUN中常见对象的一般都是tag_t类型,但是在NXOpen中,每类对象都有各自的类型例如点的类型NXOpen::Point3d、特征的类型NXOpen::Features、体的类型NXOpen::Body等等。

两种开发数据类型如何进行转换,下面给出两个例子:
例1中,使用使用UFUN创建块,使用NXOpen设置颜色,将tag_t类型转换为NXOpen::Body类型
例2中,使用使用NXOpen创建块,使用UFUN设置颜色,将NXOpen::Body类型转换为tag_t类型


代码:

#include <NXOpen/NXObjectManager.hxx>
#include <NXOpen/Features_BlockFeatureBuilder.hxx>
#include <NXOpen/Features_FeatureCollection.hxx>
#include <NXOpen/NXException.hxx>
#include <NXOpen/Body.hxx>
#include <NXOpen/BodyCollection.hxx>
#include <NXOpen/DisplayManager.hxx>
#include <NXOpen/PartCollection.hxx>
#include <uf.h>
#include <uf_modl.h>
#include <uf_obj.h>

NXOpen::Session *theSession = NXOpen::Session::GetSession();
NXOpen::Part *workPart(theSession->Parts()->Work());
NXOpen::Part *displayPart(theSession->Parts()->Display());

//例1:使用UFUN创建块,使用NXOpen设置颜色
UF_FEATURE_SIGN SignA = UF_NULLSIGN;
double C_pt[3] = { 10, 10, 10 };
char *Edge_L[3] = { "10", "10", "10" };
tag_t tagBlo = NULL_TAG;
UF_MODL_create_block1(SignA, C_pt, Edge_L, &tagBlo);

tag_t tagBody = NULL_TAG;
UF_MODL_ask_feat_body(tagBlo, &tagBody);

●●●请先 登陆注册 后查看●●●

效果演示:

2

最新回复 (167)
  • zby186 VIP会员 6年前
    1

    感谢楼主分享,多谢楼主学习!楼主最棒!

  • 王牌飞行员 VIP会员 6年前
    2

    回复1楼(jx2008): 实在看不懂您的回帖,如果您仅仅是因为回复才能可见,我建议您花点心思回帖上。我们发帖用的时间需要好几分钟编辑调试,探索学习这个问题需要几个小时,甚至几天。现在将自己学到的东西,免费分享出来。希望您尊重一下!

  • 王牌飞行员 VIP会员 6年前
    3

    回复2楼(zby186):

  • 王牌飞行员 VIP会员 6年前
    4

    谢谢鼓励,加油!

  • zy1377145535 6年前
    5

    谢谢分享,学习了,楼主幸苦了

  • 常山赵子龙 6年前
    6

    这个我一定要好好看,谢谢楼主

  • 常山赵子龙 6年前
    7

    楼主,非常感谢您的分享,您的代码我试跑了一边,功能都实现啦! 关于那个NXObjectManager类,帮助文档上说的是维持一个tag和对象之间的映射关系。 但是里面的GetType()成员函数,返回的是对象的类型吗?如果是我用UFun问类型的函数 问不出类型?希望和您一起讨论

  • 王牌飞行员 VIP会员 6年前
    8

    image.png

    我没用过GetType()成员,在帮助文件上也没找到。

  • 王牌飞行员 VIP会员 6年前
    9

    回复7楼(常山赵子龙): 我没用过GetType()成员,在帮助文件上也没找到。

  • qq1045887547 6年前
    10

    谢谢分享,看看完整代码

  • xhm225 6年前
    11

    谢谢分享,学习学习

  • ruilinhua 6年前
    12

    感谢楼主分享,多谢楼主学习!楼主最棒!

  • 鸿蒙之始 6年前
    13

    感谢楼主分享,多谢楼主学习!楼主最棒!

  • LIB105545 VIP会员 6年前
    14

    谢谢分享,看看完整代码

  • myung66 6年前
    15

    学习,,,,,,,,,

请登录后发表新帖