创建长方体通过倒圆变成圆柱

本文介绍了如何在3D建模软件中,通过将长方体的边角倒圆来实现逐渐转化为圆柱体的过程,详细讲解了倒圆参数设置与操作步骤,适合初级3D建模学习者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

            NXOpen.Features.BlockFeatureBuilder blockFeatureBuilder = workPart.Features.CreateBlockFeatureBuilder(null);
            Point3d origin = new Point3d(0, 0 ,0 );
            blockFeatureBuilder.SetOriginAndLengths(origin, "50", "50", "100");
            NXOpen.Features.Feature feature = blockFeatureBuilder.CommitFeature();
            blockFeatureBuilder.Destroy();

            NXOpen.Features.BodyFeature  bodyFeature = (NXOpen.Features.BodyFeature) feature;
            Edge[] edges = bodyFeature.GetEdges();

            Edge edge1 = null;

            List<NXOpen.Edge> edgeList = new List<NXOpen.Edge>();//创建一个边的泛型集合
            foreach (Edge i in edges)
            {
                IntPtr evaluator;
                theUfSession.Eval.Initialize(i.Tag, out evaluator);
                bool isLine;
                theUfSession.Eval.IsLine(evaluator, out isLine);
                if (isLine)
                {
                    NXOpen.UF.UFEval.Line line1;
                    theUfSession.Eval.AskLine(evaluator, out line1);
                    double length = line1.length;
                    //ListingWindow lw = theSession.ListingWindow;//信息窗口
                    //lw.Open();
                    //lw.WriteLine(length.ToString());
                    if (length == 100)
                    {
                        edgeList.Add(i);//添加
                    }

                }
            }
            NXOpen.Features.EdgeBlendBuilder edgeBlendBuilder1 = workPart.Features.CreateEdgeBlendBuilder(null);
            SelectionIntentRule[] rules = new SelectionIntentRule[1];
            //EdgeDumbRule [] rules = new EdgeDumbRule[1];
            rules[0] = workPart.ScRuleFactory.CreateRuleEdgeDumb(edgeList.ToArray());//转为数组
            ScCollector scCollector = workPart.ScCollectors.CreateCollector();
            scCollector.ReplaceRules(rules, false);
            int index = edgeBlendBuilder1.AddChainset(scCollector, "25");
            edgeBlendBuilder1.CommitFeature();
            edgeBlendBuilder1.Destroy();
            edgeBlendBuilder1.Destroy();



            theProgram.Dispose();
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值