zoukankan      html  css  js  c++  java
  • C# Cad 拉伸 关键 GetStretchPoints MoveStretchPointsAt

      /// <summary>
            /// 拉伸
            /// </summary>
            [CommandMethod("ALS")]
            public void Tensile()
            {
                var ids = Editor.Selection($"\n选择图形");
                ids = ids.Deletes();
                if (ids == null || !ids.Any()) return;
    
                var beginPoint = Editor.Point("\n指定绘图起点");
                if (beginPoint.IsNull()) return;
    
                var entitys = ids.QOpenForRead<Entity>();
                // Surface surface = new Autodesk.AutoCAD.DatabaseServices.Surface();  
    
                var ent1 = entitys[0];
                var ent2 = entitys[1];
                var newEntitys = new List<Entity>();
                newEntitys.Add(ent2);
    
                //var ddd = ent1.JoinEntities(newEntitys.ToArray()); 
                foreach (var item in entitys)
                {
                    IntegerCollection dddd = new IntegerCollection();
                    var stretchPoints = new Point3dCollection();
                    item.GetStretchPoints(stretchPoints);
    
                    for (int i = 0; i < stretchPoints.Count; i++)
                    {
                        var p = stretchPoints[i];
                        if (p.Coincide(beginPoint, 0.01))
                        {
                            dddd.Add(i);
                        }
                    }
                    if (dddd.Count > 0)
                    {
                        item.ObjectId.QOpenForWrite<Entity>(c =>
                        {
                            c.MoveStretchPointsAt(dddd, new Vector3d(100, 0, 0));
                        });
                    }
                }
            }
  • 相关阅读:
    RabbitMQ
    RabbitMQ
    RabbitMQ
    RabbitMQ
    RabbitMQ
    RabbitMQ
    RabbitMQ
    .net 5.0
    redis
    分布式同步服务中间件
  • 原文地址:https://www.cnblogs.com/shangdishijiao/p/15686414.html
Copyright © 2011-2022 走看看