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

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 16:13   320   0

接续上文。

如果添加图层的方法读懂之后,实现获取所有图层名称就变得轻而易举了。仅需遍历图层表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给我。 若转载,请注明出处。谢谢。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP