zoukankan      html  css  js  c++  java
  • 过滤选择集

     /// <summary>
            /// 过滤选择集合
            /// 调用方法如: ObjectIdCollection EntityCollection = GetSelection();  
            /// </summary>
            /// <returns>对象集合</returns>
            public static ObjectIdCollection GetSelection()
            {
                Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
                Database db = doc.Database;
                Editor ed = doc.Editor;
                Entity entity = null;
                DBObjectCollection entityCollection = new DBObjectCollection();

                // 建立选择的过滤器内容
                TypedValue[] values = new TypedValue[]
                {
                    new TypedValue((int)DxfCode.Start,"Text")
                };
                SelectionFilter filter = new SelectionFilter(values);
                PromptSelectionResult optSel = ed.GetSelection(filter);

                if (optSel.Status == PromptStatus.OK)
                {
                    using (Transaction transaction = db.TransactionManager.StartTransaction())
                    {
                        SelectionSet SS = optSel.Value;
                        foreach (ObjectId id in SS.GetObjectIds())
                        {
                            entity = (Entity)transaction.GetObject(id, OpenMode.ForWrite, true);
                            if (entity != null)
                                entityCollection.Add(entity);
                        }
                        transaction.Commit();
                    }
                }

                ObjectIdCollection ids = new ObjectIdCollection();
                foreach (Entity ent in entityCollection)
                {
                    ObjectId id = ent.ObjectId;
                    ids.Add(id);
                }
                return ids;
            }

  • 相关阅读:
    git 命令行下浏览器tig使用记录
    根据进程名字杀死进程
    centos7 在线安装postgresql9.5
    HttpClient使用代理访问
    nmap查看服务器端口使用情况
    java后台启动jar包
    不同语言,系统通过共享内存方式实现信息交互
    释放 MappedByteBuffer映射的内存
    Java使用ByteBuffer读取大文件
    Java共享内存
  • 原文地址:https://www.cnblogs.com/swtool/p/3828989.html
Copyright © 2011-2022 走看看