首页 > Windows开发 > 详细

NX二次开发-NXOpen C#开发中Tag对象与TaggedObject对象转换方法

时间:2020-06-24 00:28:36      阅读:256      评论:0      收藏:0      [点我收藏+]
NX9+VS2012

using System;
using NXOpen;
using NXOpen.UF;
using NXOpen.Utilities;


//TaggedObject转Tag
//遍历当前工作部件所有实体
Part WorkPart = theSession.Parts.Work;
Body[] Body1 = WorkPart.Bodies.ToArray();
foreach (var item in Body1)
{
    //设置颜色
    theUfSession.Obj.SetColor(item.Tag, 186);
}

技术分享图片

NX9+VS2012

using System;
using NXOpen;
using NXOpen.UF;
using NXOpen.Utilities;

//Tag转TaggedObject
NXOpen.Part workPart = theSession.Parts.Work;

//遍历当前显示部件所有实体
Tag PartTag = Tag.Null;
theUfSession.Obj.CycleObjsInPart(theUfSession.Part.AskDisplayPart(), UFConstants.UF_solid_type, ref PartTag);
while (PartTag != Tag.Null)
{
    int type1;
    int subtype1;
    theUfSession.Obj.AskTypeAndSubtype(PartTag, out type1, out subtype1);//获得类型和子类型
    if (type1 == UFConstants.UF_solid_type & subtype1 == UFConstants.UF_solid_body_subtype)//判断实体类型
    {
        //设置颜色
        NXOpen.DisplayModification displayModification1;
        displayModification1 = theSession.DisplayManager.NewDisplayModification();     
        displayModification1.NewColor = 186;
        NXOpen.DisplayableObject[] objects1 = new NXOpen.DisplayableObject[1];
        NXOpen.Body body1 = (NXOpen.Body)NXObjectManager.Get(PartTag);
        objects1[0] = body1;
        displayModification1.Apply(objects1);
        displayModification1.Dispose();
    }

    theUfSession.Obj.CycleObjsInPart(theUfSession.Part.AskDisplayPart(), UFConstants.UF_solid_type, ref PartTag);
}

Caesar卢尚宇
2020年6月23日

技术分享图片

NX二次开发-NXOpen C#开发中Tag对象与TaggedObject对象转换方法

原文:https://www.cnblogs.com/nxopen2018/p/13184940.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!