UG二次开发(C#)—依据特征获取选择体对象

如下所示,在一个部件中包含以下几个部分:实体对象,抽取的流体域,将流体域拆分部分的体等几个部分:

  为了 二次开发隐藏和显示流体及结构体部分,首先得通过获取特征来获得以下不同的体。

1、获取特征:

Part workpart=theSession.Parts.Work;
FeatureCollection featureCollection=workpart.Features;
Feature[] features=featureCollection.ToArray();

2、获取以上部分的特征类型

foreach(var ft in features)
{
   // MessageBox.Show(ft.featureType);获取特征类型
  if (ft.FeatureType.Contains("BREP"))//实体类型
    {
     string strBody = "UNPARAMETERIZED_FEATURE" + ft.GetFeatureName().Remove(0, 1);
    }
  //流体或拆分体
    if (ft.FeatureType.Contains("SKIN")|| ft.FeatureType.Contains("SPLIT BODY"))
    {
    }           
}

//拆分体类型
    public static void HideSplitBody(string args)
    {
        NXOpen.Session theSession = NXOpen.Session.GetSession();
        NXOpen.Part workPart = theSession.Parts.Work;
        NXOpen.Part displayPart = theSession.Parts.Display;
        NXOpen.Session.UndoMarkId markId1;
        markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Hide                     
        Feature Parents");

        NXOpen.Features.SplitBody splitBody1 = 
        (NXOpen.Features.SplitBody)workPart.Features.FindObject(args);
        splitBody1.HideBody();

    }

//结构体类型
 public static void ShowStruct(string str)
    {
        NXOpen.Session theSession = NXOpen.Session.GetSession();
        NXOpen.Part workPart = theSession.Parts.Work;
        NXOpen.Part displayPart = theSession.Parts.Display;
        NXOpen.Session.UndoMarkId markId1;
        markId1 = theSession.SetUndoMark(NXOpen.Session.MarkVisibility.Visible, "Show");

        NXOpen.DisplayableObject[] objects1 = new NXOpen.DisplayableObject[1];
        NXOpen.Body body1 = (NXOpen.Body)workPart.Bodies.FindObject(str);
        objects1[0] = body1;
       
        theSession.DisplayManager.ShowObjects(objects1, 
        NXOpen.DisplayManager.LayerSetting.ChangeLayerToSelectable);

        
workPart.ModelingViews.WorkView.FitAfterShowOrHide(NXOpen.View.ShowOrHideType.ShowOnly);

    }

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

comsol_ljl

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

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

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

打赏作者

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

抵扣说明:

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

余额充值