CAD 二次开发 图层操作(2)获取所有图层名称

来源:互联网 发布:友情女王免费网络调教 编辑:程序博客网 时间:2024/06/08 03:35

接续上文。

如果添加图层的方法读懂之后,实现获取所有图层名称就变得轻而易举了。仅需遍历图层表LayerRecord,取出记录存储即可。具体方法如下:

 #region "取得当前所有图层名称"
        /// <summary>
        /// 取得当前所有图层名称
        /// </summary>
        /// <returns>图层名称集合</returns>
        public ArrayList GetLayerName()
        {
            ArrayList layers = new ArrayList();
                      using (Database db = HostApplicationServices.WorkingDatabase)
            {
                              using (Transaction trans = db.TransactionManager.StartTransaction())
                {
                                      using (LayerTable lt = (LayerTable)trans.GetObject(db.LayerTableId, OpenMode.ForRead))
                    {
                                              foreach (ObjectId id in lt)
                        {
                                                      LayerTableRecord ltr = (LayerTableRecord)trans.GetObject(id, OpenMode.ForRead);
                                                      layers.Add(ltr.Name);
                        }
                    }
                    trans.Commit();
                }
            }

            return layers;
        }
        #endregion

 

对于以上代码,不再赘述。获得当前图档中所有图层名称,实现完毕.

 

如有问题:请加qq1419226548或QQmail给我。 若转载,请注明出处。谢谢。

 

原创粉丝点击