如何将指定图层设置为当前图层?有两种方式可以实现:
一是使用Clayer属性,将Database的Clayer设置指定的图层。
using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; [CommandMethod("SetLayerCurrent")] public static void SetLayerCurrent() { // 获取当前文档和数据 Document acDoc = Application.DocumentManager.MdiActiveDocument; Database acCurDb = acDoc.Database; // 启动事务 using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction()) { // 以只读取方式打开图层列表 LayerTable acLyrTbl= acTrans.GetObject(acCurDb.LayerTableId, OpenMode.ForRead) as LayerTable; string sLayerName = "Center"; if (acLyrTbl.Has(sLayerName) == true) { // 设置当前图层 acCurDb.Clayer = acLyrTbl[sLayerName]; // 保存修改 acTrans.Commit(); } } }
二是使用系统变量CLAYER来完成。
Application.SetSystemVariable("CLAYER", "Center");