C# NX二次开发:用UFUN函数来判断选择的对象是否是实体

今天我们讲的是如何判断选中的对象是否是实体,思路是先在ug中创建多个体,然后分别选中一个体和多个体。但实际你在验证的过程中会发现选中的不是实体,想要选中的是实体,就先在无选择过滤器所在的下拉框中选择实体之后,再用鼠标去选择对象就可以保证选中的对象是实体了。

下面图片显示了无选择过滤器所在的位置:

 下面直接上代码(纯干货):

NXOpen.Session theSession = NXOpen.Session.GetSession();
            NXOpen.Part workPart = theSession.Parts.Work;
            NXOpen.Part displayPart = theSession.Parts.Display;

            int selcount = 0;
            Tag[] objs;
            //theUFSession.UiOnt.AskSelectedNodes(out selcount,out objs);
            theUfSession.Ui.AskGlobalSelObjectList(out selcount, out objs);
            if (selcount < 1)
            {
                theUI.NXMessageBox.Show("提示", NXMessageBox.DialogType.Information, "请选中体");
                return retValue;
            }
            else if (selcount == 1)
            {
                theUI.NXMessageBox.Show("提示", NXMessageBox.DialogType.Information, "选中一个体");
               
            }
            else if (selcount > 1)
            {
                theUI.NXMessageBox.Show("提示", NXMessageBox.DialogType.Information, "选中多个体");

            }
            for(int i=0;i<objs.Length;i++)
            {
                int type;
                int subtype;
                theUfSession.Obj.AskTypeAndSubtype(objs[i], out type, out subtype);
                if (type == 70 && subtype == 0)
                {
                    theUI.NXMessageBox.Show("提示", NXMessageBox.DialogType.Information, "选中的体为实体");
                }
                else
                {
                    theUI.NXMessageBox.Show("提示", NXMessageBox.DialogType.Information, "选中的体不是实体");
                }
            }

不选择体的情况下,运行效果:

 选中一个体,但没有改成实体的状态运行效果:

 

 选中一个体,并且将无选择过滤器改成实体,再运行效果如下:

 

选中多个体,并且无选择过滤器改为实体,会循环提示选中多个实体。这里不进行展示了,大家可以自己尝试一下运行效果。 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵桑さん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值