集合对象

2019-03-15  本文已影响0人  using__

集合是一种包含了许多相似对象实例的对象类型。

访问集合

// 获取当前文档,启动事务管理器
Database acCurDb = Application.DocumentManager.MdiActiveDocument.Database;
using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
{
  //本例返回当前数据库中的图层表
  LayerTable acLyrTbl;
  acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId,OpenMode.ForRead) as LayerTable;
  //关闭事务
}
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;

[CommandMethod("AddMyLayer")]
public static void AddMyLayer()
{
  //获取当前文档和数据库,并启动事务
  Document acDoc = Application.DocumentManager.MdiActiveDocument;
  Database acCurDb = acDoc.Database;

  using (Transaction acTrans =     acCurDb.TransactionManager.StartTransaction())
  {
    //返回当前数据库的图层表
    LayerTable acLyrTbl;
    acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId,OpenMode.ForRead) as LayerTable;
    //检查图层表里是否有图层MyLayer
    if(acLyrTbl.Has("MyLayer") != true)
    {
      //以写模式打开图层表
      acLyrTbl.UpgradeOpen();
      //新创建一个图层表记录,并命名为“MyLayer”
      LayerTableRecord acLyrTblRec = new LayerTableRecord();
      acLyrRec.Name = "MyLayer";
      //添加新的图层表记录到图层表,添加事务
      acLyrTbl.Add(acLyrTblRec);
      acTrans.AddNewlyCreatedDBObject(acLyrTblRec,true);
      //提交修改
      acTrans.Commit();
    }
    //关闭事务,回收内存
  }
}
上一篇下一篇

猜你喜欢

热点阅读