通过判断圆台边直径大小选择倒圆的角

 public static int Main(string[] args)
    {
        int retValue = 0;
        try
        {
            theProgram = new Program();


            //TODO: Add your application code here 
            Session theSession = Session.GetSession();
            Part worPart = theSession.Parts.Work;
            Part displyPart = theSession.Parts.Display;


            NXOpen.Features.ConeBuilder ConeBuilder1 = worPart.Features.CreateConeBuilder(null);//创建圆台
            ConeBuilder1.BaseDiameter.RightHandSide = "50";
            ConeBuilder1.TopDiameter.RightHandSide = "30";
            ConeBuilder1.Height.RightHandSide = "50";
            NXOpen.Features.Feature feature = ConeBuilder1.CommitFeature();//特征类来接收
            ConeBuilder1.Destroy();
            NXOpen.Features.BodyFeature bodyFeature = (NXOpen.Features.BodyFeature)feature;//将特征转换为BODY特征
            NXOpen.Edge[] edges = bodyFeature.GetEdges();


            double radius = 0;
            NXOpen.Edge edge = null;
            foreach (NXOpen.Edge e in bodyFeature.GetEdges())
            {
                System.IntPtr evaluator;
                theUfSession.Eval.Initialize(e.Tag, out evaluator);//初始化
                bool isArc;
                theUfSession.Eval.IsArc(evaluator, out isArc);
                if (isArc)//判读是不是圆弧
                {
                    NXOpen.UF.UFEval.Arc arc;
                    theUfSession.Eval.AskArc(evaluator, out arc);
                    if (arc.radius > radius)
                    {
                        edge = e;
                        radius = arc.radius;
                    }
                }


                theUfSession.Eval.Free(evaluator);//释放资源
            }
            if (edge != null)
            {
                ScCollector scCollector1 = worPart.ScCollectors.CreateCollector();//创建特征收集器
                SelectionIntentRule[] rules1 = new SelectionIntentRule[1];//创建体的边的规则父类对象
                rules1[0] = worPart.ScRuleFactory.CreateRuleEdgeDumb(new NXOpen.Edge[] { edge });//将体的边规则放到父类对象数组中 


                scCollector1.ReplaceRules(rules1, false);//规则收集器
                NXOpen.Features.EdgeBlendBuilder edgeBlendBuilder1 = worPart.Features.CreateEdgeBlendBuilder(null);
                int csIndex1 = edgeBlendBuilder1.AddChainset(scCollector1, "10");//创建体的边倒圆
                NXOpen.Features.Feature feature1 = edgeBlendBuilder1.CommitFeature();//委托
                edgeBlendBuilder1.Destroy();




            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值