UG/NX 二次开发(C#) 自动刻字三部曲3-布尔求差

自动刻字功能是建模过程中必须用到的,但是网上没有找到完整的刻字功能实现,所以我花了一些时间写了一套简易程序,希望能给初学者带来一点帮助

先介绍一下建模环境下刻字功能的实现,分三步走(本节主要介绍布尔求差实现):

第一步:打印文本

第二步:拉伸

第三步:布尔求差

        /// <summary>
        /// 布尔求值
        /// </summary>
        /// <param name="targetTag">目标体tag</param>
        /// <param name="collectTag">待求差tag</param>
        /// <param name="oprType">操作类型</param>
        public static void BooleanBuilderOpr(Tag targetTag, Tag collectTag, Feature.BooleanType oprType)
        {
            Part workPart = theSession.Parts.Work;
            NXOpen.Features.BooleanFeature nullFeatures_BooleanFeature = null;
            NXOpen.Features.BooleanBuilder booleanBuilder1;
            booleanBuilder1 = workPart.Features.CreateBooleanBuilderUsingCollector(nullFeatures_BooleanFeature);

            ScCollector scCollector1;
            scCollector1 = booleanBuilder1.ToolBodyCollector;
            booleanBuilder1.Tolerance = 0.001;
            booleanBuilder1.Operation = oprType;

            Body body1 = (Body)NXOpen.Utilities.NXObjectManager.Get(targetTag);
            bool added1;
            added1 = booleanBuilder1.Targets.Add(body1);

            ScCollector scCollector2;
            scCollector2 = workPart.ScCollectors.CreateCollector();
            NXOpen.Features.Feature[] features1 = new NXOpen.Features.Feature[1];
            NXOpen.Features.Cylinder cylinder1 = (Cylinder)NXOpen.Utilities.NXObjectManager.Get(collectTag);
            features1[0] = cylinder1;
            BodyFeatureRule bodyFeatureRule1;
            bodyFeatureRule1 = workPart.ScRuleFactory.CreateRuleBodyFeature(features1);

            SelectionIntentRule[] rules1 = new SelectionIntentRule[1];
            rules1[0] = bodyFeatureRule1;
            scCollector2.ReplaceRules(rules1, false);
            booleanBuilder1.ToolBodyCollector = scCollector2;
            NXObject nXObject1;
            nXObject1 = booleanBuilder1.Commit();
            booleanBuilder1.Destroy();
        }

从方法的参数就能发现,求布尔值得三要素:待处理的对象,目标对象,处理方式

运行结果图如下:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MarcoPro

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

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

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

打赏作者

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

抵扣说明:

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

余额充值